intelicoreact 0.1.76 → 0.1.79

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.
@@ -67,8 +67,6 @@ function InputMask() {
67
67
  isIconLeft = _ref.isIconLeft,
68
68
  isIconRight = _ref.isIconRight,
69
69
  value = _ref.value,
70
- _ref$onChange = _ref.onChange,
71
- onChangeProp = _ref$onChange === void 0 ? function () {} : _ref$onChange,
72
70
  _ref$blinkErrors = _ref.blinkErrors,
73
71
  blinkErrors = _ref$blinkErrors === void 0 ? true : _ref$blinkErrors,
74
72
  _ref$blinkDuration = _ref.blinkDuration,
@@ -82,10 +80,14 @@ function InputMask() {
82
80
  _ref$error = _ref.error,
83
81
  customError = _ref$error === void 0 ? '' : _ref$error,
84
82
  ref = _ref.ref,
83
+ _ref$onChange = _ref.onChange,
84
+ onChangeProp = _ref$onChange === void 0 ? function () {} : _ref$onChange,
85
85
  _ref$onFocus = _ref.onFocus,
86
86
  onFocusProp = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
87
87
  _ref$onBlur = _ref.onBlur,
88
88
  onBlurProp = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
89
+ _ref$onKeyDown = _ref.onKeyDown,
90
+ onKeyDownProp = _ref$onKeyDown === void 0 ? function () {} : _ref$onKeyDown,
89
91
  _ref$imitateTypingOnP = _ref.imitateTypingOnPaste,
90
92
  imitateTypingOnPaste = _ref$imitateTypingOnP === void 0 ? false : _ref$imitateTypingOnP,
91
93
  _ref$imitateTypingOnP2 = _ref.imitateTypingOnPasteDelay,
@@ -102,6 +104,10 @@ function InputMask() {
102
104
  isHintLeft = _ref$isHintLeft === void 0 ? false : _ref$isHintLeft,
103
105
  _ref$hintPosition = _ref.hintPosition,
104
106
  hintPosition = _ref$hintPosition === void 0 ? 'right' : _ref$hintPosition,
107
+ _ref$hideMaskOnBlur = _ref.hideMaskOnBlur,
108
+ hideMaskOnBlur = _ref$hideMaskOnBlur === void 0 ? true : _ref$hideMaskOnBlur,
109
+ _ref$returnMaskedValu = _ref.returnMaskedValue,
110
+ returnMaskedValue = _ref$returnMaskedValu === void 0 ? false : _ref$returnMaskedValu,
105
111
  name = _ref.name;
106
112
 
107
113
  var errors = _objectSpread(_objectSpread({}, _config.DEFAULT_ERRORS), customErrors);
@@ -498,84 +504,38 @@ function InputMask() {
498
504
  return true;
499
505
  };
500
506
 
501
- var onDeleteDown = /*#__PURE__*/function () {
502
- var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e, i) {
503
- var nextIndex, charObj, char, isSpecialSymbol, newText;
504
- return _regenerator.default.wrap(function _callee$(_context) {
505
- while (1) {
506
- switch (_context.prev = _context.next) {
507
- case 0:
508
- if (!(0, _functions.getSelectionText)().length) {
509
- _context.next = 2;
510
- break;
511
- }
512
-
513
- return _context.abrupt("return", deleteSelectedText());
514
-
515
- case 2:
516
- nextIndex = i + 1;
517
- charObj = getCharByIndex(i);
518
-
519
- if (charObj) {
520
- _context.next = 6;
521
- break;
522
- }
523
-
524
- return _context.abrupt("return", false);
525
-
526
- case 6:
527
- char = charObj.char, isSpecialSymbol = charObj.isSpecialSymbol;
528
-
529
- if (!isSpecialSymbol) {
530
- _context.next = 9;
531
- break;
532
- }
533
-
534
- return _context.abrupt("return", onDeleteDown(e, i + 1));
535
-
536
- case 9:
537
- if (!(char === '')) {
538
- _context.next = 11;
539
- break;
540
- }
541
-
542
- return _context.abrupt("return", false);
543
-
544
- case 11:
545
- if (maskAsPlaceholder) {
546
- newText = innerValue.slice(0, i).concat(innerValue.slice(nextIndex, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce(function (text, _ref14) {
547
- var char = _ref14.char;
548
- return text.concat(char);
549
- }, ''); // const newText = getInnerValueAsString().substring(0, i) + getInnerValueAsString().substring(nextIndex, maxEditableLen !== -1 ? maxEditableLen : getInnerValueAsString().length);
507
+ var onDeleteDown = function onDeleteDown(e, i) {
508
+ if ((0, _functions.getSelectionText)().length) return deleteSelectedText();
509
+ var nextIndex = i + 1;
510
+ var charObj = getCharByIndex(i);
511
+ if (!charObj) return false;
512
+ var char = charObj.char,
513
+ isSpecialSymbol = charObj.isSpecialSymbol;
514
+ if (isSpecialSymbol) return onDeleteDown(e, i + 1);
515
+ if (char === '') return false;
550
516
 
551
- resetInnerValue();
517
+ if (maskAsPlaceholder) {
518
+ var newText = innerValue.slice(0, i).concat(innerValue.slice(nextIndex, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce(function (text, _ref13) {
519
+ var char = _ref13.char;
520
+ return text.concat(char);
521
+ }, ''); // const newText = getInnerValueAsString().substring(0, i) + getInnerValueAsString().substring(nextIndex, maxEditableLen !== -1 ? maxEditableLen : getInnerValueAsString().length);
552
522
 
553
- _onPaste({
554
- text: newText
555
- }, 0);
556
-
557
- setFocusOnChar(i, i);
558
- } else {
559
- updateInnerValueChar({
560
- char: ''
561
- }, i);
562
- setFocusOnChar(nextIndex, i);
563
- }
523
+ resetInnerValue();
564
524
 
565
- return _context.abrupt("return", true);
525
+ _onPaste({
526
+ text: newText
527
+ }, 0);
566
528
 
567
- case 13:
568
- case "end":
569
- return _context.stop();
570
- }
571
- }
572
- }, _callee);
573
- }));
529
+ setFocusOnChar(i, i);
530
+ } else {
531
+ updateInnerValueChar({
532
+ char: ''
533
+ }, i);
534
+ setFocusOnChar(nextIndex, i);
535
+ }
574
536
 
575
- return function onDeleteDown(_x, _x2) {
576
- return _ref13.apply(this, arguments);
577
- };
578
- }();
537
+ return true;
538
+ };
579
539
 
580
540
  var onHomeDown = function onHomeDown(e, i) {
581
541
  return setFocusOnChar(0, -1);
@@ -624,11 +584,11 @@ function InputMask() {
624
584
  };
625
585
 
626
586
  var handleKeyDown = /*#__PURE__*/function () {
627
- var _ref15 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(e, i) {
587
+ var _ref14 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e, i) {
628
588
  var _getClearInnerValueAs;
629
589
 
630
- var _ref16,
631
- _ref16$disableErrors,
590
+ var _ref15,
591
+ _ref15$disableErrors,
632
592
  disableErrors,
633
593
  key,
634
594
  keyCode,
@@ -639,13 +599,13 @@ function InputMask() {
639
599
  isReadOnly,
640
600
  fromIndex,
641
601
  text,
642
- _args2 = arguments;
602
+ _args = arguments;
643
603
 
644
- return _regenerator.default.wrap(function _callee2$(_context2) {
604
+ return _regenerator.default.wrap(function _callee$(_context) {
645
605
  while (1) {
646
- switch (_context2.prev = _context2.next) {
606
+ switch (_context.prev = _context.next) {
647
607
  case 0:
648
- _ref16 = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {}, _ref16$disableErrors = _ref16.disableErrors, disableErrors = _ref16$disableErrors === void 0 ? false : _ref16$disableErrors;
608
+ _ref15 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref15$disableErrors = _ref15.disableErrors, disableErrors = _ref15$disableErrors === void 0 ? false : _ref15$disableErrors;
649
609
 
650
610
  try {
651
611
  e.stopPropagation();
@@ -657,12 +617,12 @@ function InputMask() {
657
617
  // eslint-disable-next-line eqeqeq
658
618
 
659
619
  if (!(keyCode == _config.ANDROID_CHROME_TEXT_CODE)) {
660
- _context2.next = 9;
620
+ _context.next = 9;
661
621
  break;
662
622
  }
663
623
 
664
624
  charRef = charObj.ref;
665
- _context2.next = 8;
625
+ _context.next = 8;
666
626
  return new Promise(function (resolve) {
667
627
  setTimeout(function () {
668
628
  var _charRef$current, _charRef$current$inne;
@@ -685,72 +645,80 @@ function InputMask() {
685
645
  });
686
646
 
687
647
  case 8:
688
- key = _context2.sent;
648
+ key = _context.sent;
689
649
 
690
650
  case 9:
691
651
  if (!(!charObj || i === innerValue.length - 1)) {
692
- _context2.next = 11;
652
+ _context.next = 11;
693
653
  break;
694
654
  }
695
655
 
696
- return _context2.abrupt("return", false);
656
+ return _context.abrupt("return", false);
697
657
 
698
658
  case 11:
699
659
  if (!(maskAsPlaceholder && i > getLastTypedIndex() + 1)) {
700
- _context2.next = 13;
660
+ _context.next = 15;
701
661
  break;
702
662
  }
703
663
 
704
- return _context2.abrupt("return", handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
664
+ _context.next = 14;
665
+ return handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
705
666
  disableErrors: disableErrors
706
- }));
667
+ });
707
668
 
708
- case 13:
669
+ case 14:
670
+ return _context.abrupt("return", _context.sent);
671
+
672
+ case 15:
709
673
  isSpecialSymbol = charObj.isSpecialSymbol, maskChar = charObj.maskChar, isReadOnly = charObj.isReadOnly;
710
674
 
711
675
  if (!isReadOnly) {
712
- _context2.next = 16;
676
+ _context.next = 18;
713
677
  break;
714
678
  }
715
679
 
716
- return _context2.abrupt("return", false);
680
+ return _context.abrupt("return", false);
717
681
 
718
- case 16:
682
+ case 18:
719
683
  if (!(maskChar === _config.SPACE_CHAR)) {
720
- _context2.next = 18;
684
+ _context.next = 22;
721
685
  break;
722
686
  }
723
687
 
724
- return _context2.abrupt("return", handleKeyDown(e, i + 1));
688
+ _context.next = 21;
689
+ return handleKeyDown(e, i + 1);
725
690
 
726
- case 18:
691
+ case 21:
692
+ return _context.abrupt("return", _context.sent);
693
+
694
+ case 22:
727
695
  if (!(isSpecialSymbol && maskChar !== key)) {
728
- _context2.next = 20;
696
+ _context.next = 24;
729
697
  break;
730
698
  }
731
699
 
732
- return _context2.abrupt("return", false);
700
+ return _context.abrupt("return", false);
733
701
 
734
- case 20:
702
+ case 24:
735
703
  if (isValidChar({
736
704
  char: key,
737
705
  i: i,
738
706
  disableErrors: disableErrors
739
707
  })) {
740
- _context2.next = 22;
708
+ _context.next = 26;
741
709
  break;
742
710
  }
743
711
 
744
- return _context2.abrupt("return", false);
712
+ return _context.abrupt("return", false);
745
713
 
746
- case 22:
714
+ case 26:
747
715
  if (maskAsPlaceholder && ((_getClearInnerValueAs = getClearInnerValueAsString(i)) === null || _getClearInnerValueAs === void 0 ? void 0 : _getClearInnerValueAs.length) !== 0) {
748
716
  fromIndex = i + 1;
749
- text = innerValue.slice().filter(function (_ref17, index) {
750
- var isCharSymbol = _ref17.isCharSymbol;
717
+ text = innerValue.slice().filter(function (_ref16, index) {
718
+ var isCharSymbol = _ref16.isCharSymbol;
751
719
  return index >= i && !isCharSymbol;
752
- }).map(function (_ref18, index) {
753
- var char = _ref18.char;
720
+ }).map(function (_ref17, index) {
721
+ var char = _ref17.char;
754
722
  return char;
755
723
  }).join('');
756
724
 
@@ -763,18 +731,18 @@ function InputMask() {
763
731
  char: key
764
732
  }, i);
765
733
  onArrowRightDown(e, i);
766
- return _context2.abrupt("return", true);
734
+ return _context.abrupt("return", true);
767
735
 
768
- case 26:
736
+ case 30:
769
737
  case "end":
770
- return _context2.stop();
738
+ return _context.stop();
771
739
  }
772
740
  }
773
- }, _callee2);
741
+ }, _callee);
774
742
  }));
775
743
 
776
- return function handleKeyDown(_x3, _x4) {
777
- return _ref15.apply(this, arguments);
744
+ return function handleKeyDown(_x, _x2) {
745
+ return _ref14.apply(this, arguments);
778
746
  };
779
747
  }();
780
748
 
@@ -790,29 +758,92 @@ function InputMask() {
790
758
  }
791
759
  };
792
760
 
793
- var _onKeyDown = function onKeyDown(e) {
794
- var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
795
- if (!isFocused) return false;
796
- var key = e.key,
797
- ctrlKey = e.ctrlKey,
798
- altKey = e.altKey;
799
- if (_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key)) return true;
800
- setError(false);
801
- clearErrorMessage();
761
+ var _onKeyDown = /*#__PURE__*/function () {
762
+ var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(e) {
763
+ var _innerValue$0$ref;
802
764
 
803
- if (ctrlKey || altKey) {
804
- if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
805
- return true;
806
- }
765
+ var i,
766
+ key,
767
+ ctrlKey,
768
+ altKey,
769
+ handleResult,
770
+ _args2 = arguments;
771
+ return _regenerator.default.wrap(function _callee2$(_context2) {
772
+ while (1) {
773
+ switch (_context2.prev = _context2.next) {
774
+ case 0:
775
+ i = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : null;
807
776
 
808
- e.preventDefault();
809
- e.stopPropagation();
810
- var handleResult = _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
777
+ if (isFocused) {
778
+ _context2.next = 3;
779
+ break;
780
+ }
811
781
 
812
- if (blinkErrors && !handleResult && i !== null) {
813
- setBlinkError(true);
814
- }
815
- };
782
+ return _context2.abrupt("return", false);
783
+
784
+ case 3:
785
+ key = e.key, ctrlKey = e.ctrlKey, altKey = e.altKey;
786
+ e.target = ((_innerValue$0$ref = innerValue[0].ref) === null || _innerValue$0$ref === void 0 ? void 0 : _innerValue$0$ref.current) || e.target;
787
+ onKeyDownProp(e, i);
788
+
789
+ if (!(_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key))) {
790
+ _context2.next = 8;
791
+ break;
792
+ }
793
+
794
+ return _context2.abrupt("return", true);
795
+
796
+ case 8:
797
+ setError(false);
798
+ clearErrorMessage();
799
+
800
+ if (!(ctrlKey || altKey)) {
801
+ _context2.next = 13;
802
+ break;
803
+ }
804
+
805
+ if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
806
+ return _context2.abrupt("return", true);
807
+
808
+ case 13:
809
+ e.preventDefault();
810
+ e.stopPropagation();
811
+
812
+ if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) {
813
+ _context2.next = 19;
814
+ break;
815
+ }
816
+
817
+ _context2.t0 = handleServiceKeyDown(e, i);
818
+ _context2.next = 22;
819
+ break;
820
+
821
+ case 19:
822
+ _context2.next = 21;
823
+ return handleKeyDown(e, i);
824
+
825
+ case 21:
826
+ _context2.t0 = _context2.sent;
827
+
828
+ case 22:
829
+ handleResult = _context2.t0;
830
+
831
+ if (blinkErrors && !handleResult && i !== null) {
832
+ setBlinkError(true);
833
+ }
834
+
835
+ case 24:
836
+ case "end":
837
+ return _context2.stop();
838
+ }
839
+ }
840
+ }, _callee2);
841
+ }));
842
+
843
+ return function onKeyDown(_x3) {
844
+ return _ref18.apply(this, arguments);
845
+ };
846
+ }();
816
847
 
817
848
  var onClick = function onClick(e, cb) {
818
849
  var _ref19 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
@@ -1146,9 +1177,11 @@ function InputMask() {
1146
1177
  if (!isMaskRendered) return false;
1147
1178
  setError(false);
1148
1179
  clearErrorMessage();
1149
- onChangeProp(getClearInnerValueAsString(), getInnerValueAsString({
1180
+ var values = [getClearInnerValueAsString(), getInnerValueAsString({
1150
1181
  replaceSpace: true
1151
- }));
1182
+ })];
1183
+ if (returnMaskedValue) values.reverse();
1184
+ onChangeProp.apply(void 0, values);
1152
1185
  }, [innerValue, isMaskRendered]); // Blink Error
1153
1186
 
1154
1187
  (0, _react.useEffect)(function () {
@@ -1224,9 +1257,7 @@ function InputMask() {
1224
1257
  tabIndex: i === 0 ? 0 : -1,
1225
1258
  key: i,
1226
1259
  "attr-char-id": i,
1227
- className: "\n input-mask_value_item\n ".concat(className, "\n ").concat((0, _functions.isDigitMaskChar)(obj.maskChar) ? 'input-mask_value_item--digit' : '', "\n ").concat((0, _functions.isLetterMaskChar)(obj.maskChar) ? 'input-mask_value_item--letter' : '', "\n ").concat(obj.isSpecialSymbol ? 'input-mask_value_item--spec' : '', "\n ") // ${char === '' || isSpecialSymbol ? 'unselectable' : ''}
1228
- // ${!isSelecting && (char === '' || isSpecialSymbol) ? 'unselectable' : ''}
1229
- ,
1260
+ className: "\n input-mask_value_item\n ".concat(className, "\n ").concat((0, _functions.isDigitMaskChar)(obj.maskChar) ? 'input-mask_value_item--digit' : '', "\n ").concat((0, _functions.isLetterMaskChar)(obj.maskChar) ? 'input-mask_value_item--letter' : '', "\n ").concat(obj.isSpecialSymbol ? 'input-mask_value_item--spec' : '', "\n "),
1230
1261
  onClick: function onClick(e) {
1231
1262
  return onCharClick(e, i);
1232
1263
  },
@@ -1266,7 +1297,7 @@ function InputMask() {
1266
1297
  onMouseMove: function onMouseMove(e) {
1267
1298
  return cancelDefaultAction(e, onMouseDownMove);
1268
1299
  }
1269
- }, isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
1300
+ }, !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
1270
1301
  };
1271
1302
 
1272
1303
  var renderMaskChar = function renderMaskChar(obj, i) {
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = ObjectWithNamedKeyObjects;
9
9
 
10
+ var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _General2 = _interopRequireDefault(require("../functions/General"));
@@ -18,7 +20,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
18
20
  var noop = function noop() {};
19
21
 
20
22
  function ObjectWithNamedKeyObjects() {
21
- var _ref2;
23
+ var _ref4;
22
24
 
23
25
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
24
26
  form = _ref.form,
@@ -72,18 +74,41 @@ function ObjectWithNamedKeyObjects() {
72
74
  return setFormFields({});
73
75
  };
74
76
 
75
- return _ref2 = {
77
+ var removeFormField = function removeFormField(key) {
78
+ return setFormFields(function (state) {
79
+ return Object.keys(state).filter(function (fKey) {
80
+ return fKey !== key;
81
+ }).reduce(function (obj, key) {
82
+ return _objectSpread(_objectSpread({}, obj), {}, (0, _defineProperty2.default)({}, key, state[key]));
83
+ }, {});
84
+ });
85
+ };
86
+
87
+ var removeFormFields = function removeFormFields(_ref2) {
88
+ var _ref3 = (0, _toArray2.default)(_ref2),
89
+ keys = _ref3.slice(0);
90
+
91
+ return setFormFields(function (state) {
92
+ return Object.keys(state).filter(function (fKey) {
93
+ return !keys.includes(fKey);
94
+ }).reduce(function (obj, key) {
95
+ return _objectSpread(_objectSpread({}, obj), {}, (0, _defineProperty2.default)({}, key, state[key]));
96
+ }, {});
97
+ });
98
+ };
99
+
100
+ return _ref4 = {
76
101
  joinData: joinData,
77
102
  getFieldData: getFieldData,
78
103
  getFormFields: _getFormFields,
79
104
  getFormField: getFormField,
80
105
  setFormFields: setFormFields,
81
106
  setFormField: setFormField
82
- }, (0, _defineProperty2.default)(_ref2, "getFormFields", function getFormFields() {
107
+ }, (0, _defineProperty2.default)(_ref4, "getFormFields", function getFormFields() {
83
108
  return _getFormFields(form);
84
- }), (0, _defineProperty2.default)(_ref2, "getFormFieldsAsArray", function getFormFieldsAsArray() {
109
+ }), (0, _defineProperty2.default)(_ref4, "getFormFieldsAsArray", function getFormFieldsAsArray() {
85
110
  return _getFormFieldsAsArray(_getFormFields(form));
86
- }), (0, _defineProperty2.default)(_ref2, "getFormFieldsKeys", function getFormFieldsKeys() {
111
+ }), (0, _defineProperty2.default)(_ref4, "getFormFieldsKeys", function getFormFieldsKeys() {
87
112
  return _getFormFieldsKeys(_getFormFields(form));
88
- }), (0, _defineProperty2.default)(_ref2, "removeAllFormFields", removeAllFormFields), _ref2;
113
+ }), (0, _defineProperty2.default)(_ref4, "removeAllFormFields", removeAllFormFields), (0, _defineProperty2.default)(_ref4, "removeFormField", removeFormField), (0, _defineProperty2.default)(_ref4, "removeFormFields", removeFormFields), _ref4;
89
114
  }
@@ -70,7 +70,14 @@ function RenderFields() {
70
70
  key: key
71
71
  });
72
72
 
73
- return /*#__PURE__*/React.createElement(RenderFieldComponent, {
73
+ var wrapperRef = field.wrapperRef;
74
+ return /*#__PURE__*/React.createElement("div", {
75
+ key: "render-field-wrapper-".concat(key),
76
+ id: "render-field-wrapper-".concat(key),
77
+ ref: wrapperRef ? typeof wrapperRef === 'function' ? function (node) {
78
+ return wrapperRef(node, key);
79
+ } : wrapperRef : null
80
+ }, /*#__PURE__*/React.createElement(RenderFieldComponent, {
74
81
  key: key,
75
82
  field: field,
76
83
  onChange: function onChange(value) {
@@ -79,7 +86,7 @@ function RenderFields() {
79
86
  onBlur: function onBlur() {
80
87
  return onFieldBlur.apply(void 0, arguments);
81
88
  }
82
- });
89
+ }));
83
90
  } catch (e) {
84
91
  return null;
85
92
  }
@@ -2,11 +2,17 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = useFormTools;
9
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
10
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
17
 
12
18
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -15,7 +21,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
21
 
16
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
23
 
18
- var _react = require("react");
24
+ var _react = _interopRequireWildcard(require("react"));
19
25
 
20
26
  var _General2 = _interopRequireDefault(require("./functions/General"));
21
27
 
@@ -27,6 +33,10 @@ var _ObjectWithNamedKeyObjects = _interopRequireDefault(require("./form-drivers/
27
33
 
28
34
  var _RenderFields = _interopRequireDefault(require("./functions/RenderFields"));
29
35
 
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
30
40
  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; }
31
41
 
32
42
  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) { (0, _defineProperty2.default)(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; }
@@ -43,11 +53,13 @@ function useFormTools() {
43
53
  FormType = _ref.FormType,
44
54
  FormFields = _ref.FormFields,
45
55
  _ref$FormDataDriverNa = _ref.FormDataDriverName,
46
- FormDataDriverName = _ref$FormDataDriverNa === void 0 ? 'ArrayWithObjects' : _ref$FormDataDriverNa,
56
+ FormDataDriverName = _ref$FormDataDriverNa === void 0 ? 'ArrayWithObjects' || 'ObjectWithIterableObjects' || 'ObjectWithNamedKeyObjects' : _ref$FormDataDriverNa,
47
57
  _ref$FormDataDriver = _ref.FormDataDriver,
48
58
  FormDataDriver = _ref$FormDataDriver === void 0 ? null : _ref$FormDataDriver,
49
59
  _ref$FocusControllerP = _ref.FocusControllerProps,
50
- FocusControllerProps = _ref$FocusControllerP === void 0 ? DefaultFocusControllerProps : _ref$FocusControllerP;
60
+ FocusControllerProps = _ref$FocusControllerP === void 0 ? DefaultFocusControllerProps : _ref$FocusControllerP,
61
+ _ref$goToNextFieldOnE = _ref.goToNextFieldOnEnterPressed,
62
+ goToNextFieldOnEnterPressed = _ref$goToNextFieldOnE === void 0 ? true : _ref$goToNextFieldOnE;
51
63
 
52
64
  FocusControllerProps = _objectSpread(_objectSpread({}, DefaultFocusControllerProps), FocusControllerProps);
53
65
  var FormDataDrivers = {
@@ -93,10 +105,12 @@ function useFormTools() {
93
105
  getFieldData = _getFormDataDriverIns.getFieldData,
94
106
  getFormField = _getFormDataDriverIns.getFormField,
95
107
  setFormFields = _getFormDataDriverIns.setFormFields,
96
- setFormField = _getFormDataDriverIns.setFormField,
108
+ _setFormField = _getFormDataDriverIns.setFormField,
97
109
  getFormFieldsAsArray = _getFormDataDriverIns.getFormFieldsAsArray,
98
110
  getFormFieldsKeys = _getFormDataDriverIns.getFormFieldsKeys,
99
- removeAllFormFields = _getFormDataDriverIns.removeAllFormFields; ///////////////////////////////////////////////////////////////
111
+ removeAllFormFields = _getFormDataDriverIns.removeAllFormFields,
112
+ removeFormField = _getFormDataDriverIns.removeFormField,
113
+ removeFormFields = _getFormDataDriverIns.removeFormFields; ///////////////////////////////////////////////////////////////
100
114
  //--- OnChange Observer ---//--- START ---//
101
115
 
102
116
 
@@ -143,22 +157,17 @@ function useFormTools() {
143
157
  };
144
158
 
145
159
  var onFieldChange = function onFieldChange(key, value) {
146
- // if (value === getFormField(key)?.value) return false;
160
+ var _getFormField;
161
+
162
+ if (value === ((_getFormField = getFormField(key)) === null || _getFormField === void 0 ? void 0 : _getFormField.value)) return false;
147
163
  onChangeObserver(key, value);
148
- setFormField(function (field) {
164
+
165
+ _setFormField(function (field) {
149
166
  return _objectSpread(_objectSpread({}, field), {}, {
150
167
  error: '',
151
168
  value: value
152
169
  });
153
- }, key); // eslint-disable-next-line no-use-before-define
154
- // if (autoFocusedField === key) {
155
- // setTimeout(() => {
156
- // // eslint-disable-next-line no-use-before-define
157
- // setFieldFocus({key, form});
158
- // // eslint-disable-next-line no-use-before-define
159
- // setAutoFocusedField(null);
160
- // }, 1);
161
- // }
170
+ }, key);
162
171
  }; //--- OnChange Observer ---//--- END ---//
163
172
  ///////////////////////////////////////////////////////////////
164
173
  ///////////////////////////////////////////////////////////////
@@ -229,11 +238,106 @@ function useFormTools() {
229
238
  var _useState9 = (0, _react.useState)(false),
230
239
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
231
240
  isFormRendered = _useState10[0],
232
- setIsFormRendered = _useState10[1]; //On Render Fields Change
241
+ setIsFormRendered = _useState10[1];
242
+
243
+ var submitIsFormRendered = function submitIsFormRendered() {
244
+ return setIsFormRendered(true);
245
+ };
246
+
247
+ var resetIsFormRendered = function resetIsFormRendered() {
248
+ return setIsFormRendered(false);
249
+ };
250
+
251
+ var onEnterDown = /*#__PURE__*/function () {
252
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
253
+ var focusable, currentIndex, nextIndex, nextItem;
254
+ return _regenerator.default.wrap(function _callee$(_context) {
255
+ while (1) {
256
+ switch (_context.prev = _context.next) {
257
+ case 0:
258
+ if (goToNextFieldOnEnterPressed) {
259
+ _context.next = 2;
260
+ break;
261
+ }
262
+
263
+ return _context.abrupt("return", false);
264
+
265
+ case 2:
266
+ focusable = document.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
267
+ _context.next = 5;
268
+ return new Promise(function (resolve) {
269
+ focusable.forEach(function (node, i) {
270
+ if (node === e.target) resolve(i);
271
+ });
272
+ });
273
+
274
+ case 5:
275
+ currentIndex = _context.sent;
276
+
277
+ if (currentIndex) {
278
+ _context.next = 8;
279
+ break;
280
+ }
281
+
282
+ return _context.abrupt("return", false);
283
+
284
+ case 8:
285
+ nextIndex = currentIndex + 1;
286
+
287
+ if (!(nextIndex >= focusable.length)) {
288
+ _context.next = 11;
289
+ break;
290
+ }
291
+
292
+ return _context.abrupt("return", false);
293
+
294
+ case 11:
295
+ nextItem = focusable[nextIndex];
296
+ nextItem.focus();
297
+
298
+ case 13:
299
+ case "end":
300
+ return _context.stop();
301
+ }
302
+ }
303
+ }, _callee);
304
+ }));
305
+
306
+ return function onEnterDown(_x) {
307
+ return _ref2.apply(this, arguments);
308
+ };
309
+ }();
310
+
311
+ var onKeyDown = function onKeyDown() {
312
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
313
+ args[_key2] = arguments[_key2];
314
+ }
315
+
316
+ var event = args.reduce(function (e, item) {
317
+ if ((item === null || item === void 0 ? void 0 : item.nativeEvent) instanceof KeyboardEvent) return item;
318
+ return e;
319
+ }, null);
320
+ if (!event) return false;
321
+ var keyCode = event.keyCode;
322
+
323
+ switch (keyCode) {
324
+ //OnEnterDown
325
+ case 13:
326
+ onEnterDown(event);
327
+ break;
328
+
329
+ default:
330
+ break;
331
+ }
332
+ }; //On Type Change
233
333
 
234
334
 
235
335
  (0, _react.useEffect)(function () {
236
- if (isFormFieldsAdded) setIsFormRendered(false); //Add Form Fields
336
+ resetIsFormRendered();
337
+ }, [FormType]); //On Render Fields Change
338
+
339
+ (0, _react.useEffect)(function () {
340
+ if (isFormFieldsAdded) resetIsFormRendered(false); //Add Form Fields
237
341
 
238
342
  if (renderFormFields.length === 0) return null;
239
343
  setFormFields(function (fields) {
@@ -241,10 +345,9 @@ function useFormTools() {
241
345
  var _field$className;
242
346
 
243
347
  var fieldData = getFieldData(key);
244
- var field = !getFormField(key) ? fieldData : getFormField(key); // eslint-disable-next-line no-use-before-define
348
+ var field = !getFormField(key) ? fieldData : getFormField(key);
245
349
 
246
350
  if (!(field !== null && field !== void 0 && field.className) || (field === null || field === void 0 ? void 0 : (_field$className = field.className) === null || _field$className === void 0 ? void 0 : _field$className.indexOf(getFieldClassName(key, FormType))) === -1) {
247
- // eslint-disable-next-line no-use-before-define
248
351
  field.className = "".concat(field === null || field === void 0 ? void 0 : field.className, " ").concat(getFieldClassName(key, FormType));
249
352
  }
250
353
 
@@ -253,16 +356,27 @@ function useFormTools() {
253
356
  }
254
357
 
255
358
  field.ref = /*#__PURE__*/(0, _react.createRef)();
256
- field.isValueChangedByUser = false; //Is Field Value Changed By USER
359
+ field.wrapperRef = /*#__PURE__*/(0, _react.createRef)();
360
+ field.isValueChangedByUser = false;
361
+
362
+ if (goToNextFieldOnEnterPressed) {
363
+ var onKeyDownProp = field.onKeyDown || function () {};
364
+
365
+ field.onKeyDown = function () {
366
+ onKeyDown.apply(void 0, arguments);
367
+ onKeyDownProp.apply(void 0, arguments);
368
+ };
369
+ } //Is Field Value Changed By USER
257
370
  // eslint-disable-next-line no-use-before-define
258
371
 
372
+
259
373
  addOnFieldRenderedObserver(key, function () {
260
- var _getFormField, _getFormField$ref, _getFormField$ref$cur;
374
+ var _getFormField2, _getFormField2$ref, _getFormField2$ref$cu;
261
375
 
262
- var element = (_getFormField = getFormField(key)) === null || _getFormField === void 0 ? void 0 : (_getFormField$ref = _getFormField.ref) === null || _getFormField$ref === void 0 ? void 0 : (_getFormField$ref$cur = _getFormField$ref.current) === null || _getFormField$ref$cur === void 0 ? void 0 : _getFormField$ref$cur.querySelector((field === null || field === void 0 ? void 0 : field.focusSelector) || 'input');
376
+ var element = (_getFormField2 = getFormField(key)) === null || _getFormField2 === void 0 ? void 0 : (_getFormField2$ref = _getFormField2.ref) === null || _getFormField2$ref === void 0 ? void 0 : (_getFormField2$ref$cu = _getFormField2$ref.current) === null || _getFormField2$ref$cu === void 0 ? void 0 : _getFormField2$ref$cu.querySelector((field === null || field === void 0 ? void 0 : field.focusSelector) || 'input');
263
377
 
264
378
  var handler = function handler() {
265
- return setFormField({
379
+ return _setFormField({
266
380
  isValueChangedByUser: true
267
381
  }, key);
268
382
  };
@@ -285,9 +399,9 @@ function useFormTools() {
285
399
  setOnFormRenderObservers = _useState12[1];
286
400
 
287
401
  var addOnFormRenderObserver = function addOnFormRenderObserver(cb) {
288
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
289
- _ref2$once = _ref2.once,
290
- once = _ref2$once === void 0 ? false : _ref2$once;
402
+ var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
403
+ _ref3$once = _ref3.once,
404
+ once = _ref3$once === void 0 ? false : _ref3$once;
291
405
 
292
406
  setOnFormRenderObservers(function (state) {
293
407
  return [].concat((0, _toConsumableArray2.default)(state), [{
@@ -296,7 +410,8 @@ function useFormTools() {
296
410
  isWorkedOut: false
297
411
  }]);
298
412
  });
299
- };
413
+ }; // eslint-disable-next-line no-unused-vars
414
+
300
415
 
301
416
  var updateOnFormRenderObserver = function updateOnFormRenderObserver(key, data) {
302
417
  setOnFormRenderObservers(function (state) {
@@ -306,14 +421,27 @@ function useFormTools() {
306
421
  });
307
422
  };
308
423
 
424
+ var removeOnFormRenderObserver = function removeOnFormRenderObserver(key) {
425
+ setOnFormRenderObservers(function (state) {
426
+ return state.slice().filter(function (v, i) {
427
+ return i !== key;
428
+ });
429
+ });
430
+ };
431
+
309
432
  var onFormRenderWorker = function onFormRenderWorker() {
310
- onFormRenderObservers.map(function (_ref3, key) {
311
- var cb = _ref3.cb,
312
- once = _ref3.once,
313
- isWorkedOut = _ref3.isWorkedOut;
433
+ // eslint-disable-next-line default-param-last
434
+ onFormRenderObservers.map(function () {
435
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
436
+ once = _ref4.once,
437
+ isWorkedOut = _ref4.isWorkedOut,
438
+ _ref4$cb = _ref4.cb,
439
+ cb = _ref4$cb === void 0 ? function () {} : _ref4$cb;
440
+
441
+ var key = arguments.length > 1 ? arguments[1] : undefined;
314
442
  if (once && isWorkedOut) return null;
315
443
  cb(form);
316
- updateOnFormRenderObserver(key, {
444
+ if (once) removeOnFormRenderObserver(key);else updateOnFormRenderObserver(key, {
317
445
  isWorkedOut: true
318
446
  });
319
447
  return null;
@@ -323,12 +451,17 @@ function useFormTools() {
323
451
 
324
452
  (0, _react.useEffect)(function () {
325
453
  if (isFormRendered || !onFormRenderObservers.length) return null;
454
+ var formFieldsKeys = getFormFieldsKeys(form);
455
+ var isAllFieldsRendered = renderFormFields.reduce(function (result, key) {
456
+ if (!formFieldsKeys.includes(key)) result = false;
457
+ return result;
458
+ }, true);
326
459
 
327
- if (getFormFieldsKeys(form).length === renderFormFields.length) {
328
- setIsFormRendered(true);
460
+ if (isAllFieldsRendered) {
461
+ submitIsFormRendered(true);
329
462
  onFormRenderWorker();
330
463
  }
331
- }, [form, renderFormFields]); //--- Render Fields Controller ---//--- END ---//
464
+ }, [form, renderFormFields, onFormRenderObservers]); //--- Render Fields Controller ---//--- END ---//
332
465
  ///////////////////////////////////////////////////////////////
333
466
  ///////////////////////////////////////////////////////////////
334
467
  //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
@@ -383,14 +516,14 @@ function useFormTools() {
383
516
  return setIsInitFocused(false);
384
517
  };
385
518
 
386
- var toggleFieldFocus = function toggleFieldFocus(_ref4) {
387
- var key = _ref4.key,
388
- _ref4$cb = _ref4.cb,
389
- cb = _ref4$cb === void 0 ? function () {} : _ref4$cb,
390
- argForm = _ref4.form,
391
- field = _ref4.field;
519
+ var toggleFieldFocus = function toggleFieldFocus(_ref5) {
520
+ var key = _ref5.key,
521
+ _ref5$cb = _ref5.cb,
522
+ cb = _ref5$cb === void 0 ? function () {} : _ref5$cb,
523
+ argForm = _ref5.form,
524
+ field = _ref5.field;
392
525
  var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'focus';
393
- if (!key) return null;
526
+ if (!key && !field) return null;
394
527
  if (!argForm) argForm = form;
395
528
  var formField = field || getFormField(key, argForm);
396
529
 
@@ -407,12 +540,12 @@ function useFormTools() {
407
540
  }, 50);
408
541
  };
409
542
 
410
- var setFieldFocus = function setFieldFocus(_ref5) {
411
- var key = _ref5.key,
412
- _ref5$cb = _ref5.cb,
413
- cb = _ref5$cb === void 0 ? function () {} : _ref5$cb,
414
- argForm = _ref5.form,
415
- field = _ref5.field;
543
+ var setFieldFocus = function setFieldFocus(_ref6) {
544
+ var key = _ref6.key,
545
+ _ref6$cb = _ref6.cb,
546
+ cb = _ref6$cb === void 0 ? function () {} : _ref6$cb,
547
+ argForm = _ref6.form,
548
+ field = _ref6.field;
416
549
  return toggleFieldFocus({
417
550
  key: key,
418
551
  cb: cb,
@@ -421,12 +554,12 @@ function useFormTools() {
421
554
  }, 'focus');
422
555
  };
423
556
 
424
- var setFieldBlur = function setFieldBlur(_ref6) {
425
- var key = _ref6.key,
426
- _ref6$cb = _ref6.cb,
427
- cb = _ref6$cb === void 0 ? function () {} : _ref6$cb,
428
- argForm = _ref6.form,
429
- field = _ref6.field;
557
+ var setFieldBlur = function setFieldBlur(_ref7) {
558
+ var key = _ref7.key,
559
+ _ref7$cb = _ref7.cb,
560
+ cb = _ref7$cb === void 0 ? function () {} : _ref7$cb,
561
+ argForm = _ref7.form,
562
+ field = _ref7.field;
430
563
  return toggleFieldFocus({
431
564
  key: key,
432
565
  cb: cb,
@@ -456,9 +589,10 @@ function useFormTools() {
456
589
  setAutoFocusedField(field.key);
457
590
 
458
591
  var callback = function callback() {
459
- setFormField({
592
+ _setFormField({
460
593
  value: field.value
461
594
  }, field.key);
595
+
462
596
  setFirstFieldInitFocused();
463
597
  };
464
598
 
@@ -516,15 +650,15 @@ function useFormTools() {
516
650
  };
517
651
 
518
652
  (0, _react.useEffect)(function () {
519
- if (FocusControllerProps.setAutoFocus && !isInitFocused && !autoFocusedField) setFirstFieldFocus();
653
+ if (FocusControllerProps.setAutoFocus && !isInitFocused && !autoFocusedField && isFormRendered) setFirstFieldFocus();
520
654
 
521
655
  if (focusOnRenderFields.length) {
522
656
  var _getFormFieldsKeys;
523
657
 
524
658
  (_getFormFieldsKeys = getFormFieldsKeys(form)) === null || _getFormFieldsKeys === void 0 ? void 0 : _getFormFieldsKeys.map(function (key) {
525
- var _getFormField2, _getFormField2$value;
659
+ var _getFormField3, _getFormField3$value;
526
660
 
527
- if (focusOnRenderFields.includes(key) && ((_getFormField2 = getFormField(key)) === null || _getFormField2 === void 0 ? void 0 : (_getFormField2$value = _getFormField2.value) === null || _getFormField2$value === void 0 ? void 0 : _getFormField2$value.length) === 0) {
661
+ if (focusOnRenderFields.includes(key) && ((_getFormField3 = getFormField(key)) === null || _getFormField3 === void 0 ? void 0 : (_getFormField3$value = _getFormField3.value) === null || _getFormField3$value === void 0 ? void 0 : _getFormField3$value.length) === 0) {
528
662
  var cb = function cb() {
529
663
  removeFocusFieldOnRender(key);
530
664
  callOnFieldFocusCallbacks(key);
@@ -540,7 +674,7 @@ function useFormTools() {
540
674
  return null;
541
675
  });
542
676
  }
543
- }, [form, focusOnRenderFields, isInitFocused]);
677
+ }, [form, focusOnRenderFields, isInitFocused, isFormRendered]);
544
678
  (0, _react.useEffect)(function () {
545
679
  setAutoFocusedField(null);
546
680
  }, [isInitFocused]);
@@ -572,9 +706,10 @@ function useFormTools() {
572
706
  var resetOnFieldRenderObserversWorkedOut = function resetOnFieldRenderObserversWorkedOut() {
573
707
  if (!isFieldObserversReset && renderFormFields.length) {
574
708
  renderFormFields.map(function (key) {
575
- setFormField({
709
+ _setFormField({
576
710
  isOnRenderObserversWorkedOut: false
577
711
  }, key);
712
+
578
713
  return key;
579
714
  });
580
715
  setIsFieldObserversReset(true);
@@ -626,12 +761,14 @@ function useFormTools() {
626
761
  return !(observer !== null && observer !== void 0 && observer.isObserverWorkedOut);
627
762
  });
628
763
  if (FilteredObservers.length === 0) return null;
629
- setFormField({
764
+
765
+ _setFormField({
630
766
  isOnRenderObserversWorkedOut: true
631
767
  }, key);
632
- FilteredObservers.map(function (_ref7, id) {
633
- var f = _ref7.f,
634
- isOnceCallable = _ref7.isOnceCallable;
768
+
769
+ FilteredObservers.map(function (_ref8, id) {
770
+ var f = _ref8.f,
771
+ isOnceCallable = _ref8.isOnceCallable;
635
772
  f(data);
636
773
  if (isOnceCallable) updateOnFieldRenderedObserver(key, id, {
637
774
  isObserverWorkedOut: true
@@ -698,6 +835,48 @@ function useFormTools() {
698
835
  // }, {});
699
836
  // });
700
837
  // };
838
+ ///////////////////////////////////////////////////////////////
839
+ ///////////////////////////////////////////////////////////////
840
+ //--- WindowScrollController ---//--- START ---//
841
+
842
+ var scrollToField = function scrollToField(_ref9) {
843
+ var _field2, _field3, _wrapperRef$current;
844
+
845
+ var _ref9$key = _ref9.key,
846
+ key = _ref9$key === void 0 ? null : _ref9$key,
847
+ _ref9$field = _ref9.field,
848
+ field = _ref9$field === void 0 ? null : _ref9$field,
849
+ argForm = _ref9.form;
850
+ if (!key && !field) return false;
851
+ if (!argForm) argForm = form;
852
+ if (!field) field = getFormField(key, argForm);
853
+ var wrapperRef = ((_field2 = field) === null || _field2 === void 0 ? void 0 : _field2.wrapperRef) || ((_field3 = field) === null || _field3 === void 0 ? void 0 : _field3.ref); // eslint-disable-next-line no-unsafe-optional-chaining
854
+
855
+ var _wrapperRef$current$g = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.getBoundingClientRect(),
856
+ topOffset = _wrapperRef$current$g.top;
857
+
858
+ var scrollTop = Math.abs(Math.abs(topOffset) - Math.abs(window.scrollY)) - 16;
859
+ window.scrollTo({
860
+ top: scrollTop
861
+ });
862
+ }; //--- WindowScrollController ---//--- END ---//
863
+ ///////////////////////////////////////////////////////////////
864
+ ///////////////////////////////////////////////////////////////
865
+
866
+
867
+ var addErrorsToForm = function addErrorsToForm(errors) {
868
+ var argForm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : form;
869
+ if (!argForm) argForm = form;
870
+ setFormFields(function (fields) {
871
+ return errors.reduce(function (fields, _ref10) {
872
+ var error = _ref10.message,
873
+ errKey = _ref10.propertyPath;
874
+ return updateFormField(fields, {
875
+ error: error
876
+ }, errKey);
877
+ }, fields);
878
+ });
879
+ };
701
880
 
702
881
  return {
703
882
  FormDataDrivers: FormDataDrivers,
@@ -733,19 +912,18 @@ function useFormTools() {
733
912
  addOnFieldRenderedObserver: addOnFieldRenderedObserver,
734
913
  removeOnFieldRenderedObserver: removeOnFieldRenderedObserver,
735
914
  onFieldRenderedObservers: onFieldRenderedObservers,
736
- setFormField: setFormField,
737
- setFormFields: setFormFields,
738
- removeAllFormFields: removeAllFormFields,
739
915
  updateFormField: updateFormField,
740
916
  addOnFormRenderObserver: addOnFormRenderObserver,
741
- renderFields: function renderFields(_ref8) {
742
- var _ref8$form = _ref8.form,
743
- argForm = _ref8$form === void 0 ? form : _ref8$form,
744
- _ref8$fields = _ref8.fields,
745
- argFields = _ref8$fields === void 0 ? renderFormFields : _ref8$fields,
746
- _ref8$cols = _ref8.cols,
747
- argCols = _ref8$cols === void 0 ? 1 : _ref8$cols,
748
- RenderFieldComponent = _ref8.RenderFieldComponent;
917
+ submitIsFormRendered: submitIsFormRendered,
918
+ resetIsFormRendered: resetIsFormRendered,
919
+ renderFields: function renderFields(_ref11) {
920
+ var _ref11$form = _ref11.form,
921
+ argForm = _ref11$form === void 0 ? form : _ref11$form,
922
+ _ref11$fields = _ref11.fields,
923
+ argFields = _ref11$fields === void 0 ? renderFormFields : _ref11$fields,
924
+ _ref11$cols = _ref11.cols,
925
+ argCols = _ref11$cols === void 0 ? 1 : _ref11$cols,
926
+ RenderFieldComponent = _ref11.RenderFieldComponent;
749
927
  return (0, _RenderFields.default)({
750
928
  form: argForm,
751
929
  fields: argFields,
@@ -754,6 +932,19 @@ function useFormTools() {
754
932
  onFieldChange: onFieldChange,
755
933
  FormDataDriver: getFormDataDriver(FormDataDriverName)
756
934
  });
757
- }
935
+ },
936
+ scrollToField: scrollToField,
937
+ getFieldData: getFieldData,
938
+ getFormField: getFormField,
939
+ setFormFields: setFormFields,
940
+ setFormField: function setFormField(data, key) {
941
+ return _setFormField(data, key);
942
+ },
943
+ getFormFieldsAsArray: getFormFieldsAsArray,
944
+ getFormFieldsKeys: getFormFieldsKeys,
945
+ removeAllFormFields: removeAllFormFields,
946
+ removeFormField: removeFormField,
947
+ removeFormFields: removeFormFields,
948
+ addErrorsToForm: addErrorsToForm
758
949
  };
759
950
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.1.76",
4
- "description": "fix: add Modal noHeader prop",
3
+ "version": "0.1.79",
4
+ "description": "hotfix/InputMaskOnChange | Add Possibility To Revert Clear Value and Masked Value in OnChange Callback",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist/*",