@maif/react-forms 1.0.19 → 1.0.23

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/lib/form.js CHANGED
@@ -41,6 +41,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
41
41
 
42
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; }
43
43
 
44
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
45
+
46
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
47
+
48
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
49
+
50
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
51
+
44
52
  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); }
45
53
 
46
54
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -165,6 +173,10 @@ var getDefaultValues = function getDefaultValues(flow, schema) {
165
173
  return flow.reduce(function (acc, key) {
166
174
  var entry = schema[key];
167
175
 
176
+ if (!entry) {
177
+ return acc;
178
+ }
179
+
168
180
  if (_typeof(key) === 'object') {
169
181
  return _objectSpread(_objectSpread({}, acc), getDefaultValues(key.flow, schema));
170
182
  }
@@ -238,7 +250,7 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
238
250
  }
239
251
 
240
252
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
241
- } else if (!!v && _typeof(v) === 'object') {
253
+ } else if (!!v && _typeof(v) === 'object' && !(v instanceof Date)) {
242
254
  var _subSchema$key;
243
255
 
244
256
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanInputArray(v, ((_subSchema$key = subSchema[key]) === null || _subSchema$key === void 0 ? void 0 : _subSchema$key.schema) || {})));
@@ -269,7 +281,7 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
269
281
  }
270
282
 
271
283
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, v));
272
- } else if (!!v && _typeof(v) === 'object') {
284
+ } else if (!!v && _typeof(v) === 'object' && !(v instanceof Date)) {
273
285
  var _subSchema$key2;
274
286
 
275
287
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, cleanOutputArray(v, ((_subSchema$key2 = subSchema[key]) === null || _subSchema$key2 === void 0 ? void 0 : _subSchema$key2.schema) || {})));
@@ -316,9 +328,13 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
316
328
  }, [data]);
317
329
 
318
330
  if (options.watch) {
319
- console.group('react-form watch');
320
- console.log(watch());
321
- console.groupEnd();
331
+ if (typeof options.watch === 'function') {
332
+ options.watch(watch());
333
+ } else {
334
+ console.group('react-form watch');
335
+ console.log(watch());
336
+ console.groupEnd();
337
+ }
322
338
  }
323
339
 
324
340
  (0, _react.useImperativeHandle)(ref, function () {
@@ -339,6 +355,12 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
339
355
  }, onError)
340
356
  }, formFlow.map(function (entry, idx) {
341
357
  var step = schema[entry];
358
+
359
+ if (!step) {
360
+ console.error("no step found for the entry \"".concat(entry, "\" in the given schema. Your form might not work properly. Please fix it"));
361
+ return null;
362
+ }
363
+
342
364
  var error = _typeof(entry) === 'object' ? undefined : entry.split('.').reduce(function (object, key) {
343
365
  return object && object[key];
344
366
  }, errors);
@@ -453,6 +475,20 @@ var Step = function Step(_ref4) {
453
475
  defaultValue = _ref4.defaultValue,
454
476
  index = _ref4.index;
455
477
  var classes = (0, _styleContext.useCustomStyle)();
478
+ var registeredInput = register(entry);
479
+
480
+ var inputProps = _objectSpread(_objectSpread({}, registeredInput), {}, {
481
+ onChange: function onChange(e) {
482
+ registeredInput.onChange(e);
483
+ (0, _Option.option)(step.onChange).map(function (onChange) {
484
+ return onChange({
485
+ rawValues: getValues(),
486
+ value: e.target.value,
487
+ setValue: _setValue
488
+ });
489
+ });
490
+ }
491
+ });
456
492
 
457
493
  if (entry && _typeof(entry) === 'object') {
458
494
  var errored = entry.flow.some(function (step) {
@@ -489,7 +525,6 @@ var Step = function Step(_ref4) {
489
525
 
490
526
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
491
527
  key: "collapse-".concat(en, "-").concat(entryIdx),
492
- className: classes.collapseInline,
493
528
  entry: en,
494
529
  error: err,
495
530
  label: (stp === null || stp === void 0 ? void 0 : stp.label) === null ? null : (stp === null || stp === void 0 ? void 0 : stp.label) || en,
@@ -509,11 +544,22 @@ var Step = function Step(_ref4) {
509
544
  watch: watch,
510
545
  inputWrapper: inputWrapper,
511
546
  httpClient: httpClient,
512
- defaultValue: stp.defaultValue
547
+ defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue
513
548
  }));
514
549
  }));
515
550
  }
516
551
 
552
+ var disabled = function disabled() {
553
+ if (typeof step.disabled === 'function') {
554
+ return step.disabled({
555
+ rawValues: getValues(),
556
+ value: getValues(entry)
557
+ });
558
+ } else {
559
+ return step.disabled;
560
+ }
561
+ };
562
+
517
563
  if (step.array) {
518
564
  return /*#__PURE__*/_react["default"].createElement(ArrayStep, {
519
565
  entry: entry,
@@ -525,12 +571,15 @@ var Step = function Step(_ref4) {
525
571
  setValue: _setValue,
526
572
  values: getValues(entry),
527
573
  defaultValue: step.defaultValue || defaultVal(step.type),
574
+ getValues: getValues,
575
+ disabled: disabled(),
528
576
  component: function component(props, idx) {
529
577
  var _error$idx;
530
578
 
531
579
  return /*#__PURE__*/_react["default"].createElement(Step, {
532
580
  entry: "".concat(entry, "[").concat(idx, "].value"),
533
581
  step: _objectSpread(_objectSpread({}, schema[realEntry || entry]), {}, {
582
+ onChange: undefined,
534
583
  array: false
535
584
  }),
536
585
  error: error && ((_error$idx = error[idx]) === null || _error$idx === void 0 ? void 0 : _error$idx.value),
@@ -572,12 +621,11 @@ var Step = function Step(_ref4) {
572
621
  type: "text",
573
622
  id: entry,
574
623
  className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
575
- readOnly: step.disabled ? 'readOnly' : null
624
+ readOnly: disabled() ? 'readOnly' : null
576
625
  }, step.props, {
577
- name: entry,
578
626
  defaultValue: defaultValue,
579
627
  placeholder: step.placeholder
580
- }, register(entry))));
628
+ }, inputProps)));
581
629
 
582
630
  case _format.format.code:
583
631
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
@@ -596,8 +644,17 @@ var Step = function Step(_ref4) {
596
644
  error: error
597
645
  }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({
598
646
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
599
- readOnly: step.disabled ? true : false,
600
- onChange: field.onChange,
647
+ readOnly: disabled() ? true : false,
648
+ onChange: function onChange(e) {
649
+ field.onChange(e);
650
+ (0, _Option.option)(step.onChange).map(function (onChange) {
651
+ return onChange({
652
+ rawValues: getValues(),
653
+ value: e,
654
+ setValue: _setValue
655
+ });
656
+ });
657
+ },
601
658
  value: field.value,
602
659
  defaultValue: defaultValue
603
660
  }, step.props)));
@@ -621,8 +678,17 @@ var Step = function Step(_ref4) {
621
678
  error: error
622
679
  }, /*#__PURE__*/_react["default"].createElement(_index.MarkdownInput, _extends({}, step.props, {
623
680
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
624
- readOnly: step.disabled ? 'readOnly' : null,
625
- onChange: field.onChange,
681
+ readOnly: disabled() ? 'readOnly' : null,
682
+ onChange: function onChange(e) {
683
+ field.onChange(e);
684
+ (0, _Option.option)(step.onChange).map(function (onChange) {
685
+ return onChange({
686
+ rawValues: getValues(),
687
+ value: e,
688
+ setValue: _setValue
689
+ });
690
+ });
691
+ },
626
692
  value: field.value,
627
693
  defaultValue: defaultValue
628
694
  }, step)));
@@ -645,15 +711,24 @@ var Step = function Step(_ref4) {
645
711
  rawValues: getValues()
646
712
  }, field),
647
713
  error: error
648
- }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
714
+ }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, step, {
649
715
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
650
- readOnly: step.disabled ? 'readOnly' : null,
651
- onChange: field.onChange,
716
+ disabled: disabled(),
652
717
  value: field.value,
653
718
  possibleValues: step.options,
654
719
  defaultValue: defaultValue,
655
- httpClient: httpClient
656
- }, step)));
720
+ httpClient: httpClient,
721
+ onChange: function onChange(value) {
722
+ field.onChange(value);
723
+ (0, _Option.option)(step.onChange).map(function (onChange) {
724
+ return onChange({
725
+ rawValues: getValues(),
726
+ value: value,
727
+ setValue: _setValue
728
+ });
729
+ });
730
+ }
731
+ })));
657
732
  }
658
733
  });
659
734
 
@@ -674,14 +749,13 @@ var Step = function Step(_ref4) {
674
749
  },
675
750
  error: error
676
751
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({
677
- // {...step.props}
678
752
  type: step.format || 'text',
679
753
  id: entry,
680
754
  className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
681
- readOnly: step.disabled ? 'readOnly' : null // defaultValue={defaultValue}
682
- ,
755
+ readOnly: disabled() ? 'readOnly' : null,
756
+ defaultValue: defaultValue,
683
757
  placeholder: step.placeholder
684
- }, register(entry))));
758
+ }, inputProps)));
685
759
  }
686
760
 
687
761
  case _type.type.number:
@@ -702,15 +776,24 @@ var Step = function Step(_ref4) {
702
776
  rawValues: getValues()
703
777
  }, field),
704
778
  error: error
705
- }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
779
+ }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, step, {
706
780
  className: (0, _classnames["default"])(classes.content, _defineProperty({}, classes.input__invalid, error)),
707
- readOnly: step.disabled ? 'readOnly' : null,
708
- onChange: field.onChange,
781
+ readOnly: disabled() ? 'readOnly' : null,
782
+ onChange: function onChange(e) {
783
+ field.onChange(e);
784
+ (0, _Option.option)(step.onChange).map(function (onChange) {
785
+ return onChange({
786
+ rawValues: getValues(),
787
+ value: e,
788
+ setValue: _setValue
789
+ });
790
+ });
791
+ },
709
792
  value: field.value,
710
793
  possibleValues: step.options,
711
794
  defaultValue: defaultValue,
712
795
  httpClient: httpClient
713
- }, step)));
796
+ })));
714
797
  }
715
798
  });
716
799
 
@@ -732,11 +815,11 @@ var Step = function Step(_ref4) {
732
815
  type: step.format || 'number',
733
816
  id: entry,
734
817
  className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
735
- readOnly: step.disabled ? 'readOnly' : null,
818
+ readOnly: disabled() ? 'readOnly' : null,
736
819
  name: entry,
737
820
  placeholder: step.placeholder,
738
821
  defaultValue: defaultValue
739
- }, register(entry))));
822
+ }, inputProps)));
740
823
  }
741
824
 
742
825
  case _type.type.bool:
@@ -756,8 +839,17 @@ var Step = function Step(_ref4) {
756
839
  error: error
757
840
  }, /*#__PURE__*/_react["default"].createElement(_index.BooleanInput, _extends({}, step.props, {
758
841
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
759
- readOnly: step.disabled ? 'readOnly' : null,
760
- onChange: field.onChange,
842
+ readOnly: disabled() ? 'readOnly' : null,
843
+ onChange: function onChange(e) {
844
+ field.onChange(e);
845
+ (0, _Option.option)(step.onChange).map(function (onChange) {
846
+ return onChange({
847
+ rawValues: getValues(),
848
+ value: e,
849
+ setValue: _setValue
850
+ });
851
+ });
852
+ },
761
853
  value: field.value
762
854
  })));
763
855
  }
@@ -782,18 +874,28 @@ var Step = function Step(_ref4) {
782
874
  rawValues: getValues()
783
875
  }, field),
784
876
  error: error
785
- }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
877
+ }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, step, {
786
878
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
787
- readOnly: step.disabled ? 'readOnly' : null,
788
- onChange: field.onChange,
879
+ readOnly: disabled() ? 'readOnly' : null,
880
+ onChange: function onChange(e) {
881
+ field.onChange(e);
882
+ (0, _Option.option)(step.onChange).map(function (onChange) {
883
+ return onChange({
884
+ rawValues: getValues(),
885
+ value: e,
886
+ setValue: _setValue
887
+ });
888
+ });
889
+ },
789
890
  value: field.value,
790
891
  possibleValues: step.options,
791
892
  httpClient: httpClient
792
- }, step)));
893
+ })));
793
894
  }
794
895
  });
795
896
 
796
897
  case _format.format.form:
898
+ //todo: disabled ?
797
899
  var flow = (0, _Option.option)(step.flow).getOrElse((0, _Option.option)(step.schema).map(function (s) {
798
900
  return Object.keys(s);
799
901
  }).getOrNull());
@@ -840,13 +942,22 @@ var Step = function Step(_ref4) {
840
942
  rawValues: getValues()
841
943
  }, field),
842
944
  error: error
843
- }, /*#__PURE__*/_react["default"].createElement(_index.ObjectInput, _extends({}, step.props, {
945
+ }, /*#__PURE__*/_react["default"].createElement(_index.ObjectInput, _extends({}, step.props, step, {
844
946
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
845
- readOnly: step.disabled ? 'readOnly' : null,
846
- onChange: field.onChange,
947
+ readOnly: disabled() ? 'readOnly' : null,
948
+ onChange: function onChange(e) {
949
+ field.onChange(e);
950
+ (0, _Option.option)(step.onChange).map(function (onChange) {
951
+ return onChange({
952
+ rawValues: getValues(),
953
+ value: e,
954
+ setValue: _setValue
955
+ });
956
+ });
957
+ },
847
958
  value: field.value,
848
959
  possibleValues: step.options
849
- }, step)));
960
+ })));
850
961
  }
851
962
  });
852
963
  }
@@ -870,11 +981,19 @@ var Step = function Step(_ref4) {
870
981
  }, /*#__PURE__*/_react["default"].createElement(_reactRainbowComponents.DatePicker, _extends({}, step.props, {
871
982
  id: "datePicker-1",
872
983
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
873
- readOnly: step.disabled ? 'readOnly' : null,
984
+ readOnly: disabled() ? 'readOnly' : null,
874
985
  value: field.value,
875
- onChange: field.onChange,
876
- formatStyle: "large" // locale={state.locale.name}
877
-
986
+ onChange: function onChange(e) {
987
+ field.onChange(e);
988
+ (0, _Option.option)(step.onChange).map(function (onChange) {
989
+ return onChange({
990
+ rawValues: getValues(),
991
+ value: e,
992
+ setValue: _setValue
993
+ });
994
+ });
995
+ },
996
+ formatStyle: "large"
878
997
  })));
879
998
  }
880
999
  });
@@ -924,7 +1043,7 @@ var Step = function Step(_ref4) {
924
1043
  }), /*#__PURE__*/_react["default"].createElement("button", {
925
1044
  type: "button",
926
1045
  className: "".concat(classes.btn, " ").concat(classes.flex, " ").concat(classes.ai_center),
927
- disabled: uploading,
1046
+ disabled: uploading || disabled(),
928
1047
  onClick: trigger
929
1048
  }, uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Loader, null), !uploading && /*#__PURE__*/_react["default"].createElement(_reactFeather.Upload, null), /*#__PURE__*/_react["default"].createElement("span", {
930
1049
  className: "".concat(classes.ml_5)
@@ -941,7 +1060,16 @@ var Step = function Step(_ref4) {
941
1060
  }, field),
942
1061
  error: error
943
1062
  }, /*#__PURE__*/_react["default"].createElement(FileInput, {
944
- onChange: field.onChange,
1063
+ onChange: function onChange(e) {
1064
+ field.onChange(e);
1065
+ (0, _Option.option)(step.onChange).map(function (onChange) {
1066
+ return onChange({
1067
+ rawValues: getValues(),
1068
+ value: e,
1069
+ setValue: _setValue
1070
+ });
1071
+ });
1072
+ },
945
1073
  error: error
946
1074
  }));
947
1075
  }
@@ -967,10 +1095,10 @@ var Step = function Step(_ref4) {
967
1095
  type: "file",
968
1096
  id: entry,
969
1097
  className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
970
- readOnly: step.disabled ? 'readOnly' : null,
1098
+ readOnly: disabled() ? 'readOnly' : null,
971
1099
  name: entry,
972
1100
  placeholder: step.placeholder
973
- }, register(entry))));
1101
+ }, inputProps)));
974
1102
 
975
1103
  default:
976
1104
  return null;
@@ -987,7 +1115,9 @@ var ArrayStep = function ArrayStep(_ref15) {
987
1115
  component = _ref15.component,
988
1116
  values = _ref15.values,
989
1117
  defaultValue = _ref15.defaultValue,
990
- setValue = _ref15.setValue;
1118
+ setValue = _ref15.setValue,
1119
+ getValues = _ref15.getValues,
1120
+ disabled = _ref15.disabled;
991
1121
  var classes = (0, _styleContext.useCustomStyle)();
992
1122
 
993
1123
  var _useFieldArray = (0, _reactHookForm.useFieldArray)({
@@ -1015,6 +1145,7 @@ var ArrayStep = function ArrayStep(_ref15) {
1015
1145
  className: "input-group-append"
1016
1146
  }, /*#__PURE__*/_react["default"].createElement("button", {
1017
1147
  className: "btn btn-danger btn-sm",
1148
+ disabled: disabled,
1018
1149
  onClick: function onClick() {
1019
1150
  remove(idx);
1020
1151
  trigger(entry);
@@ -1025,10 +1156,18 @@ var ArrayStep = function ArrayStep(_ref15) {
1025
1156
  className: (0, _classnames["default"])("btn btn-info mt-2", _defineProperty({}, classes.input__invalid, error)),
1026
1157
  onClick: function onClick() {
1027
1158
  append({
1028
- value: step.addableDefaultValue
1159
+ value: step.addableDefaultValue || defaultVal(step.type)
1029
1160
  });
1030
1161
  trigger(entry);
1162
+ (0, _Option.option)(step.onChange).map(function (onChange) {
1163
+ return onChange({
1164
+ rawValues: getValues(),
1165
+ value: getValues(entry),
1166
+ setValue: setValue
1167
+ });
1168
+ });
1031
1169
  },
1170
+ disabled: disabled,
1032
1171
  value: "Add"
1033
1172
  }), error && /*#__PURE__*/_react["default"].createElement("div", {
1034
1173
  className: "invalid-feedback"
@@ -1092,14 +1231,38 @@ var NestedForm = function NestedForm(_ref16) {
1092
1231
  });
1093
1232
  }
1094
1233
  }, [prevSchema, schemaAndFlow.schema]);
1234
+ var test = schemaAndFlow.flow.reduce(function (acc, entry) {
1235
+ var step = schemaAndFlow.schema[entry];
1236
+ var visibleStep = (0, _Option.option)(step).map(function (s) {
1237
+ return s.visible;
1238
+ }).map(function (visible) {
1239
+ switch (_typeof(visible)) {
1240
+ case 'object':
1241
+ var _value2 = watch(visible.ref);
1242
+
1243
+ return (0, _Option.option)(visible.test).map(function (test) {
1244
+ return test(_value2);
1245
+ }).getOrElse(_value2);
1246
+
1247
+ case 'boolean':
1248
+ return visible;
1249
+
1250
+ default:
1251
+ return true;
1252
+ }
1253
+ }).getOrElse(true);
1254
+ return [].concat(_toConsumableArray(acc), [{
1255
+ step: step,
1256
+ visibleStep: visibleStep,
1257
+ entry: entry
1258
+ }]);
1259
+ }, []);
1260
+ var bordered = test.filter(function (x) {
1261
+ return x.visibleStep;
1262
+ }).length <= 1 && step.label === null;
1095
1263
  return /*#__PURE__*/_react["default"].createElement("div", {
1096
- style: {
1097
- borderLeft: '2px solid lightGray',
1098
- paddingLeft: '1rem',
1099
- marginBottom: '.5rem',
1100
- position: 'relative'
1101
- }
1102
- }, collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.ArrowDown, {
1264
+ className: (0, _classnames["default"])(_defineProperty({}, classes.nestedform__border, bordered))
1265
+ }, !!step.collapsable && schemaAndFlow.flow.length > 1 && collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.ArrowDown, {
1103
1266
  size: 30,
1104
1267
  className: classes.cursor_pointer,
1105
1268
  style: {
@@ -1111,7 +1274,7 @@ var NestedForm = function NestedForm(_ref16) {
1111
1274
  onClick: function onClick() {
1112
1275
  return setCollapsed(!collapsed);
1113
1276
  }
1114
- }), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.ArrowUp, {
1277
+ }), !!step.collapsable && schemaAndFlow.flow.length > 1 && !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.ArrowUp, {
1115
1278
  size: 30,
1116
1279
  className: classes.cursor_pointer,
1117
1280
  style: {
@@ -1119,26 +1282,22 @@ var NestedForm = function NestedForm(_ref16) {
1119
1282
  top: '5px',
1120
1283
  left: '-16px'
1121
1284
  },
1122
- "stroke-width": "3",
1285
+ "strok-width": "3",
1123
1286
  onClick: function onClick() {
1124
1287
  return setCollapsed(!collapsed);
1125
1288
  }
1126
- }), schemaAndFlow.flow.map(function (entry, idx) {
1127
- var _schemaAndFlow$schema;
1128
-
1129
- var step = schemaAndFlow.schema[entry];
1289
+ }), test.map(function (_ref17, idx) {
1290
+ var step = _ref17.step,
1291
+ visibleStep = _ref17.visibleStep,
1292
+ entry = _ref17.entry;
1130
1293
  var realError = error && error[entry];
1131
- console.debug({
1132
- schema: schema,
1133
- entry: entry,
1134
- result: (0, _Option.option)((_schemaAndFlow$schema = schemaAndFlow.schema) === null || _schemaAndFlow$schema === void 0 ? void 0 : _schemaAndFlow$schema.collapseField).map(function (f) {
1135
- return f === entry;
1136
- }).getOrElse(idx > 0)
1294
+ var oneVisibleSetup = Object.values(schemaAndFlow.schema).some(function (v) {
1295
+ return !!v.visibleOnCollapse;
1137
1296
  });
1138
- var isCollapsed = collapsed && (0, _Option.option)(!step.visibleOnCollapse).getOrElse(idx > 0);
1297
+ var isCollapsed = collapsed && (oneVisibleSetup ? !step.visibleOnCollapse : idx > 0);
1139
1298
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
1140
1299
  key: "".concat(entry, ".").concat(idx),
1141
- className: (0, _classnames["default"])(_defineProperty({}, classes.display__none, isCollapsed)),
1300
+ className: (0, _classnames["default"])(_defineProperty({}, classes.display__none, isCollapsed || !visibleStep)),
1142
1301
  entry: "".concat(parent, ".").concat(entry),
1143
1302
  error: realError,
1144
1303
  label: (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry,
@@ -66,7 +66,7 @@ var Collapse = function Collapse(props) {
66
66
  }), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.EyeOff, {
67
67
  size: 16
68
68
  }))), /*#__PURE__*/_react["default"].createElement("div", {
69
- className: (0, _classnames["default"])(classes.ml_10, (_classNames4 = {}, _defineProperty(_classNames4, classes.display__none, !!collapsed), _defineProperty(_classNames4, classes.flex, !!props.inline), _classNames4))
69
+ className: (0, _classnames["default"])("".concat(classes.ml_10), (_classNames4 = {}, _defineProperty(_classNames4, classes.display__none, !!collapsed), _defineProperty(_classNames4, classes.flex, !!props.inline), _defineProperty(_classNames4, classes.collapse__inline, !!props.inline), _classNames4))
70
70
  }, props.children), props.lineEnd && /*#__PURE__*/_react["default"].createElement("hr", null));
71
71
  };
72
72
 
@@ -189,6 +189,7 @@ var SelectInput = function SelectInput(props) {
189
189
  return /*#__PURE__*/_react["default"].createElement("button", {
190
190
  key: idx,
191
191
  type: "button",
192
+ disabled: props.disabled,
192
193
  className: (0, _classnames["default"])(props.className, classes.btn, classes.btn_grey, classes.ml_5, {
193
194
  active: active
194
195
  }),
@@ -213,7 +214,8 @@ var SelectInput = function SelectInput(props) {
213
214
  return handleCreate(option, props.onCreateOption);
214
215
  },
215
216
  classNamePrefix: "react-form-select",
216
- className: props.className
217
+ className: props.className,
218
+ readOnly: props.disabled ? 'readOnly' : null
217
219
  }));
218
220
  } else {
219
221
  return /*#__PURE__*/_react["default"].createElement(_reactSelect["default"], _extends({}, props, {
@@ -225,7 +227,8 @@ var SelectInput = function SelectInput(props) {
225
227
  options: values,
226
228
  onChange: onChange,
227
229
  classNamePrefix: "react-form-select",
228
- className: props.className
230
+ className: props.className,
231
+ readOnly: props.disabled ? 'readOnly' : null
229
232
  }));
230
233
  }
231
234
  };
package/lib/style.d.ts CHANGED
@@ -211,9 +211,16 @@ export namespace style {
211
211
  const display_3: string;
212
212
  export { display_3 as display };
213
213
  }
214
- const collapseInline: {
215
- "&+ .form-group": {
214
+ const collapse__inline: {
215
+ "& .form-group+.form-group": {
216
216
  marginLeft: string;
217
217
  };
218
218
  };
219
+ namespace nestedform__border {
220
+ export const borderLeft: string;
221
+ export const paddingLeft: string;
222
+ const marginBottom_1: string;
223
+ export { marginBottom_1 as marginBottom };
224
+ export const position: string;
225
+ }
219
226
  }
package/lib/style.js CHANGED
@@ -159,9 +159,14 @@ var style = (_style = {
159
159
  color: "#dc3545"
160
160
  }), _defineProperty(_style, "display__none", {
161
161
  display: "none"
162
- }), _defineProperty(_style, "collapseInline", {
163
- "&+ .form-group": {
162
+ }), _defineProperty(_style, "collapse__inline", {
163
+ "& .form-group+.form-group": {
164
164
  marginLeft: '20px'
165
165
  }
166
+ }), _defineProperty(_style, "nestedform__border", {
167
+ borderLeft: '2px solid lightGray',
168
+ paddingLeft: '1rem',
169
+ marginBottom: '.5rem',
170
+ position: 'relative'
166
171
  }), _style);
167
172
  exports.style = style;
@@ -1 +1 @@
1
- export function useCustomStyle(overrideStyle?: {}): import("jss").Classes<"code" | "flex" | "input" | "btn" | "btn_sm" | "btn_group" | "btn_red" | "btn_green" | "btn_blue" | "btn_grey" | "txt_red" | "ml_5" | "ml_10" | "mr_5" | "mr_10" | "mt_5" | "mt_10" | "mt_20" | "mb_5" | "p_15" | "pr_15" | "full_width" | "d_none" | "flexColumn" | "justifyContentBetween" | "jc_end" | "ac_center" | "ai_center" | "cursor_pointer" | "collapse" | "collapse_label" | "collapse_error" | "datepicker" | "input__boolean__on" | "input__boolean__off" | "input__invalid" | "invalid_feedback" | "display__none" | "collapseInline">;
1
+ export function useCustomStyle(overrideStyle?: {}): import("jss").Classes<"code" | "flex" | "input" | "btn" | "btn_sm" | "btn_group" | "btn_red" | "btn_green" | "btn_blue" | "btn_grey" | "txt_red" | "ml_5" | "ml_10" | "mr_5" | "mr_10" | "mt_5" | "mt_10" | "mt_20" | "mb_5" | "p_15" | "pr_15" | "full_width" | "d_none" | "flexColumn" | "justifyContentBetween" | "jc_end" | "ac_center" | "ai_center" | "cursor_pointer" | "collapse" | "collapse_label" | "collapse_error" | "datepicker" | "input__boolean__on" | "input__boolean__off" | "input__invalid" | "invalid_feedback" | "display__none" | "collapse__inline" | "nestedform__border">;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maif/react-forms",
3
3
  "description": "Build react safe forms as fast as possible",
4
- "version": "1.0.19",
4
+ "version": "1.0.23",
5
5
  "main": "lib/index.js",
6
6
  "author": "MAIF team",
7
7
  "keywords": [