@maif/react-forms 1.0.49 → 1.0.50

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 (3) hide show
  1. package/lib/esm/index.js +57 -115
  2. package/lib/index.js +57 -115
  3. package/package.json +1 -1
package/lib/esm/index.js CHANGED
@@ -452,42 +452,6 @@ function _extends() {
452
452
  return _extends.apply(this, arguments);
453
453
  }
454
454
 
455
- function _objectWithoutPropertiesLoose(source, excluded) {
456
- if (source == null) return {};
457
- var target = {};
458
- var sourceKeys = Object.keys(source);
459
- var key, i;
460
-
461
- for (i = 0; i < sourceKeys.length; i++) {
462
- key = sourceKeys[i];
463
- if (excluded.indexOf(key) >= 0) continue;
464
- target[key] = source[key];
465
- }
466
-
467
- return target;
468
- }
469
-
470
- function _objectWithoutProperties(source, excluded) {
471
- if (source == null) return {};
472
-
473
- var target = _objectWithoutPropertiesLoose(source, excluded);
474
-
475
- var key, i;
476
-
477
- if (Object.getOwnPropertySymbols) {
478
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
479
-
480
- for (i = 0; i < sourceSymbolKeys.length; i++) {
481
- key = sourceSymbolKeys[i];
482
- if (excluded.indexOf(key) >= 0) continue;
483
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
484
- target[key] = source[key];
485
- }
486
- }
487
-
488
- return target;
489
- }
490
-
491
455
  function _readOnlyError(name) {
492
456
  throw new TypeError("\"" + name + "\" is read-only");
493
457
  }
@@ -874,18 +838,13 @@ var BooleanInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
874
838
  });
875
839
 
876
840
  var Collapse = function Collapse(props) {
877
- var _classNames5;
841
+ var _classNames4;
878
842
 
879
843
  var _useState = useState(props.initCollapsed || props.collapsed),
880
844
  _useState2 = _slicedToArray(_useState, 2),
881
845
  collapsed = _useState2[0],
882
846
  setCollapsed = _useState2[1];
883
847
 
884
- var _useState3 = useState(false),
885
- _useState4 = _slicedToArray(_useState3, 2),
886
- expandedAll = _useState4[0],
887
- setExpandedAll = _useState4[1];
888
-
889
848
  var classes = useCustomStyle();
890
849
 
891
850
  var toggle = function toggle(e) {
@@ -893,15 +852,6 @@ var Collapse = function Collapse(props) {
893
852
  setCollapsed(!collapsed);
894
853
  };
895
854
 
896
- var childrenWithProps = React.Children.map(props.children, function (child) {
897
- if ( /*#__PURE__*/React.isValidElement(child)) {
898
- return /*#__PURE__*/React.cloneElement(child, {
899
- collapsed: expandedAll
900
- });
901
- }
902
-
903
- return child;
904
- });
905
855
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("hr", {
906
856
  className: classNames(_defineProperty$1({}, classes.collapse_error, props.errored))
907
857
  }), /*#__PURE__*/React.createElement("div", {
@@ -909,19 +859,7 @@ var Collapse = function Collapse(props) {
909
859
  onClick: toggle
910
860
  }, /*#__PURE__*/React.createElement("span", {
911
861
  className: classNames(classes.collapse_label, _defineProperty$1({}, classes.collapse_error, props.errored))
912
- }, props.label), /*#__PURE__*/React.createElement("div", {
913
- style: {
914
- marginLeft: 'auto'
915
- },
916
- className: classNames(classes.flex)
917
- }, /*#__PURE__*/React.createElement("button", {
918
- type: "button",
919
- className: classNames(classes.btn, classes.btn_sm, _defineProperty$1({}, classes.collapse_error, props.errored)),
920
- onClick: function onClick(e) {
921
- if (e) e.stopPropagation();
922
- setExpandedAll(!expandedAll);
923
- }
924
- }, expandedAll ? 'Expand all' : 'Collapse all'), /*#__PURE__*/React.createElement("button", {
862
+ }, props.label), /*#__PURE__*/React.createElement("button", {
925
863
  type: "button",
926
864
  className: classNames(classes.btn, classes.btn_sm, classes.ml_5, _defineProperty$1({}, classes.collapse_error, props.errored)),
927
865
  onClick: toggle
@@ -929,9 +867,9 @@ var Collapse = function Collapse(props) {
929
867
  size: 16
930
868
  }), !collapsed && /*#__PURE__*/React.createElement(EyeOff, {
931
869
  size: 16
932
- })))), /*#__PURE__*/React.createElement("div", {
933
- className: classNames("".concat(classes.ml_10), (_classNames5 = {}, _defineProperty$1(_classNames5, classes.display__none, !!collapsed), _defineProperty$1(_classNames5, classes.flex, !!props.inline), _defineProperty$1(_classNames5, classes.collapse__inline, !!props.inline), _classNames5))
934
- }, childrenWithProps), props.lineEnd && /*#__PURE__*/React.createElement("hr", null));
870
+ }))), /*#__PURE__*/React.createElement("div", {
871
+ className: classNames("".concat(classes.ml_10), (_classNames4 = {}, _defineProperty$1(_classNames4, classes.display__none, !!collapsed), _defineProperty$1(_classNames4, classes.flex, !!props.inline), _defineProperty$1(_classNames4, classes.collapse__inline, !!props.inline), _classNames4))
872
+ }, props.children), props.lineEnd && /*#__PURE__*/React.createElement("hr", null));
935
873
  };
936
874
 
937
875
  var option = function option(x) {
@@ -29071,8 +29009,6 @@ var ControlledInput = function ControlledInput(_ref) {
29071
29009
  }, component ? component(field, props) : /*#__PURE__*/React.cloneElement(children, _objectSpread2$1({}, props)));
29072
29010
  };
29073
29011
 
29074
- var _excluded = ["schema", "flow", "parent", "inputWrapper", "maybeCustomHttpClient", "errorDisplayed", "value", "step", "functionalProperty", "index"];
29075
-
29076
29012
  var usePrevious = function usePrevious(value) {
29077
29013
  // The ref object is a generic container whose current property is mutable ...
29078
29014
  // ... and can hold any value, similar to an instance property on a class
@@ -29092,8 +29028,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
29092
29028
  label = _ref.label,
29093
29029
  help = _ref.help,
29094
29030
  children = _ref.children,
29095
- render = _ref.render,
29096
- collapsed = _ref.collapsed;
29031
+ render = _ref.render;
29097
29032
 
29098
29033
  if (_typeof$1(entry) === 'object') {
29099
29034
  return children;
@@ -29122,20 +29057,10 @@ var BasicWrapper = function BasicWrapper(_ref) {
29122
29057
  label: label,
29123
29058
  error: error,
29124
29059
  help: help,
29125
- children: children,
29126
- collapsed: collapsed
29060
+ children: children
29127
29061
  });
29128
29062
  }
29129
29063
 
29130
- var childrenWithProps = React.Children.map(children, function (child) {
29131
- if ( /*#__PURE__*/React.isValidElement(child)) {
29132
- return /*#__PURE__*/React.cloneElement(child, {
29133
- collapsed: collapsed
29134
- });
29135
- }
29136
-
29137
- return child;
29138
- });
29139
29064
  return /*#__PURE__*/React.createElement("div", {
29140
29065
  className: "".concat(classes.mt_10, " ").concat(className),
29141
29066
  style: {
@@ -29160,7 +29085,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
29160
29085
  marginLeft: '.5rem',
29161
29086
  cursor: 'help'
29162
29087
  }
29163
- })))), childrenWithProps, error && /*#__PURE__*/React.createElement("div", {
29088
+ })))), children, error && /*#__PURE__*/React.createElement("div", {
29164
29089
  className: classNames(classes.feedback, _defineProperty$1({}, classes.txt_red, errorDisplayed))
29165
29090
  }, error.message));
29166
29091
  };
@@ -29356,6 +29281,11 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
29356
29281
  });
29357
29282
  };
29358
29283
 
29284
+ var _useState = useState(false),
29285
+ _useState2 = _slicedToArray(_useState, 2),
29286
+ expandedAll = _useState2[0],
29287
+ setExpandedAll = _useState2[1];
29288
+
29359
29289
  var defaultValues = getDefaultValues(formFlow, schema, value); //FIXME: get real schema through the switch
29360
29290
 
29361
29291
  var _resolver = function resolver(rawData) {
@@ -29375,10 +29305,10 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
29375
29305
  mode: 'onChange'
29376
29306
  });
29377
29307
 
29378
- var _useState = useState(false),
29379
- _useState2 = _slicedToArray(_useState, 2),
29380
- initialReseted = _useState2[0],
29381
- setReset = _useState2[1];
29308
+ var _useState3 = useState(false),
29309
+ _useState4 = _slicedToArray(_useState3, 2),
29310
+ initialReseted = _useState4[0],
29311
+ setReset = _useState4[1];
29382
29312
 
29383
29313
  useEffect(function () {
29384
29314
  _reset(cleanInputArray(value, defaultValues, flow, schema));
@@ -29444,7 +29374,19 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
29444
29374
  var clean = cleanOutputArray(data, schema);
29445
29375
  onSubmit(clean);
29446
29376
  }, onError)
29447
- }, formFlow.map(function (entry, idx) {
29377
+ }, /*#__PURE__*/React.createElement("div", {
29378
+ className: classNames(classes.flex, classes.mt_20)
29379
+ }, /*#__PURE__*/React.createElement("button", {
29380
+ type: "button",
29381
+ className: classNames(classes.btn, classes.btn_sm),
29382
+ style: {
29383
+ marginLeft: 'auto'
29384
+ },
29385
+ onClick: function onClick(e) {
29386
+ if (e) e.stopPropagation();
29387
+ setExpandedAll(!expandedAll);
29388
+ }
29389
+ }, expandedAll ? 'Expand all' : 'Collapse all')), formFlow.map(function (entry, idx) {
29448
29390
  var step = schema[entry];
29449
29391
 
29450
29392
  if (!step && typeof entry === 'string') {
@@ -29492,7 +29434,8 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
29492
29434
  schema: schema,
29493
29435
  inputWrapper: inputWrapper,
29494
29436
  httpClient: maybeCustomHttpClient,
29495
- functionalProperty: functionalProperty
29437
+ functionalProperty: functionalProperty,
29438
+ expandedAll: expandedAll
29496
29439
  }));
29497
29440
  }), /*#__PURE__*/React.createElement(Footer, {
29498
29441
  render: footer,
@@ -29551,7 +29494,7 @@ var Step = function Step(_ref8) {
29551
29494
  functionalProperty = _ref8.functionalProperty,
29552
29495
  parent = _ref8.parent,
29553
29496
  onAfterChange = _ref8.onAfterChange,
29554
- collapsed = _ref8.collapsed;
29497
+ expandedAll = _ref8.expandedAll;
29555
29498
  var classes = useCustomStyle();
29556
29499
 
29557
29500
  var _useFormContext2 = useFormContext(),
@@ -29572,8 +29515,7 @@ var Step = function Step(_ref8) {
29572
29515
  return !!errors[step] && (dirtyFields[step] || touchedFields[step]);
29573
29516
  });
29574
29517
  return /*#__PURE__*/React.createElement(Collapse, _extends({}, entry, {
29575
- errored: errored,
29576
- collapsed: collapsed
29518
+ errored: errored
29577
29519
  }), entry.flow.map(function (en, entryIdx) {
29578
29520
  var stp = schema[en];
29579
29521
  _typeof$1(en) === 'object' ? undefined : en.split('.').reduce(function (object, key) {
@@ -29612,13 +29554,12 @@ var Step = function Step(_ref8) {
29612
29554
  entry: en,
29613
29555
  label: functionalProperty(en, (stp === null || stp === void 0 ? void 0 : stp.label) === null ? null : (stp === null || stp === void 0 ? void 0 : stp.label) || en),
29614
29556
  help: stp === null || stp === void 0 ? void 0 : stp.help,
29615
- render: inputWrapper,
29616
- collapsed: collapsed
29557
+ render: inputWrapper
29617
29558
  }, /*#__PURE__*/React.createElement(Step, {
29618
29559
  entry: en,
29619
29560
  step: stp,
29620
29561
  schema: schema,
29621
- collapsed: collapsed,
29562
+ expandedAll: expandedAll,
29622
29563
  inputWrapper: inputWrapper,
29623
29564
  httpClient: httpClient,
29624
29565
  defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue,
@@ -29697,7 +29638,7 @@ var Step = function Step(_ref8) {
29697
29638
  value: props.value,
29698
29639
  index: idx,
29699
29640
  functionalProperty: functionalProperty,
29700
- collapsed: collapsed
29641
+ expandedAll: expandedAll
29701
29642
  });
29702
29643
  }
29703
29644
  }));
@@ -29858,13 +29799,13 @@ var Step = function Step(_ref8) {
29858
29799
  flow: flow,
29859
29800
  step: step,
29860
29801
  parent: entry,
29861
- collapsed: collapsed,
29862
29802
  inputWrapper: inputWrapper,
29863
29803
  maybeCustomHttpClient: httpClient,
29864
29804
  value: getValues(entry) || defaultValue,
29865
29805
  index: index,
29866
29806
  functionalProperty: functionalProperty,
29867
- errorDisplayed: errorDisplayed
29807
+ errorDisplayed: errorDisplayed,
29808
+ expandedAll: expandedAll
29868
29809
  }));
29869
29810
 
29870
29811
  case format.code:
@@ -29933,15 +29874,15 @@ var Step = function Step(_ref8) {
29933
29874
  var FileInput = function FileInput(_ref10) {
29934
29875
  var onChange = _ref10.onChange;
29935
29876
 
29936
- var _useState3 = useState(false),
29937
- _useState4 = _slicedToArray(_useState3, 2),
29938
- uploading = _useState4[0],
29939
- setUploading = _useState4[1];
29940
-
29941
- var _useState5 = useState(undefined),
29877
+ var _useState5 = useState(false),
29942
29878
  _useState6 = _slicedToArray(_useState5, 2),
29943
- input = _useState6[0],
29944
- setInput = _useState6[1];
29879
+ uploading = _useState6[0],
29880
+ setUploading = _useState6[1];
29881
+
29882
+ var _useState7 = useState(undefined),
29883
+ _useState8 = _slicedToArray(_useState7, 2),
29884
+ input = _useState8[0],
29885
+ setInput = _useState8[1];
29945
29886
 
29946
29887
  var setFiles = function setFiles(e) {
29947
29888
  var files = e.target.files;
@@ -30120,7 +30061,7 @@ var NestedForm = function NestedForm(_ref12) {
30120
30061
  step = _ref12.step,
30121
30062
  functionalProperty = _ref12.functionalProperty,
30122
30063
  index = _ref12.index,
30123
- props = _objectWithoutProperties(_ref12, _excluded);
30064
+ expandedAll = _ref12.expandedAll;
30124
30065
 
30125
30066
  var _useFormContext4 = useFormContext(),
30126
30067
  getValues = _useFormContext4.getValues,
@@ -30129,15 +30070,15 @@ var NestedForm = function NestedForm(_ref12) {
30129
30070
  _useFormContext4.trigger;
30130
30071
  _useFormContext4.formState;
30131
30072
 
30132
- var _useState7 = useState(!!step.collapsed || props.collapsed),
30133
- _useState8 = _slicedToArray(_useState7, 2),
30134
- collapsed = _useState8[0],
30135
- setCollapsed = _useState8[1];
30073
+ var _useState9 = useState(!!step.collapsed),
30074
+ _useState10 = _slicedToArray(_useState9, 2),
30075
+ collapsed = _useState10[0],
30076
+ setCollapsed = _useState10[1];
30136
30077
 
30137
- useEffect(function () {
30138
- setCollapsed(props.collapsed);
30139
- }, [props.collapsed]);
30140
30078
  var classes = useCustomStyle();
30079
+ useEffect(function () {
30080
+ if (!expandedAll || expandedAll && parent.split('.').length >= 2) setCollapsed(expandedAll);
30081
+ }, [expandedAll]);
30141
30082
  var schemaAndFlow = option(step.conditionalSchema).map(function (condiSchema) {
30142
30083
  var ref = option(condiSchema.ref).map(function (ref) {
30143
30084
  return getValues(ref);
@@ -30256,7 +30197,8 @@ var NestedForm = function NestedForm(_ref12) {
30256
30197
  inputWrapper: inputWrapper,
30257
30198
  httpClient: maybeCustomHttpClient,
30258
30199
  defaultValue: value && value[entry],
30259
- functionalProperty: functionalProperty
30200
+ functionalProperty: functionalProperty,
30201
+ expandedAll: expandedAll
30260
30202
  }));
30261
30203
  }));
30262
30204
  };
package/lib/index.js CHANGED
@@ -486,42 +486,6 @@ function _extends() {
486
486
  return _extends.apply(this, arguments);
487
487
  }
488
488
 
489
- function _objectWithoutPropertiesLoose(source, excluded) {
490
- if (source == null) return {};
491
- var target = {};
492
- var sourceKeys = Object.keys(source);
493
- var key, i;
494
-
495
- for (i = 0; i < sourceKeys.length; i++) {
496
- key = sourceKeys[i];
497
- if (excluded.indexOf(key) >= 0) continue;
498
- target[key] = source[key];
499
- }
500
-
501
- return target;
502
- }
503
-
504
- function _objectWithoutProperties(source, excluded) {
505
- if (source == null) return {};
506
-
507
- var target = _objectWithoutPropertiesLoose(source, excluded);
508
-
509
- var key, i;
510
-
511
- if (Object.getOwnPropertySymbols) {
512
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
513
-
514
- for (i = 0; i < sourceSymbolKeys.length; i++) {
515
- key = sourceSymbolKeys[i];
516
- if (excluded.indexOf(key) >= 0) continue;
517
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
518
- target[key] = source[key];
519
- }
520
- }
521
-
522
- return target;
523
- }
524
-
525
489
  function _readOnlyError(name) {
526
490
  throw new TypeError("\"" + name + "\" is read-only");
527
491
  }
@@ -908,18 +872,13 @@ var BooleanInput = /*#__PURE__*/React__default["default"].forwardRef(function (_
908
872
  });
909
873
 
910
874
  var Collapse = function Collapse(props) {
911
- var _classNames5;
875
+ var _classNames4;
912
876
 
913
877
  var _useState = React.useState(props.initCollapsed || props.collapsed),
914
878
  _useState2 = _slicedToArray(_useState, 2),
915
879
  collapsed = _useState2[0],
916
880
  setCollapsed = _useState2[1];
917
881
 
918
- var _useState3 = React.useState(false),
919
- _useState4 = _slicedToArray(_useState3, 2),
920
- expandedAll = _useState4[0],
921
- setExpandedAll = _useState4[1];
922
-
923
882
  var classes = useCustomStyle();
924
883
 
925
884
  var toggle = function toggle(e) {
@@ -927,15 +886,6 @@ var Collapse = function Collapse(props) {
927
886
  setCollapsed(!collapsed);
928
887
  };
929
888
 
930
- var childrenWithProps = React__default["default"].Children.map(props.children, function (child) {
931
- if ( /*#__PURE__*/React__default["default"].isValidElement(child)) {
932
- return /*#__PURE__*/React__default["default"].cloneElement(child, {
933
- collapsed: expandedAll
934
- });
935
- }
936
-
937
- return child;
938
- });
939
889
  return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("hr", {
940
890
  className: classNames__default["default"](_defineProperty$1({}, classes.collapse_error, props.errored))
941
891
  }), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -943,19 +893,7 @@ var Collapse = function Collapse(props) {
943
893
  onClick: toggle
944
894
  }, /*#__PURE__*/React__default["default"].createElement("span", {
945
895
  className: classNames__default["default"](classes.collapse_label, _defineProperty$1({}, classes.collapse_error, props.errored))
946
- }, props.label), /*#__PURE__*/React__default["default"].createElement("div", {
947
- style: {
948
- marginLeft: 'auto'
949
- },
950
- className: classNames__default["default"](classes.flex)
951
- }, /*#__PURE__*/React__default["default"].createElement("button", {
952
- type: "button",
953
- className: classNames__default["default"](classes.btn, classes.btn_sm, _defineProperty$1({}, classes.collapse_error, props.errored)),
954
- onClick: function onClick(e) {
955
- if (e) e.stopPropagation();
956
- setExpandedAll(!expandedAll);
957
- }
958
- }, expandedAll ? 'Expand all' : 'Collapse all'), /*#__PURE__*/React__default["default"].createElement("button", {
896
+ }, props.label), /*#__PURE__*/React__default["default"].createElement("button", {
959
897
  type: "button",
960
898
  className: classNames__default["default"](classes.btn, classes.btn_sm, classes.ml_5, _defineProperty$1({}, classes.collapse_error, props.errored)),
961
899
  onClick: toggle
@@ -963,9 +901,9 @@ var Collapse = function Collapse(props) {
963
901
  size: 16
964
902
  }), !collapsed && /*#__PURE__*/React__default["default"].createElement(reactFeather.EyeOff, {
965
903
  size: 16
966
- })))), /*#__PURE__*/React__default["default"].createElement("div", {
967
- className: classNames__default["default"]("".concat(classes.ml_10), (_classNames5 = {}, _defineProperty$1(_classNames5, classes.display__none, !!collapsed), _defineProperty$1(_classNames5, classes.flex, !!props.inline), _defineProperty$1(_classNames5, classes.collapse__inline, !!props.inline), _classNames5))
968
- }, childrenWithProps), props.lineEnd && /*#__PURE__*/React__default["default"].createElement("hr", null));
904
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
905
+ className: classNames__default["default"]("".concat(classes.ml_10), (_classNames4 = {}, _defineProperty$1(_classNames4, classes.display__none, !!collapsed), _defineProperty$1(_classNames4, classes.flex, !!props.inline), _defineProperty$1(_classNames4, classes.collapse__inline, !!props.inline), _classNames4))
906
+ }, props.children), props.lineEnd && /*#__PURE__*/React__default["default"].createElement("hr", null));
969
907
  };
970
908
 
971
909
  var option = function option(x) {
@@ -29105,8 +29043,6 @@ var ControlledInput = function ControlledInput(_ref) {
29105
29043
  }, component ? component(field, props) : /*#__PURE__*/React__default["default"].cloneElement(children, _objectSpread2$1({}, props)));
29106
29044
  };
29107
29045
 
29108
- var _excluded = ["schema", "flow", "parent", "inputWrapper", "maybeCustomHttpClient", "errorDisplayed", "value", "step", "functionalProperty", "index"];
29109
-
29110
29046
  var usePrevious = function usePrevious(value) {
29111
29047
  // The ref object is a generic container whose current property is mutable ...
29112
29048
  // ... and can hold any value, similar to an instance property on a class
@@ -29126,8 +29062,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
29126
29062
  label = _ref.label,
29127
29063
  help = _ref.help,
29128
29064
  children = _ref.children,
29129
- render = _ref.render,
29130
- collapsed = _ref.collapsed;
29065
+ render = _ref.render;
29131
29066
 
29132
29067
  if (_typeof$1(entry) === 'object') {
29133
29068
  return children;
@@ -29156,20 +29091,10 @@ var BasicWrapper = function BasicWrapper(_ref) {
29156
29091
  label: label,
29157
29092
  error: error,
29158
29093
  help: help,
29159
- children: children,
29160
- collapsed: collapsed
29094
+ children: children
29161
29095
  });
29162
29096
  }
29163
29097
 
29164
- var childrenWithProps = React__default["default"].Children.map(children, function (child) {
29165
- if ( /*#__PURE__*/React__default["default"].isValidElement(child)) {
29166
- return /*#__PURE__*/React__default["default"].cloneElement(child, {
29167
- collapsed: collapsed
29168
- });
29169
- }
29170
-
29171
- return child;
29172
- });
29173
29098
  return /*#__PURE__*/React__default["default"].createElement("div", {
29174
29099
  className: "".concat(classes.mt_10, " ").concat(className),
29175
29100
  style: {
@@ -29194,7 +29119,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
29194
29119
  marginLeft: '.5rem',
29195
29120
  cursor: 'help'
29196
29121
  }
29197
- })))), childrenWithProps, error && /*#__PURE__*/React__default["default"].createElement("div", {
29122
+ })))), children, error && /*#__PURE__*/React__default["default"].createElement("div", {
29198
29123
  className: classNames__default["default"](classes.feedback, _defineProperty$1({}, classes.txt_red, errorDisplayed))
29199
29124
  }, error.message));
29200
29125
  };
@@ -29390,6 +29315,11 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref7, re
29390
29315
  });
29391
29316
  };
29392
29317
 
29318
+ var _useState = React.useState(false),
29319
+ _useState2 = _slicedToArray(_useState, 2),
29320
+ expandedAll = _useState2[0],
29321
+ setExpandedAll = _useState2[1];
29322
+
29393
29323
  var defaultValues = getDefaultValues(formFlow, schema, value); //FIXME: get real schema through the switch
29394
29324
 
29395
29325
  var _resolver = function resolver(rawData) {
@@ -29409,10 +29339,10 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref7, re
29409
29339
  mode: 'onChange'
29410
29340
  });
29411
29341
 
29412
- var _useState = React.useState(false),
29413
- _useState2 = _slicedToArray(_useState, 2),
29414
- initialReseted = _useState2[0],
29415
- setReset = _useState2[1];
29342
+ var _useState3 = React.useState(false),
29343
+ _useState4 = _slicedToArray(_useState3, 2),
29344
+ initialReseted = _useState4[0],
29345
+ setReset = _useState4[1];
29416
29346
 
29417
29347
  React.useEffect(function () {
29418
29348
  _reset(cleanInputArray(value, defaultValues, flow, schema));
@@ -29478,7 +29408,19 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref7, re
29478
29408
  var clean = cleanOutputArray(data, schema);
29479
29409
  onSubmit(clean);
29480
29410
  }, onError)
29481
- }, formFlow.map(function (entry, idx) {
29411
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
29412
+ className: classNames__default["default"](classes.flex, classes.mt_20)
29413
+ }, /*#__PURE__*/React__default["default"].createElement("button", {
29414
+ type: "button",
29415
+ className: classNames__default["default"](classes.btn, classes.btn_sm),
29416
+ style: {
29417
+ marginLeft: 'auto'
29418
+ },
29419
+ onClick: function onClick(e) {
29420
+ if (e) e.stopPropagation();
29421
+ setExpandedAll(!expandedAll);
29422
+ }
29423
+ }, expandedAll ? 'Expand all' : 'Collapse all')), formFlow.map(function (entry, idx) {
29482
29424
  var step = schema[entry];
29483
29425
 
29484
29426
  if (!step && typeof entry === 'string') {
@@ -29526,7 +29468,8 @@ var Form = /*#__PURE__*/React__default["default"].forwardRef(function (_ref7, re
29526
29468
  schema: schema,
29527
29469
  inputWrapper: inputWrapper,
29528
29470
  httpClient: maybeCustomHttpClient,
29529
- functionalProperty: functionalProperty
29471
+ functionalProperty: functionalProperty,
29472
+ expandedAll: expandedAll
29530
29473
  }));
29531
29474
  }), /*#__PURE__*/React__default["default"].createElement(Footer, {
29532
29475
  render: footer,
@@ -29585,7 +29528,7 @@ var Step = function Step(_ref8) {
29585
29528
  functionalProperty = _ref8.functionalProperty,
29586
29529
  parent = _ref8.parent,
29587
29530
  onAfterChange = _ref8.onAfterChange,
29588
- collapsed = _ref8.collapsed;
29531
+ expandedAll = _ref8.expandedAll;
29589
29532
  var classes = useCustomStyle();
29590
29533
 
29591
29534
  var _useFormContext2 = reactHookForm.useFormContext(),
@@ -29606,8 +29549,7 @@ var Step = function Step(_ref8) {
29606
29549
  return !!errors[step] && (dirtyFields[step] || touchedFields[step]);
29607
29550
  });
29608
29551
  return /*#__PURE__*/React__default["default"].createElement(Collapse, _extends({}, entry, {
29609
- errored: errored,
29610
- collapsed: collapsed
29552
+ errored: errored
29611
29553
  }), entry.flow.map(function (en, entryIdx) {
29612
29554
  var stp = schema[en];
29613
29555
  _typeof$1(en) === 'object' ? undefined : en.split('.').reduce(function (object, key) {
@@ -29646,13 +29588,12 @@ var Step = function Step(_ref8) {
29646
29588
  entry: en,
29647
29589
  label: functionalProperty(en, (stp === null || stp === void 0 ? void 0 : stp.label) === null ? null : (stp === null || stp === void 0 ? void 0 : stp.label) || en),
29648
29590
  help: stp === null || stp === void 0 ? void 0 : stp.help,
29649
- render: inputWrapper,
29650
- collapsed: collapsed
29591
+ render: inputWrapper
29651
29592
  }, /*#__PURE__*/React__default["default"].createElement(Step, {
29652
29593
  entry: en,
29653
29594
  step: stp,
29654
29595
  schema: schema,
29655
- collapsed: collapsed,
29596
+ expandedAll: expandedAll,
29656
29597
  inputWrapper: inputWrapper,
29657
29598
  httpClient: httpClient,
29658
29599
  defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue,
@@ -29731,7 +29672,7 @@ var Step = function Step(_ref8) {
29731
29672
  value: props.value,
29732
29673
  index: idx,
29733
29674
  functionalProperty: functionalProperty,
29734
- collapsed: collapsed
29675
+ expandedAll: expandedAll
29735
29676
  });
29736
29677
  }
29737
29678
  }));
@@ -29892,13 +29833,13 @@ var Step = function Step(_ref8) {
29892
29833
  flow: flow,
29893
29834
  step: step,
29894
29835
  parent: entry,
29895
- collapsed: collapsed,
29896
29836
  inputWrapper: inputWrapper,
29897
29837
  maybeCustomHttpClient: httpClient,
29898
29838
  value: getValues(entry) || defaultValue,
29899
29839
  index: index,
29900
29840
  functionalProperty: functionalProperty,
29901
- errorDisplayed: errorDisplayed
29841
+ errorDisplayed: errorDisplayed,
29842
+ expandedAll: expandedAll
29902
29843
  }));
29903
29844
 
29904
29845
  case format.code:
@@ -29967,15 +29908,15 @@ var Step = function Step(_ref8) {
29967
29908
  var FileInput = function FileInput(_ref10) {
29968
29909
  var onChange = _ref10.onChange;
29969
29910
 
29970
- var _useState3 = React.useState(false),
29971
- _useState4 = _slicedToArray(_useState3, 2),
29972
- uploading = _useState4[0],
29973
- setUploading = _useState4[1];
29974
-
29975
- var _useState5 = React.useState(undefined),
29911
+ var _useState5 = React.useState(false),
29976
29912
  _useState6 = _slicedToArray(_useState5, 2),
29977
- input = _useState6[0],
29978
- setInput = _useState6[1];
29913
+ uploading = _useState6[0],
29914
+ setUploading = _useState6[1];
29915
+
29916
+ var _useState7 = React.useState(undefined),
29917
+ _useState8 = _slicedToArray(_useState7, 2),
29918
+ input = _useState8[0],
29919
+ setInput = _useState8[1];
29979
29920
 
29980
29921
  var setFiles = function setFiles(e) {
29981
29922
  var files = e.target.files;
@@ -30154,7 +30095,7 @@ var NestedForm = function NestedForm(_ref12) {
30154
30095
  step = _ref12.step,
30155
30096
  functionalProperty = _ref12.functionalProperty,
30156
30097
  index = _ref12.index,
30157
- props = _objectWithoutProperties(_ref12, _excluded);
30098
+ expandedAll = _ref12.expandedAll;
30158
30099
 
30159
30100
  var _useFormContext4 = reactHookForm.useFormContext(),
30160
30101
  getValues = _useFormContext4.getValues,
@@ -30163,15 +30104,15 @@ var NestedForm = function NestedForm(_ref12) {
30163
30104
  _useFormContext4.trigger;
30164
30105
  _useFormContext4.formState;
30165
30106
 
30166
- var _useState7 = React.useState(!!step.collapsed || props.collapsed),
30167
- _useState8 = _slicedToArray(_useState7, 2),
30168
- collapsed = _useState8[0],
30169
- setCollapsed = _useState8[1];
30107
+ var _useState9 = React.useState(!!step.collapsed),
30108
+ _useState10 = _slicedToArray(_useState9, 2),
30109
+ collapsed = _useState10[0],
30110
+ setCollapsed = _useState10[1];
30170
30111
 
30171
- React.useEffect(function () {
30172
- setCollapsed(props.collapsed);
30173
- }, [props.collapsed]);
30174
30112
  var classes = useCustomStyle();
30113
+ React.useEffect(function () {
30114
+ if (!expandedAll || expandedAll && parent.split('.').length >= 2) setCollapsed(expandedAll);
30115
+ }, [expandedAll]);
30175
30116
  var schemaAndFlow = option(step.conditionalSchema).map(function (condiSchema) {
30176
30117
  var ref = option(condiSchema.ref).map(function (ref) {
30177
30118
  return getValues(ref);
@@ -30290,7 +30231,8 @@ var NestedForm = function NestedForm(_ref12) {
30290
30231
  inputWrapper: inputWrapper,
30291
30232
  httpClient: maybeCustomHttpClient,
30292
30233
  defaultValue: value && value[entry],
30293
- functionalProperty: functionalProperty
30234
+ functionalProperty: functionalProperty,
30235
+ expandedAll: expandedAll
30294
30236
  }));
30295
30237
  }));
30296
30238
  };
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.49",
4
+ "version": "1.0.50",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",
7
7
  "types": "lib/index.js",