@maif/react-forms 1.0.36 → 1.0.39

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.
Files changed (69) hide show
  1. package/README.md +2 -12
  2. package/lib/esm/index.js +620 -824
  3. package/lib/index.js +622 -825
  4. package/package.json +11 -4
  5. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -10
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -10
  7. package/.github/workflows/build-playground.yml +0 -34
  8. package/.github/workflows/generate-release-note.yml +0 -48
  9. package/.github/workflows/release.yml +0 -73
  10. package/docs/asset-manifest.json +0 -24
  11. package/docs/index.html +0 -1
  12. package/docs/manifest.json +0 -25
  13. package/docs/robots.txt +0 -3
  14. package/docs/static/css/2.6902daba.chunk.css +0 -11
  15. package/docs/static/css/2.6902daba.chunk.css.map +0 -1
  16. package/docs/static/css/main.8693c9f3.chunk.css +0 -2
  17. package/docs/static/css/main.8693c9f3.chunk.css.map +0 -1
  18. package/docs/static/js/2.bc3a307f.chunk.js +0 -3
  19. package/docs/static/js/2.bc3a307f.chunk.js.LICENSE.txt +0 -147
  20. package/docs/static/js/2.bc3a307f.chunk.js.map +0 -1
  21. package/docs/static/js/main.a5abf7f1.chunk.js +0 -2
  22. package/docs/static/js/main.a5abf7f1.chunk.js.map +0 -1
  23. package/docs/static/js/runtime-main.368a22f5.js +0 -2
  24. package/docs/static/js/runtime-main.368a22f5.js.map +0 -1
  25. package/docs/static/media/fa-brands-400.2285773e.woff +0 -0
  26. package/docs/static/media/fa-brands-400.23f19bb0.eot +0 -0
  27. package/docs/static/media/fa-brands-400.2f517e09.svg +0 -3717
  28. package/docs/static/media/fa-brands-400.527940b1.ttf +0 -0
  29. package/docs/static/media/fa-brands-400.d878b0a6.woff2 +0 -0
  30. package/docs/static/media/fa-regular-400.4689f52c.svg +0 -801
  31. package/docs/static/media/fa-regular-400.491974d1.ttf +0 -0
  32. package/docs/static/media/fa-regular-400.77206a6b.eot +0 -0
  33. package/docs/static/media/fa-regular-400.7a333762.woff2 +0 -0
  34. package/docs/static/media/fa-regular-400.bb58e57c.woff +0 -0
  35. package/docs/static/media/fa-solid-900.1551f4f6.woff2 +0 -0
  36. package/docs/static/media/fa-solid-900.7a8b4f13.svg +0 -5034
  37. package/docs/static/media/fa-solid-900.9bbb245e.eot +0 -0
  38. package/docs/static/media/fa-solid-900.be9ee23c.ttf +0 -0
  39. package/docs/static/media/fa-solid-900.eeccf4f6.woff +0 -0
  40. package/examples/.env +0 -2
  41. package/examples/README.md +0 -0
  42. package/examples/package.json +0 -43
  43. package/examples/public/index.html +0 -43
  44. package/examples/public/manifest.json +0 -25
  45. package/examples/public/robots.txt +0 -3
  46. package/examples/src/App.css +0 -10
  47. package/examples/src/Playground.js +0 -158
  48. package/examples/src/WrapperError.js +0 -21
  49. package/examples/src/index.css +0 -13
  50. package/examples/src/index.js +0 -11
  51. package/examples/src/reportWebVitals.js +0 -13
  52. package/examples/src/schema/basic.json +0 -15
  53. package/examples/src/schema/constrainedBasic.json +0 -28
  54. package/examples/src/schema/constraintsWithRef.json +0 -44
  55. package/examples/src/schema/dynamicForm.json +0 -57
  56. package/examples/src/schema/formArray.js +0 -30
  57. package/examples/src/schema/formInForm.json +0 -39
  58. package/examples/src/schema/selector.json +0 -14
  59. package/jest-sync.config.json +0 -17
  60. package/rollup.config.js +0 -66
  61. package/scripts/build.sh +0 -34
  62. package/test/array.spec.js +0 -78
  63. package/test/bool.spec.js +0 -29
  64. package/test/date.spec.js +0 -41
  65. package/test/number.spec.js +0 -124
  66. package/test/object.spec.js +0 -14
  67. package/test/string.spec.js +0 -87
  68. package/test/testUtils.js +0 -30
  69. package/test-setup.js +0 -9
package/lib/index.js CHANGED
@@ -14,6 +14,7 @@ var uuid = require('uuid');
14
14
  var reactJss = require('react-jss');
15
15
  var CreatableSelect = require('react-select/creatable');
16
16
  var Select = require('react-select');
17
+ var deepEqual = require('fast-deep-equal');
17
18
  var showdown = require('showdown');
18
19
  require('@fortawesome/fontawesome-free/css/all.css');
19
20
  require('highlight.js/styles/monokai.css');
@@ -45,6 +46,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
45
46
  var ReactToolTip__default = /*#__PURE__*/_interopDefaultLegacy(ReactToolTip);
46
47
  var CreatableSelect__default = /*#__PURE__*/_interopDefaultLegacy(CreatableSelect);
47
48
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
49
+ var deepEqual__default = /*#__PURE__*/_interopDefaultLegacy(deepEqual);
48
50
  var showdown__default = /*#__PURE__*/_interopDefaultLegacy(showdown);
49
51
  var hljs__default = /*#__PURE__*/_interopDefaultLegacy(hljs);
50
52
 
@@ -62,7 +64,8 @@ var format = {
62
64
  select: 'select',
63
65
  code: 'code',
64
66
  markdown: 'markdown',
65
- text: 'text',
67
+ text: 'textarea',
68
+ textarea: 'textarea',
66
69
  email: 'email',
67
70
  password: 'password',
68
71
  hidden: 'hidden',
@@ -213,12 +216,6 @@ var _maxSize = function maxSize(ref) {
213
216
  };
214
217
  }; //mixed
215
218
 
216
- var _nullable = function nullable() {
217
- return function (r) {
218
- return r.nullable().optional();
219
- };
220
- };
221
-
222
219
  var _test = function test(name) {
223
220
  var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Test failed';
224
221
  var test = arguments.length > 2 ? arguments[2] : undefined;
@@ -253,12 +250,23 @@ var _oneOf = function oneOf(arrayOfValues) {
253
250
  };
254
251
  };
255
252
 
256
- var _ref20 = function ref(_ref) {
253
+ var _blacklist = function blacklist(arrayOfValues) {
254
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "This value can't include the following values ".concat(arrayOfValues.join(', '));
255
+ return function (r) {
256
+ return r.test('blacklist', message, function (value) {
257
+ return !arrayOfValues.some(function (f) {
258
+ return (value || '').includes(f);
259
+ });
260
+ });
261
+ };
262
+ };
263
+
264
+ var _ref21 = function ref(_ref) {
257
265
  return yup__namespace.ref(_ref);
258
266
  };
259
267
 
260
268
  var maybeRef = function maybeRef(x) {
261
- return x !== null && x !== void 0 && x.ref ? _ref20(x.ref) : x;
269
+ return x !== null && x !== void 0 && x.ref ? _ref21(x.ref) : x;
262
270
  }; //### JSON method ###
263
271
 
264
272
 
@@ -371,11 +379,14 @@ var jsonConstraints = {
371
379
  message = _ref19$message === void 0 ? "This value must be one of ".concat(arrayOfValues.join(', ')) : _ref19$message;
372
380
  return _oneOf(arrayOfValues, message);
373
381
  },
374
- ref: function ref(val) {
375
- return _ref20(val.ref);
382
+ blacklist: function blacklist(_ref20) {
383
+ var arrayOfValues = _ref20.arrayOfValues,
384
+ _ref20$message = _ref20.message,
385
+ message = _ref20$message === void 0 ? "This value can't include the following values ".concat(arrayOfValues.join(', ')) : _ref20$message;
386
+ return _blacklist(arrayOfValues, message);
376
387
  },
377
- nullable: function nullable() {
378
- return _nullable();
388
+ ref: function ref(val) {
389
+ return _ref21(val.ref);
379
390
  }
380
391
  };
381
392
 
@@ -397,11 +408,11 @@ var constraints = /*#__PURE__*/Object.freeze({
397
408
  supportedFormat: _supportedFormat,
398
409
  unsupportedFormat: _unsupportedFormat,
399
410
  maxSize: _maxSize,
400
- nullable: _nullable,
401
411
  test: _test,
402
412
  when: _when,
403
413
  oneOf: _oneOf,
404
- ref: _ref20,
414
+ blacklist: _blacklist,
415
+ ref: _ref21,
405
416
  jsonConstraints: jsonConstraints
406
417
  });
407
418
 
@@ -665,6 +676,9 @@ var style = (_style = {
665
676
  d_none: {
666
677
  display: "none"
667
678
  },
679
+ flexWrap: {
680
+ flexWrap: 'wrap'
681
+ },
668
682
  flex: {
669
683
  display: "flex"
670
684
  },
@@ -683,6 +697,9 @@ var style = (_style = {
683
697
  jc_flex_end: {
684
698
  justifyContent: "flex-end"
685
699
  },
700
+ jc_flex_start: {
701
+ justifyContent: "flex-start"
702
+ },
686
703
  ac_center: {
687
704
  alignContent: "center"
688
705
  },
@@ -759,6 +776,15 @@ var style = (_style = {
759
776
  border: "1px solid green",
760
777
  justifyContent: "flex-end"
761
778
  }), _defineProperty$1(_style, "content_switch_button_off", {
779
+ width: "35px",
780
+ height: "22px",
781
+ borderRadius: "20px",
782
+ display: "flex",
783
+ marginTop: "10px",
784
+ backgroundColor: "#dc3545",
785
+ border: "1px solid #dc3545",
786
+ justifyContent: "flex-start"
787
+ }), _defineProperty$1(_style, "content_switch_button_null", {
762
788
  width: "35px",
763
789
  height: "22px",
764
790
  borderRadius: "20px",
@@ -774,6 +800,14 @@ var style = (_style = {
774
800
  width: "20px",
775
801
  height: "20px"
776
802
  }, _defineProperty$1(_switch_button_on, "backgroundColor", "#fff"), _defineProperty$1(_switch_button_on, "borderRadius", "20px"), _switch_button_on)), _defineProperty$1(_style, "switch_button_off", {
803
+ backgroundColor: "#fff",
804
+ borderRadius: "20px",
805
+ cursor: "pointer",
806
+ width: "20px",
807
+ height: "20px",
808
+ border: "1px solid #dfdfdf",
809
+ boxShadow: "1px 0px 5px 0px rgba(0, 0, 0, 0.3)"
810
+ }), _defineProperty$1(_style, "switch_button_null", {
777
811
  backgroundColor: "#fff",
778
812
  borderRadius: "20px",
779
813
  cursor: "pointer",
@@ -792,7 +826,7 @@ var useCustomStyle = function useCustomStyle() {
792
826
  return classes;
793
827
  };
794
828
 
795
- var BooleanInput = function BooleanInput(_ref) {
829
+ var BooleanInput = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
796
830
  var _classNames;
797
831
 
798
832
  var onChange = _ref.onChange,
@@ -815,15 +849,22 @@ var BooleanInput = function BooleanInput(_ref) {
815
849
  }
816
850
  }, /*#__PURE__*/React__default["default"].createElement("div", {
817
851
  className: classNames__default["default"](classes.switch_button_on)
818
- })), !value && /*#__PURE__*/React__default["default"].createElement("div", {
852
+ })), !value && value !== null && /*#__PURE__*/React__default["default"].createElement("div", {
819
853
  className: classNames__default["default"](classes.content_switch_button_off),
820
854
  onClick: function onClick() {
821
855
  return handleClick(true);
822
856
  }
823
857
  }, /*#__PURE__*/React__default["default"].createElement("div", {
824
858
  className: classNames__default["default"](classes.switch_button_off)
859
+ })), value === null && /*#__PURE__*/React__default["default"].createElement("div", {
860
+ className: classNames__default["default"](classes.content_switch_button_null),
861
+ onClick: function onClick() {
862
+ return handleClick(true);
863
+ }
864
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
865
+ className: classNames__default["default"](classes.switch_button_null)
825
866
  })));
826
- };
867
+ });
827
868
 
828
869
  var Collapse = function Collapse(props) {
829
870
  var _classNames4;
@@ -914,35 +955,22 @@ var None = {
914
955
  }
915
956
  };
916
957
 
917
- var deepEqual = function deepEqual(a, b) {
918
- if (a === b) return true;
919
- if (_typeof$1(a) !== 'object' || _typeof$1(b) !== 'object' || a === null || b === null) return false;
920
- var keysA = Object.keys(a),
921
- keysB = Object.keys(b);
922
- if (keysA.length !== keysB.length) return false;
923
-
924
- for (var _i = 0, _keysA = keysA; _i < _keysA.length; _i++) {
925
- var key = _keysA[_i];
926
- if (!keysB.includes(key)) return false;
927
-
928
- if (typeof a[key] === 'function' || typeof b[key] === 'function') {
929
- if (a[key].toString() !== b[key].toString()) return false;
930
- } else {
931
- if (!deepEqual(a[key], b[key])) return false;
932
- }
933
- }
934
-
935
- return true;
936
- };
937
958
  var isPromise = function isPromise(value) {
938
959
  return Boolean(value && typeof value.then === 'function');
939
960
  };
961
+ var arrayFlatten = function arrayFlatten(array) {
962
+ if (array.some(Array.isArray)) {
963
+ return arrayFlatten(array.flat());
964
+ }
965
+
966
+ return array;
967
+ };
940
968
 
941
969
  var valueToSelectOption = function valueToSelectOption(value) {
942
970
  var possibleValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
943
971
  var isMulti = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
944
972
 
945
- if (value === null) {
973
+ if (value === null || !value) {
946
974
  return null;
947
975
  }
948
976
 
@@ -958,7 +986,7 @@ var valueToSelectOption = function valueToSelectOption(value) {
958
986
  }
959
987
 
960
988
  var maybeValue = option(possibleValues.find(function (v) {
961
- return deepEqual(v.value, value);
989
+ return deepEqual__default["default"](v.value, value);
962
990
  }));
963
991
  return maybeValue.getOrElse({
964
992
  label: maybeValue.map(function (v) {
@@ -970,7 +998,7 @@ var valueToSelectOption = function valueToSelectOption(value) {
970
998
  });
971
999
  };
972
1000
 
973
- var SelectInput = function SelectInput(props) {
1001
+ var SelectInput = /*#__PURE__*/React__default["default"].forwardRef(function (props, _) {
974
1002
  var classes = useCustomStyle();
975
1003
  var possibleValues = (props.possibleValues || []).map(function (v) {
976
1004
  return props.transformer ? typeof props.transformer === 'function' ? props.transformer(v) : {
@@ -1071,13 +1099,13 @@ var SelectInput = function SelectInput(props) {
1071
1099
  return onChange(v);
1072
1100
  };
1073
1101
 
1074
- if (props.format === format.buttonsSelect) {
1102
+ if (props.buttons) {
1075
1103
  return /*#__PURE__*/React__default["default"].createElement("div", {
1076
1104
  style: {
1077
1105
  display: 'flex'
1078
1106
  }
1079
1107
  }, values.map(function (v, idx) {
1080
- var active = props.isMulti ? value.includes(v) : v.value === value.value;
1108
+ var active = !!value && (props.isMulti ? value.includes(v) : v.value === value.value);
1081
1109
  return /*#__PURE__*/React__default["default"].createElement("button", {
1082
1110
  key: idx,
1083
1111
  type: "button",
@@ -1114,6 +1142,7 @@ var SelectInput = function SelectInput(props) {
1114
1142
  name: "".concat(props.label, "-search"),
1115
1143
  isLoading: loading,
1116
1144
  value: value,
1145
+ isClearable: true,
1117
1146
  defaultValue: value,
1118
1147
  isDisabled: props.disabled,
1119
1148
  placeholder: props.placeholder,
@@ -1124,7 +1153,7 @@ var SelectInput = function SelectInput(props) {
1124
1153
  readOnly: props.disabled ? 'readOnly' : null
1125
1154
  }));
1126
1155
  }
1127
- };
1156
+ });
1128
1157
 
1129
1158
  var ObjectInput = function ObjectInput(props) {
1130
1159
  var _useState = React.useState(),
@@ -1155,7 +1184,7 @@ var ObjectInput = function ObjectInput(props) {
1155
1184
  if (item.key) return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, item.key, item.value));
1156
1185
  return acc;
1157
1186
  }, {});
1158
- if (!deepEqual(newState, previousState)) setInternalState(Object.fromEntries(Object.entries(props.value || {}).map(function (_ref5, idx) {
1187
+ if (!deepEqual__default["default"](newState, previousState)) setInternalState(Object.fromEntries(Object.entries(props.value || {}).map(function (_ref5, idx) {
1159
1188
  var _ref6 = _slicedToArray(_ref5, 2),
1160
1189
  key = _ref6[0],
1161
1190
  value = _ref6[1];
@@ -28460,7 +28489,7 @@ function Editor(parent, mode, onChange, value) {
28460
28489
  }
28461
28490
  } catch (_) {}
28462
28491
  }), EditorView.editable.of(!readOnly)]),
28463
- doc: _typeof(value) === 'object' ? value.value : value
28492
+ doc: !value ? '' : _typeof(value) === 'object' ? value.value : value
28464
28493
  });
28465
28494
  return new EditorView({
28466
28495
  state: state,
@@ -28511,7 +28540,7 @@ function CodeInput(_ref) {
28511
28540
  changes: {
28512
28541
  from: 0,
28513
28542
  to: editor.state.doc.length,
28514
- insert: _typeof$1(value) === 'object' ? JSON.stringify(value, null, 2) : value
28543
+ insert: value === null ? '' : _typeof$1(value) === 'object' ? JSON.stringify(value, null, 2) : value
28515
28544
  }
28516
28545
  });
28517
28546
  }, [value]);
@@ -28520,68 +28549,6 @@ function CodeInput(_ref) {
28520
28549
  });
28521
28550
  }
28522
28551
 
28523
- window.hljs = window.hljs || hljs__default["default"];
28524
-
28525
- var DaikokuExtension = function DaikokuExtension() {
28526
- // @ref: []()
28527
- var refextension = {
28528
- type: 'lang',
28529
- regex: /@ref:\[(.*)\]\((.*)\)/g,
28530
- replace: function replace(expression, title, docId) {
28531
- var path = window.location.pathname;
28532
- var rawParts = path.split('/');
28533
- rawParts.shift();
28534
- var parts = rawParts.splice(0, 5);
28535
- var teamId = parts[1];
28536
- var apiId = parts[3];
28537
- var versionId = parts[4];
28538
- return "<a href=\"/".concat(teamId, "/").concat(apiId, "/").concat(versionId, "/documentation/").concat(docId, "\">").concat(title, "</a>");
28539
- }
28540
- }; // @@@
28541
-
28542
- var tripleArobase = {
28543
- type: 'lang',
28544
- regex: /@@@/g,
28545
- replace: function replace() {
28546
- console.log('@@@');
28547
- return '</div>';
28548
- }
28549
- }; // @@@warning
28550
-
28551
- var warningExtension = {
28552
- type: 'lang',
28553
- regex: /@@@ warning/g,
28554
- replace: function replace() {
28555
- return '<div class="note note-warning">';
28556
- }
28557
- }; // @@@warning { title = }
28558
-
28559
- var warningTitleExtension = {
28560
- type: 'lang',
28561
- regex: /@@@ warning \{ title='(.*)' \}/g,
28562
- replace: function replace(expr, title) {
28563
- return "<div class=\"note note-warning\"><div class=\"note-title\">".concat(title, "</div>");
28564
- }
28565
- }; // @@@note
28566
-
28567
- var noteExtension = {
28568
- type: 'lang',
28569
- regex: /@@@ note/g,
28570
- replace: function replace() {
28571
- return '<div class="note">';
28572
- }
28573
- }; // @@@note { title = }
28574
-
28575
- var noteTitleExtension = {
28576
- type: 'lang',
28577
- regex: /@@@ note \{ title='(.*)' \}/g,
28578
- replace: function replace(expr, title) {
28579
- return "<div class=\"note\"><div class=\"note-title\">".concat(title, "</div>");
28580
- }
28581
- };
28582
- return [refextension, warningTitleExtension, noteTitleExtension, warningExtension, noteExtension, tripleArobase];
28583
- };
28584
-
28585
28552
  var converter = new showdown__default["default"].Converter({
28586
28553
  omitExtraWLInCodeBlocks: true,
28587
28554
  ghCompatibleHeaderId: true,
@@ -28592,20 +28559,15 @@ var converter = new showdown__default["default"].Converter({
28592
28559
  requireSpaceBeforeHeadingText: true,
28593
28560
  ghMentions: true,
28594
28561
  emoji: true,
28595
- ghMentionsLink: '/{u}',
28596
- extensions: [DaikokuExtension]
28562
+ ghMentionsLink: '/{u}'
28597
28563
  });
28598
28564
  var MarkdownInput = function MarkdownInput(props) {
28599
- var _useState = React.useState(false),
28565
+ var _useState = React.useState(props.preview),
28600
28566
  _useState2 = _slicedToArray(_useState, 2),
28601
28567
  preview = _useState2[0],
28602
28568
  setPreview = _useState2[1];
28603
28569
 
28604
- var _useState3 = React.useState(undefined),
28605
- _useState4 = _slicedToArray(_useState3, 2),
28606
- editor = _useState4[0];
28607
- _useState4[1];
28608
-
28570
+ var ref = React.useRef();
28609
28571
  React.useEffect(function () {
28610
28572
  if (preview) {
28611
28573
  showPreview();
@@ -28614,162 +28576,127 @@ var MarkdownInput = function MarkdownInput(props) {
28614
28576
  var commands = [{
28615
28577
  name: 'Add header',
28616
28578
  icon: 'heading',
28617
- inject: function inject() {
28618
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28619
- return "# ".concat(selected);
28579
+ inject: function inject(range) {
28580
+ return !range ? '#' : [{
28581
+ from: range.from,
28582
+ insert: "# "
28583
+ }];
28620
28584
  }
28621
28585
  }, {
28622
28586
  name: 'Add bold text',
28623
28587
  icon: 'bold',
28624
- inject: function inject() {
28625
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28626
- return "**".concat(selected, "**");
28588
+ inject: function inject(range) {
28589
+ return !range ? '** **' : [{
28590
+ from: range.from,
28591
+ insert: "**"
28592
+ }, {
28593
+ from: range.to,
28594
+ insert: '**'
28595
+ }];
28627
28596
  }
28628
28597
  }, {
28629
28598
  name: 'Add italic text',
28630
28599
  icon: 'italic',
28631
- inject: function inject() {
28632
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28633
- return "*".concat(selected, "*");
28600
+ inject: function inject(range) {
28601
+ return !range ? '* *' : [{
28602
+ from: range.from,
28603
+ insert: '*'
28604
+ }, {
28605
+ from: range.to,
28606
+ insert: '*'
28607
+ }];
28634
28608
  }
28635
28609
  }, {
28636
28610
  name: 'Add strikethrough text',
28637
28611
  icon: 'strikethrough',
28638
- inject: function inject() {
28639
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28640
- return "~~".concat(selected, "~~");
28612
+ inject: function inject(range) {
28613
+ return !range ? '~~ ~~' : [{
28614
+ from: range.from,
28615
+ insert: '~~'
28616
+ }, {
28617
+ from: range.to,
28618
+ insert: '~~'
28619
+ }];
28641
28620
  }
28642
28621
  }, {
28643
28622
  name: 'Add link',
28644
28623
  icon: 'link',
28645
- inject: function inject() {
28646
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28647
- return "[".concat(selected, "](url)");
28624
+ inject: function inject(range) {
28625
+ return !range ? '[ ](url)' : [{
28626
+ from: range.from,
28627
+ insert: '['
28628
+ }, {
28629
+ from: range.to,
28630
+ insert: '](url)'
28631
+ }];
28648
28632
  }
28649
28633
  }, {
28650
28634
  name: 'Add code',
28651
28635
  icon: 'code',
28652
- inject: function inject() {
28653
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28654
- return '```\n' + selected + '\n```\n';
28655
- },
28656
- move: function move(pos, setPos) {
28657
- return setPos({
28658
- column: 0,
28659
- row: pos.row - 2
28660
- });
28636
+ inject: function inject(range) {
28637
+ return !range ? '```\n\n```\n' : [{
28638
+ from: range.from,
28639
+ insert: '```\n'
28640
+ }, {
28641
+ from: range.to,
28642
+ insert: '\n```\n'
28643
+ }];
28661
28644
  }
28662
28645
  }, {
28663
28646
  name: 'Add quotes',
28664
28647
  icon: 'quote-right',
28665
- inject: function inject() {
28666
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28667
- return "> ".concat(selected);
28648
+ inject: function inject(range) {
28649
+ return !range ? '> ' : [{
28650
+ from: range.from,
28651
+ insert: '> '
28652
+ }];
28668
28653
  }
28669
28654
  }, {
28670
28655
  name: 'Add image',
28671
28656
  icon: 'image',
28672
- inject: function inject() {
28673
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28674
- return "![".concat(selected, "](image-url)");
28657
+ inject: function inject(range) {
28658
+ return !range ? '![ ](image-url)' : [{
28659
+ from: range.from,
28660
+ insert: '!['
28661
+ }, {
28662
+ from: range.to,
28663
+ insert: '](image-url)'
28664
+ }];
28675
28665
  }
28676
28666
  }, {
28677
28667
  name: 'Add unordered list',
28678
28668
  icon: 'list-ul',
28679
- inject: function inject() {
28680
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28681
- return "* ".concat(selected);
28669
+ inject: function inject(range) {
28670
+ return !range ? '* ' : [{
28671
+ from: range.from,
28672
+ insert: '* '
28673
+ }];
28682
28674
  }
28683
28675
  }, {
28684
28676
  name: 'Add ordered list',
28685
28677
  icon: 'list-ol',
28686
- inject: function inject() {
28687
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28688
- return "1. ".concat(selected);
28678
+ inject: function inject(range) {
28679
+ return !range ? '1. ' : [{
28680
+ from: range.from,
28681
+ insert: '1. '
28682
+ }];
28689
28683
  }
28690
28684
  }, {
28691
28685
  name: 'Add check list',
28692
28686
  icon: 'tasks',
28693
- inject: function inject() {
28694
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28695
- return "* [ ] ".concat(selected);
28696
- }
28697
- }, {
28698
- name: 'Page ref',
28699
- icon: 'book',
28700
- inject: function inject() {
28701
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28702
- return "@ref:[".concat(selected, "](team/api/doc)");
28703
- }
28704
- }, {
28705
- name: 'Warning',
28706
- icon: 'exclamation-triangle',
28707
- inject: function inject() {
28708
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28709
- return "@@@ warning\n".concat(selected, "\n@@@\n");
28710
- },
28711
- move: function move(pos, setPos) {
28712
- return setPos({
28713
- column: 0,
28714
- row: pos.row - 2
28715
- });
28716
- }
28717
- }, {
28718
- name: 'Warning with title',
28719
- icon: 'exclamation-circle',
28720
- inject: function inject() {
28721
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28722
- return "@@@ warning { title='A nice title' }\n".concat(selected, "\n@@@\n");
28723
- },
28724
- move: function move(pos, setPos) {
28725
- return setPos({
28726
- column: 0,
28727
- row: pos.row - 2
28728
- });
28729
- }
28730
- }, {
28731
- name: 'Note',
28732
- icon: 'sticky-note',
28733
- inject: function inject() {
28734
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28735
- return "@@@ note\n".concat(selected, "\n@@@\n");
28736
- },
28737
- move: function move(pos, setPos) {
28738
- return setPos({
28739
- column: 0,
28740
- row: pos.row - 2
28741
- });
28742
- }
28743
- }, {
28744
- name: 'Note with title',
28745
- icon: 'clipboard',
28746
- inject: function inject() {
28747
- var selected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';
28748
- return "@@@ note { title='A nice title' }\n".concat(selected, "\n@@@\n");
28749
- },
28750
- move: function move(pos, setPos) {
28751
- return setPos({
28752
- column: 0,
28753
- row: pos.row - 2
28754
- });
28755
- }
28756
- }, {
28757
- name: 'Lorem Ipsum',
28758
- icon: 'feather-alt',
28759
- inject: function inject() {
28760
- return 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida convallis leo et aliquet. Aenean venenatis, elit et dignissim scelerisque, urna dui mollis nunc, id eleifend velit sem et ante. Quisque pharetra sed tellus id finibus. In quis porta libero. Nunc egestas eros elementum lacinia blandit. Donec nisi lacus, tristique vel blandit in, sodales eget lacus. Phasellus ultrices magna vel odio vestibulum, a rhoncus nunc ornare. Sed laoreet finibus arcu vitae aliquam. Aliquam quis ex dui.';
28761
- }
28762
- }, {
28763
- name: 'Long Lorem Ipsum',
28764
- icon: 'feather',
28765
- inject: function inject() {
28766
- return "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida convallis leo et aliquet. Aenean venenatis, elit et dignissim scelerisque, urna dui mollis nunc, id eleifend velit sem et ante. Quisque pharetra sed tellus id finibus. In quis porta libero. Nunc egestas eros elementum lacinia blandit. Donec nisi lacus, tristique vel blandit in, sodales eget lacus. Phasellus ultrices magna vel odio vestibulum, a rhoncus nunc ornare. Sed laoreet finibus arcu vitae aliquam. Aliquam quis ex dui.\n\nCras ut ultrices quam. Nulla eu purus sed turpis consequat sodales. Aenean vitae efficitur velit, vel accumsan felis. Curabitur aliquam odio dictum urna convallis faucibus. Vivamus eu dignissim lorem. Donec sed hendrerit massa. Suspendisse volutpat, nisi at fringilla consequat, eros lacus aliquam metus, eu convallis nulla mauris quis lacus. Aliquam ultricies, mi eget feugiat vestibulum, enim nunc eleifend nisi, nec tincidunt turpis elit id diam. Nunc placerat accumsan tincidunt. Nulla ut interdum dui. Praesent venenatis cursus aliquet. Nunc pretium rutrum felis nec pharetra.\n\nVivamus sapien ligula, hendrerit a libero vitae, convallis maximus massa. Praesent ante leo, fermentum vitae libero finibus, blandit porttitor risus. Nulla ac hendrerit turpis. Sed varius velit at libero feugiat luctus. Nunc rhoncus sem dolor, nec euismod justo rhoncus vitae. Vivamus finibus nulla a purus vestibulum sagittis. Maecenas maximus orci at est lobortis, nec facilisis erat rhoncus. Sed tempus leo et est dictum lobortis. Vestibulum rhoncus, nisl ut porta sollicitudin, arcu urna egestas arcu, eget efficitur neque ipsum ut felis. Ut commodo purus quis turpis tempus tincidunt. Donec id hendrerit eros. Vestibulum vitae justo consectetur, egestas nisi ac, eleifend odio.\n\nDonec id mi cursus, volutpat dolor sed, bibendum sapien. Etiam vitae mauris sit amet urna semper tempus vel non metus. Integer sed ligula diam. Aenean molestie ultrices libero eget suscipit. Phasellus maximus euismod eros ut scelerisque. Ut quis tempus metus. Sed mollis volutpat velit eget pellentesque. Integer hendrerit ultricies massa eu tincidunt. Quisque at cursus augue. Sed diam odio, molestie sed dictum eget, efficitur nec nulla. Nullam vulputate posuere nunc nec laoreet. Integer varius sed erat vitae cursus. Vivamus auctor augue enim, a fringilla mauris molestie eget.\n\nProin vehicula ligula vel enim euismod, sed congue mi egestas. Nullam varius ut felis eu fringilla. Quisque sodales tortor nec justo tristique, sit amet consequat mi tincidunt. Suspendisse porttitor laoreet velit, non gravida nibh cursus at. Pellentesque faucibus, tellus in dapibus viverra, dolor mi dignissim tortor, id convallis ipsum lorem id nisl. Sed id nisi felis. Aliquam in ullamcorper ipsum, vel consequat magna. Donec nec mollis lacus, a euismod elit.";
28687
+ inject: function inject(range) {
28688
+ return !range ? '* [ ] ' : [{
28689
+ from: range.from,
28690
+ insert: '* [ ] '
28691
+ }];
28767
28692
  }
28768
28693
  }];
28769
28694
 
28770
28695
  var showPreview = function showPreview() {
28771
- Array.from(document.querySelectorAll('pre code')).forEach(function (block, idx) {
28772
- window.hljs.highlightElement(block);
28696
+ var parent = _toConsumableArray$1(document.getElementsByClassName('preview'));
28697
+
28698
+ if (parent.length > 0) _toConsumableArray$1(parent[0].querySelectorAll('pre code')).forEach(function (block) {
28699
+ return hljs__default["default"].highlightElement(block);
28773
28700
  });
28774
28701
  };
28775
28702
 
@@ -28787,21 +28714,22 @@ var MarkdownInput = function MarkdownInput(props) {
28787
28714
  title: command.name,
28788
28715
  key: "toolbar-btn-".concat(idx),
28789
28716
  onClick: function onClick() {
28790
- var selection = editor.getSelection();
28791
-
28792
- if (selection) {
28793
- editor.session.replace(selection.getRange(), command.inject(editor.getSelectedText()));
28794
- } else {
28795
- editor.session.insert(editor.getCursorPosition(), command.inject());
28796
- }
28797
-
28798
- if (command.move) {
28799
- command.move(editor.getCursorPosition(), function (p) {
28800
- return editor.moveCursorToPosition(p);
28801
- });
28717
+ var editor = ref.current;
28718
+ var selections = editor.state.selection.ranges;
28719
+ if (selections.length === 1 && selections[0].from === selections[0].to) editor.dispatch({
28720
+ changes: {
28721
+ from: 0,
28722
+ to: editor.state.doc.length,
28723
+ insert: editor.state.doc.toString() + command.inject()
28724
+ }
28725
+ });else {
28726
+ editor.dispatch(editor.state.changeByRange(function (range) {
28727
+ return {
28728
+ changes: command.inject(range),
28729
+ range: range
28730
+ };
28731
+ }));
28802
28732
  }
28803
-
28804
- editor.focus();
28805
28733
  }
28806
28734
  }, /*#__PURE__*/React__default["default"].createElement("i", {
28807
28735
  className: "fas fa-".concat(command.icon)
@@ -28812,7 +28740,7 @@ var MarkdownInput = function MarkdownInput(props) {
28812
28740
  var classes = useCustomStyle();
28813
28741
  return /*#__PURE__*/React__default["default"].createElement("div", {
28814
28742
  className: classNames__default["default"](props.className)
28815
- }, /*#__PURE__*/React__default["default"].createElement("div", {
28743
+ }, !props.readOnly && /*#__PURE__*/React__default["default"].createElement("div", {
28816
28744
  style: {
28817
28745
  marginBottom: 10
28818
28746
  }
@@ -28837,9 +28765,13 @@ var MarkdownInput = function MarkdownInput(props) {
28837
28765
  return setPreview(true);
28838
28766
  }
28839
28767
  }, "Preview"))), /*#__PURE__*/React__default["default"].createElement("div", {
28840
- className: classNames__default["default"](classes.flex)
28841
- }, injectButtons())), !preview && /*#__PURE__*/React__default["default"].createElement(CodeInput, props), preview && /*#__PURE__*/React__default["default"].createElement("div", {
28842
- className: "api-description",
28768
+ className: classNames__default["default"](classes.flex, classes.flexWrap)
28769
+ }, injectButtons())), !preview && /*#__PURE__*/React__default["default"].createElement(CodeInput, _extends({}, props, {
28770
+ setRef: function setRef(e) {
28771
+ return ref.current = e;
28772
+ }
28773
+ })), preview && /*#__PURE__*/React__default["default"].createElement("div", {
28774
+ className: "preview",
28843
28775
  dangerouslySetInnerHTML: {
28844
28776
  __html: converter.makeHtml(props.value)
28845
28777
  }
@@ -28887,16 +28819,18 @@ function SingleLineCode(_ref) {
28887
28819
  }
28888
28820
 
28889
28821
  var _resolvers;
28890
- var resolvers = (_resolvers = {}, _defineProperty$1(_resolvers, type.string, function () {
28891
- return yup__namespace.string();
28822
+ var resolvers = (_resolvers = {}, _defineProperty$1(_resolvers, type.string, function (typeErrorMessage) {
28823
+ return yup__namespace.string().nullable().optional().typeError(typeErrorMessage || 'Value must be a string');
28892
28824
  }), _defineProperty$1(_resolvers, type.number, function (typeErrorMessage) {
28893
- return yup__namespace.number().typeError(typeErrorMessage || 'Value must be a number');
28825
+ return yup__namespace.number().nullable().optional().transform(function (v) {
28826
+ return isNaN(v) ? null : v;
28827
+ }).typeError(typeErrorMessage || 'Value must be a number');
28894
28828
  }), _defineProperty$1(_resolvers, type.bool, function () {
28895
- return yup__namespace.bool();
28829
+ return yup__namespace.bool().nullable().optional();
28896
28830
  }), _defineProperty$1(_resolvers, type.object, function () {
28897
- return yup__namespace.object();
28831
+ return yup__namespace.object().nullable().optional();
28898
28832
  }), _defineProperty$1(_resolvers, type.date, function (typeErrorMessage) {
28899
- return yup__namespace.date().typeError(typeErrorMessage || 'Value must be a date');
28833
+ return yup__namespace.date().nullable().optional().typeError(typeErrorMessage || 'Value must be a date');
28900
28834
  }), _defineProperty$1(_resolvers, type.file, function () {
28901
28835
  return yup__namespace.mixed();
28902
28836
  }), _resolvers);
@@ -28923,6 +28857,10 @@ var buildSubResolver = function buildSubResolver(props, key, dependencies, rawDa
28923
28857
  return jsonOrFunctionConstraint(constraint, resolver, key, dependencies);
28924
28858
  }, arrayResolver);
28925
28859
  } else if (props.type === type.object && props.schema) {
28860
+ if (!Object.keys(props.schema).length) {
28861
+ return yup__namespace.object();
28862
+ }
28863
+
28926
28864
  var _subResolver = getShapeAndDependencies(props.flow || Object.keys(props.schema), props.schema, dependencies, rawData);
28927
28865
 
28928
28866
  return constraints.reduce(function (resolver, constraint) {
@@ -28973,11 +28911,23 @@ var jsonOrFunctionConstraint = function jsonOrFunctionConstraint(constraint, res
28973
28911
  var getShapeAndDependencies = function getShapeAndDependencies(flow, schema) {
28974
28912
  var dependencies = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
28975
28913
  var rawData = arguments.length > 3 ? arguments[3] : undefined;
28914
+
28915
+ if (!Object.keys(schema).length) {
28916
+ return {
28917
+ shape: yup__namespace.object().shape({}),
28918
+ dependencies: dependencies
28919
+ };
28920
+ }
28921
+
28976
28922
  var shape = (flow || Object.keys(schema)).reduce(function (resolvers, key) {
28977
28923
  if (_typeof$1(key) === 'object') {
28978
28924
  return _objectSpread2$1(_objectSpread2$1({}, resolvers), getShapeAndDependencies(key.flow, schema, dependencies, rawData).shape);
28979
28925
  }
28980
28926
 
28927
+ if (!schema[key]) {
28928
+ return resolvers;
28929
+ }
28930
+
28981
28931
  var resolver = buildSubResolver(schema[key], key, dependencies, rawData);
28982
28932
  return _objectSpread2$1(_objectSpread2$1({}, resolvers), {}, _defineProperty$1({}, key, resolver));
28983
28933
  }, {});
@@ -28987,13 +28937,102 @@ var getShapeAndDependencies = function getShapeAndDependencies(flow, schema) {
28987
28937
  };
28988
28938
  };
28989
28939
 
28940
+ var CustomizableInput$1 = /*#__PURE__*/React__default["default"].memo(function (props) {
28941
+ // console.log("CUSTOMIZABLE_INPUT" + props.field.name)
28942
+ if (props.render) {
28943
+ return props.render(_objectSpread2$1(_objectSpread2$1({}, props.field), {}, {
28944
+ error: props.error
28945
+ }));
28946
+ }
28947
+
28948
+ return props.children;
28949
+ }, function (prev, next) {
28950
+ return prev.field.value === next.field.value;
28951
+ });
28952
+ var ControlledInput = function ControlledInput(_ref) {
28953
+ var defaultValue = _ref.defaultValue,
28954
+ step = _ref.step,
28955
+ entry = _ref.entry,
28956
+ children = _ref.children,
28957
+ component = _ref.component;
28958
+
28959
+ var _useController = reactHookForm.useController({
28960
+ defaultValue: defaultValue || null,
28961
+ name: entry
28962
+ }),
28963
+ field = _useController.field;
28964
+
28965
+ var _useFormContext = reactHookForm.useFormContext(),
28966
+ getValues = _useFormContext.getValues,
28967
+ _setValue = _useFormContext.setValue,
28968
+ errors = _useFormContext.formState.errors;
28969
+
28970
+ var functionalProperty = function functionalProperty(entry, prop) {
28971
+ if (typeof prop === 'function') {
28972
+ return prop({
28973
+ rawValues: getValues(),
28974
+ value: getValues(entry)
28975
+ });
28976
+ } else {
28977
+ return prop;
28978
+ }
28979
+ };
28980
+
28981
+ var props = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, field), step.props), {}, {
28982
+ id: entry,
28983
+ readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
28984
+ placeholder: step.placeholder,
28985
+ onChange: function onChange(e) {
28986
+ var value = function () {
28987
+ if (!e) {
28988
+ if (step.type === type.bool || step.type === type.number && field.value === 0) {
28989
+ return e;
28990
+ } else {
28991
+ return null;
28992
+ }
28993
+ } else if (e.target) {
28994
+ return e.target.value || null;
28995
+ } else {
28996
+ return e;
28997
+ }
28998
+ }();
28999
+
29000
+ console.log(entry, value, getValues());
29001
+ field.onChange(value);
29002
+ option(step.onChange).map(function (onChange) {
29003
+ return onChange({
29004
+ rawValues: getValues(),
29005
+ value: value,
29006
+ setValue: _setValue
29007
+ });
29008
+ });
29009
+ },
29010
+ value: field.value
29011
+ });
29012
+
29013
+ var error = entry.split('.').reduce(function (acc, curr) {
29014
+ return acc && acc[curr];
29015
+ }, errors);
29016
+ return /*#__PURE__*/React__default["default"].createElement(CustomizableInput$1, {
29017
+ render: step.render,
29018
+ field: _objectSpread2$1({
29019
+ parent: parent,
29020
+ setValue: function setValue(key, value) {
29021
+ return _setValue(key, value);
29022
+ },
29023
+ rawValues: getValues()
29024
+ }, field),
29025
+ error: error
29026
+ }, component ? component(field, props) : /*#__PURE__*/React__default["default"].cloneElement(children, _objectSpread2$1({}, props)));
29027
+ };
29028
+
28990
29029
  var usePrevious = function usePrevious(value) {
28991
29030
  // The ref object is a generic container whose current property is mutable ...
28992
29031
  // ... and can hold any value, similar to an instance property on a class
28993
29032
  var ref = React.useRef(); // Store current value in ref
28994
29033
 
28995
29034
  React.useEffect(function () {
28996
- ref.current = value && JSON.parse(JSON.stringify(value));
29035
+ ref.current = value;
28997
29036
  }, [value]); // Only re-run if value changes
28998
29037
  // Return previous value (happens before update in useEffect above)
28999
29038
 
@@ -29078,33 +29117,16 @@ var CustomizableInput = function CustomizableInput(props) {
29078
29117
  return props.children;
29079
29118
  };
29080
29119
 
29081
- var defaultVal = function defaultVal(t, array, defaultValue) {
29120
+ var defaultVal = function defaultVal(value, array, defaultValue) {
29082
29121
  if (!!defaultValue) return defaultValue;
29083
29122
  if (!!array) return [];
29084
-
29085
- switch (t) {
29086
- case type.bool:
29087
- return false;
29088
-
29089
- case type.number:
29090
- return 0;
29091
-
29092
- case type.object:
29093
- return undefined;
29094
- //todo: passur de moi
29095
-
29096
- case type.string:
29097
- return "";
29098
-
29099
- default:
29100
- return undefined;
29101
- }
29123
+ return value;
29102
29124
  };
29103
29125
 
29104
- var getDefaultValues = function getDefaultValues(flow, schema) {
29105
- return flow.reduce(function (acc, key) {
29126
+ var getDefaultValues = function getDefaultValues(flow, schema, value) {
29127
+ return (flow || []).reduce(function (acc, key) {
29106
29128
  if (_typeof$1(key) === 'object') {
29107
- return _objectSpread2$1(_objectSpread2$1({}, acc), getDefaultValues(key.flow, schema));
29129
+ return _objectSpread2$1(_objectSpread2$1({}, acc), getDefaultValues(key.flow, schema, value));
29108
29130
  }
29109
29131
 
29110
29132
  var entry = schema[key];
@@ -29113,19 +29135,29 @@ var getDefaultValues = function getDefaultValues(flow, schema) {
29113
29135
  return acc;
29114
29136
  }
29115
29137
 
29116
- return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, defaultVal(entry.type, entry.array || entry.isMulti, entry.defaultValue)));
29138
+ return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, defaultVal(value ? value[key] : null, entry.array || entry.isMulti, entry.defaultValue)));
29117
29139
  }, {});
29118
29140
  };
29119
29141
 
29120
- var cleanInputArray = function cleanInputArray(obj, defaultValues, subSchema) {
29121
- return Object.entries(subSchema).reduce(function (acc, _ref2) {
29122
- var _ref3 = _slicedToArray(_ref2, 2),
29123
- key = _ref3[0],
29124
- step = _ref3[1];
29142
+ var cleanInputArray = function cleanInputArray(obj, defaultValues, flow, subSchema) {
29143
+ var realFlow = option(flow).map(function (f) {
29144
+ return f.map(function (v) {
29145
+ return v.flow || v;
29146
+ });
29147
+ }).map(arrayFlatten).getOrElse(Object.keys(subSchema));
29148
+ return Object.entries(subSchema).filter(function (_ref2) {
29149
+ var _ref3 = _slicedToArray(_ref2, 1),
29150
+ key = _ref3[0];
29151
+
29152
+ return realFlow.includes(key);
29153
+ }).reduce(function (acc, _ref4) {
29154
+ var _ref5 = _slicedToArray(_ref4, 2),
29155
+ key = _ref5[0],
29156
+ step = _ref5[1];
29125
29157
 
29126
29158
  var v;
29127
29159
  if (obj) v = obj[key];
29128
- if (!v && defaultValues) v = defaultValues[key];
29160
+ if ((step.type === type.bool && v === null || step.type !== type.bool && !v) && defaultValues) v = defaultValues[key];
29129
29161
 
29130
29162
  if (step.array && !step.render) {
29131
29163
  return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, (v || []).map(function (value) {
@@ -29133,12 +29165,12 @@ var cleanInputArray = function cleanInputArray(obj, defaultValues, subSchema) {
29133
29165
  value: value
29134
29166
  };
29135
29167
  })));
29136
- } else if (!!v && _typeof$1(v) === 'object' && !(v instanceof Date) && !Array.isArray(v)) {
29137
- var _subSchema$key;
29168
+ } else if (_typeof$1(v) === 'object' && !(v instanceof Date) && !Array.isArray(v)) {
29169
+ var _subSchema$key, _subSchema$key2;
29138
29170
 
29139
- return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, cleanInputArray(v, defaultValues, ((_subSchema$key = subSchema[key]) === null || _subSchema$key === void 0 ? void 0 : _subSchema$key.schema) || {})));
29171
+ return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, cleanInputArray(v, defaultValues, (_subSchema$key = subSchema[key]) === null || _subSchema$key === void 0 ? void 0 : _subSchema$key.flow, ((_subSchema$key2 = subSchema[key]) === null || _subSchema$key2 === void 0 ? void 0 : _subSchema$key2.schema) || {})));
29140
29172
  } else {
29141
- return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v));
29173
+ return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v === undefined ? Array.isArray(v) ? [] : step.type === type.object ? {} : null : v));
29142
29174
  }
29143
29175
  }, obj);
29144
29176
  };
@@ -29158,17 +29190,17 @@ var cleanOutputArray = function cleanOutputArray(obj, subSchema) {
29158
29190
  }).getOrElse(false);
29159
29191
 
29160
29192
  if (isArray) {
29161
- return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v.map(function (_ref4) {
29162
- var value = _ref4.value;
29193
+ return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v.map(function (_ref6) {
29194
+ var value = _ref6.value;
29163
29195
  return value;
29164
29196
  })));
29165
29197
  }
29166
29198
 
29167
29199
  return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v));
29168
29200
  } else if (!!v && _typeof$1(v) === 'object' && !(v instanceof Date && !Array.isArray(v))) {
29169
- var _subSchema$key2;
29201
+ var _subSchema$key3;
29170
29202
 
29171
- return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, cleanOutputArray(v, ((_subSchema$key2 = subSchema[key]) === null || _subSchema$key2 === void 0 ? void 0 : _subSchema$key2.schema) || {})));
29203
+ return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, cleanOutputArray(v, ((_subSchema$key3 = subSchema[key]) === null || _subSchema$key3 === void 0 ? void 0 : _subSchema$key3.schema) || {})));
29172
29204
  } else {
29173
29205
  return _objectSpread2$1(_objectSpread2$1({}, acc), {}, _defineProperty$1({}, key, v));
29174
29206
  }
@@ -29186,20 +29218,54 @@ var validate = function validate(flow, schema, value) {
29186
29218
  abortEarly: false
29187
29219
  });
29188
29220
  };
29189
- var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref5, ref) {
29190
- var schema = _ref5.schema,
29191
- flow = _ref5.flow,
29192
- value = _ref5.value,
29193
- inputWrapper = _ref5.inputWrapper,
29194
- onSubmit = _ref5.onSubmit,
29195
- _ref5$onError = _ref5.onError,
29196
- onError = _ref5$onError === void 0 ? function () {} : _ref5$onError,
29197
- footer = _ref5.footer,
29198
- _ref5$style = _ref5.style,
29199
- style = _ref5$style === void 0 ? {} : _ref5$style,
29200
- className = _ref5.className,
29201
- _ref5$options = _ref5.options,
29202
- options = _ref5$options === void 0 ? {} : _ref5$options;
29221
+
29222
+ var Watcher = function Watcher(_ref7) {
29223
+ var options = _ref7.options,
29224
+ control = _ref7.control,
29225
+ schema = _ref7.schema,
29226
+ onSubmit = _ref7.onSubmit,
29227
+ handleSubmit = _ref7.handleSubmit;
29228
+ _ref7.getValues;
29229
+ _ref7.watch;
29230
+ var data = reactHookForm.useWatch({
29231
+ control: control
29232
+ });
29233
+ var prev = usePrevious(data);
29234
+ React.useEffect(function () {
29235
+ if (!!options.autosubmit) {
29236
+ if (!deepEqual__default["default"](data, prev)) handleSubmit(function () {
29237
+ onSubmit(cleanOutputArray(data, schema));
29238
+ })();
29239
+ }
29240
+ }, [data]);
29241
+
29242
+ if (options.watch) {
29243
+ if (typeof options.watch === 'function') {
29244
+ options.watch(cleanOutputArray(data, schema));
29245
+ } else {
29246
+ console.group('react-form watch');
29247
+ console.log(cleanOutputArray(data, schema));
29248
+ console.groupEnd();
29249
+ }
29250
+ }
29251
+
29252
+ return null;
29253
+ };
29254
+
29255
+ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref8, ref) {
29256
+ var schema = _ref8.schema,
29257
+ flow = _ref8.flow,
29258
+ value = _ref8.value,
29259
+ inputWrapper = _ref8.inputWrapper,
29260
+ onSubmit = _ref8.onSubmit,
29261
+ _ref8$onError = _ref8.onError,
29262
+ onError = _ref8$onError === void 0 ? function () {} : _ref8$onError,
29263
+ footer = _ref8.footer,
29264
+ _ref8$style = _ref8.style,
29265
+ style = _ref8$style === void 0 ? {} : _ref8$style,
29266
+ className = _ref8.className,
29267
+ _ref8$options = _ref8.options,
29268
+ options = _ref8$options === void 0 ? {} : _ref8$options;
29203
29269
  var classes = useCustomStyle(style);
29204
29270
  var formFlow = flow || Object.keys(schema);
29205
29271
 
@@ -29218,7 +29284,7 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref5, re
29218
29284
  });
29219
29285
  };
29220
29286
 
29221
- var defaultValues = getDefaultValues(formFlow, schema); //FIXME: get real schema through the switch
29287
+ var defaultValues = getDefaultValues(formFlow, schema, value); //FIXME: get real schema through the switch
29222
29288
 
29223
29289
  var _resolver = function resolver(rawData) {
29224
29290
  var _getShapeAndDependenc2 = getShapeAndDependencies(formFlow, schema, [], rawData),
@@ -29233,50 +29299,49 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref5, re
29233
29299
  resolver: function resolver(data, context, options) {
29234
29300
  return yup$1.yupResolver(_resolver(data))(data, context, options);
29235
29301
  },
29236
- defaultValues: cleanInputArray(value, defaultValues, schema),
29237
29302
  shouldFocusError: false,
29238
29303
  mode: 'onChange'
29239
29304
  });
29305
+
29306
+ var _useState = React.useState(false),
29307
+ _useState2 = _slicedToArray(_useState, 2),
29308
+ initialReseted = _useState2[0],
29309
+ setReset = _useState2[1];
29310
+
29311
+ React.useEffect(function () {
29312
+ _reset(cleanInputArray(value, defaultValues, flow, schema));
29313
+
29314
+ setReset(true);
29315
+ }, [_reset]);
29316
+ React.useEffect(function () {
29317
+ initialReseted && trigger();
29318
+ }, [trigger, initialReseted]);
29240
29319
  var _handleSubmit = methods.handleSubmit,
29241
29320
  _methods$formState = methods.formState,
29242
29321
  errors = _methods$formState.errors,
29243
29322
  dirtyFields = _methods$formState.dirtyFields,
29244
29323
  _reset = methods.reset,
29245
- watch = methods.watch,
29246
29324
  trigger = methods.trigger,
29247
- getValues = methods.getValues;
29325
+ getValues = methods.getValues,
29326
+ watch = methods.watch;
29327
+ var prev = usePrevious(value);
29328
+ var prevSchema = usePrevious(schema);
29248
29329
  React.useEffect(function () {
29249
- trigger();
29250
- }, [trigger]);
29251
- React.useEffect(function () {
29252
- if (value) {
29253
- _reset(cleanInputArray(value, defaultValues, schema));
29254
- }
29255
- }, [value, _reset]);
29256
- React.useEffect(function () {
29257
- _reset(cleanInputArray(value, defaultValues, schema));
29258
- }, [schema]);
29259
- var data = watch();
29260
- var prevData = usePrevious(data);
29261
- React.useEffect(function () {
29262
- //todo: with debounce
29263
- if (!!options.autosubmit && JSON.stringify(data) !== JSON.stringify(prevData)) {
29264
- _handleSubmit(function (data) {
29265
- var clean = cleanOutputArray(data, schema);
29266
- onSubmit(clean);
29267
- }, onError)();
29330
+ if (!deepEqual__default["default"](value, prev) || !deepEqual__default["default"](schema, prevSchema)) {
29331
+ _reset(_objectSpread2$1({}, cleanInputArray(value, defaultValues, flow, schema)));
29268
29332
  }
29269
- }, [data]);
29333
+ }, [value, schema]);
29270
29334
 
29271
- if (options.watch) {
29272
- if (typeof options.watch === 'function') {
29273
- options.watch(watch());
29335
+ var functionalProperty = function functionalProperty(entry, prop) {
29336
+ if (typeof prop === 'function') {
29337
+ return prop({
29338
+ rawValues: getValues(),
29339
+ value: getValues(entry)
29340
+ });
29274
29341
  } else {
29275
- console.group('react-form watch');
29276
- console.log(watch());
29277
- console.groupEnd();
29342
+ return prop;
29278
29343
  }
29279
- }
29344
+ };
29280
29345
 
29281
29346
  React.useImperativeHandle(ref, function () {
29282
29347
  return {
@@ -29286,26 +29351,18 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref5, re
29286
29351
  onSubmit(clean);
29287
29352
  }, onError)();
29288
29353
  },
29289
- rawData: function rawData() {
29290
- return cleanOutputArray(data, schema);
29291
- },
29292
29354
  trigger: trigger,
29293
29355
  methods: methods
29294
29356
  };
29295
29357
  });
29296
-
29297
- var functionalProperty = function functionalProperty(entry, prop) {
29298
- if (typeof prop === 'function') {
29299
- return prop({
29300
- rawValues: getValues(),
29301
- value: getValues(entry)
29302
- });
29303
- } else {
29304
- return prop;
29305
- }
29306
- };
29307
-
29308
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.FormProvider, methods, /*#__PURE__*/React__default["default"].createElement("form", {
29358
+ return /*#__PURE__*/React__default["default"].createElement(reactHookForm.FormProvider, methods, /*#__PURE__*/React__default["default"].createElement(Watcher, {
29359
+ options: options,
29360
+ control: methods.control,
29361
+ schema: schema,
29362
+ onSubmit: onSubmit,
29363
+ handleSubmit: _handleSubmit,
29364
+ watch: methods.watch
29365
+ }), /*#__PURE__*/React__default["default"].createElement("form", {
29309
29366
  className: className || "".concat(classes.pr_15, " ").concat(classes.w_100),
29310
29367
  onSubmit: _handleSubmit(function (data) {
29311
29368
  var clean = cleanOutputArray(data, schema);
@@ -29406,17 +29463,18 @@ var Footer = function Footer(props) {
29406
29463
  }, ((_props$actions8 = props.actions) === null || _props$actions8 === void 0 ? void 0 : (_props$actions8$submi = _props$actions8.submit) === null || _props$actions8$submi === void 0 ? void 0 : _props$actions8$submi.label) || 'Save'));
29407
29464
  };
29408
29465
 
29409
- var Step = function Step(_ref6) {
29410
- var entry = _ref6.entry,
29411
- realEntry = _ref6.realEntry,
29412
- step = _ref6.step,
29413
- schema = _ref6.schema,
29414
- inputWrapper = _ref6.inputWrapper,
29415
- httpClient = _ref6.httpClient,
29416
- defaultValue = _ref6.defaultValue,
29417
- index = _ref6.index,
29418
- functionalProperty = _ref6.functionalProperty,
29419
- parent = _ref6.parent;
29466
+ var Step = function Step(_ref9) {
29467
+ var entry = _ref9.entry,
29468
+ realEntry = _ref9.realEntry,
29469
+ step = _ref9.step,
29470
+ schema = _ref9.schema,
29471
+ inputWrapper = _ref9.inputWrapper,
29472
+ httpClient = _ref9.httpClient,
29473
+ defaultValue = _ref9.defaultValue,
29474
+ index = _ref9.index,
29475
+ functionalProperty = _ref9.functionalProperty,
29476
+ parent = _ref9.parent,
29477
+ onAfterChange = _ref9.onAfterChange;
29420
29478
  var classes = useCustomStyle();
29421
29479
 
29422
29480
  var _useFormContext2 = reactHookForm.useFormContext(),
@@ -29429,8 +29487,8 @@ var Step = function Step(_ref6) {
29429
29487
  _useFormContext2.trigger;
29430
29488
  var getValues = _useFormContext2.getValues,
29431
29489
  _setValue = _useFormContext2.setValue,
29432
- watch = _useFormContext2.watch,
29433
- register = _useFormContext2.register;
29490
+ watch = _useFormContext2.watch;
29491
+ _useFormContext2.register;
29434
29492
 
29435
29493
  if (entry && _typeof$1(entry) === 'object') {
29436
29494
  var errored = entry.flow.some(function (step) {
@@ -29499,6 +29557,29 @@ var Step = function Step(_ref6) {
29499
29557
  return acc && acc[curr];
29500
29558
  }, touchedFields);
29501
29559
  var errorDisplayed = !!error && (isSubmitted || isDirty || isTouched);
29560
+ var onAfterChangeFunc = onAfterChange || step.onAfterChange || step.on_after_change;
29561
+
29562
+ if (onAfterChangeFunc) {
29563
+ var data = watch();
29564
+ var d = entry.replace('[', '.').replace(']', '').split('.').reduce(function (acc, curr) {
29565
+ return acc && acc[curr];
29566
+ }, data) || {};
29567
+ var currentData = usePrevious(cleanOutputArray(d, schema));
29568
+ var newData = cleanOutputArray(d, schema);
29569
+ if (!deepEqual__default["default"](newData, currentData) || newData !== undefined && currentData === undefined) onAfterChangeFunc({
29570
+ entry: entry,
29571
+ previousValue: currentData,
29572
+ value: getValues(entry),
29573
+ getValue: function getValue(e) {
29574
+ return getValues(e);
29575
+ },
29576
+ rawValues: newData,
29577
+ setValue: _setValue,
29578
+ onChange: function onChange(v) {
29579
+ return _setValue(entry, v);
29580
+ }
29581
+ });
29582
+ }
29502
29583
 
29503
29584
  if (step.array) {
29504
29585
  return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
@@ -29517,13 +29598,13 @@ var Step = function Step(_ref6) {
29517
29598
  }, /*#__PURE__*/React__default["default"].createElement(ArrayStep, {
29518
29599
  entry: entry,
29519
29600
  step: step,
29520
- defaultValue: step.defaultValue || defaultVal(step.type),
29521
29601
  disabled: functionalProperty(entry, step.disabled),
29522
29602
  component: function component(props, idx) {
29523
29603
  var _props$defaultValue;
29524
29604
 
29525
29605
  return /*#__PURE__*/React__default["default"].createElement(Step, {
29526
- entry: "".concat(entry, "[").concat(idx, "].value"),
29606
+ entry: "".concat(entry, ".").concat(idx, ".value"),
29607
+ onAfterChange: step.onAfterChange || step.on_after_change,
29527
29608
  step: _objectSpread2$1(_objectSpread2$1({}, schema[realEntry || entry]), {}, {
29528
29609
  render: step.itemRender,
29529
29610
  onChange: undefined,
@@ -29541,325 +29622,126 @@ var Step = function Step(_ref6) {
29541
29622
  }));
29542
29623
  }
29543
29624
 
29544
- var registeredInput = register(entry);
29545
-
29546
- var inputProps = _objectSpread2$1(_objectSpread2$1({}, registeredInput), {}, {
29547
- onChange: function onChange(e) {
29548
- registeredInput.onChange(e);
29549
- option(step.onChange).map(function (onChange) {
29550
- return onChange({
29551
- rawValues: getValues(),
29552
- value: e.target.value,
29553
- setValue: _setValue
29554
- });
29555
- });
29556
- }
29557
- });
29558
-
29559
29625
  switch (step.type) {
29560
29626
  case type.string:
29561
29627
  switch (step.format) {
29562
29628
  case format.text:
29563
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29564
- render: step.render,
29565
- field: {
29566
- parent: parent,
29567
- setValue: function setValue(key, value) {
29568
- return _setValue(key, value);
29569
- },
29570
- rawValues: getValues(),
29571
- value: getValues(entry),
29572
- onChange: function onChange(v) {
29573
- return _setValue(entry, v);
29574
- }
29575
- },
29576
- error: error
29577
- }, /*#__PURE__*/React__default["default"].createElement("textarea", _extends({
29578
- type: "text",
29579
- id: entry,
29580
- className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29581
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null
29582
- }, step.props, {
29629
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29583
29630
  defaultValue: defaultValue,
29584
- placeholder: step.placeholder
29585
- }, inputProps)));
29631
+ step: step,
29632
+ entry: entry
29633
+ }, /*#__PURE__*/React__default["default"].createElement("textarea", {
29634
+ type: "text",
29635
+ className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed))
29636
+ }));
29586
29637
 
29587
29638
  case format.code:
29588
29639
  case format.singleLineCode:
29589
29640
  var Component = step.format === format.code ? CodeInput : SingleLineCode;
29590
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29591
- name: entry,
29592
- control: control,
29593
- render: function render(_ref7) {
29594
- var field = _ref7.field;
29595
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29596
- render: step.render,
29597
- field: _objectSpread2$1({
29598
- parent: parent,
29599
- setValue: function setValue(key, value) {
29600
- return _setValue(key, value);
29601
- },
29602
- rawValues: getValues()
29603
- }, field),
29604
- error: error
29605
- }, /*#__PURE__*/React__default["default"].createElement(Component, _extends({
29606
- className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29607
- readOnly: functionalProperty(entry, step.disabled) ? true : false,
29608
- onChange: function onChange(e) {
29609
- field.onChange(e);
29610
- option(step.onChange).map(function (onChange) {
29611
- return onChange({
29612
- rawValues: getValues(),
29613
- value: e,
29614
- setValue: _setValue
29615
- });
29616
- });
29617
- },
29618
- value: field.value,
29619
- defaultValue: defaultValue
29620
- }, step.props)));
29621
- }
29622
- });
29641
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29642
+ defaultValue: defaultValue,
29643
+ step: step,
29644
+ entry: entry
29645
+ }, /*#__PURE__*/React__default["default"].createElement(Component, {
29646
+ className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed))
29647
+ }));
29623
29648
 
29624
29649
  case format.markdown:
29625
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29626
- name: entry,
29627
- control: control,
29628
- render: function render(_ref8) {
29629
- var field = _ref8.field;
29630
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29631
- render: step.render,
29632
- field: _objectSpread2$1({
29633
- parent: parent,
29634
- setValue: function setValue(key, value) {
29635
- return _setValue(key, value);
29636
- },
29637
- rawValues: getValues()
29638
- }, field),
29639
- error: error
29640
- }, /*#__PURE__*/React__default["default"].createElement(MarkdownInput, _extends({}, step.props, {
29641
- className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29642
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29643
- onChange: function onChange(e) {
29644
- field.onChange(e);
29645
- option(step.onChange).map(function (onChange) {
29646
- return onChange({
29647
- rawValues: getValues(),
29648
- value: e,
29649
- setValue: _setValue
29650
- });
29651
- });
29652
- },
29653
- value: field.value,
29654
- defaultValue: defaultValue
29655
- }, step)));
29656
- }
29657
- });
29650
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29651
+ defaultValue: defaultValue,
29652
+ step: step,
29653
+ entry: entry
29654
+ }, /*#__PURE__*/React__default["default"].createElement(MarkdownInput, {
29655
+ className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed))
29656
+ }));
29658
29657
 
29659
29658
  case format.buttonsSelect:
29660
29659
  case format.select:
29661
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29662
- name: entry,
29663
- control: control,
29664
- render: function render(_ref9) {
29665
- var field = _ref9.field;
29666
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29667
- render: step.render,
29668
- field: _objectSpread2$1({
29669
- parent: parent,
29670
- setValue: function setValue(key, value) {
29671
- return _setValue(key, value);
29672
- },
29673
- rawValues: getValues()
29674
- }, field),
29675
- error: error
29676
- }, /*#__PURE__*/React__default["default"].createElement(SelectInput, _extends({}, step.props, step, {
29677
- className: classNames__default["default"](classes.flex_grow_1, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29678
- disabled: functionalProperty(entry, step.disabled),
29679
- value: field.value,
29680
- possibleValues: step.options,
29681
- defaultValue: defaultValue,
29682
- httpClient: httpClient,
29683
- onChange: function onChange(value) {
29684
- field.onChange(value);
29685
- option(step.onChange).map(function (onChange) {
29686
- return onChange({
29687
- rawValues: getValues(),
29688
- value: value,
29689
- setValue: _setValue
29690
- });
29691
- });
29692
- }
29693
- })));
29694
- }
29695
- });
29660
+ {
29661
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29662
+ defaultValue: defaultValue,
29663
+ step: step,
29664
+ entry: entry
29665
+ }, /*#__PURE__*/React__default["default"].createElement(SelectInput, {
29666
+ className: classNames__default["default"](classes.flex_grow_1, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29667
+ disabled: functionalProperty(entry, step.disabled),
29668
+ possibleValues: step.options,
29669
+ httpClient: httpClient,
29670
+ isMulti: step.isMulti,
29671
+ createOption: step.createOption,
29672
+ transformer: step.transformer,
29673
+ buttons: step.format === format.buttonsSelect
29674
+ }));
29675
+ }
29696
29676
 
29697
29677
  default:
29698
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29699
- render: step.render,
29700
- field: {
29701
- parent: parent,
29702
- setValue: function setValue(key, value) {
29703
- return _setValue(key, value);
29704
- },
29705
- rawValues: getValues(),
29706
- value: getValues(entry),
29707
- onChange: function onChange(v) {
29708
- return _setValue(entry, v, {
29709
- shouldValidate: true
29710
- });
29711
- }
29712
- },
29713
- error: error
29714
- }, /*#__PURE__*/React__default["default"].createElement("input", _extends({
29715
- type: step.format || 'text',
29716
- id: entry,
29717
- className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29718
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29678
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29719
29679
  defaultValue: defaultValue,
29720
- placeholder: step.placeholder
29721
- }, inputProps)));
29680
+ step: step,
29681
+ entry: entry
29682
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
29683
+ type: step.format || 'text',
29684
+ className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed))
29685
+ }));
29722
29686
  }
29723
29687
 
29724
29688
  case type.number:
29725
29689
  switch (step.format) {
29726
29690
  case format.buttonsSelect:
29727
29691
  case format.select:
29728
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29729
- name: entry,
29730
- control: control,
29731
- render: function render(_ref10) {
29732
- var field = _ref10.field;
29733
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29734
- render: step.render,
29735
- field: _objectSpread2$1({
29736
- parent: parent,
29737
- setValue: function setValue(key, value) {
29738
- return _setValue(key, value);
29739
- },
29740
- rawValues: getValues()
29741
- }, field),
29742
- error: error
29743
- }, /*#__PURE__*/React__default["default"].createElement(SelectInput, _extends({}, step.props, step, {
29744
- className: classNames__default["default"](classes.content, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29745
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29746
- onChange: function onChange(e) {
29747
- field.onChange(e);
29748
- option(step.onChange).map(function (onChange) {
29749
- return onChange({
29750
- rawValues: getValues(),
29751
- value: e,
29752
- setValue: _setValue
29753
- });
29754
- });
29755
- },
29756
- value: field.value,
29757
- possibleValues: step.options,
29758
- defaultValue: defaultValue,
29759
- httpClient: httpClient
29760
- })));
29761
- }
29762
- });
29692
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29693
+ defaultValue: defaultValue,
29694
+ step: step,
29695
+ entry: entry
29696
+ }, /*#__PURE__*/React__default["default"].createElement(SelectInput, {
29697
+ className: classNames__default["default"](classes.content, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29698
+ possibleValues: step.options,
29699
+ httpClient: httpClient,
29700
+ isMulti: step.isMulti,
29701
+ createOption: step.createOption,
29702
+ onCreateOption: step.onCreateOption,
29703
+ transformer: step.transformer,
29704
+ buttons: step.format === format.buttonsSelect
29705
+ }));
29763
29706
 
29764
29707
  default:
29765
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29766
- render: step.render,
29767
- field: {
29768
- parent: parent,
29769
- setValue: function setValue(key, value) {
29770
- return _setValue(key, value);
29771
- },
29772
- rawValues: getValues(),
29773
- value: getValues(entry),
29774
- onChange: function onChange(v) {
29775
- return _setValue(entry, v);
29776
- }
29777
- },
29778
- error: error
29779
- }, /*#__PURE__*/React__default["default"].createElement("input", _extends({}, step.props, {
29708
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29709
+ defaultValue: defaultValue,
29710
+ step: step,
29711
+ entry: entry
29712
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
29780
29713
  type: step.format || 'number',
29781
- id: entry,
29782
- className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29783
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29784
- name: entry,
29785
- placeholder: step.placeholder,
29786
- defaultValue: defaultValue
29787
- }, inputProps)));
29714
+ className: classNames__default["default"](classes.input, _defineProperty$1({}, classes.input__invalid, errorDisplayed))
29715
+ }));
29788
29716
  }
29789
29717
 
29790
29718
  case type.bool:
29791
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29792
- name: entry,
29793
- control: control,
29794
- render: function render(_ref11) {
29795
- var field = _ref11.field;
29796
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29797
- render: step.render,
29798
- field: _objectSpread2$1({
29799
- parent: parent,
29800
- setValue: function setValue(key, value) {
29801
- return _setValue(key, value);
29802
- },
29803
- rawValues: getValues()
29804
- }, field),
29805
- error: error
29806
- }, /*#__PURE__*/React__default["default"].createElement(BooleanInput, _extends({}, step.props, {
29807
- className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29808
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29809
- onChange: function onChange(e) {
29810
- field.onChange(e);
29811
- option(step.onChange).map(function (onChange) {
29812
- return onChange({
29813
- rawValues: getValues(),
29814
- value: e,
29815
- setValue: _setValue
29816
- });
29817
- });
29818
- },
29819
- value: field.value
29820
- })));
29821
- }
29822
- });
29719
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29720
+ defaultValue: defaultValue,
29721
+ step: step,
29722
+ entry: entry
29723
+ }, /*#__PURE__*/React__default["default"].createElement(BooleanInput, {
29724
+ className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed))
29725
+ }));
29823
29726
 
29824
29727
  case type.object:
29825
29728
  switch (step.format) {
29826
29729
  case format.buttonsSelect:
29827
29730
  case format.select:
29828
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29829
- name: entry,
29830
- control: control,
29831
- defaultValue: step.defaultValue,
29832
- render: function render(_ref12) {
29833
- var field = _ref12.field;
29834
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29835
- render: step.render,
29836
- field: _objectSpread2$1({
29837
- parent: parent,
29838
- setValue: function setValue(key, value) {
29839
- return _setValue(key, value);
29840
- },
29841
- rawValues: getValues()
29842
- }, field),
29843
- error: error
29844
- }, /*#__PURE__*/React__default["default"].createElement(SelectInput, _extends({}, step.props, step, {
29845
- className: classNames__default["default"](classes.flex_grow_1, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29846
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29847
- onChange: function onChange(e) {
29848
- field.onChange(e);
29849
- option(step.onChange).map(function (onChange) {
29850
- return onChange({
29851
- rawValues: getValues(),
29852
- value: e,
29853
- setValue: _setValue
29854
- });
29855
- });
29856
- },
29857
- value: field.value,
29858
- possibleValues: step.options,
29859
- httpClient: httpClient
29860
- })));
29861
- }
29862
- });
29731
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29732
+ defaultValue: defaultValue,
29733
+ step: step,
29734
+ entry: entry
29735
+ }, /*#__PURE__*/React__default["default"].createElement(SelectInput, {
29736
+ className: classNames__default["default"](classes.flex_grow_1, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29737
+ possibleValues: step.options,
29738
+ httpClient: httpClient,
29739
+ isMulti: step.isMulti,
29740
+ createOption: step.createOption,
29741
+ onCreateOption: step.onCreateOption,
29742
+ transformer: step.transformer,
29743
+ buttons: step.format === format.buttonsSelect
29744
+ }));
29863
29745
 
29864
29746
  case format.form:
29865
29747
  //todo: disabled ?
@@ -29895,35 +29777,20 @@ var Step = function Step(_ref6) {
29895
29777
  }));
29896
29778
 
29897
29779
  case format.code:
29898
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29899
- name: entry,
29900
- control: control,
29901
- render: function render(_ref13) {
29902
- var field = _ref13.field;
29903
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29904
- render: step.render,
29905
- field: _objectSpread2$1({
29906
- parent: parent,
29907
- setValue: function setValue(key, value) {
29908
- return _setValue(key, value);
29909
- },
29910
- rawValues: getValues()
29911
- }, field),
29912
- error: error
29913
- }, /*#__PURE__*/React__default["default"].createElement(CodeInput, _extends({}, step.props, step, {
29780
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29781
+ defaultValue: defaultValue,
29782
+ step: step,
29783
+ entry: entry,
29784
+ component: function component(field, props) {
29785
+ return /*#__PURE__*/React__default["default"].createElement(CodeInput, _extends({}, props, {
29914
29786
  className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, error)),
29915
- readOnly: functionalProperty(entry, step.disabled) ? true : false,
29916
29787
  onChange: function onChange(e) {
29917
29788
  var v;
29918
29789
 
29919
29790
  try {
29920
29791
  v = JSON.parse(e);
29921
29792
  } catch (err) {
29922
- setError(step.label, {
29923
- type: 'manual',
29924
- message: err
29925
- });
29926
- v = {};
29793
+ v = e;
29927
29794
  }
29928
29795
 
29929
29796
  field.onChange(v);
@@ -29935,105 +29802,51 @@ var Step = function Step(_ref6) {
29935
29802
  });
29936
29803
  });
29937
29804
  },
29938
- value: _typeof$1(field.value) === 'object' ? JSON.stringify(field.value, null, 2) : field.value,
29939
- defaultValue: defaultValue
29940
- })));
29805
+ value: field.value === null ? null : _typeof$1(field.value) === 'object' ? JSON.stringify(field.value, null, 2) : field.value
29806
+ }));
29941
29807
  }
29942
29808
  });
29943
29809
 
29944
29810
  default:
29945
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29946
- name: entry,
29947
- control: control,
29948
- defaultValue: step.defaultValue,
29949
- render: function render(_ref14) {
29950
- var field = _ref14.field;
29951
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29952
- render: step.render,
29953
- field: _objectSpread2$1({
29954
- parent: parent,
29955
- setValue: function setValue(key, value) {
29956
- return _setValue(key, value);
29957
- },
29958
- rawValues: getValues()
29959
- }, field),
29960
- error: error
29961
- }, /*#__PURE__*/React__default["default"].createElement(ObjectInput, _extends({}, step.props, step, {
29962
- className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29963
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
29964
- onChange: function onChange(e) {
29965
- field.onChange(e);
29966
- option(step.onChange).map(function (onChange) {
29967
- return onChange({
29968
- rawValues: getValues(),
29969
- value: e,
29970
- setValue: _setValue
29971
- });
29972
- });
29973
- },
29974
- value: field.value,
29975
- possibleValues: step.options
29976
- })));
29977
- }
29978
- });
29811
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29812
+ defaultValue: defaultValue,
29813
+ step: step,
29814
+ entry: entry
29815
+ }, /*#__PURE__*/React__default["default"].createElement(ObjectInput, {
29816
+ className: classNames__default["default"](_defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29817
+ possibleValues: step.options
29818
+ }));
29979
29819
  }
29980
29820
 
29981
29821
  case type.date:
29982
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
29983
- name: entry,
29984
- control: control,
29985
- defaultValue: step.defaultValue,
29986
- render: function render(_ref15) {
29987
- var field = _ref15.field;
29988
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
29989
- render: step.render,
29990
- field: _objectSpread2$1({
29991
- parent: parent,
29992
- setValue: function setValue(key, value) {
29993
- return _setValue(key, value);
29994
- },
29995
- rawValues: getValues()
29996
- }, field),
29997
- error: error
29998
- }, /*#__PURE__*/React__default["default"].createElement(reactRainbowComponents.DatePicker, _extends({}, step.props, {
29999
- id: "datePicker-1",
30000
- className: classNames__default["default"](classes.datepicker, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
30001
- readOnly: functionalProperty(entry, step.disabled) ? 'readOnly' : null,
30002
- value: field.value,
30003
- onChange: function onChange(e) {
30004
- field.onChange(e);
30005
- option(step.onChange).map(function (onChange) {
30006
- return onChange({
30007
- rawValues: getValues(),
30008
- value: e,
30009
- setValue: _setValue
30010
- });
30011
- });
30012
- },
30013
- formatStyle: "large"
30014
- })));
30015
- }
30016
- });
29822
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29823
+ defaultValue: defaultValue,
29824
+ step: step,
29825
+ entry: entry
29826
+ }, /*#__PURE__*/React__default["default"].createElement(reactRainbowComponents.DatePicker, {
29827
+ className: classNames__default["default"](classes.datepicker, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
29828
+ formatStyle: "large"
29829
+ }));
30017
29830
 
30018
29831
  case type.file:
30019
29832
  return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
30020
29833
  name: entry,
30021
29834
  control: control,
30022
- render: function render(_ref16) {
30023
- var field = _ref16.field;
30024
-
30025
- var FileInput = function FileInput(_ref17) {
30026
- var onChange = _ref17.onChange;
29835
+ render: function render(_ref10) {
29836
+ var field = _ref10.field;
30027
29837
 
30028
- var _useState = React.useState(false),
30029
- _useState2 = _slicedToArray(_useState, 2),
30030
- uploading = _useState2[0],
30031
- setUploading = _useState2[1];
29838
+ var FileInput = function FileInput(_ref11) {
29839
+ var onChange = _ref11.onChange;
30032
29840
 
30033
- var _useState3 = React.useState(undefined),
29841
+ var _useState3 = React.useState(false),
30034
29842
  _useState4 = _slicedToArray(_useState3, 2),
30035
- input = _useState4[0],
30036
- setInput = _useState4[1];
29843
+ uploading = _useState4[0],
29844
+ setUploading = _useState4[1];
29845
+
29846
+ var _useState5 = React.useState(undefined),
29847
+ _useState6 = _slicedToArray(_useState5, 2),
29848
+ input = _useState6[0],
29849
+ setInput = _useState6[1];
30037
29850
 
30038
29851
  var setFiles = function setFiles(e) {
30039
29852
  var files = e.target.files;
@@ -30071,28 +29884,11 @@ var Step = function Step(_ref6) {
30071
29884
  }).join(" , ")));
30072
29885
  };
30073
29886
 
30074
- return /*#__PURE__*/React__default["default"].createElement(CustomizableInput, {
30075
- render: step.render,
30076
- field: _objectSpread2$1({
30077
- parent: parent,
30078
- setValue: function setValue(key, value) {
30079
- return _setValue(key, value);
30080
- },
30081
- rawValues: getValues()
30082
- }, field),
30083
- error: error
30084
- }, /*#__PURE__*/React__default["default"].createElement(FileInput, {
30085
- onChange: function onChange(e) {
30086
- field.onChange(e);
30087
- option(step.onChange).map(function (onChange) {
30088
- return onChange({
30089
- rawValues: getValues(),
30090
- value: e,
30091
- setValue: _setValue
30092
- });
30093
- });
30094
- }
30095
- }));
29887
+ return /*#__PURE__*/React__default["default"].createElement(ControlledInput, {
29888
+ defaultValue: defaultValue,
29889
+ step: step,
29890
+ entry: entry
29891
+ }, /*#__PURE__*/React__default["default"].createElement(FileInput, null));
30096
29892
  }
30097
29893
  });
30098
29894
 
@@ -30101,18 +29897,17 @@ var Step = function Step(_ref6) {
30101
29897
  }
30102
29898
  };
30103
29899
 
30104
- var ArrayStep = function ArrayStep(_ref18) {
30105
- var entry = _ref18.entry,
30106
- step = _ref18.step,
30107
- component = _ref18.component,
30108
- disabled = _ref18.disabled;
29900
+ var ArrayStep = function ArrayStep(_ref12) {
29901
+ var entry = _ref12.entry,
29902
+ step = _ref12.step,
29903
+ component = _ref12.component,
29904
+ disabled = _ref12.disabled;
30109
29905
  var classes = useCustomStyle();
30110
29906
 
30111
29907
  var _useFormContext3 = reactHookForm.useFormContext(),
30112
29908
  getValues = _useFormContext3.getValues,
30113
- setValue = _useFormContext3.setValue;
30114
- _useFormContext3.watch;
30115
- var control = _useFormContext3.control,
29909
+ setValue = _useFormContext3.setValue,
29910
+ control = _useFormContext3.control,
30116
29911
  trigger = _useFormContext3.trigger,
30117
29912
  formState = _useFormContext3.formState;
30118
29913
 
@@ -30130,15 +29925,11 @@ var ArrayStep = function ArrayStep(_ref18) {
30130
29925
 
30131
29926
  var _useFieldArray = reactHookForm.useFieldArray({
30132
29927
  control: control,
30133
- // control props comes from useForm (optional: if you are using FormContext)
30134
- name: entry // unique name for your Field Array
30135
- // keyName: "id", default to "id", you can change the key name
30136
-
29928
+ name: entry
30137
29929
  }),
30138
29930
  fields = _useFieldArray.fields,
30139
29931
  append = _useFieldArray.append,
30140
29932
  remove = _useFieldArray.remove;
30141
- _useFieldArray.update;
30142
29933
 
30143
29934
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, fields.map(function (field, idx) {
30144
29935
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -30148,11 +29939,15 @@ var ArrayStep = function ArrayStep(_ref18) {
30148
29939
  style: {
30149
29940
  position: 'relative'
30150
29941
  }
29942
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
29943
+ style: {
29944
+ width: '95%'
29945
+ }
30151
29946
  }, component(_objectSpread2$1(_objectSpread2$1({
30152
29947
  key: field.id
30153
29948
  }, field), {}, {
30154
29949
  defaultValue: values[idx]
30155
- }), idx), /*#__PURE__*/React__default["default"].createElement("button", {
29950
+ }), idx)), /*#__PURE__*/React__default["default"].createElement("button", {
30156
29951
  type: "button",
30157
29952
  style: {
30158
29953
  position: 'absolute',
@@ -30174,10 +29969,11 @@ var ArrayStep = function ArrayStep(_ref18) {
30174
29969
  type: "button",
30175
29970
  className: classNames__default["default"](classes.btn, classes.btn_blue, classes.btn_sm, classes.mt_5, _defineProperty$1({}, classes.input__invalid, errorDisplayed)),
30176
29971
  onClick: function onClick() {
29972
+ var newValue = cleanInputArray({}, getValues(entry), step.flow, step.schema);
30177
29973
  append({
30178
- value: step.addableDefaultValue || defaultVal(step.type)
30179
- });
30180
- trigger(entry);
29974
+ value: step.addableDefaultValue || (newValue ? newValue : defaultVal())
29975
+ }); // trigger(entry);
29976
+
30181
29977
  option(step.onChange).map(function (onChange) {
30182
29978
  return onChange({
30183
29979
  rawValues: getValues(),
@@ -30192,37 +29988,38 @@ var ArrayStep = function ArrayStep(_ref18) {
30192
29988
  }, error.message)));
30193
29989
  };
30194
29990
 
30195
- var NestedForm = function NestedForm(_ref19) {
29991
+ var NestedForm = function NestedForm(_ref13) {
30196
29992
  var _classNames16;
30197
29993
 
30198
- var schema = _ref19.schema,
30199
- flow = _ref19.flow,
30200
- parent = _ref19.parent,
30201
- inputWrapper = _ref19.inputWrapper,
30202
- maybeCustomHttpClient = _ref19.maybeCustomHttpClient,
30203
- errorDisplayed = _ref19.errorDisplayed,
30204
- value = _ref19.value,
30205
- step = _ref19.step,
30206
- functionalProperty = _ref19.functionalProperty,
30207
- index = _ref19.index;
29994
+ var schema = _ref13.schema,
29995
+ flow = _ref13.flow,
29996
+ parent = _ref13.parent,
29997
+ inputWrapper = _ref13.inputWrapper,
29998
+ maybeCustomHttpClient = _ref13.maybeCustomHttpClient,
29999
+ errorDisplayed = _ref13.errorDisplayed,
30000
+ value = _ref13.value,
30001
+ step = _ref13.step,
30002
+ functionalProperty = _ref13.functionalProperty,
30003
+ index = _ref13.index;
30208
30004
 
30209
30005
  var _useFormContext4 = reactHookForm.useFormContext(),
30210
30006
  getValues = _useFormContext4.getValues,
30211
30007
  setValue = _useFormContext4.setValue,
30212
- watch = _useFormContext4.watch,
30213
- trigger = _useFormContext4.trigger;
30008
+ watch = _useFormContext4.watch;
30009
+ _useFormContext4.trigger;
30214
30010
  _useFormContext4.formState;
30215
30011
 
30216
- var _useState5 = React.useState(!!step.collapsed),
30217
- _useState6 = _slicedToArray(_useState5, 2),
30218
- collapsed = _useState6[0],
30219
- setCollapsed = _useState6[1];
30012
+ var _useState7 = React.useState(!!step.collapsed),
30013
+ _useState8 = _slicedToArray(_useState7, 2),
30014
+ collapsed = _useState8[0],
30015
+ setCollapsed = _useState8[1];
30016
+
30017
+ var classes = useCustomStyle(); // TODO - voir ce qui se passe et à quoi ça sert
30018
+ // const v = getValues(parent);
30019
+ // useEffect(() => {
30020
+ // trigger(parent)
30021
+ // }, [JSON.stringify(v)])
30220
30022
 
30221
- var classes = useCustomStyle();
30222
- var v = getValues(parent);
30223
- React.useEffect(function () {
30224
- trigger(parent);
30225
- }, [JSON.stringify(v)]);
30226
30023
  var schemaAndFlow = option(step.conditionalSchema).map(function (condiSchema) {
30227
30024
  var ref = option(condiSchema.ref).map(function (ref) {
30228
30025
  return getValues(ref);
@@ -30247,8 +30044,8 @@ var NestedForm = function NestedForm(_ref19) {
30247
30044
  });
30248
30045
  var prevSchema = usePrevious(schemaAndFlow.schema);
30249
30046
  React.useEffect(function () {
30250
- if (!!prevSchema && JSON.stringify(prevSchema) !== JSON.stringify(schemaAndFlow.schema)) {
30251
- var def = getDefaultValues(schemaAndFlow.flow, schemaAndFlow.schema);
30047
+ if (!!prevSchema && !deepEqual__default["default"](prevSchema, schemaAndFlow.schema)) {
30048
+ var def = getDefaultValues(schemaAndFlow.flow, schemaAndFlow.schema, getValues(parent));
30252
30049
  setValue(parent, def, {
30253
30050
  shouldValidate: false
30254
30051
  });
@@ -30314,10 +30111,10 @@ var NestedForm = function NestedForm(_ref19) {
30314
30111
  onClick: function onClick() {
30315
30112
  return setCollapsed(!collapsed);
30316
30113
  }
30317
- }), computedSandF.map(function (_ref20, idx) {
30318
- var step = _ref20.step,
30319
- visibleStep = _ref20.visibleStep,
30320
- entry = _ref20.entry;
30114
+ }), computedSandF.map(function (_ref14, idx) {
30115
+ var step = _ref14.step,
30116
+ visibleStep = _ref14.visibleStep,
30117
+ entry = _ref14.entry;
30321
30118
 
30322
30119
  if (!step && typeof entry === 'string') {
30323
30120
  console.error("no step found for the entry \"".concat(entry, "\" in the given schema. Your form might not work properly. Please fix it"));