@maif/react-forms 1.0.9 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/form.js CHANGED
@@ -55,14 +55,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
55
55
 
56
56
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
57
 
58
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
59
-
60
58
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
61
59
 
62
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
63
61
 
64
62
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65
63
 
64
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
65
+
66
66
  var usePrevious = function usePrevious(value) {
67
67
  // The ref object is a generic container whose current property is mutable ...
68
68
  // ... and can hold any value, similar to an instance property on a class
@@ -86,6 +86,10 @@ var BasicWrapper = function BasicWrapper(_ref) {
86
86
  var classes = (0, _styleContext.useCustomStyle)();
87
87
  var id = (0, _uuid.v4)();
88
88
 
89
+ if (_typeof(entry) === 'object') {
90
+ return children;
91
+ }
92
+
89
93
  if (render) {
90
94
  return render({
91
95
  entry: entry,
@@ -330,60 +334,50 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
330
334
  onSubmit(clean);
331
335
  }, onError)
332
336
  }, formFlow.map(function (entry, idx) {
333
- if (entry && _typeof(entry) === 'object') {
334
- var errored = entry.flow.some(function (step) {
335
- return !!errors[step];
336
- });
337
- return /*#__PURE__*/_react["default"].createElement(_index.Collapse, {
338
- key: "collapse-".concat(idx),
339
- label: entry.label,
340
- collapsed: entry.collapsed,
341
- errored: errored
342
- }, entry.flow.map(function (entry, entryIdx) {
343
- var step = schema[entry];
344
- var error = entry.split('.').reduce(function (object, key) {
345
- return object && object[key];
346
- }, errors); //FIXME: better key ==> entry name + idx
347
-
348
- return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
349
- key: "collapse-".concat(idx, "-").concat(entry, "-").concat(entryIdx),
350
- entry: entry,
351
- error: error,
352
- label: step.label || entry,
353
- help: step.help,
354
- render: inputWrapper
355
- }, /*#__PURE__*/_react["default"].createElement(Step, {
356
- entry: entry,
357
- step: schema[entry],
358
- error: error,
359
- register: register,
360
- schema: schema,
361
- control: control,
362
- trigger: trigger,
363
- getValues: getValues,
364
- setValue: setValue,
365
- watch: watch,
366
- inputWrapper: inputWrapper
367
- }));
368
- }));
369
- }
370
-
371
337
  var step = schema[entry];
372
- var error = entry.split('.').reduce(function (object, key) {
338
+ var error = _typeof(entry) === 'object' ? undefined : entry.split('.').reduce(function (object, key) {
373
339
  return object && object[key];
374
340
  }, errors);
341
+ var visibleStep = (0, _Option.option)(step).map(function (s) {
342
+ return s.visible;
343
+ }).map(function (visible) {
344
+ switch (_typeof(visible)) {
345
+ case 'object':
346
+ var _value = watch(step.visible.ref);
347
+
348
+ console.log({
349
+ value: _value,
350
+ step: step
351
+ });
352
+ return (0, _Option.option)(step.visible.test).map(function (test) {
353
+ return test(_value);
354
+ }).getOrElse(_value);
355
+
356
+ case 'boolean':
357
+ return visible;
358
+
359
+ default:
360
+ return true;
361
+ }
362
+ }).getOrElse(true);
363
+
364
+ if (!visibleStep) {
365
+ return null;
366
+ }
367
+
375
368
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
376
369
  key: "".concat(entry, "-").concat(idx),
377
370
  entry: entry,
378
371
  error: error,
379
- label: step.label || entry,
380
- help: step.help,
372
+ label: (step === null || step === void 0 ? void 0 : step.label) || entry,
373
+ help: step === null || step === void 0 ? void 0 : step.help,
381
374
  render: inputWrapper
382
375
  }, /*#__PURE__*/_react["default"].createElement(Step, {
383
376
  key: idx,
384
377
  entry: entry,
385
378
  step: step,
386
379
  error: error,
380
+ errors: errors,
387
381
  register: register,
388
382
  schema: schema,
389
383
  control: control,
@@ -437,6 +431,7 @@ var Step = function Step(_ref4) {
437
431
  var entry = _ref4.entry,
438
432
  step = _ref4.step,
439
433
  error = _ref4.error,
434
+ errors = _ref4.errors,
440
435
  register = _ref4.register,
441
436
  schema = _ref4.schema,
442
437
  control = _ref4.control,
@@ -449,10 +444,54 @@ var Step = function Step(_ref4) {
449
444
  defaultValue = _ref4.defaultValue,
450
445
  index = _ref4.index;
451
446
  var classes = (0, _styleContext.useCustomStyle)();
452
- var visibleStep = step && (0, _Option.option)(step.visible).map(function (visible) {
447
+
448
+ if (entry && _typeof(entry) === 'object') {
449
+ var errored = entry.flow.some(function (step) {
450
+ return !!errors[step];
451
+ });
452
+ return /*#__PURE__*/_react["default"].createElement(_index.Collapse, {
453
+ label: entry.label,
454
+ collapsed: entry.collapsed,
455
+ errored: errored
456
+ }, entry.flow.map(function (en, entryIdx) {
457
+ var stp = schema[en];
458
+ var err = _typeof(en) === 'object' ? undefined : en.split('.').reduce(function (object, key) {
459
+ return object && object[key];
460
+ }, errors);
461
+ return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
462
+ key: "collapse-".concat(en, "-").concat(entryIdx),
463
+ entry: en,
464
+ error: err,
465
+ label: (stp === null || stp === void 0 ? void 0 : stp.label) || en,
466
+ help: stp === null || stp === void 0 ? void 0 : stp.help,
467
+ render: inputWrapper
468
+ }, /*#__PURE__*/_react["default"].createElement(Step, {
469
+ entry: en,
470
+ step: stp,
471
+ error: err,
472
+ errors: errors,
473
+ register: register,
474
+ schema: schema,
475
+ control: control,
476
+ trigger: trigger,
477
+ getValues: getValues,
478
+ setValue: _setValue,
479
+ watch: watch,
480
+ inputWrapper: inputWrapper
481
+ }));
482
+ }));
483
+ }
484
+
485
+ var visibleStep = (0, _Option.option)(step).map(function (s) {
486
+ return s.visible;
487
+ }).map(function (visible) {
453
488
  switch (_typeof(visible)) {
454
489
  case 'object':
455
490
  var value = watch(step.visible.ref);
491
+ console.log({
492
+ value: value,
493
+ step: step
494
+ });
456
495
  return (0, _Option.option)(step.visible.test).map(function (test) {
457
496
  return test(value);
458
497
  }).getOrElse(value);
@@ -943,6 +982,7 @@ var ArrayStep = function ArrayStep(_ref15) {
943
982
  values = _ref15.values,
944
983
  defaultValue = _ref15.defaultValue,
945
984
  setValue = _ref15.setValue;
985
+ var classes = (0, _styleContext.useCustomStyle)();
946
986
 
947
987
  var _useFieldArray = (0, _reactHookForm.useFieldArray)({
948
988
  control: control,
@@ -59,7 +59,9 @@ var Collapse = function Collapse(props) {
59
59
  type: "button",
60
60
  className: (0, _classnames["default"])(classes.btn, _defineProperty({}, classes.collapse_error, props.errored)),
61
61
  onClick: toggle
62
- }, !!collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.Eye, null), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.EyeOff, null))), !collapsed && props.children, props.lineEnd && /*#__PURE__*/_react["default"].createElement("hr", null));
62
+ }, !!collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.Eye, null), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.EyeOff, null))), !collapsed && /*#__PURE__*/_react["default"].createElement("div", {
63
+ className: classes.ml_10
64
+ }, props.children), props.lineEnd && /*#__PURE__*/_react["default"].createElement("hr", null));
63
65
  };
64
66
 
65
67
  exports.Collapse = Collapse;
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.9",
4
+ "version": "1.0.13",
5
5
  "main": "lib/index.js",
6
6
  "author": "MAIF team",
7
7
  "keywords": [
@@ -97,6 +97,7 @@
97
97
  "dependencies": {
98
98
  "@fortawesome/fontawesome-free": "^5.15.3",
99
99
  "@hookform/resolvers": "2.4.0",
100
+ "@popperjs/core": "^2.11.2",
100
101
  "@testing-library/jest-dom": "^5.11.4",
101
102
  "@testing-library/react": "^11.1.0",
102
103
  "@testing-library/user-event": "^12.1.10",