@maif/react-forms 1.1.4 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -7,19 +7,24 @@ var React = require('react');
7
7
  var yup$1 = require('@hookform/resolvers/yup');
8
8
  var classNames = require('classnames');
9
9
  var deepEqual = require('fast-deep-equal');
10
- var reactFeather = require('react-feather');
10
+ var PropTypes = require('prop-types');
11
11
  var reactHookForm = require('react-hook-form');
12
- var reactRainbowComponents = require('react-rainbow-components');
13
12
  var ReactToolTip = require('react-tooltip');
14
13
  var uuid$1 = require('uuid');
15
14
  var debounce = require('lodash.debounce');
15
+ var AdapterDateFns = require('@mui/x-date-pickers/AdapterDateFns');
16
+ var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
17
+ var DatePicker = require('@mui/x-date-pickers/DatePicker');
18
+ var TimePicker = require('@mui/x-date-pickers/TimePicker');
19
+ var DateTimePicker = require('@mui/x-date-pickers/DateTimePicker');
20
+ var TextField = require('@mui/material/TextField');
16
21
  var CreatableSelect = require('react-select/creatable');
17
22
  var Select = require('react-select');
18
23
  var hash$1 = require('object-hash');
19
24
  var showdown = require('showdown');
20
25
  require('@fortawesome/fontawesome-free/css/all.css');
21
26
  require('highlight.js/styles/monokai.css');
22
- var hljs = require('highlight.js');
27
+ var hljs = require('highlight.js/lib/core');
23
28
 
24
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
30
 
@@ -46,8 +51,10 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
46
51
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
47
52
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
48
53
  var deepEqual__default = /*#__PURE__*/_interopDefaultLegacy(deepEqual);
54
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
49
55
  var ReactToolTip__default = /*#__PURE__*/_interopDefaultLegacy(ReactToolTip);
50
56
  var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
57
+ var TextField__default = /*#__PURE__*/_interopDefaultLegacy(TextField);
51
58
  var CreatableSelect__default = /*#__PURE__*/_interopDefaultLegacy(CreatableSelect);
52
59
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
53
60
  var hash__default = /*#__PURE__*/_interopDefaultLegacy(hash$1);
@@ -80,7 +87,9 @@ const format = {
80
87
  hidden: "hidden",
81
88
  form: "form",
82
89
  buttonsSelect: "buttons",
83
- singleLineCode: "singleLineCode"
90
+ singleLineCode: "singleLineCode",
91
+ datetime: "datetime-local",
92
+ time: "time"
84
93
  };
85
94
  function stringTuple(...data) {
86
95
  return data;
@@ -208,25 +217,365 @@ var constraints = /*#__PURE__*/Object.freeze({
208
217
  jsonConstraints: jsonConstraints
209
218
  });
210
219
 
211
- const BooleanInput = React__default["default"].forwardRef(({ onChange, value, readOnly }, ref) => {
220
+ function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
221
+
222
+ function _objectWithoutProperties$8(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$8(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
223
+
224
+ function _objectWithoutPropertiesLoose$8(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
225
+ var HelpCircle = React.forwardRef(function (_ref, ref) {
226
+ var _ref$color = _ref.color,
227
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
228
+ _ref$size = _ref.size,
229
+ size = _ref$size === void 0 ? 24 : _ref$size,
230
+ rest = _objectWithoutProperties$8(_ref, ["color", "size"]);
231
+
232
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
233
+ ref: ref,
234
+ xmlns: "http://www.w3.org/2000/svg",
235
+ width: size,
236
+ height: size,
237
+ viewBox: "0 0 24 24",
238
+ fill: "none",
239
+ stroke: color,
240
+ strokeWidth: "2",
241
+ strokeLinecap: "round",
242
+ strokeLinejoin: "round"
243
+ }, rest), /*#__PURE__*/React__default["default"].createElement("circle", {
244
+ cx: "12",
245
+ cy: "12",
246
+ r: "10"
247
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
248
+ d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"
249
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
250
+ x1: "12",
251
+ y1: "17",
252
+ x2: "12.01",
253
+ y2: "17"
254
+ }));
255
+ });
256
+ HelpCircle.propTypes = {
257
+ color: PropTypes__default["default"].string,
258
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
259
+ };
260
+ HelpCircle.displayName = 'HelpCircle';
261
+
262
+ function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); }
263
+
264
+ function _objectWithoutProperties$7(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$7(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
265
+
266
+ function _objectWithoutPropertiesLoose$7(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
267
+ var Loader = React.forwardRef(function (_ref, ref) {
268
+ var _ref$color = _ref.color,
269
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
270
+ _ref$size = _ref.size,
271
+ size = _ref$size === void 0 ? 24 : _ref$size,
272
+ rest = _objectWithoutProperties$7(_ref, ["color", "size"]);
273
+
274
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$7({
275
+ ref: ref,
276
+ xmlns: "http://www.w3.org/2000/svg",
277
+ width: size,
278
+ height: size,
279
+ viewBox: "0 0 24 24",
280
+ fill: "none",
281
+ stroke: color,
282
+ strokeWidth: "2",
283
+ strokeLinecap: "round",
284
+ strokeLinejoin: "round"
285
+ }, rest), /*#__PURE__*/React__default["default"].createElement("line", {
286
+ x1: "12",
287
+ y1: "2",
288
+ x2: "12",
289
+ y2: "6"
290
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
291
+ x1: "12",
292
+ y1: "18",
293
+ x2: "12",
294
+ y2: "22"
295
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
296
+ x1: "4.93",
297
+ y1: "4.93",
298
+ x2: "7.76",
299
+ y2: "7.76"
300
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
301
+ x1: "16.24",
302
+ y1: "16.24",
303
+ x2: "19.07",
304
+ y2: "19.07"
305
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
306
+ x1: "2",
307
+ y1: "12",
308
+ x2: "6",
309
+ y2: "12"
310
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
311
+ x1: "18",
312
+ y1: "12",
313
+ x2: "22",
314
+ y2: "12"
315
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
316
+ x1: "4.93",
317
+ y1: "19.07",
318
+ x2: "7.76",
319
+ y2: "16.24"
320
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
321
+ x1: "16.24",
322
+ y1: "7.76",
323
+ x2: "19.07",
324
+ y2: "4.93"
325
+ }));
326
+ });
327
+ Loader.propTypes = {
328
+ color: PropTypes__default["default"].string,
329
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
330
+ };
331
+ Loader.displayName = 'Loader';
332
+
333
+ function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); }
334
+
335
+ function _objectWithoutProperties$6(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$6(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
336
+
337
+ function _objectWithoutPropertiesLoose$6(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
338
+ var Upload = React.forwardRef(function (_ref, ref) {
339
+ var _ref$color = _ref.color,
340
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
341
+ _ref$size = _ref.size,
342
+ size = _ref$size === void 0 ? 24 : _ref$size,
343
+ rest = _objectWithoutProperties$6(_ref, ["color", "size"]);
344
+
345
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$6({
346
+ ref: ref,
347
+ xmlns: "http://www.w3.org/2000/svg",
348
+ width: size,
349
+ height: size,
350
+ viewBox: "0 0 24 24",
351
+ fill: "none",
352
+ stroke: color,
353
+ strokeWidth: "2",
354
+ strokeLinecap: "round",
355
+ strokeLinejoin: "round"
356
+ }, rest), /*#__PURE__*/React__default["default"].createElement("path", {
357
+ d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
358
+ }), /*#__PURE__*/React__default["default"].createElement("polyline", {
359
+ points: "17 8 12 3 7 8"
360
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
361
+ x1: "12",
362
+ y1: "3",
363
+ x2: "12",
364
+ y2: "15"
365
+ }));
366
+ });
367
+ Upload.propTypes = {
368
+ color: PropTypes__default["default"].string,
369
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
370
+ };
371
+ Upload.displayName = 'Upload';
372
+
373
+ function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); }
374
+
375
+ function _objectWithoutProperties$5(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$5(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
376
+
377
+ function _objectWithoutPropertiesLoose$5(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
378
+ var ChevronDown = React.forwardRef(function (_ref, ref) {
379
+ var _ref$color = _ref.color,
380
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
381
+ _ref$size = _ref.size,
382
+ size = _ref$size === void 0 ? 24 : _ref$size,
383
+ rest = _objectWithoutProperties$5(_ref, ["color", "size"]);
384
+
385
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$5({
386
+ ref: ref,
387
+ xmlns: "http://www.w3.org/2000/svg",
388
+ width: size,
389
+ height: size,
390
+ viewBox: "0 0 24 24",
391
+ fill: "none",
392
+ stroke: color,
393
+ strokeWidth: "2",
394
+ strokeLinecap: "round",
395
+ strokeLinejoin: "round"
396
+ }, rest), /*#__PURE__*/React__default["default"].createElement("polyline", {
397
+ points: "6 9 12 15 18 9"
398
+ }));
399
+ });
400
+ ChevronDown.propTypes = {
401
+ color: PropTypes__default["default"].string,
402
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
403
+ };
404
+ ChevronDown.displayName = 'ChevronDown';
405
+
406
+ function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
407
+
408
+ function _objectWithoutProperties$4(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$4(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
409
+
410
+ function _objectWithoutPropertiesLoose$4(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
411
+ var ChevronUp = React.forwardRef(function (_ref, ref) {
412
+ var _ref$color = _ref.color,
413
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
414
+ _ref$size = _ref.size,
415
+ size = _ref$size === void 0 ? 24 : _ref$size,
416
+ rest = _objectWithoutProperties$4(_ref, ["color", "size"]);
417
+
418
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$4({
419
+ ref: ref,
420
+ xmlns: "http://www.w3.org/2000/svg",
421
+ width: size,
422
+ height: size,
423
+ viewBox: "0 0 24 24",
424
+ fill: "none",
425
+ stroke: color,
426
+ strokeWidth: "2",
427
+ strokeLinecap: "round",
428
+ strokeLinejoin: "round"
429
+ }, rest), /*#__PURE__*/React__default["default"].createElement("polyline", {
430
+ points: "18 15 12 9 6 15"
431
+ }));
432
+ });
433
+ ChevronUp.propTypes = {
434
+ color: PropTypes__default["default"].string,
435
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
436
+ };
437
+ ChevronUp.displayName = 'ChevronUp';
438
+
439
+ function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
440
+
441
+ function _objectWithoutProperties$3(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$3(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
442
+
443
+ function _objectWithoutPropertiesLoose$3(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
444
+ var Trash2 = React.forwardRef(function (_ref, ref) {
445
+ var _ref$color = _ref.color,
446
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
447
+ _ref$size = _ref.size,
448
+ size = _ref$size === void 0 ? 24 : _ref$size,
449
+ rest = _objectWithoutProperties$3(_ref, ["color", "size"]);
450
+
451
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$3({
452
+ ref: ref,
453
+ xmlns: "http://www.w3.org/2000/svg",
454
+ width: size,
455
+ height: size,
456
+ viewBox: "0 0 24 24",
457
+ fill: "none",
458
+ stroke: color,
459
+ strokeWidth: "2",
460
+ strokeLinecap: "round",
461
+ strokeLinejoin: "round"
462
+ }, rest), /*#__PURE__*/React__default["default"].createElement("polyline", {
463
+ points: "3 6 5 6 21 6"
464
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
465
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
466
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
467
+ x1: "10",
468
+ y1: "11",
469
+ x2: "10",
470
+ y2: "17"
471
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
472
+ x1: "14",
473
+ y1: "11",
474
+ x2: "14",
475
+ y2: "17"
476
+ }));
477
+ });
478
+ Trash2.propTypes = {
479
+ color: PropTypes__default["default"].string,
480
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
481
+ };
482
+ Trash2.displayName = 'Trash2';
483
+
484
+ const BooleanInput = ({ onChange, value, readOnly, className, errorDisplayed }) => {
212
485
  const handleClick = (value) => {
213
486
  if (!readOnly) {
214
487
  onChange === null || onChange === void 0 ? void 0 : onChange(value);
215
488
  }
216
489
  };
217
- let className = classNames__default["default"]("mrf-content_switch", {
490
+ let classes = classNames__default["default"]("mrf-content_switch", className, {
218
491
  "mrf-content_switch_button_on": !!value,
219
492
  "mrf-content_switch_button_off": !value && value !== null,
220
493
  "mrf-content_switch_button_null": value === null,
221
494
  "mrf-cursor_pointer": !readOnly,
222
495
  "mrf-cursor_not_allowed": readOnly,
496
+ "mrf-input__invalid": !!errorDisplayed
223
497
  });
224
498
  let callback = () => handleClick(true);
225
499
  if (!!value) {
226
500
  callback = () => handleClick(false);
227
501
  }
228
- return React__default["default"].createElement("input", { type: "checkbox", className: className, onChange: callback });
502
+ return React__default["default"].createElement("input", { type: "checkbox", className: classes, onChange: callback });
503
+ };
504
+
505
+ function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
506
+
507
+ function _objectWithoutProperties$2(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$2(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
508
+
509
+ function _objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
510
+ var EyeOff = React.forwardRef(function (_ref, ref) {
511
+ var _ref$color = _ref.color,
512
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
513
+ _ref$size = _ref.size,
514
+ size = _ref$size === void 0 ? 24 : _ref$size,
515
+ rest = _objectWithoutProperties$2(_ref, ["color", "size"]);
516
+
517
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$2({
518
+ ref: ref,
519
+ xmlns: "http://www.w3.org/2000/svg",
520
+ width: size,
521
+ height: size,
522
+ viewBox: "0 0 24 24",
523
+ fill: "none",
524
+ stroke: color,
525
+ strokeWidth: "2",
526
+ strokeLinecap: "round",
527
+ strokeLinejoin: "round"
528
+ }, rest), /*#__PURE__*/React__default["default"].createElement("path", {
529
+ d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"
530
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
531
+ x1: "1",
532
+ y1: "1",
533
+ x2: "23",
534
+ y2: "23"
535
+ }));
229
536
  });
537
+ EyeOff.propTypes = {
538
+ color: PropTypes__default["default"].string,
539
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
540
+ };
541
+ EyeOff.displayName = 'EyeOff';
542
+
543
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
544
+
545
+ function _objectWithoutProperties$1(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$1(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
546
+
547
+ function _objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
548
+ var Eye = React.forwardRef(function (_ref, ref) {
549
+ var _ref$color = _ref.color,
550
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
551
+ _ref$size = _ref.size,
552
+ size = _ref$size === void 0 ? 24 : _ref$size,
553
+ rest = _objectWithoutProperties$1(_ref, ["color", "size"]);
554
+
555
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$1({
556
+ ref: ref,
557
+ xmlns: "http://www.w3.org/2000/svg",
558
+ width: size,
559
+ height: size,
560
+ viewBox: "0 0 24 24",
561
+ fill: "none",
562
+ stroke: color,
563
+ strokeWidth: "2",
564
+ strokeLinecap: "round",
565
+ strokeLinejoin: "round"
566
+ }, rest), /*#__PURE__*/React__default["default"].createElement("path", {
567
+ d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"
568
+ }), /*#__PURE__*/React__default["default"].createElement("circle", {
569
+ cx: "12",
570
+ cy: "12",
571
+ r: "3"
572
+ }));
573
+ });
574
+ Eye.propTypes = {
575
+ color: PropTypes__default["default"].string,
576
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
577
+ };
578
+ Eye.displayName = 'Eye';
230
579
 
231
580
  const Collapse = (props) => {
232
581
  const [collapsed, setCollapsed] = React.useState(props.initCollapsed || props.collapsed);
@@ -240,8 +589,8 @@ const Collapse = (props) => {
240
589
  React__default["default"].createElement("div", { className: 'mrf-cursor_pointer mrf-flex mrf-jc_between', onClick: toggle },
241
590
  React__default["default"].createElement("span", { className: classNames__default["default"]('mrf-collapse_label', { ['mrf-collapse_error']: props.errored }) }, props.label),
242
591
  React__default["default"].createElement("button", { type: "button", className: classNames__default["default"]('mrf-btn', 'mrf-btn_sm', 'mrf-ml_5', { ['mrf-collapse_error']: props.errored }), onClick: toggle },
243
- !!collapsed && React__default["default"].createElement(reactFeather.Eye, { size: 16 }),
244
- !collapsed && React__default["default"].createElement(reactFeather.EyeOff, { size: 16 }))),
592
+ !!collapsed && React__default["default"].createElement(Eye, { size: 16 }),
593
+ !collapsed && React__default["default"].createElement(EyeOff, { size: 16 }))),
245
594
  React__default["default"].createElement("div", { className: classNames__default["default"]('mrf-ml_10', {
246
595
  ['mrf-display__none']: !!collapsed,
247
596
  ['mrf-flex']: !!props.inline,
@@ -376,12 +725,14 @@ const SelectInput = (props) => {
376
725
  }
377
726
  const possibleValues = (props.possibleValues || [])
378
727
  .map(v => transformOption(v));
379
- const [loading, setLoading] = React.useState(false);
728
+ const [loading, setLoading] = React.useState(true);
380
729
  const [values, setValues] = React.useState(possibleValues);
381
- const [value, setValue] = React.useState(valueToSelectOption(props.value || props.defaultValue, possibleValues, props.isMulti));
730
+ const [value, setValue] = React.useState();
382
731
  React.useEffect(() => {
383
- setValue(valueToSelectOption(props.value, values, props.isMulti));
384
- }, [props.value, values]);
732
+ if (!loading && values.length) {
733
+ setValue(valueToSelectOption(props.value || props.defaultValue, values, props.isMulti));
734
+ }
735
+ }, [props.value, values, props.defaultValue, loading]);
385
736
  React.useEffect(() => {
386
737
  if (props.optionsFrom) {
387
738
  const cond = option(props.fetchCondition)
@@ -401,9 +752,7 @@ const SelectInput = (props) => {
401
752
  promise = props.httpClient(props.optionsFrom, 'GET').then(r => r.json());
402
753
  }
403
754
  promise
404
- .then((values) => {
405
- return values.map(x => transformOption(x));
406
- })
755
+ .then((values) => values.map(x => transformOption(x)))
407
756
  .then((values) => {
408
757
  setValues(values);
409
758
  setValue(values.find((item) => {
@@ -421,6 +770,7 @@ const SelectInput = (props) => {
421
770
  else {
422
771
  setValues((props.possibleValues || [])
423
772
  .map(v => transformOption(v)));
773
+ setTimeout(() => setLoading(false), 250);
424
774
  }
425
775
  }, [props.optionsFrom, props.possibleValues]);
426
776
  const onChange = (changes) => {
@@ -465,13 +815,58 @@ const SelectInput = (props) => {
465
815
  })));
466
816
  }
467
817
  if (props.createOption) {
468
- return (React__default["default"].createElement(CreatableSelect__default["default"], Object.assign({}, props, { name: `${props.label}-search`, isLoading: loading, value: value, isDisabled: props.disabled, placeholder: props.placeholder, onChange: onChange, options: values, onCreateOption: option => handleCreate(option, props.onCreateOption), classNamePrefix: "react-form-select", className: props.className })));
818
+ return (React__default["default"].createElement(CreatableSelect__default["default"], Object.assign({}, props, { name: `${props.label}-search`, isLoading: loading, value: value, isDisabled: loading || props.disabled, placeholder: props.placeholder, onChange: onChange, options: values, onCreateOption: option => handleCreate(option, props.onCreateOption), classNamePrefix: "react-form-select", className: props.className })));
469
819
  }
470
820
  else {
471
- return (React__default["default"].createElement(Select__default["default"], Object.assign({}, props, { name: `${props.label}-search`, isLoading: loading, value: value, defaultValue: value, isDisabled: props.disabled, placeholder: props.placeholder, options: values, onChange: onChange, classNamePrefix: "react-form-select", className: props.className })));
821
+ return (React__default["default"].createElement(Select__default["default"], Object.assign({}, props, { name: `${props.label}-search`, isLoading: loading, value: value, defaultValue: value, isDisabled: loading || props.disabled, placeholder: props.placeholder, options: values, onChange: onChange, classNamePrefix: "react-form-select", className: props.className })));
472
822
  }
473
823
  };
474
824
 
825
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
826
+
827
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
828
+
829
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
830
+ var PlusCircle = React.forwardRef(function (_ref, ref) {
831
+ var _ref$color = _ref.color,
832
+ color = _ref$color === void 0 ? 'currentColor' : _ref$color,
833
+ _ref$size = _ref.size,
834
+ size = _ref$size === void 0 ? 24 : _ref$size,
835
+ rest = _objectWithoutProperties(_ref, ["color", "size"]);
836
+
837
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
838
+ ref: ref,
839
+ xmlns: "http://www.w3.org/2000/svg",
840
+ width: size,
841
+ height: size,
842
+ viewBox: "0 0 24 24",
843
+ fill: "none",
844
+ stroke: color,
845
+ strokeWidth: "2",
846
+ strokeLinecap: "round",
847
+ strokeLinejoin: "round"
848
+ }, rest), /*#__PURE__*/React__default["default"].createElement("circle", {
849
+ cx: "12",
850
+ cy: "12",
851
+ r: "10"
852
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
853
+ x1: "12",
854
+ y1: "8",
855
+ x2: "12",
856
+ y2: "16"
857
+ }), /*#__PURE__*/React__default["default"].createElement("line", {
858
+ x1: "8",
859
+ y1: "12",
860
+ x2: "16",
861
+ y2: "12"
862
+ }));
863
+ });
864
+ PlusCircle.propTypes = {
865
+ color: PropTypes__default["default"].string,
866
+ size: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
867
+ };
868
+ PlusCircle.displayName = 'PlusCircle';
869
+
475
870
  const ObjectInput = (props) => {
476
871
  const [internalState, setInternalState] = React.useState({});
477
872
  React.useEffect(() => {
@@ -526,14 +921,14 @@ const ObjectInput = (props) => {
526
921
  };
527
922
  return (React__namespace.createElement("div", { className: props.className },
528
923
  Object.keys(internalState || {}).length === 0 && (React__namespace.createElement("button", { disabled: props.disabled, type: "button", className: 'mrf-flex mrf-btn mrf-btn_blue mrf-btn_sm', onClick: addFirst },
529
- React__namespace.createElement(reactFeather.PlusCircle, null))),
924
+ React__namespace.createElement(PlusCircle, null))),
530
925
  Object.entries(internalState || {}).map(([id, { key, value }], idx) => (React__namespace.createElement("div", { className: 'mrf-flex mrf-mt_5', key: idx },
531
926
  React__namespace.createElement("input", { disabled: props.disabled, type: "text", className: 'mrf-w_50 mrf-input', placeholder: props.placeholderKey, value: key, onChange: e => changeKey(id, e.target.value) }),
532
927
  React__namespace.createElement("input", { disabled: props.disabled, type: "text", className: 'mrf-w_50 mrf-input', placeholder: props.placeholderValue, value: value, onChange: e => changeValue(id, e.target.value) }),
533
928
  React__namespace.createElement("button", { disabled: props.disabled, type: "button", className: 'mrf-flex mrf-btn mrf-btn_red mrf-btn_sm mrf-ml_10', onClick: () => remove(id) },
534
- React__namespace.createElement(reactFeather.MinusCircle, null)),
929
+ React__namespace.createElement(PlusCircle, null)),
535
930
  idx === Object.keys(internalState).length - 1 && (React__namespace.createElement("button", { disabled: props.disabled, type: "button", className: 'mrf-flex mrf-btn mrf-btn_blue mrf-btn_sm mrf-ml_5', onClick: addNext },
536
- React__namespace.createElement(reactFeather.PlusCircle, null))))))));
931
+ React__namespace.createElement(PlusCircle, null))))))));
537
932
  };
538
933
 
539
934
  // Compressed representation of the Grapheme_Cluster_Break=Extend
@@ -27674,7 +28069,7 @@ function CodeInput({ onChange, value, mode = 'javascript', tabSize = 2, readOnly
27674
28069
  width: '-1',
27675
28070
  minWidth: '-1',
27676
28071
  maxWidth: '-1',
27677
- }, setRef }) {
28072
+ }, className, setRef }) {
27678
28073
  const ref = React.useRef();
27679
28074
  const [editor, setEditor] = React.useState();
27680
28075
  React.useEffect(() => {
@@ -27704,7 +28099,7 @@ function CodeInput({ onChange, value, mode = 'javascript', tabSize = 2, readOnly
27704
28099
  });
27705
28100
  }
27706
28101
  }, [value]);
27707
- return React__default["default"].createElement("div", { ref: ref });
28102
+ return React__default["default"].createElement("div", { className: className, ref: ref });
27708
28103
  }
27709
28104
 
27710
28105
  const converter = new showdown__default["default"].Converter({
@@ -27939,7 +28334,7 @@ const getShapeAndDependencies = (flow, schema, dependencies = [], rawData = {})
27939
28334
 
27940
28335
  const CustomizableInput$1 = React__namespace.memo((props) => {
27941
28336
  if (props.render) {
27942
- return (props.render(Object.assign(Object.assign({}, props.field), { error: props.error })));
28337
+ return (props.render(Object.assign(Object.assign({}, props.field), { error: props.error, informations: props.informations })));
27943
28338
  }
27944
28339
  return props.children;
27945
28340
  }, (prev, next) => {
@@ -27949,15 +28344,16 @@ const CustomizableInput$1 = React__namespace.memo((props) => {
27949
28344
  return (prev.field.value === next.field.value && next.errorDisplayed === prev.errorDisplayed && cleanHash(next.step) === cleanHash(prev.step));
27950
28345
  });
27951
28346
  const ControlledInput = (inputProps) => {
27952
- const { step, entry, children, component, errorDisplayed = false } = inputProps;
28347
+ const { step, entry, children, component, errorDisplayed = false, informations } = inputProps;
27953
28348
  const { field } = reactHookForm.useController({
27954
28349
  defaultValue: isDefined(step.defaultValue) ? step.defaultValue : null,
27955
28350
  name: entry
27956
28351
  });
27957
28352
  const { getValues, setValue, formState: { errors } } = reactHookForm.useFormContext();
28353
+ const error = entry.split('.').reduce((acc, curr) => acc && acc[curr], errors);
27958
28354
  const functionalProperty = (entry, prop) => {
27959
28355
  if (typeof prop === 'function') {
27960
- return prop({ rawValues: getValues(), value: getValues(entry) });
28356
+ return prop({ rawValues: getValues(), value: getValues(entry), informations, error, getValue: (key) => getValues(key) });
27961
28357
  }
27962
28358
  else {
27963
28359
  return prop;
@@ -27985,8 +28381,7 @@ const ControlledInput = (inputProps) => {
27985
28381
  option(step.onChange)
27986
28382
  .map(onChange => onChange({ rawValues: getValues(), value, setValue }));
27987
28383
  }, value: field.value });
27988
- const error = entry.split('.').reduce((acc, curr) => acc && acc[curr], errors);
27989
- return React__namespace.createElement(CustomizableInput$1, { render: step.render, step: step, field: Object.assign({ parent, setValue: (key, value) => setValue(key, value), rawValues: getValues() }, field), error: error, errorDisplayed: errorDisplayed }, component ? component(field, props) : React__namespace.cloneElement(children, Object.assign({}, props)));
28384
+ return React__namespace.createElement(CustomizableInput$1, { render: step.render, step: step, field: Object.assign({ setValue: (key, value) => setValue(key, value), rawValues: getValues(), getValue: (key) => getValues(key) }, field), error: error, errorDisplayed: errorDisplayed, informations: informations }, component ? component(field, props) : React__namespace.cloneElement(children, Object.assign({}, props)));
27990
28385
  };
27991
28386
 
27992
28387
  const usePrevious = (value) => {
@@ -28000,36 +28395,22 @@ const usePrevious = (value) => {
28000
28395
  // Return previous value (happens before update in useEffect above)
28001
28396
  return ref.current;
28002
28397
  };
28003
- const BasicWrapper = ({ entry, children, render, functionalProperty, step }) => {
28004
- const { formState, watch } = reactHookForm.useFormContext();
28398
+ const BasicWrapper = ({ entry, children, render, functionalProperty, step, informations }) => {
28399
+ const { formState } = reactHookForm.useFormContext();
28005
28400
  if (typeof entry === 'object') {
28006
28401
  return children;
28007
28402
  }
28008
- const visibleStep = option(step)
28009
- .map(s => s.visible)
28010
- .map(visible => {
28011
- let value;
28012
- switch (typeof visible) {
28013
- case 'object':
28014
- value = watch(visible.ref);
28015
- return option(visible.test).map(test => test(value)).getOrElse(value);
28016
- case 'boolean':
28017
- return visible;
28018
- default:
28019
- return true;
28020
- }
28021
- })
28022
- .getOrElse(true);
28023
- if (!visibleStep) {
28024
- return null;
28025
- }
28026
- const computedLabel = functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry);
28027
- const id = uuid$1.v4();
28028
28403
  // FIXME not sure it works as intended with more two or more parts
28029
28404
  const error = entry.split('.').reduce((acc, curr) => acc && acc[curr], formState.errors);
28030
28405
  const isDirty = entry.split('.').reduce((acc, curr) => acc && acc[curr], formState.dirtyFields);
28031
28406
  const isTouched = entry.split('.').reduce((acc, curr) => acc && acc[curr], formState.touchedFields);
28032
28407
  const errorDisplayed = formState.isSubmitted || isDirty || isTouched;
28408
+ const visibleStep = functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.visible) === undefined ? true : step.visible, informations, error);
28409
+ if (!visibleStep) {
28410
+ return null;
28411
+ }
28412
+ const computedLabel = functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry, informations);
28413
+ const id = uuid$1.v4();
28033
28414
  if (render) {
28034
28415
  return render({ entry, label: computedLabel, error, help: step === null || step === void 0 ? void 0 : step.help, children });
28035
28416
  }
@@ -28039,13 +28420,13 @@ const BasicWrapper = ({ entry, children, render, functionalProperty, step }) =>
28039
28420
  (step === null || step === void 0 ? void 0 : step.help) && React__default["default"].createElement(React__default["default"].Fragment, null,
28040
28421
  React__default["default"].createElement(ReactToolTip__default["default"], { html: true, place: 'bottom', id: id }),
28041
28422
  React__default["default"].createElement("span", { className: 'mrf-flex mrf-ai_center', "data-html": true, "data-tip": step === null || step === void 0 ? void 0 : step.help, "data-for": id },
28042
- React__default["default"].createElement(reactFeather.HelpCircle, { style: { color: 'gray', width: 17, marginLeft: '.5rem', cursor: 'help' } })))),
28423
+ React__default["default"].createElement(HelpCircle, { style: { color: 'gray', width: 17, marginLeft: '.5rem', cursor: 'help' } })))),
28043
28424
  children,
28044
28425
  error && React__default["default"].createElement("div", { className: classNames__default["default"]('mrf-feedback', { ['mrf-txt_red']: !!errorDisplayed }) }, error.message)));
28045
28426
  };
28046
28427
  const CustomizableInput = (props) => {
28047
28428
  if (props.render) {
28048
- return (props.render(Object.assign(Object.assign({}, props.field), { error: props.error })));
28429
+ return (props.render(Object.assign(Object.assign({}, props), { error: props.error })));
28049
28430
  }
28050
28431
  return props.children;
28051
28432
  };
@@ -28206,7 +28587,7 @@ const Form = React__default["default"].forwardRef(function Form({ schema, flow,
28206
28587
  // reset(cleanInputArray(value, defaultValues, flow, schema))
28207
28588
  // setReset(true)
28208
28589
  // }, [reset])
28209
- const { handleSubmit, formState: { errors, dirtyFields }, reset, trigger, getValues, watch } = methods;
28590
+ const { handleSubmit, reset, trigger, getValues } = methods;
28210
28591
  React.useEffect(() => {
28211
28592
  if (!!options.showErrorsOnStart) {
28212
28593
  trigger();
@@ -28215,9 +28596,9 @@ const Form = React__default["default"].forwardRef(function Form({ schema, flow,
28215
28596
  useHashEffect(() => {
28216
28597
  reset(Object.assign({}, cleanInputArray(value, defaultValues, flow, schema)));
28217
28598
  }, [value, schema]);
28218
- const functionalProperty = (entry, prop) => {
28599
+ const functionalProperty = (entry, prop, informations, error) => {
28219
28600
  if (typeof prop === 'function') {
28220
- return prop({ rawValues: getValues(), value: getValues(entry) }); // FIXME why ???
28601
+ return prop({ rawValues: getValues(), value: getValues(entry), informations, getValue: (key) => getValues(key), error });
28221
28602
  }
28222
28603
  else {
28223
28604
  return prop;
@@ -28238,13 +28619,17 @@ const Form = React__default["default"].forwardRef(function Form({ schema, flow,
28238
28619
  onSubmit(clean);
28239
28620
  }, onError) },
28240
28621
  formFlow.map((entry, idx) => {
28241
- const step = typeof entry === "object" ? undefined : schema[entry];
28622
+ if (typeof entry === 'object') {
28623
+ return (React__default["default"].createElement(CollapsedStep, { key: idx, entry: entry, schema: schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, functionalProperty: functionalProperty }));
28624
+ }
28625
+ const step = schema[entry];
28242
28626
  if (!step && typeof entry === 'string') {
28243
28627
  console.error(`no step found for the entry "${entry}" in the given schema. Your form might not work properly. Please fix it`);
28244
28628
  return null;
28245
28629
  }
28246
- return (React__default["default"].createElement(BasicWrapper, { key: `${entry}-${idx}`, entry: entry, functionalProperty: functionalProperty, render: inputWrapper, step: step },
28247
- React__default["default"].createElement(Step, { key: idx, entry: entry, step: step, schema: schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, functionalProperty: functionalProperty })));
28630
+ const informations = { path: entry };
28631
+ return (React__default["default"].createElement(BasicWrapper, { key: `${entry}-${idx}`, entry: entry, functionalProperty: functionalProperty, render: inputWrapper, step: step, informations: informations },
28632
+ React__default["default"].createElement(Step, { key: idx, entry: entry, step: step, schema: schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, functionalProperty: functionalProperty, informations: informations })));
28248
28633
  }),
28249
28634
  React__default["default"].createElement(Footer, { render: footer, reset: () => reset(defaultValues), valid: handleSubmit(data => onSubmit(cleanOutputArray(data, schema)), onError), actions: options.actions }))));
28250
28635
  });
@@ -28259,26 +28644,32 @@ const Footer = (props) => {
28259
28644
  ((_k = (_j = props.actions) === null || _j === void 0 ? void 0 : _j.reset) === null || _k === void 0 ? void 0 : _k.display) && React__default["default"].createElement("button", { className: 'mrf-btn mrf-btn_red', type: "button", onClick: props.reset }, ((_m = (_l = props.actions) === null || _l === void 0 ? void 0 : _l.reset) === null || _m === void 0 ? void 0 : _m.label) || 'Reset'),
28260
28645
  isSubmitDisplayed && React__default["default"].createElement("button", { className: 'mrf-btn mrf-btn_green mrf-ml_10', type: "submit" }, ((_p = (_o = props.actions) === null || _o === void 0 ? void 0 : _o.submit) === null || _p === void 0 ? void 0 : _p.label) || 'Save')));
28261
28646
  };
28647
+ const CollapsedStep = (props) => {
28648
+ let { entry, schema, inputWrapper, httpClient, functionalProperty } = props;
28649
+ const { formState: { errors, dirtyFields, touchedFields } } = reactHookForm.useFormContext();
28650
+ const errored = extractFlowString(entry).some(step => !!errors[step] && (dirtyFields[step] || touchedFields[step]));
28651
+ //FIXME: get collapse errors
28652
+ return (React__default["default"].createElement(Collapse, Object.assign({}, entry, { errored: errored }), entry.flow.map((en, entryIdx) => {
28653
+ if (typeof en === 'object') {
28654
+ return (React__default["default"].createElement(CollapsedStep, Object.assign({ key: entryIdx }, props, { entry: en })));
28655
+ }
28656
+ const stp = schema[en];
28657
+ if (!stp && typeof en === 'string') {
28658
+ console.error(`no step found for the entry "${en}" in the given schema. Your form might not work properly. Please fix it`);
28659
+ return null;
28660
+ }
28661
+ const informations = { path: en };
28662
+ return (React__default["default"].createElement(BasicWrapper, { key: `collapse-${en}-${entryIdx}`, entry: en, functionalProperty: functionalProperty, step: stp, render: inputWrapper, informations: informations },
28663
+ React__default["default"].createElement(Step, { entry: en, step: stp, schema: schema, inputWrapper: inputWrapper, httpClient: httpClient, defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue, functionalProperty: functionalProperty, informations: informations })));
28664
+ })));
28665
+ };
28262
28666
  const Step = (props) => {
28263
- let { entry, realEntry, step, schema, inputWrapper, httpClient, defaultValue, index, functionalProperty, parent, parentInformations } = props;
28667
+ let { entry, realEntry, step, schema, inputWrapper, httpClient, defaultValue, index, functionalProperty, informations } = props;
28264
28668
  const { formState: { errors, dirtyFields, touchedFields, isSubmitted }, control, getValues, setValue, watch } = reactHookForm.useFormContext();
28265
- if (entry && typeof entry === 'object') {
28266
- const errored = extractFlowString(entry).some(step => !!errors[step] && (dirtyFields[step] || touchedFields[step]));
28267
- return (React__default["default"].createElement(Collapse, Object.assign({}, entry, { errored: errored }), entry.flow.map((en, entryIdx) => {
28268
- const stp = typeof en === "object" ? undefined : schema[en]; // TODO Factorise this logic
28269
- if (!stp && typeof en === 'string') {
28270
- console.error(`no step found for the entry "${en}" in the given schema. Your form might not work properly. Please fix it`);
28271
- return null;
28272
- }
28273
- return (React__default["default"].createElement(BasicWrapper, { key: `collapse-${en}-${entryIdx}`, entry: en, functionalProperty: functionalProperty, step: stp, render: inputWrapper },
28274
- React__default["default"].createElement(Step, { entry: en, step: stp, schema: schema, inputWrapper: inputWrapper, httpClient: httpClient, defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue, functionalProperty: functionalProperty, parentInformations: parentInformations })));
28275
- })));
28276
- }
28277
28669
  const error = entry.split('.').reduce((acc, curr) => acc && acc[curr], errors);
28278
28670
  const isDirty = entry.split('.').reduce((acc, curr) => acc && acc[curr], dirtyFields);
28279
28671
  const isTouched = entry.split('.').reduce((acc, curr) => acc && acc[curr], touchedFields);
28280
28672
  const errorDisplayed = (!!error && (isSubmitted || isDirty || isTouched));
28281
- const informations = { path: entry, parent: parentInformations, index };
28282
28673
  step = step;
28283
28674
  if (step.onAfterChange) {
28284
28675
  const data = watch();
@@ -28301,64 +28692,60 @@ const Step = (props) => {
28301
28692
  });
28302
28693
  }
28303
28694
  if (step.array) {
28304
- return (React__default["default"].createElement(CustomizableInput, { render: step.render, field: {
28305
- setValue: (key, value) => setValue(key, value), rawValues: getValues(), value: getValues(entry), onChange: (v) => setValue(entry, v)
28306
- }, error: !!error },
28307
- React__default["default"].createElement(ArrayStep, { entry: entry, step: step, disabled: functionalProperty(entry, step.disabled || false), component: ((props, idx) => {
28695
+ return (React__default["default"].createElement(CustomizableInput, { render: step.render, rawValues: getValues(), value: getValues(entry), onChange: (v) => setValue(entry, v), setValue: (key, value) => setValue(key, value), getValue: (key) => getValues(key), informations: informations, error: !!error },
28696
+ React__default["default"].createElement(ArrayStep, { entry: entry, step: step, disabled: functionalProperty(entry, step.disabled || false, informations, error), component: ((props, idx) => {
28308
28697
  var _a;
28309
- return (React__default["default"].createElement(Step, { entry: `${entry}.${idx}.value`, step: Object.assign(Object.assign({}, (schema[realEntry || entry])), { render: step.itemRender, onChange: undefined, array: false, onAfterChange: step.onAfterChange }), schema: schema, inputWrapper: inputWrapper, httpClient: httpClient, defaultValue: (_a = props.defaultValue) === null || _a === void 0 ? void 0 : _a.value, index: idx, functionalProperty: functionalProperty, parentInformations: informations }));
28698
+ return (React__default["default"].createElement(Step, { entry: `${entry}.${idx}.value`, step: Object.assign(Object.assign({}, (schema[realEntry || entry])), { render: step.itemRender, onChange: undefined, array: false, onAfterChange: step.onAfterChange }), schema: schema, inputWrapper: inputWrapper, httpClient: httpClient, defaultValue: (_a = props.defaultValue) === null || _a === void 0 ? void 0 : _a.value, index: idx, functionalProperty: functionalProperty, informations: { path: entry, parent: informations, index: idx } }));
28310
28699
  }) })));
28311
28700
  }
28312
28701
  switch (step.type) {
28313
28702
  case type.string:
28314
28703
  switch (step.format) {
28315
28704
  case format.text:
28316
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28705
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28317
28706
  React__default["default"].createElement("textarea", { className: classNames__default["default"]('mrf-input', step.className, { 'mrf-mrf-input__invalid': !!errorDisplayed }) })));
28318
28707
  case format.code:
28319
28708
  case format.singleLineCode:
28320
28709
  const Component = step.format === format.code ? CodeInput : SingleLineCode;
28321
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28322
- React__default["default"].createElement(Component /*TODO try to pass className down OR use built in mechanism to display error classNames(step.className, { 'mrf-input__invalid': !!errorDisplayed })}*/, null)));
28710
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28711
+ React__default["default"].createElement(Component, { className: classNames__default["default"](step === null || step === void 0 ? void 0 : step.className, { 'mrf-input__invalid': !!error }) })));
28323
28712
  case format.markdown:
28324
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28713
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28325
28714
  React__default["default"].createElement(MarkdownInput, { className: classNames__default["default"](step.className, { 'mrf-input__invalid': !!errorDisplayed }) })));
28326
28715
  case format.buttonsSelect:
28327
28716
  case format.select: {
28328
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28329
- React__default["default"].createElement(SelectInput, Object.assign({ className: classNames__default["default"]('mrf-flex_grow_1', step.className, { 'mrf-input__invalid': !!errorDisplayed }), disabled: functionalProperty(entry, step.disabled || false) }, step.props, { possibleValues: step.options, httpClient: httpClient, isMulti: step.isMulti, createOption: step.createOption, onCreateOption: step.onCreateOption, transformer: step.transformer, buttons: step.format === format.buttonsSelect, optionsFrom: step.optionsFrom }))));
28717
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28718
+ React__default["default"].createElement(SelectInput, Object.assign({ className: classNames__default["default"]('mrf-flex_grow_1', step.className, { 'mrf-input__invalid': !!errorDisplayed }), disabled: functionalProperty(entry, step.disabled || false, informations, error) }, step.props, { possibleValues: step.options, httpClient: httpClient, isMulti: step.isMulti, createOption: step.createOption, onCreateOption: step.onCreateOption, transformer: step.transformer, buttons: step.format === format.buttonsSelect, optionsFrom: step.optionsFrom }))));
28330
28719
  }
28331
28720
  default:
28332
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28721
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28333
28722
  React__default["default"].createElement("input", { type: step.format || 'text', className: classNames__default["default"]('mrf-input', step.className, { 'mrf-input__invalid': !!errorDisplayed }) })));
28334
28723
  }
28335
28724
  case type.number:
28336
28725
  switch (step.format) {
28337
28726
  case format.buttonsSelect:
28338
28727
  case format.select:
28339
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28728
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28340
28729
  React__default["default"].createElement(SelectInput, Object.assign({ className: classNames__default["default"]('mrf-content', step.className, { 'mrf-input__invalid': !!errorDisplayed }) }, step.props, { possibleValues: step.options, httpClient: httpClient, isMulti: step.isMulti, createOption: step.createOption, onCreateOption: step.onCreateOption, transformer: step.transformer, buttons: step.format === format.buttonsSelect, optionsFrom: step.optionsFrom }))));
28341
28730
  default:
28342
- return React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28731
+ return React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28343
28732
  React__default["default"].createElement("input", { type: step.format || 'number', className: classNames__default["default"]('mrf-input', step.className, { 'mrf-input__invalid': !!errorDisplayed }) }));
28344
28733
  }
28345
28734
  case type.bool:
28346
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28347
- React__default["default"].createElement(BooleanInput /* TODO see how to pass error down className={classNames(step.className, { 'mrf-input__invalid': !!errorDisplayed })}*/, null)));
28735
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28736
+ React__default["default"].createElement(BooleanInput, { className: step.className, errorDisplayed: errorDisplayed })));
28348
28737
  case type.object:
28349
28738
  switch (step.format) {
28350
28739
  case format.buttonsSelect:
28351
28740
  case format.select:
28352
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28741
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28353
28742
  React__default["default"].createElement(SelectInput, Object.assign({ className: classNames__default["default"]('mrf-flex_grow_1', step.className, { 'mrf-input__invalid': !!errorDisplayed }) }, step.props, { possibleValues: step.options, httpClient: httpClient, isMulti: step.isMulti, createOption: step.createOption, onCreateOption: step.onCreateOption, transformer: step.transformer, buttons: step.format === format.buttonsSelect, optionsFrom: step.optionsFrom }))));
28354
28743
  case format.form: //todo: disabled ?
28355
28744
  const flow = option(step.flow).getOrElse(option(step.schema).map(s => Object.keys(s)).getOrElse([]));
28356
- return (React__default["default"].createElement(CustomizableInput, { render: step.render, field: { parent, setValue: (key, value) => setValue(key, value), rawValues: getValues(), value: getValues(entry), onChange: (v) => setValue(entry, v, { shouldValidate: true }) } },
28745
+ return (React__default["default"].createElement(CustomizableInput, { render: step.render, rawValues: getValues(), value: getValues(entry), onChange: (v) => setValue(entry, v, { shouldValidate: true }), setValue: (key, value) => setValue(key, value), getValue: (key) => getValues(key), informations: informations },
28357
28746
  React__default["default"].createElement(NestedForm, { schema: step.schema, flow: flow, step: step, parent: entry, inputWrapper: inputWrapper, maybeCustomHttpClient: httpClient, value: getValues(entry) || defaultValue, functionalProperty: functionalProperty, errorDisplayed: errorDisplayed, informations: informations })));
28358
28747
  case format.code:
28359
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, component: (field, props) => (React__default["default"].createElement(CodeInput, Object.assign({}, props, {
28360
- /* TODO className={classNames(step.className, { 'mrf-input__invalid': !!error })}*/
28361
- onChange: (e) => {
28748
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations, component: (field, props) => (React__default["default"].createElement(CodeInput, Object.assign({}, props, { className: classNames__default["default"](step === null || step === void 0 ? void 0 : step.className, { 'mrf-input__invalid': !!error }), onChange: (e) => {
28362
28749
  let v;
28363
28750
  try {
28364
28751
  v = JSON.parse(e);
@@ -28371,12 +28758,28 @@ const Step = (props) => {
28371
28758
  .map(onChange => onChange({ rawValues: getValues(), value: v, setValue }));
28372
28759
  }, value: field.value === null ? null : ((typeof field.value === 'object') ? JSON.stringify(field.value, null, 2) : field.value) }))) }));
28373
28760
  default:
28374
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28761
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28375
28762
  React__default["default"].createElement(ObjectInput, { className: classNames__default["default"](step.className, { 'mrf-input__invalid': !!errorDisplayed }) })));
28376
28763
  }
28377
28764
  case type.date:
28378
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28379
- React__default["default"].createElement(reactRainbowComponents.DatePicker, { className: classNames__default["default"]('mrf-datepicker', step.className, { 'mrf-input__invalid': !!errorDisplayed }), formatStyle: "large" })));
28765
+ switch (step.format) {
28766
+ case format.datetime:
28767
+ console.debug('datetime');
28768
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, informations: informations, component: (field) => {
28769
+ return (React__default["default"].createElement(LocalizationProvider.LocalizationProvider, { dateAdapter: AdapterDateFns.AdapterDateFns },
28770
+ React__default["default"].createElement(DateTimePicker.DateTimePicker, { value: field.value, onChange: field.onChange, renderInput: (params) => React__default["default"].createElement(TextField__default["default"], Object.assign({}, params)) })));
28771
+ } }));
28772
+ case format.time:
28773
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, informations: informations, component: (field) => {
28774
+ return (React__default["default"].createElement(LocalizationProvider.LocalizationProvider, { dateAdapter: AdapterDateFns.AdapterDateFns },
28775
+ React__default["default"].createElement(TimePicker.TimePicker, { value: field.value, onChange: field.onChange, renderInput: (params) => React__default["default"].createElement(TextField__default["default"], Object.assign({}, params)) })));
28776
+ } }));
28777
+ default:
28778
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, informations: informations, component: (field) => {
28779
+ return (React__default["default"].createElement(LocalizationProvider.LocalizationProvider, { dateAdapter: AdapterDateFns.AdapterDateFns },
28780
+ React__default["default"].createElement(DatePicker.DatePicker, { value: field.value, onChange: field.onChange, renderInput: (params) => React__default["default"].createElement(TextField__default["default"], Object.assign({}, params)) })));
28781
+ } }));
28782
+ }
28380
28783
  case type.file:
28381
28784
  return (React__default["default"].createElement(reactHookForm.Controller, { name: entry, control: control, render: ({ field }) => {
28382
28785
  const FileInput = ({ onChange }) => {
@@ -28394,19 +28797,17 @@ const Step = (props) => {
28394
28797
  const files = field.value || [];
28395
28798
  return (React__default["default"].createElement("div", { className: classNames__default["default"]('mrf-flex', 'mrf-ai_center', step === null || step === void 0 ? void 0 : step.className, { 'mrf-input__invalid': !!error }) },
28396
28799
  React__default["default"].createElement("input", { ref: (r) => setInput(r), type: "file", multiple: true, className: 'mrf-d_none', onChange: setFiles }),
28397
- React__default["default"].createElement("button", { type: "button", className: 'mrf-btn mrf-btn_sm mrf-flex mrf-ai_center', disabled: uploading || functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.disabled) || false), onClick: trigger },
28398
- uploading && React__default["default"].createElement(reactFeather.Loader, null),
28399
- !uploading && React__default["default"].createElement(reactFeather.Upload, null),
28800
+ React__default["default"].createElement("button", { type: "button", className: 'mrf-btn mrf-btn_sm mrf-flex mrf-ai_center', disabled: uploading || functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.disabled) || false, informations, error), onClick: trigger },
28801
+ uploading && React__default["default"].createElement(Loader, null),
28802
+ !uploading && React__default["default"].createElement(Upload, null),
28400
28803
  React__default["default"].createElement("span", { className: 'mrf-ml_5' }, "Select file(s)")),
28401
28804
  React__default["default"].createElement("span", { className: 'mrf-ml_5' }, files.length <= 0 ? 'No files selected' : files.map(r => r.name).join(" , "))));
28402
28805
  };
28403
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed },
28806
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, errorDisplayed: errorDisplayed, informations: informations },
28404
28807
  React__default["default"].createElement(FileInput, null)));
28405
28808
  } }));
28406
28809
  case type.json:
28407
- return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, component: (field, props) => (React__default["default"].createElement(CodeInput, Object.assign({}, props, {
28408
- /* TODO className={classNames({ 'mrf-input__invalid': !!error })} */
28409
- onChange: (v) => {
28810
+ return (React__default["default"].createElement(ControlledInput, { step: step, entry: entry, informations: informations, component: (field, props) => (React__default["default"].createElement(CodeInput, Object.assign({}, props, { className: classNames__default["default"](step === null || step === void 0 ? void 0 : step.className, { 'mrf-input__invalid': !!error }), onChange: (v) => {
28410
28811
  field.onChange(v);
28411
28812
  option(step === null || step === void 0 ? void 0 : step.onChange)
28412
28813
  .map(onChange => onChange({ rawValues: getValues(), value: v, setValue }));
@@ -28433,7 +28834,7 @@ const ArrayStep = ({ entry, step, component, disabled }) => {
28433
28834
  remove(idx);
28434
28835
  trigger(entry);
28435
28836
  } },
28436
- React__default["default"].createElement(reactFeather.Trash2, { size: 16 })))));
28837
+ React__default["default"].createElement(Trash2, { size: 16 })))));
28437
28838
  }),
28438
28839
  React__default["default"].createElement("div", { className: 'mrf-flex mrf-jc_flex_end' },
28439
28840
  React__default["default"].createElement("button", { type: "button", className: classNames__default["default"]('mrf-btn', 'mrf-btn_blue', 'mrf-btn_sm', 'mrf-mt_5', { ['mrf-input__invalid']: !!errorDisplayed }), onClick: () => {
@@ -28477,31 +28878,21 @@ const NestedForm = ({ schema, flow, parent, inputWrapper, maybeCustomHttpClient,
28477
28878
  return [...acc, { step, entry }];
28478
28879
  }, []);
28479
28880
  const bordered = computedSandF.length >= 1 && step.label !== null;
28480
- return (React__default["default"].createElement("div", { className: classNames__default["default"]({ ['mrf-nestedform__border']: bordered, ['mrf-border__error']: !!errorDisplayed }), style: { position: 'relative' } },
28881
+ return (React__default["default"].createElement("div", { className: classNames__default["default"](step.className, { ['mrf-nestedform__border']: bordered, ['mrf-border__error']: !!errorDisplayed }), style: { position: 'relative' } },
28481
28882
  !!step.collapsable && schemaAndFlow.flow.length > 1 && collapsed &&
28482
- React__default["default"].createElement(reactFeather.ChevronDown, { size: 30, className: 'mrf-cursor_pointer', style: { position: 'absolute', top: -35, right: 0, zIndex: 100 }, strokeWidth: "2", onClick: () => setCollapsed(!collapsed) }),
28883
+ React__default["default"].createElement(ChevronDown, { size: 30, className: 'mrf-cursor_pointer', style: { position: 'absolute', top: -35, right: 0, zIndex: 100 }, strokeWidth: "2", onClick: () => setCollapsed(!collapsed) }),
28483
28884
  !!step.collapsable && schemaAndFlow.flow.length > 1 && !collapsed &&
28484
- React__default["default"].createElement(reactFeather.ChevronUp, { size: 30, className: 'mrf-cursor_pointer', style: { position: 'absolute', top: -35, right: 0, zIndex: 100 }, strokeWidth: "2", onClick: () => setCollapsed(!collapsed) }),
28885
+ React__default["default"].createElement(ChevronUp, { size: 30, className: 'mrf-cursor_pointer', style: { position: 'absolute', top: -35, right: 0, zIndex: 100 }, strokeWidth: "2", onClick: () => setCollapsed(!collapsed) }),
28485
28886
  computedSandF.map(({ step, entry }, idx) => {
28887
+ if (typeof entry === 'object') {
28888
+ return (React__default["default"].createElement(CollapsedStep, { key: idx, entry: entry, schema: schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, functionalProperty: functionalProperty }));
28889
+ }
28486
28890
  if (!step && typeof entry === 'string') {
28487
28891
  console.error(`no step found for the entry "${entry}" in the given schema. Your form might not work properly. Please fix it`);
28488
28892
  return null;
28489
28893
  }
28490
- if (typeof entry === "object") {
28491
- const errored = extractFlowString(entry).some(step => !!errors[step] && (dirtyFields[step] || touchedFields[step])); /* FIXME does it works in case of Flow object ? Need to do a "flatMap" to retrieve all leafs string of flows objects */
28492
- return React__default["default"].createElement(Collapse, Object.assign({}, entry, { errored: errored }), entry.flow.map((en, entryIdx) => {
28493
- const stp = typeof en === "object" ? undefined : schema[en];
28494
- if (!stp && typeof en === 'string') {
28495
- console.error(`no step found for the entry "${en}" in the given schema. Your form might not work properly. Please fix it`);
28496
- return null;
28497
- }
28498
- return (React__default["default"].createElement(BasicWrapper, { key: `collapse-${en}-${entryIdx}`, entry: en, functionalProperty: functionalProperty, step: stp, render: inputWrapper },
28499
- React__default["default"].createElement(Step, { entry: en, step: stp, schema: schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, defaultValue: stp === null || stp === void 0 ? void 0 : stp.defaultValue, functionalProperty: functionalProperty })));
28500
- }));
28501
- // TODO return collapse, then entry will always be a string in below return
28502
- }
28503
- return (React__default["default"].createElement(BasicWrapper, { key: `${entry}.${idx}`, className: classNames__default["default"]({ ['mrf-display__none']: (collapsed && !step.visibleOnCollapse) }), entry: `${parent}.${entry}`, functionalProperty: functionalProperty, step: step, render: inputWrapper },
28504
- React__default["default"].createElement(Step, { key: `step.${entry}.${idx}`, entry: `${parent}.${entry}`, realEntry: entry, step: schemaAndFlow.schema[entry], parent: parent, schema: schemaAndFlow.schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, defaultValue: value && value[entry], functionalProperty: functionalProperty, parentInformations: informations })));
28894
+ return (React__default["default"].createElement(BasicWrapper, { key: `${entry}.${idx}`, className: classNames__default["default"]({ ['mrf-display__none']: (collapsed && !step.visibleOnCollapse) }), entry: `${parent}.${entry}`, functionalProperty: functionalProperty, step: step, render: inputWrapper, informations: { path: entry, parent: informations } },
28895
+ React__default["default"].createElement(Step, { key: `step.${entry}.${idx}`, entry: `${parent}.${entry}`, realEntry: entry, step: schemaAndFlow.schema[entry], schema: schemaAndFlow.schema, inputWrapper: inputWrapper, httpClient: maybeCustomHttpClient, defaultValue: value && value[entry], functionalProperty: functionalProperty, informations: { path: entry, parent: informations } })));
28505
28896
  })));
28506
28897
  };
28507
28898
  function extractFlowString(entry) {