intelicoreact 0.1.57 → 0.1.60

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.
@@ -21,7 +21,7 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _reactFeather = require("react-feather");
23
23
 
24
- var _index2 = require("../../../Constants/index.constants");
24
+ var _indexConstants = require("./../../../Constants/index.constants.js");
25
25
 
26
26
  var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
27
27
 
@@ -114,23 +114,28 @@ function InputMask() {
114
114
  var _useState5 = (0, _react.useState)(false),
115
115
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
116
116
  isFocused = _useState6[0],
117
- setFocused = _useState6[1]; // ERRORS MANAGEMENT FUNCTIONS | START //
118
-
117
+ setFocused = _useState6[1];
119
118
 
120
119
  var _useState7 = (0, _react.useState)(false),
121
120
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
122
- isError = _useState8[0],
123
- setError = _useState8[1];
121
+ isInitValue = _useState8[0],
122
+ setIsInitValue = _useState8[1]; // ERRORS MANAGEMENT FUNCTIONS | START //
123
+
124
124
 
125
125
  var _useState9 = (0, _react.useState)(false),
126
126
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
127
- blinkError = _useState10[0],
128
- setBlinkError = _useState10[1];
127
+ isError = _useState10[0],
128
+ setError = _useState10[1];
129
129
 
130
- var _useState11 = (0, _react.useState)(errors.default),
130
+ var _useState11 = (0, _react.useState)(false),
131
131
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
132
- errorMessage = _useState12[0],
133
- setErrorMessage = _useState12[1];
132
+ blinkError = _useState12[0],
133
+ setBlinkError = _useState12[1];
134
+
135
+ var _useState13 = (0, _react.useState)(errors.default),
136
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
137
+ errorMessage = _useState14[0],
138
+ setErrorMessage = _useState14[1];
134
139
 
135
140
  var clearErrorMessage = function clearErrorMessage() {
136
141
  return setErrorMessage(errors.default);
@@ -138,32 +143,32 @@ function InputMask() {
138
143
  // SELECTION MANAGEMENT FUNCTIONS | START //
139
144
 
140
145
 
141
- var _useState13 = (0, _react.useState)(false),
142
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
143
- isSelecting = _useState14[0],
144
- setIsSelecting = _useState14[1];
145
-
146
- var _useState15 = (0, _react.useState)(''),
146
+ var _useState15 = (0, _react.useState)(false),
147
147
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
148
- selectedText = _useState16[0],
149
- setSelectedText = _useState16[1];
148
+ isSelecting = _useState16[0],
149
+ setIsSelecting = _useState16[1];
150
150
 
151
- var _useState17 = (0, _react.useState)(null),
151
+ var _useState17 = (0, _react.useState)(''),
152
152
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
153
- selectionStartX = _useState18[0],
154
- setSelectionStartX = _useState18[1];
153
+ selectedText = _useState18[0],
154
+ setSelectedText = _useState18[1];
155
155
 
156
156
  var _useState19 = (0, _react.useState)(null),
157
157
  _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
158
- selectionEndX = _useState20[0],
159
- setSelectionEndX = _useState20[1]; // SELECTION MANAGEMENT FUNCTIONS | END //
158
+ selectionStartX = _useState20[0],
159
+ setSelectionStartX = _useState20[1];
160
+
161
+ var _useState21 = (0, _react.useState)(null),
162
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
163
+ selectionEndX = _useState22[0],
164
+ setSelectionEndX = _useState22[1]; // SELECTION MANAGEMENT FUNCTIONS | END //
160
165
  // SERVICE WATCHERS MANAGEMENT FUNCTIONS | START //
161
166
 
162
167
 
163
- var _useState21 = (0, _react.useState)([]),
164
- _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
165
- serviceWatchers = _useState22[0],
166
- setServiceWatchers = _useState22[1];
168
+ var _useState23 = (0, _react.useState)([]),
169
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
170
+ serviceWatchers = _useState24[0],
171
+ setServiceWatchers = _useState24[1];
167
172
 
168
173
  var pushServiceWatcher = function pushServiceWatcher(fn) {
169
174
  return setServiceWatchers(function (state) {
@@ -193,10 +198,10 @@ function InputMask() {
193
198
  }, [serviceWatchers]); // SERVICE WATCHERS MANAGEMENT FUNCTIONS | END //
194
199
  // INNER VALUE MANAGEMENT FUNCTIONS | START //
195
200
 
196
- var _useState23 = (0, _react.useState)([]),
197
- _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
198
- innerValue = _useState24[0],
199
- setInnerValue = _useState24[1];
201
+ var _useState25 = (0, _react.useState)([]),
202
+ _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
203
+ innerValue = _useState26[0],
204
+ setInnerValue = _useState26[1];
200
205
 
201
206
  var addInnerValueChar = function addInnerValueChar(_ref2) {
202
207
  var char = _ref2.char,
@@ -227,6 +232,7 @@ function InputMask() {
227
232
 
228
233
  var i = arguments.length > 1 ? arguments[1] : undefined;
229
234
  setInnerValue(function (state) {
235
+ if (!state[i]) return state;
230
236
  var stateCopy = (0, _toConsumableArray2.default)(state);
231
237
  if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
232
238
  if (isSelected !== null) stateCopy[i].isSelected = isSelected;
@@ -245,16 +251,11 @@ function InputMask() {
245
251
  // CHECKERS | START //
246
252
 
247
253
 
248
- var isSpecialSymbolMaskChar = function isSpecialSymbolMaskChar(_ref4) {
249
- var char = _ref4.char;
250
- return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
251
- };
252
-
253
- var isValidChar = function isValidChar(_ref5) {
254
- var key = _ref5.char,
255
- i = _ref5.i,
256
- _ref5$disableErrors = _ref5.disableErrors,
257
- disableErrors = _ref5$disableErrors === void 0 ? false : _ref5$disableErrors;
254
+ var isValidChar = function isValidChar(_ref4) {
255
+ var key = _ref4.char,
256
+ i = _ref4.i,
257
+ _ref4$disableErrors = _ref4.disableErrors,
258
+ disableErrors = _ref4$disableErrors === void 0 ? false : _ref4$disableErrors;
258
259
  var maskChar = getMaskCharByIndex(i);
259
260
 
260
261
  switch (maskChar) {
@@ -306,8 +307,8 @@ function InputMask() {
306
307
  return true;
307
308
  };
308
309
 
309
- var isSpecialSymbolChar = function isSpecialSymbolChar(_ref6) {
310
- var char = _ref6.char;
310
+ var isSpecialSymbolChar = function isSpecialSymbolChar(_ref5) {
311
+ var char = _ref5.char;
311
312
  return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
312
313
  }; // CHECKERS | END //
313
314
  // GETTERS | START //
@@ -343,11 +344,11 @@ function InputMask() {
343
344
  var minX = selectionStartX < selectionEndX ? selectionStartX : selectionEndX;
344
345
  var maxX = selectionStartX > selectionEndX ? selectionStartX : selectionEndX;
345
346
 
346
- var _innerValue$reduce = innerValue.reduce(function (resObj, _ref7, index) {
347
+ var _innerValue$reduce = innerValue.reduce(function (resObj, _ref6, index) {
347
348
  var _ref$current;
348
349
 
349
- var char = _ref7.char,
350
- ref = _ref7.ref;
350
+ var char = _ref6.char,
351
+ ref = _ref6.ref;
351
352
  if ((ref === null || ref === void 0 ? void 0 : ref.current) === null) return resObj;
352
353
 
353
354
  var _ref$current$getBound = ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect(),
@@ -386,48 +387,38 @@ function InputMask() {
386
387
  };
387
388
 
388
389
  var getInnerValueAsString = function getInnerValueAsString() {
389
- var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
390
- _ref8$replaceSpace = _ref8.replaceSpace,
391
- replaceSpace = _ref8$replaceSpace === void 0 ? false : _ref8$replaceSpace;
390
+ var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
391
+ _ref7$replaceSpace = _ref7.replaceSpace,
392
+ replaceSpace = _ref7$replaceSpace === void 0 ? false : _ref7$replaceSpace;
392
393
 
393
- var result = innerValue.slice(0, innerValue.length - 1).map(function (_ref9, i) {
394
- var char = _ref9.char,
395
- maskChar = _ref9.maskChar;
394
+ var result = innerValue.slice(0, innerValue.length - 1).map(function (_ref8, i) {
395
+ var char = _ref8.char,
396
+ maskChar = _ref8.maskChar;
396
397
  return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
397
398
  }).join('');
398
399
  return replaceSpace ? result.replace(/\u00A0/g, ' ') : result;
399
400
  };
400
401
 
401
- var getClearInnerValueWithSpecSymbAsString = function getClearInnerValueWithSpecSymbAsString() {
402
- return innerValue.reduce(function (result, _ref10) {
403
- var char = _ref10.char,
404
- maskChar = _ref10.maskChar,
405
- isSpecialSymbol = _ref10.isSpecialSymbol;
406
- if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
407
- return result;
408
- }, '');
409
- };
410
-
411
402
  var getClearInnerValueAsString = function getClearInnerValueAsString() {
412
403
  var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
413
404
  return innerValue.filter(function (charObj, i) {
414
405
  return i >= start;
415
- }).filter(function (_ref11) {
416
- var isSpecialSymbol = _ref11.isSpecialSymbol;
406
+ }).filter(function (_ref9) {
407
+ var isSpecialSymbol = _ref9.isSpecialSymbol;
417
408
  return !isSpecialSymbol;
418
- }).reduce(function (result, _ref12) {
419
- var char = _ref12.char,
420
- maskChar = _ref12.maskChar,
421
- isSpecialSymbol = _ref12.isSpecialSymbol;
409
+ }).reduce(function (result, _ref10) {
410
+ var char = _ref10.char,
411
+ maskChar = _ref10.maskChar,
412
+ isSpecialSymbol = _ref10.isSpecialSymbol;
422
413
  if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
423
414
  return result;
424
415
  }, '');
425
416
  };
426
417
 
427
418
  var getLastTypedIndex = function getLastTypedIndex() {
428
- return innerValue.reduce(function (lastIndex, _ref13, i) {
429
- var char = _ref13.char,
430
- isSpecialSymbol = _ref13.isSpecialSymbol;
419
+ return innerValue.reduce(function (lastIndex, _ref11, i) {
420
+ var char = _ref11.char,
421
+ isSpecialSymbol = _ref11.isSpecialSymbol;
431
422
  if (!isSpecialSymbol && char !== _config.SPACE_CHAR && char !== '' || lastIndex === null) lastIndex = i;
432
423
  return lastIndex;
433
424
  }, -1) + 1;
@@ -451,8 +442,7 @@ function InputMask() {
451
442
  (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
452
443
  setTimeout(function () {
453
444
  return (0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
454
- }, 10); // onFocus(null, i);
455
-
445
+ }, 10);
456
446
  return true;
457
447
  }; // SETTERS | END //
458
448
  ///--- Event Handlers ---///
@@ -481,7 +471,8 @@ function InputMask() {
481
471
  if (maskAsPlaceholder) {
482
472
  var newText = getInnerValueAsString().substr(0, prevIndex) + getInnerValueAsString().substr(i);
483
473
  resetInnerValue();
484
- onPaste({
474
+
475
+ _onPaste({
485
476
  text: newText
486
477
  }, 0);
487
478
  } else {
@@ -507,9 +498,11 @@ function InputMask() {
507
498
  if (maskAsPlaceholder) {
508
499
  var newText = getInnerValueAsString().substr(0, i) + getInnerValueAsString().substr(nextIndex);
509
500
  resetInnerValue();
510
- onPaste({
501
+
502
+ _onPaste({
511
503
  text: newText
512
504
  }, 0);
505
+
513
506
  setFocusOnChar(i, i);
514
507
  } else {
515
508
  updateInnerValueChar({
@@ -570,9 +563,9 @@ function InputMask() {
570
563
  var handleKeyDown = function handleKeyDown(e, i) {
571
564
  var _getClearInnerValueAs;
572
565
 
573
- var _ref14 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
574
- _ref14$disableErrors = _ref14.disableErrors,
575
- disableErrors = _ref14$disableErrors === void 0 ? false : _ref14$disableErrors;
566
+ var _ref12 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
567
+ _ref12$disableErrors = _ref12.disableErrors,
568
+ disableErrors = _ref12$disableErrors === void 0 ? false : _ref12$disableErrors;
576
569
 
577
570
  try {
578
571
  e.stopPropagation();
@@ -582,6 +575,9 @@ function InputMask() {
582
575
  var key = e.key;
583
576
  var charObj = getCharByIndex(i);
584
577
  if (!charObj || i === innerValue.length - 1) return false;
578
+ if (maskAsPlaceholder && i > getLastTypedIndex() + 1) return handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
579
+ disableErrors: disableErrors
580
+ });
585
581
  var isSpecialSymbol = charObj.isSpecialSymbol,
586
582
  maskChar = charObj.maskChar,
587
583
  isReadOnly = charObj.isReadOnly;
@@ -599,11 +595,12 @@ function InputMask() {
599
595
  var fromIndex = i + 1;
600
596
  var text = innerValue.slice().filter(function (charObj, index) {
601
597
  return index >= i;
602
- }).map(function (_ref15, index) {
603
- var char = _ref15.char;
598
+ }).map(function (_ref13, index) {
599
+ var char = _ref13.char;
604
600
  return char;
605
601
  }).join('');
606
- onPaste({
602
+
603
+ _onPaste({
607
604
  text: text
608
605
  }, fromIndex, false);
609
606
  }
@@ -627,31 +624,34 @@ function InputMask() {
627
624
  }
628
625
  };
629
626
 
630
- var _onKeyDown = function onKeyDown(e, i) {
627
+ var _onKeyDown = function onKeyDown(e) {
628
+ var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
631
629
  if (!isFocused) return false;
632
630
  var key = e.key,
633
631
  ctrlKey = e.ctrlKey,
634
632
  altKey = e.altKey;
635
- if (_index2.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key)) return true;
633
+ if (_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key)) return true;
636
634
  setError(false);
637
635
  clearErrorMessage();
638
636
 
639
637
  if (ctrlKey || altKey) {
640
- if (!_index2.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
638
+ if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
641
639
  return true;
642
640
  }
643
641
 
644
- var handleResult = _index2.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
642
+ e.preventDefault();
643
+ e.stopPropagation();
644
+ var handleResult = _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
645
645
 
646
- if (blinkErrors && !handleResult) {
646
+ if (blinkErrors && !handleResult && i !== null) {
647
647
  setBlinkError(true);
648
648
  }
649
649
  };
650
650
 
651
651
  var onClick = function onClick(e, cb) {
652
- var _ref16 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
653
- _ref16$ignoreIsSelect = _ref16.ignoreIsSelecting,
654
- ignoreIsSelecting = _ref16$ignoreIsSelect === void 0 ? false : _ref16$ignoreIsSelect;
652
+ var _ref14 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
653
+ _ref14$ignoreIsSelect = _ref14.ignoreIsSelecting,
654
+ ignoreIsSelecting = _ref14$ignoreIsSelect === void 0 ? false : _ref14$ignoreIsSelect;
655
655
 
656
656
  try {
657
657
  e.stopPropagation();
@@ -693,7 +693,7 @@ function InputMask() {
693
693
 
694
694
  if (!isMouseDown && !isSelecting) {
695
695
  onClick(e);
696
- setFocusOnChar(0, 0);
696
+ setFocusOnChar(getLastTypedIndex(), 0);
697
697
  }
698
698
  };
699
699
 
@@ -734,13 +734,19 @@ function InputMask() {
734
734
  setFocused(true);
735
735
  };
736
736
 
737
- var onPaste = function onPaste(e, i) {
738
- var _ref17, _window, _e$clipboardData;
737
+ var _onPaste = function onPaste(e, i) {
738
+ var _ref15, _window, _e$clipboardData;
739
739
 
740
740
  var setFocusToEnd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
741
+
742
+ try {
743
+ e.stopPropagation();
744
+ e.preventDefault();
745
+ } catch (error) {}
746
+
741
747
  setIsSelecting(false);
742
748
  (0, _functions.resetSelectionText)();
743
- var pastedText = ((_ref17 = (e === null || e === void 0 ? void 0 : e.clipboardData) || ((_window = window) === null || _window === void 0 ? void 0 : _window.clipboardData)) === null || _ref17 === void 0 ? void 0 : _ref17.getData('text/plain')) || (e === null || e === void 0 ? void 0 : (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData('Text')) || e.text;
749
+ var pastedText = ((_ref15 = (e === null || e === void 0 ? void 0 : e.clipboardData) || ((_window = window) === null || _window === void 0 ? void 0 : _window.clipboardData)) === null || _ref15 === void 0 ? void 0 : _ref15.getData('text/plain')) || (e === null || e === void 0 ? void 0 : (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData('Text')) || e.text;
744
750
  if (!pastedText) return false;
745
751
  var replacedIndexes = [];
746
752
 
@@ -748,11 +754,12 @@ function InputMask() {
748
754
  var fromIndex = i + parseInt(pastedText === null || pastedText === void 0 ? void 0 : pastedText.length);
749
755
  var text = innerValue.slice().filter(function (charObj, index) {
750
756
  return index >= i;
751
- }).map(function (_ref18, index) {
752
- var char = _ref18.char;
757
+ }).map(function (_ref16, index) {
758
+ var char = _ref16.char;
753
759
  return char;
754
760
  }).join('');
755
- onPaste({
761
+
762
+ _onPaste({
756
763
  text: text
757
764
  }, fromIndex, false);
758
765
  }
@@ -812,27 +819,38 @@ function InputMask() {
812
819
  lastCharIndex = _replacedIndexes$reve2[0];
813
820
 
814
821
  if (setFocusToEnd) setFocusOnChar(lastCharIndex + 1, i);
822
+ return lastCharIndex;
815
823
  };
816
824
 
817
- var onCopy = function onCopy(e, i) {
825
+ var _onCopy = function onCopy(e, i) {
826
+ try {
827
+ e.stopPropagation();
828
+ e.preventDefault();
829
+ } catch (error) {}
830
+
818
831
  (0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
819
832
  setIsSelecting(false);
820
833
  setFocusOnChar(i, 0);
821
834
  };
822
835
 
823
- var onCut = function onCut(e, i) {
836
+ var _onCut = function onCut(e, i) {
837
+ try {
838
+ e.stopPropagation();
839
+ e.preventDefault();
840
+ } catch (error) {}
841
+
824
842
  (0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
825
- resetInnerValue();
843
+ deleteSelectedText();
826
844
  setIsSelecting(false);
827
845
  setFocusOnChar(i, 0);
828
846
  }; // GENERAL EVENT HANDLERS | END //
829
- // HELPERS | START //
847
+ // FUNCTIONS | START //
830
848
 
831
849
 
832
850
  var cancelDefaultAction = function cancelDefaultAction(e, cb) {
833
851
  var key = e.key;
834
852
 
835
- if (!_config.EXCLUDED_KEYS.includes(key) && _index2.KEYBOARD_SERVICE_KEYS.includes(key)) {
853
+ if (!_config.EXCLUDED_KEYS.includes(key) && _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) {
836
854
  e.preventDefault();
837
855
  e.stopPropagation();
838
856
  }
@@ -857,36 +875,38 @@ function InputMask() {
857
875
  var selStartInd = getSelectStartIndex();
858
876
  if (selStartInd === null || selStartInd === undefined || selStartInd < 0) return false;
859
877
  var selEndInd = (0, _functions.getSelectionText)().length + selStartInd;
878
+ var filteredSelLen = (0, _functions.getSelectionText)().split('').reduce(function (counter, char) {
879
+ if (!isSpecialSymbolChar(char)) counter += 1;
880
+ return counter;
881
+ }, 0);
860
882
  (0, _functions.resetSelectionText)();
861
883
 
862
884
  if (maskAsPlaceholder && ((_getClearInnerValueAs2 = getClearInnerValueAsString(selEndInd + 1)) === null || _getClearInnerValueAs2 === void 0 ? void 0 : _getClearInnerValueAs2.length) !== 0) {
863
- var fromIndex = selStartInd;
864
- var text = innerValue.slice().filter(function (charObj, index) {
865
- return index >= selEndInd;
866
- }).map(function (_ref19, index) {
867
- var char = _ref19.char;
885
+ var text = innerValue.slice().filter(function (_ref17, index) {
886
+ var isSpecialSymbol = _ref17.isSpecialSymbol;
887
+ return (index < selStartInd || index >= selEndInd) && !isSpecialSymbol;
888
+ }).map(function (_ref18, index) {
889
+ var char = _ref18.char;
868
890
  return char;
869
891
  }).join('');
870
- onPaste({
892
+ resetInnerValue();
893
+
894
+ _onPaste({
871
895
  text: text
872
- }, fromIndex, false);
896
+ }, 0, false);
873
897
 
874
- for (var index = fromIndex + text.length; index < innerValue.length; ++index) {
875
- updateInnerValueChar({
876
- char: ''
877
- }, index);
878
- }
898
+ setFocusOnChar(selStartInd);
879
899
  } else {
880
- for (var _index = selStartInd; _index < selEndInd; ++_index) {
900
+ for (var index = selStartInd; index < selEndInd; ++index) {
881
901
  updateInnerValueChar({
882
902
  char: ''
883
- }, _index);
903
+ }, index);
884
904
  }
885
905
  }
886
906
 
887
907
  setFocusOnChar(selStartInd, -1);
888
908
  return true;
889
- }; // HELPERS | END //
909
+ }; // FUNCTIONS | END //
890
910
  ///--- OBSERVERS ---///
891
911
  //Render Mask
892
912
 
@@ -905,12 +925,12 @@ function InputMask() {
905
925
  setMaskRendered(true);
906
926
  }, []);
907
927
  (0, _react.useEffect)(function () {
908
- if (!isMaskRendered) return false;
928
+ if (!isMaskRendered || isInitValue) return false;
909
929
 
910
- if (value && value !== '') {
930
+ if (value && value !== '' && value !== getClearInnerValueAsString()) {
911
931
  var valueCharIndex = 0;
912
- innerValue.map(function (_ref20, i) {
913
- var isSpecialSymbol = _ref20.isSpecialSymbol;
932
+ innerValue.map(function (_ref19, i) {
933
+ var isSpecialSymbol = _ref19.isSpecialSymbol;
914
934
  if (isSpecialSymbol) return false;
915
935
  var char = value[valueCharIndex];
916
936
 
@@ -933,8 +953,9 @@ function InputMask() {
933
953
 
934
954
  ++valueCharIndex;
935
955
  });
956
+ setIsInitValue(true);
936
957
  }
937
- }, [isMaskRendered]); // Focus Observer
958
+ }, [isMaskRendered, value, isInitValue]); // Focus Observer
938
959
 
939
960
  (0, _react.useEffect)(function () {
940
961
  if (!isFocused) {
@@ -952,9 +973,9 @@ function InputMask() {
952
973
  if (!isMaskRendered) return false;
953
974
  setError(false);
954
975
  clearErrorMessage();
955
- onChangeProp(getInnerValueAsString({
976
+ onChangeProp(getClearInnerValueAsString(), getInnerValueAsString({
956
977
  replaceSpace: true
957
- }), getClearInnerValueAsString());
978
+ }));
958
979
  }, [innerValue, isMaskRendered]); // Blink Error
959
980
 
960
981
  (0, _react.useEffect)(function () {
@@ -1032,15 +1053,16 @@ function InputMask() {
1032
1053
  key: i,
1033
1054
  maxLength: 1,
1034
1055
  "attr-char-id": i,
1035
- 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 ").concat(isSelected ? 'input-mask_value_item--selected' : '', "\n ").concat(char === '' || isSpecialSymbol ? 'unselectable' : '', "\n ") // ${!isSelecting && (char === '' || isSpecialSymbol) ? 'unselectable' : ''}
1056
+ 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 ").concat(isSelected ? 'input-mask_value_item--selected' : '', "\n ") // ${char === '' || isSpecialSymbol ? 'unselectable' : ''}
1057
+ // ${!isSelecting && (char === '' || isSpecialSymbol) ? 'unselectable' : ''}
1036
1058
  ,
1037
1059
  onClick: function onClick(e) {
1038
1060
  return onCharClick(e, i);
1039
1061
  },
1040
1062
  onFocus: function onFocus(e) {
1041
1063
  return _onFocus(e, i);
1042
- } // onBlur={onBlur}
1043
- ,
1064
+ },
1065
+ onBlur: onBlur,
1044
1066
  onKeyPress: cancelDefaultAction,
1045
1067
  onKeyDown: function onKeyDown(e) {
1046
1068
  return _onKeyDown(e, i);
@@ -1049,9 +1071,15 @@ function InputMask() {
1049
1071
  contentEditable: !isSelecting,
1050
1072
  inputMode: (0, _functions.isDigitMaskChar)(i !== innerValue.length - 1 ? maskChar : prevChar === null || prevChar === void 0 ? void 0 : prevChar.maskChar) ? 'numeric' : 'text',
1051
1073
  suppressContentEditableWarning: true,
1052
- onPaste: cancelDefaultAction,
1053
- onCopy: cancelDefaultAction,
1054
- onCut: cancelDefaultAction,
1074
+ onPaste: function onPaste(e) {
1075
+ return _onPaste(e, i);
1076
+ },
1077
+ onCopy: function onCopy(e) {
1078
+ return _onCopy(e, i);
1079
+ },
1080
+ onCut: function onCut(e) {
1081
+ return _onCut(e, i);
1082
+ },
1055
1083
  ref: ref,
1056
1084
  onDoubleClick: function onDoubleClick(e) {
1057
1085
  setIsSelecting(true);
@@ -1085,7 +1113,6 @@ function InputMask() {
1085
1113
  var renderInputValue = function renderInputValue() {
1086
1114
  return innerValue.map(function (obj, i) {
1087
1115
  var char = obj.char,
1088
- maskChar = obj.maskChar,
1089
1116
  isSpecialSymbol = obj.isSpecialSymbol;
1090
1117
 
1091
1118
  if (isSpecialSymbol) {
@@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _reactFeather = require("react-feather");
19
19
 
20
+ var _config = require("./config");
21
+
20
22
  var _InputMask = _interopRequireDefault(require("./InputMask"));
21
23
 
22
24
  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); }
@@ -30,7 +32,7 @@ var _default = {
30
32
  argTypes: {
31
33
  maskPattern: {
32
34
  title: 'Mask Pattern',
33
- description: '<b>"D"</b> - Digit.<br/><b>"L"</b> or <b>"l"</b> - Letter.'
35
+ description: "<b>\"".concat(_config.DIGIT_MASK_CHAR, "\"</b> - Digit.<br/><b>\"").concat(_config.UPPERCASE_LETTER_MASK_CHAR, "\"</b> or <b>\"").concat(_config.LOWERCASE_LETTER_MASK_CHAR, "\"</b> - Letter.")
34
36
  },
35
37
  maskPatternPlaceholder: {
36
38
  title: 'Pattern Placeholder',
@@ -121,7 +123,9 @@ var _default = {
121
123
  },
122
124
  errors: {
123
125
  type: 'object',
124
- description: "Errors Descriptions: <br/>\n\n {\n onlyLetter: 'Type letter',\n onlyDigit: 'Type digit',\n onlyUpperCase: 'Type letter in UpperCase',\n onlyLowerCase: 'Type letter in LowerCase',\n default: null\n }\n"
126
+ description: "Errors Descriptions: <br/>\n {\n ".concat(Object.keys(_config.DEFAULT_ERRORS).map(function (key) {
127
+ return "<br/> &nbsp;&nbsp;&nbsp;&nbsp;".concat(key, ": '").concat(_config.DEFAULT_ERRORS[key], "'");
128
+ }), "\n <br/>\n }")
125
129
  },
126
130
  error: {
127
131
  type: 'string',
@@ -48,7 +48,7 @@ var selectElementContents = function selectElementContents(el) {
48
48
  exports.selectElementContents = selectElementContents;
49
49
 
50
50
  var isLetter = function isLetter(char) {
51
- return (char === null || char === void 0 ? void 0 : char.length) === 1 && (char === null || char === void 0 ? void 0 : char.match(/[a-z]/i));
51
+ return Boolean((char === null || char === void 0 ? void 0 : char.length) === 1 && (char === null || char === void 0 ? void 0 : char.match(/[a-z]/i)));
52
52
  };
53
53
 
54
54
  exports.isLetter = isLetter;
@@ -66,7 +66,7 @@ var isLowerCaseLetter = function isLowerCaseLetter(char) {
66
66
  exports.isLowerCaseLetter = isLowerCaseLetter;
67
67
 
68
68
  var isDigit = function isDigit(char) {
69
- return Number.isInteger(parseInt(char));
69
+ return Boolean(Number.isInteger(parseInt(char)));
70
70
  };
71
71
 
72
72
  exports.isDigit = isDigit;
@@ -289,20 +289,24 @@ var NumericInput = function NumericInput(_ref) {
289
289
  className: "input__nums"
290
290
  }, /*#__PURE__*/_react.default.createElement("button", {
291
291
  ref: decRef,
292
+ className: (0, _classnames.default)('input__num-btn', {
293
+ 'events-none': +value <= min
294
+ }),
292
295
  onMouseDown: function onMouseDown(e) {
293
296
  return handle.decrement(e);
294
- },
295
- className: "input__num-btn"
297
+ }
296
298
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.Minus, {
297
299
  className: (0, _classnames.default)({
298
300
  disabled: +value <= min
299
301
  })
300
302
  })), /*#__PURE__*/_react.default.createElement("button", {
301
303
  ref: incRef,
304
+ className: (0, _classnames.default)('input__num-btn', {
305
+ 'events-none': +value >= max
306
+ }),
302
307
  onMouseDown: function onMouseDown(e) {
303
308
  return handle.increment(e);
304
- },
305
- className: "input__num-btn"
309
+ }
306
310
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.Plus, {
307
311
  className: (0, _classnames.default)({
308
312
  disabled: +value >= max
@@ -133,3 +133,7 @@
133
133
  visibility: visible;
134
134
  pointer-events: all;
135
135
  }
136
+
137
+ .events-none {
138
+ pointer-events: none;
139
+ }
@@ -15,18 +15,18 @@ var _index = require("../Constants/index.constants");
15
15
  // The first word "filter" in the function name means a logic in which the function works as a changer for sequential input
16
16
  // *** format ***
17
17
  var formatOnlyNumbers = function formatOnlyNumbers(value) {
18
- return (!!value ? value.toString() : '').replace(/\D/g, '');
18
+ return (value ? value.toString() : '').replace(/\D/g, '');
19
19
  };
20
20
 
21
21
  exports.formatOnlyNumbers = formatOnlyNumbers;
22
22
 
23
23
  var formatToAddBitDepthPoints = function formatToAddBitDepthPoints(inputValue) {
24
24
  var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
25
- var value = !!inputValue ? inputValue.toString() : ''; //содержит ли value точку
25
+ var value = inputValue ? inputValue.toString() : ''; // содержит ли value точку
26
26
 
27
- var isFraction = value.includes('.'); //взять строку до точки
27
+ var isFraction = value.includes('.'); // взять строку до точки
28
28
 
29
- var valueBeforeDot = isFraction ? value.slice(0, value.indexOf('.')) : value; //расстановка запятых после каждой 3й цифры с конца
29
+ var valueBeforeDot = isFraction ? value.slice(0, value.indexOf('.')) : value; // расстановка запятых после каждой 3й цифры с конца
30
30
 
31
31
  var intPart = valueBeforeDot.split('').reverse().reduce(function (acc, item, idx) {
32
32
  return idx % step === 0 && idx !== 0 ? [].concat((0, _toConsumableArray2.default)(acc), [',', item]) : [].concat((0, _toConsumableArray2.default)(acc), [item]);
@@ -37,46 +37,45 @@ var formatToAddBitDepthPoints = function formatToAddBitDepthPoints(inputValue) {
37
37
  exports.formatToAddBitDepthPoints = formatToAddBitDepthPoints;
38
38
 
39
39
  var formatToTwoDigitAfterDot = function formatToTwoDigitAfterDot(inputValue) {
40
- var value = !!inputValue ? inputValue.toString() : '';
40
+ var value = inputValue ? inputValue.toString() : '';
41
41
  var arr = value.split('.');
42
42
  var intPart = arr.shift();
43
43
  var decimalPart = arr.join('').replace(/\s/g, '').slice(0, 2);
44
- return intPart + (decimalPart.length ? '.' + decimalPart : '');
44
+ return intPart + (decimalPart.length ? ".".concat(decimalPart) : '');
45
45
  };
46
46
 
47
47
  exports.formatToTwoDigitAfterDot = formatToTwoDigitAfterDot;
48
48
 
49
49
  var formatToLetters = function formatToLetters(inputValue) {
50
50
  var soft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
51
- var value = !!inputValue ? inputValue.toString() : '';
51
+ var value = inputValue ? inputValue.toString() : '';
52
52
 
53
53
  if (soft) {
54
54
  return value.toString().replace(/[^a-z-]/gi, '');
55
- } else {
56
- return value.toString().replace(/[^a-z]/gi, '');
57
55
  }
56
+
57
+ return value.toString().replace(/[^a-z]/gi, '');
58
58
  }; // eslint-disable-next-line no-control-regex
59
59
 
60
60
 
61
61
  exports.formatToLetters = formatToLetters;
62
62
 
63
63
  var formatToOnlyASCIICodeText = function formatToOnlyASCIICodeText(text) {
64
- return (!!text ? text.toString() : '').replace(/[^\x00-\x7F]+/g, '');
64
+ return (text ? text.toString() : '').replace(/[^\x00-\x7F]+/g, '');
65
65
  };
66
66
 
67
67
  exports.formatToOnlyASCIICodeText = formatToOnlyASCIICodeText;
68
68
 
69
69
  var formatToRemoveComa = function formatToRemoveComa(value) {
70
- return (!!value ? value.toString() : '').toString().replace(/\,/g, '');
70
+ return (value ? value.toString() : '').toString().replace(/\,/g, '');
71
71
  };
72
72
 
73
73
  exports.formatToRemoveComa = formatToRemoveComa;
74
74
 
75
75
  var formatToCutOffDotAtTheEnd = function formatToCutOffDotAtTheEnd(inputValue) {
76
- var value = !!inputValue ? inputValue.toString() : '';
76
+ var value = inputValue ? inputValue.toString() : '';
77
77
  return value.toString().slice(-1) === '.' ? value.slice(0, -1) : value;
78
- }; // eslint-disable-next-line default-param-last
79
-
78
+ };
80
79
 
81
80
  exports.formatToCutOffDotAtTheEnd = formatToCutOffDotAtTheEnd;
82
81
 
@@ -93,12 +92,13 @@ var formatNumberValueToMask = function formatNumberValueToMask() {
93
92
  _ref$isReturnAdvanced = _ref.isReturnAdvanced,
94
93
  isReturnAdvanced = _ref$isReturnAdvanced === void 0 ? false : _ref$isReturnAdvanced;
95
94
 
96
- var processing = mask.split('').reduce(function (acc, item) {
95
+ var processing = mask === null || mask === void 0 ? void 0 : mask.split('').reduce(function (acc, item) {
96
+ // eslint-disable-next-line no-plusplus
97
97
  if (acc.value.length) ++acc.cursorPosition;
98
98
  acc.newValue.push(item === valueSymbol && acc.value.length ? acc.value.shift() : item);
99
99
  return acc;
100
100
  }, {
101
- value: inputValue.split('').filter(function (sym) {
101
+ value: inputValue === null || inputValue === void 0 ? void 0 : inputValue.split('').filter(function (sym) {
102
102
  return /[0-9]/g.test(sym);
103
103
  }),
104
104
  newValue: [],
@@ -115,17 +115,17 @@ exports.formatNumberValueToMask = formatNumberValueToMask;
115
115
 
116
116
  var filterFloat = function filterFloat(inputValue) {
117
117
  var decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
118
- var value = !!inputValue ? inputValue.toString() : '';
118
+ var value = inputValue ? inputValue.toString() : '';
119
119
 
120
120
  var replaser = function replaser(input) {
121
- return ('' + input).replace(/[^\.\d]/g, '');
121
+ return "".concat(input).replace(/[^\.\d]/g, '');
122
122
  };
123
123
 
124
124
  if (value.length === 1 && (value[0] === '.' || value[0] === ',')) return '0.';
125
- var output = ('' + value).replace(/,/g, '.');
125
+ var output = "".concat(value).replace(/,/g, '.');
126
126
  if (value.length > 1 && value[0] === '0' && value[1] !== '.' && value[0] !== ',') output = value.slice(1);
127
- var previousValue = '' + output.slice(0, -1);
128
- var lastSym = '' + output.slice(-1);
127
+ var previousValue = "".concat(output.slice(0, -1));
128
+ var lastSym = "".concat(output.slice(-1));
129
129
  if (decimalPlaces && typeof decimalPlaces === 'number' && previousValue.includes('.') && previousValue.indexOf('.') + 1 + decimalPlaces === previousValue.length) return replaser(previousValue);
130
130
  return replaser(lastSym === '.' && previousValue.includes('.') ? previousValue : output);
131
131
  };
@@ -133,14 +133,14 @@ var filterFloat = function filterFloat(inputValue) {
133
133
  exports.filterFloat = filterFloat;
134
134
 
135
135
  var filterToLimitLength = function filterToLimitLength(inputValue, limit) {
136
- var value = !!inputValue ? inputValue.toString() : '';
136
+ var value = inputValue ? inputValue.toString() : '';
137
137
  return limit && typeof limit === 'number' && !Number.isNaN(limit) && (value === null || value === void 0 ? void 0 : value.length) > limit ? value.substr(0, limit) : value;
138
138
  };
139
139
 
140
140
  exports.filterToLimitLength = filterToLimitLength;
141
141
 
142
142
  var filterPhone = function filterPhone(value) {
143
- return limitLength(filterNumbers(!!value ? value.toString() : ''), _index.MAX_PHONE_LENGTH);
143
+ return limitLength(filterNumbers(value ? value.toString() : ''), _index.MAX_PHONE_LENGTH);
144
144
  };
145
145
 
146
146
  exports.filterPhone = filterPhone;
@@ -152,7 +152,7 @@ var filterNumeric = function filterNumeric(value, settings) {
152
152
  decimalPlaces = _ref2.decimalPlaces;
153
153
 
154
154
  var executor = type === 'float' ? filterFloat : formatOnlyNumbers;
155
- return executor(!!value ? value.toString() : '', decimalPlaces);
155
+ return executor(value ? value.toString() : '', decimalPlaces);
156
156
  };
157
157
 
158
158
  exports.filterNumeric = filterNumeric;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.1.57",
3
+ "version": "0.1.60",
4
4
  "description": "fix UserBox crush",
5
5
  "main": "dist/index.js",
6
6
  "files": ["dist/*", "node_modules/anme/*", "node_modules/moment/*", "node_modules/moment-timezone/*"],