@maif/react-forms 1.0.5 → 1.0.9

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.
@@ -54,6 +54,14 @@ and limitations under the License.
54
54
 
55
55
  /*! showdown v 1.9.1 - 02-11-2019 */
56
56
 
57
+ /**
58
+ * A better abstraction over CSS.
59
+ *
60
+ * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
61
+ * @website https://github.com/cssinjs/jss
62
+ * @license MIT
63
+ */
64
+
57
65
  /** @license React v0.20.2
58
66
  * scheduler.production.min.js
59
67
  *
package/lib/form.d.ts CHANGED
@@ -1,11 +1,2 @@
1
- export function Form({ schema, flow, value, inputWrapper, onSubmit, footer, style, className, options }: {
2
- schema: any;
3
- flow: any;
4
- value: any;
5
- inputWrapper: any;
6
- onSubmit: any;
7
- footer: any;
8
- style: any;
9
- className: any;
10
- options?: {} | undefined;
11
- }): JSX.Element;
1
+ export const Form: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
+ import React from "react";
package/lib/form.js CHANGED
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Form = void 0;
7
7
 
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _yup = require("@hookform/resolvers/yup");
9
11
 
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
12
- var _react = _interopRequireWildcard(require("react"));
13
-
14
14
  var _reactFeather = require("react-feather");
15
15
 
16
16
  var _reactHookForm = require("react-hook-form");
@@ -23,6 +23,8 @@ var _uuid = require("uuid");
23
23
 
24
24
  var yup = _interopRequireWildcard(require("yup"));
25
25
 
26
+ var _styleContext = require("./styleContext");
27
+
26
28
  var _type = require("./type");
27
29
 
28
30
  var _format = require("./format");
@@ -33,12 +35,12 @@ var _index2 = require("./resolvers/index");
33
35
 
34
36
  var _Option = require("./Option");
35
37
 
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
+
36
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
41
 
38
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
43
 
40
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
-
42
44
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
43
45
 
44
46
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -81,6 +83,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
81
83
  help = _ref.help,
82
84
  children = _ref.children,
83
85
  render = _ref.render;
86
+ var classes = (0, _styleContext.useCustomStyle)();
84
87
  var id = (0, _uuid.v4)();
85
88
 
86
89
  if (render) {
@@ -116,7 +119,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
116
119
  cursor: 'help'
117
120
  }
118
121
  })))), children, error && /*#__PURE__*/_react["default"].createElement("div", {
119
- className: "invalid-feedback"
122
+ className: classes.invalid_feedback
120
123
  }, error.message));
121
124
  };
122
125
 
@@ -131,8 +134,8 @@ var CustomizableInput = function CustomizableInput(props) {
131
134
  };
132
135
 
133
136
  var defaultVal = function defaultVal(t, array, defaultValue) {
134
- if (!!array) return [];
135
137
  if (!!defaultValue) return defaultValue;
138
+ if (!!array) return [];
136
139
 
137
140
  switch (t) {
138
141
  case _type.type.bool:
@@ -142,7 +145,8 @@ var defaultVal = function defaultVal(t, array, defaultValue) {
142
145
  return 0;
143
146
 
144
147
  case _type.type.object:
145
- return {};
148
+ return undefined;
149
+ //todo: passur de moi
146
150
 
147
151
  case _type.type.string:
148
152
  return "";
@@ -160,21 +164,25 @@ var getDefaultValues = function getDefaultValues(flow, schema) {
160
164
  return _objectSpread(_objectSpread({}, acc), getDefaultValues(key.flow, schema));
161
165
  }
162
166
 
163
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, defaultVal(entry.type, entry.array, entry.defaultValue)));
167
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, defaultVal(entry.type, entry.array || entry.isMulti, entry.defaultValue)));
164
168
  }, {});
165
169
  };
166
170
 
167
- var Form = function Form(_ref2) {
171
+ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
168
172
  var schema = _ref2.schema,
169
173
  flow = _ref2.flow,
170
174
  value = _ref2.value,
171
175
  inputWrapper = _ref2.inputWrapper,
172
176
  onSubmit = _ref2.onSubmit,
177
+ _ref2$onError = _ref2.onError,
178
+ onError = _ref2$onError === void 0 ? function () {} : _ref2$onError,
173
179
  footer = _ref2.footer,
174
- style = _ref2.style,
180
+ _ref2$style = _ref2.style,
181
+ style = _ref2$style === void 0 ? {} : _ref2$style,
175
182
  className = _ref2.className,
176
183
  _ref2$options = _ref2.options,
177
184
  options = _ref2$options === void 0 ? {} : _ref2$options;
185
+ var classes = (0, _styleContext.useCustomStyle)(style);
178
186
  var formFlow = flow || Object.keys(schema);
179
187
 
180
188
  var maybeCustomHttpClient = function maybeCustomHttpClient(url, method) {
@@ -203,39 +211,63 @@ var Form = function Form(_ref2) {
203
211
  return resolver;
204
212
  };
205
213
 
206
- var cleanInputArray = function cleanInputArray(obj) {
214
+ var cleanInputArray = function cleanInputArray(obj, subSchema) {
207
215
  return Object.entries(obj).reduce(function (acc, curr) {
208
216
  var _curr = _slicedToArray(curr, 2),
209
217
  key = _curr[0],
210
218
  v = _curr[1];
211
219
 
212
220
  if (Array.isArray(v)) {
213
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v.map(function (value) {
214
- return {
215
- value: value
216
- };
217
- })));
221
+ var isArray = (0, _Option.option)(subSchema).orElse(schema).map(function (s) {
222
+ return s[key];
223
+ }).map(function (entry) {
224
+ return !!entry.array;
225
+ }).getOrElse(false);
226
+
227
+ if (isArray) {
228
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v.map(function (value) {
229
+ return {
230
+ value: value
231
+ };
232
+ })));
233
+ }
234
+
235
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
218
236
  } else if (!!v && _typeof(v) === 'object') {
219
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanInputArray(v)));
237
+ var _schema$key;
238
+
239
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanInputArray(v, ((_schema$key = schema[key]) === null || _schema$key === void 0 ? void 0 : _schema$key.schema) || {})));
220
240
  } else {
221
241
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
222
242
  }
223
243
  }, {});
224
244
  };
225
245
 
226
- var cleanOutputArray = function cleanOutputArray(obj) {
246
+ var cleanOutputArray = function cleanOutputArray(obj, subSchema) {
227
247
  return Object.entries(obj).reduce(function (acc, curr) {
228
248
  var _curr2 = _slicedToArray(curr, 2),
229
249
  key = _curr2[0],
230
250
  v = _curr2[1];
231
251
 
232
252
  if (Array.isArray(v)) {
233
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v.map(function (_ref3) {
234
- var value = _ref3.value;
235
- return value;
236
- })));
253
+ var isArray = (0, _Option.option)(subSchema).orElse(schema).map(function (s) {
254
+ return s[key];
255
+ }).map(function (entry) {
256
+ return !!entry.array;
257
+ }).getOrElse(false);
258
+
259
+ if (isArray) {
260
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v.map(function (_ref3) {
261
+ var value = _ref3.value;
262
+ return value;
263
+ })));
264
+ }
265
+
266
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
237
267
  } else if (!!v && _typeof(v) === 'object') {
238
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanOutputArray(v)));
268
+ var _schema$key2;
269
+
270
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanOutputArray(v, ((_schema$key2 = schema[key]) === null || _schema$key2 === void 0 ? void 0 : _schema$key2.schema) || {})));
239
271
  } else {
240
272
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
241
273
  }
@@ -249,7 +281,7 @@ var Form = function Form(_ref2) {
249
281
  defaultValues: cleanInputArray(value || defaultValues)
250
282
  });
251
283
  var register = methods.register,
252
- handleSubmit = methods.handleSubmit,
284
+ _handleSubmit = methods.handleSubmit,
253
285
  errors = methods.formState.errors,
254
286
  control = methods.control,
255
287
  _reset = methods.reset,
@@ -266,12 +298,14 @@ var Form = function Form(_ref2) {
266
298
  _reset(cleanInputArray(value || defaultValues));
267
299
  }, [schema]);
268
300
  var data = watch();
301
+ var prevData = usePrevious(data);
269
302
  (0, _react.useEffect)(function () {
270
303
  //todo: with debounce
271
- if (!!options.autosubmit) {
272
- handleSubmit(function (data) {
273
- return onSubmit(cleanOutputArray(data));
274
- });
304
+ if (!!options.autosubmit && JSON.stringify(data) !== JSON.stringify(prevData)) {
305
+ _handleSubmit(function (data) {
306
+ var clean = cleanOutputArray(data);
307
+ onSubmit(clean);
308
+ }, onError)();
275
309
  }
276
310
  }, [data]);
277
311
 
@@ -279,27 +313,40 @@ var Form = function Form(_ref2) {
279
313
  console.log(watch());
280
314
  }
281
315
 
316
+ (0, _react.useImperativeHandle)(ref, function () {
317
+ return {
318
+ handleSubmit: function handleSubmit() {
319
+ return _handleSubmit(function (data) {
320
+ var clean = cleanOutputArray(data);
321
+ onSubmit(clean);
322
+ }, onError)();
323
+ }
324
+ };
325
+ });
282
326
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement("form", {
283
- className: className || "col-12 section pt-2 pr-2",
284
- style: style,
285
- onSubmit: handleSubmit(function (data) {
327
+ className: className || classes.pr_15,
328
+ onSubmit: _handleSubmit(function (data) {
286
329
  var clean = cleanOutputArray(data);
287
- return onSubmit(clean);
288
- })
330
+ onSubmit(clean);
331
+ }, onError)
289
332
  }, formFlow.map(function (entry, idx) {
290
333
  if (entry && _typeof(entry) === 'object') {
291
334
  var errored = entry.flow.some(function (step) {
292
335
  return !!errors[step];
293
336
  });
294
337
  return /*#__PURE__*/_react["default"].createElement(_index.Collapse, {
295
- key: idx,
338
+ key: "collapse-".concat(idx),
296
339
  label: entry.label,
297
340
  collapsed: entry.collapsed,
298
341
  errored: errored
299
- }, entry.flow.map(function (entry, idx) {
342
+ }, entry.flow.map(function (entry, entryIdx) {
300
343
  var step = schema[entry];
344
+ var error = entry.split('.').reduce(function (object, key) {
345
+ return object && object[key];
346
+ }, errors); //FIXME: better key ==> entry name + idx
347
+
301
348
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
302
- key: idx,
349
+ key: "collapse-".concat(idx, "-").concat(entry, "-").concat(entryIdx),
303
350
  entry: entry,
304
351
  error: error,
305
352
  label: step.label || entry,
@@ -326,7 +373,7 @@ var Form = function Form(_ref2) {
326
373
  return object && object[key];
327
374
  }, errors);
328
375
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
329
- key: idx,
376
+ key: "".concat(entry, "-").concat(idx),
330
377
  entry: entry,
331
378
  error: error,
332
379
  label: step.label || entry,
@@ -352,18 +399,20 @@ var Form = function Form(_ref2) {
352
399
  reset: function reset() {
353
400
  return _reset(defaultValues);
354
401
  },
355
- valid: handleSubmit(function (data) {
402
+ valid: _handleSubmit(function (data) {
356
403
  return onSubmit(cleanOutputArray(data));
357
- }),
404
+ }, onError),
358
405
  actions: options.actions
359
406
  })));
360
- };
407
+ });
361
408
 
362
409
  exports.Form = Form;
363
410
 
364
411
  var Footer = function Footer(props) {
365
412
  var _props$actions, _props$actions$submit, _props$actions2, _props$actions2$submi, _props$actions3, _props$actions3$reset, _props$actions4, _props$actions4$reset, _props$actions5, _props$actions5$submi;
366
413
 
414
+ var classes = (0, _styleContext.useCustomStyle)();
415
+
367
416
  if (props.render) {
368
417
  return props.render({
369
418
  reset: props.reset,
@@ -373,13 +422,13 @@ var Footer = function Footer(props) {
373
422
 
374
423
  var isSubmitDisplayed = ((_props$actions = props.actions) === null || _props$actions === void 0 ? void 0 : (_props$actions$submit = _props$actions.submit) === null || _props$actions$submit === void 0 ? void 0 : _props$actions$submit.display) === undefined ? true : !!((_props$actions2 = props.actions) !== null && _props$actions2 !== void 0 && (_props$actions2$submi = _props$actions2.submit) !== null && _props$actions2$submi !== void 0 && _props$actions2$submi.display);
375
424
  return /*#__PURE__*/_react["default"].createElement("div", {
376
- className: "d-flex flex-row justify-content-end mt-2"
425
+ className: "".concat(classes.flex, " ").concat(classes.jc_end, " ").concat(classes.mt_5)
377
426
  }, ((_props$actions3 = props.actions) === null || _props$actions3 === void 0 ? void 0 : (_props$actions3$reset = _props$actions3.reset) === null || _props$actions3$reset === void 0 ? void 0 : _props$actions3$reset.display) && /*#__PURE__*/_react["default"].createElement("button", {
378
- className: "btn btn-danger",
427
+ className: "".concat(classes.btn, " ").concat(classes.btn_red),
379
428
  type: "button",
380
429
  onClick: props.reset
381
430
  }, ((_props$actions4 = props.actions) === null || _props$actions4 === void 0 ? void 0 : (_props$actions4$reset = _props$actions4.reset) === null || _props$actions4$reset === void 0 ? void 0 : _props$actions4$reset.label) || 'Reset'), isSubmitDisplayed && /*#__PURE__*/_react["default"].createElement("button", {
382
- className: "btn btn-success ml-1",
431
+ className: "".concat(classes.btn, " ").concat(classes.btn_green, " ").concat(classes.ml_10),
383
432
  type: "submit"
384
433
  }, ((_props$actions5 = props.actions) === null || _props$actions5 === void 0 ? void 0 : (_props$actions5$submi = _props$actions5.submit) === null || _props$actions5$submi === void 0 ? void 0 : _props$actions5$submi.label) || 'Save'));
385
434
  };
@@ -399,6 +448,26 @@ var Step = function Step(_ref4) {
399
448
  httpClient = _ref4.httpClient,
400
449
  defaultValue = _ref4.defaultValue,
401
450
  index = _ref4.index;
451
+ var classes = (0, _styleContext.useCustomStyle)();
452
+ var visibleStep = step && (0, _Option.option)(step.visible).map(function (visible) {
453
+ switch (_typeof(visible)) {
454
+ case 'object':
455
+ var value = watch(step.visible.ref);
456
+ return (0, _Option.option)(step.visible.test).map(function (test) {
457
+ return test(value);
458
+ }).getOrElse(value);
459
+
460
+ case 'boolean':
461
+ return visible;
462
+
463
+ default:
464
+ return true;
465
+ }
466
+ }).getOrElse(true);
467
+
468
+ if (!visibleStep) {
469
+ return null;
470
+ }
402
471
 
403
472
  if (step.array) {
404
473
  return /*#__PURE__*/_react["default"].createElement(ArrayStep, {
@@ -437,26 +506,6 @@ var Step = function Step(_ref4) {
437
506
  });
438
507
  }
439
508
 
440
- var visibleStep = step && (0, _Option.option)(step.visible).map(function (visible) {
441
- switch (_typeof(visible)) {
442
- case 'object':
443
- var value = watch(step.visible.ref);
444
- return (0, _Option.option)(step.visible.test).map(function (test) {
445
- return test(value);
446
- }).getOrElse(value);
447
-
448
- case 'boolean':
449
- return visible;
450
-
451
- default:
452
- return true;
453
- }
454
- }).getOrElse(true);
455
-
456
- if (!visibleStep) {
457
- return null;
458
- }
459
-
460
509
  switch (step.type) {
461
510
  case _type.type.string:
462
511
  switch (step.format) {
@@ -477,9 +526,7 @@ var Step = function Step(_ref4) {
477
526
  }, /*#__PURE__*/_react["default"].createElement("textarea", _extends({
478
527
  type: "text",
479
528
  id: entry,
480
- className: (0, _classnames["default"])("form-control", {
481
- 'is-invalid': error
482
- }),
529
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
483
530
  readOnly: step.disabled ? 'readOnly' : null
484
531
  }, step.props, {
485
532
  name: entry,
@@ -503,9 +550,7 @@ var Step = function Step(_ref4) {
503
550
  }, field),
504
551
  error: error
505
552
  }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({}, step.props, {
506
- className: (0, _classnames["default"])({
507
- 'is-invalid': error
508
- }),
553
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
509
554
  readOnly: step.disabled ? 'readOnly' : null,
510
555
  onChange: field.onChange,
511
556
  value: field.value,
@@ -530,9 +575,7 @@ var Step = function Step(_ref4) {
530
575
  }, field),
531
576
  error: error
532
577
  }, /*#__PURE__*/_react["default"].createElement(_index.MarkdownInput, _extends({}, step.props, {
533
- className: (0, _classnames["default"])({
534
- 'is-invalid': error
535
- }),
578
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
536
579
  readOnly: step.disabled ? 'readOnly' : null,
537
580
  onChange: field.onChange,
538
581
  value: field.value,
@@ -541,6 +584,7 @@ var Step = function Step(_ref4) {
541
584
  }
542
585
  });
543
586
 
587
+ case _format.format.buttonsSelect:
544
588
  case _format.format.select:
545
589
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
546
590
  name: entry,
@@ -557,9 +601,7 @@ var Step = function Step(_ref4) {
557
601
  }, field),
558
602
  error: error
559
603
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
560
- className: (0, _classnames["default"])({
561
- 'is-invalid': error
562
- }),
604
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
563
605
  readOnly: step.disabled ? 'readOnly' : null,
564
606
  onChange: field.onChange,
565
607
  value: field.value,
@@ -590,9 +632,7 @@ var Step = function Step(_ref4) {
590
632
  // {...step.props}
591
633
  type: step.format || 'text',
592
634
  id: entry,
593
- className: (0, _classnames["default"])("form-control", {
594
- 'is-invalid': error
595
- }),
635
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
596
636
  readOnly: step.disabled ? 'readOnly' : null // defaultValue={defaultValue}
597
637
  ,
598
638
  placeholder: step.placeholder
@@ -601,6 +641,7 @@ var Step = function Step(_ref4) {
601
641
 
602
642
  case _type.type.number:
603
643
  switch (step.format) {
644
+ case _format.format.buttonsSelect:
604
645
  case _format.format.select:
605
646
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
606
647
  name: entry,
@@ -617,9 +658,7 @@ var Step = function Step(_ref4) {
617
658
  }, field),
618
659
  error: error
619
660
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
620
- className: (0, _classnames["default"])({
621
- 'is-invalid': error
622
- }),
661
+ className: (0, _classnames["default"])(classes.content, _defineProperty({}, classes.input__invalid, error)),
623
662
  readOnly: step.disabled ? 'readOnly' : null,
624
663
  onChange: field.onChange,
625
664
  value: field.value,
@@ -647,9 +686,7 @@ var Step = function Step(_ref4) {
647
686
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, step.props, {
648
687
  type: step.format || 'number',
649
688
  id: entry,
650
- className: (0, _classnames["default"])("form-control", {
651
- 'is-invalid': error
652
- }),
689
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
653
690
  readOnly: step.disabled ? 'readOnly' : null,
654
691
  name: entry,
655
692
  placeholder: step.placeholder,
@@ -673,9 +710,7 @@ var Step = function Step(_ref4) {
673
710
  }, field),
674
711
  error: error
675
712
  }, /*#__PURE__*/_react["default"].createElement(_index.BooleanInput, _extends({}, step.props, {
676
- className: (0, _classnames["default"])({
677
- 'is-invalid': error
678
- }),
713
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
679
714
  readOnly: step.disabled ? 'readOnly' : null,
680
715
  onChange: field.onChange,
681
716
  value: field.value
@@ -685,6 +720,7 @@ var Step = function Step(_ref4) {
685
720
 
686
721
  case _type.type.object:
687
722
  switch (step.format) {
723
+ case _format.format.buttonsSelect:
688
724
  case _format.format.select:
689
725
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
690
726
  name: entry,
@@ -702,9 +738,7 @@ var Step = function Step(_ref4) {
702
738
  }, field),
703
739
  error: error
704
740
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
705
- className: (0, _classnames["default"])({
706
- 'is-invalid': error
707
- }),
741
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
708
742
  readOnly: step.disabled ? 'readOnly' : null,
709
743
  onChange: field.onChange,
710
744
  value: field.value,
@@ -762,9 +796,7 @@ var Step = function Step(_ref4) {
762
796
  }, field),
763
797
  error: error
764
798
  }, /*#__PURE__*/_react["default"].createElement(_index.ObjectInput, _extends({}, step.props, {
765
- className: (0, _classnames["default"])({
766
- 'is-invalid': error
767
- }),
799
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
768
800
  readOnly: step.disabled ? 'readOnly' : null,
769
801
  onChange: field.onChange,
770
802
  value: field.value,
@@ -792,9 +824,7 @@ var Step = function Step(_ref4) {
792
824
  error: error
793
825
  }, /*#__PURE__*/_react["default"].createElement(_reactRainbowComponents.DatePicker, _extends({}, step.props, {
794
826
  id: "datePicker-1",
795
- className: (0, _classnames["default"])({
796
- 'is-invalid': error
797
- }),
827
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
798
828
  readOnly: step.disabled ? 'readOnly' : null,
799
829
  value: field.value,
800
830
  onChange: field.onChange,
@@ -837,23 +867,23 @@ var Step = function Step(_ref4) {
837
867
  };
838
868
 
839
869
  return /*#__PURE__*/_react["default"].createElement("div", {
840
- className: (0, _classnames["default"])("d-flex flex-row justify-content-start", {
841
- 'is-invalid': error
842
- })
870
+ className: (0, _classnames["default"])("d-flex flex-row justify-content-start", _defineProperty({}, classes.input__invalid, error))
843
871
  }, /*#__PURE__*/_react["default"].createElement("input", {
844
872
  ref: function ref(r) {
845
873
  return setInput(r);
846
874
  },
847
875
  type: "file",
848
876
  multiple: true,
849
- className: "form-control d-none",
877
+ className: classes.d_none,
850
878
  onChange: setFiles
851
879
  }), /*#__PURE__*/_react["default"].createElement("button", {
852
880
  type: "button",
853
- className: "btn btn-outline-success pl",
881
+ className: "".concat(classes.btn, " ").concat(classes.flex, " ").concat(classes.ai_center),
854
882
  disabled: uploading,
855
883
  onClick: trigger
856
- }, uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Loader, null), !uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Upload, null), "Select file"));
884
+ }, uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Loader, null), !uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Upload, null), /*#__PURE__*/_react["default"].createElement("span", {
885
+ className: "".concat(classes.ml_5)
886
+ }, "Select file")));
857
887
  };
858
888
 
859
889
  return /*#__PURE__*/_react["default"].createElement(CustomizableInput, {
@@ -891,9 +921,7 @@ var Step = function Step(_ref4) {
891
921
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, step.props, {
892
922
  type: "file",
893
923
  id: entry,
894
- className: (0, _classnames["default"])("form-control", {
895
- 'is-invalid': error
896
- }),
924
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
897
925
  readOnly: step.disabled ? 'readOnly' : null,
898
926
  name: entry,
899
927
  placeholder: step.placeholder
@@ -931,11 +959,13 @@ var ArrayStep = function ArrayStep(_ref15) {
931
959
  return /*#__PURE__*/_react["default"].createElement("div", {
932
960
  key: field.id,
933
961
  className: "d-flex flex-row"
962
+ }, /*#__PURE__*/_react["default"].createElement("div", {
963
+ className: "flex-grow-1"
934
964
  }, component(_objectSpread(_objectSpread({
935
965
  key: field.id
936
966
  }, field), {}, {
937
967
  defaultValue: values[idx] || defaultValue
938
- }), idx), /*#__PURE__*/_react["default"].createElement("div", {
968
+ }), idx)), /*#__PURE__*/_react["default"].createElement("div", {
939
969
  className: "input-group-append"
940
970
  }, /*#__PURE__*/_react["default"].createElement("button", {
941
971
  className: "btn btn-danger btn-sm",
@@ -946,12 +976,10 @@ var ArrayStep = function ArrayStep(_ref15) {
946
976
  }, "remove")));
947
977
  }), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("input", {
948
978
  type: "button",
949
- className: (0, _classnames["default"])("btn btn-info mt-2", {
950
- 'is-invalid': error
951
- }),
979
+ className: (0, _classnames["default"])("btn btn-info mt-2", _defineProperty({}, classes.input__invalid, error)),
952
980
  onClick: function onClick() {
953
981
  append({
954
- value: defaultValue
982
+ value: step.addableDefaultValue
955
983
  });
956
984
  trigger(entry);
957
985
  },
package/lib/format.d.ts CHANGED
@@ -8,4 +8,5 @@ export declare const format: {
8
8
  password: string;
9
9
  hidden: string;
10
10
  form: string;
11
+ buttonsSelect: string;
11
12
  };
package/lib/format.js CHANGED
@@ -13,6 +13,7 @@ var format = {
13
13
  email: 'email',
14
14
  password: 'password',
15
15
  hidden: 'hidden',
16
- form: 'form'
16
+ form: 'form',
17
+ buttonsSelect: 'buttons'
17
18
  };
18
19
  exports.format = format;
@@ -84,7 +84,7 @@ var ArrayInput = function ArrayInput(props) {
84
84
  });
85
85
  }
86
86
  }
87
- }, [props, value]);
87
+ }, [props.optionsFrom]);
88
88
 
89
89
  var handleChanges = function handleChanges(changes) {
90
90
  props.onChange(changes.map(function (x) {
@@ -9,30 +9,27 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _reactFeather = require("react-feather");
11
11
 
12
+ var _styleContext = require("../styleContext");
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
15
 
14
16
  var BooleanInput = function BooleanInput(_ref) {
15
17
  var onChange = _ref.onChange,
16
18
  value = _ref.value;
17
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
18
- className: "form-group row"
19
- }, /*#__PURE__*/_react["default"].createElement("div", {
20
- className: "col-sm-10"
21
- }, /*#__PURE__*/_react["default"].createElement("div", {
22
- className: "row"
23
- }, /*#__PURE__*/_react["default"].createElement("div", {
24
- className: "col-sm-6 cursor-pointer"
19
+ var classes = (0, _styleContext.useCustomStyle)();
20
+ return /*#__PURE__*/_react["default"].createElement("div", {
21
+ className: classes.cursor_pointer
25
22
  }, !!value && /*#__PURE__*/_react["default"].createElement(_reactFeather.ToggleRight, {
26
- className: "input__boolean__on",
23
+ className: classes.input__boolean__on,
27
24
  onClick: function onClick() {
28
25
  return onChange(false);
29
26
  }
30
27
  }), !value && /*#__PURE__*/_react["default"].createElement(_reactFeather.ToggleLeft, {
31
- className: "input__boolean__off",
28
+ className: classes.input__boolean__off,
32
29
  onClick: function onClick() {
33
30
  return onChange(true);
34
31
  }
35
- }))))));
32
+ }));
36
33
  };
37
34
 
38
35
  exports.BooleanInput = BooleanInput;