intelicoreact 0.1.44 → 0.1.45

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.
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  &_error {
35
- border-color: #f06d8d;
35
+ border-color: #f06d8d !important;
36
36
  }
37
37
  }
38
38
 
@@ -34,25 +34,14 @@ var getCaretPosition = function getCaretPosition(ctrl) {
34
34
  exports.getCaretPosition = getCaretPosition;
35
35
 
36
36
  var setCaretPosition = function setCaretPosition(ctrl, start, end) {
37
+ if (!ctrl) return false;
37
38
  var range = document.createRange();
38
39
  var sel = window.getSelection();
39
- range.setStart(ctrl.childNodes[0], start);
40
+ range.setStart(ctrl === null || ctrl === void 0 ? void 0 : ctrl.childNodes[0], start);
40
41
  range.collapse(true);
41
42
  sel.removeAllRanges();
42
43
  sel.addRange(range);
43
- ctrl.focus(); // // IE >= 9 and other browsers
44
- // if (ctrl.setSelectionRange) {
45
- // ctrl.focus();
46
- // ctrl.setSelectionRange(start, end);
47
- // }
48
- // // IE < 9
49
- // else if (ctrl.createTextRange) {
50
- // var range = ctrl.createTextRange();
51
- // range.collapse(true);
52
- // range.moveEnd('character', end);
53
- // range.moveStart('character', start);
54
- // range.select();
55
- // }
44
+ ctrl.focus();
56
45
  };
57
46
 
58
47
  exports.setCaretPosition = setCaretPosition;
@@ -60,6 +60,8 @@ function InputMask() {
60
60
  maskDigitPlaceholder = _ref.maskDigitPlaceholder,
61
61
  maskLetterPlaceholder = _ref.maskLetterPlaceholder,
62
62
  usePatternPlaceholder = _ref.usePatternPlaceholder,
63
+ _ref$maskAsPlaceholde = _ref.maskAsPlaceholder,
64
+ maskAsPlaceholder = _ref$maskAsPlaceholde === void 0 ? true : _ref$maskAsPlaceholde,
63
65
  _ref$isFocusedDefault = _ref.isFocusedDefault,
64
66
  isFocusedDefault = _ref$isFocusedDefault === void 0 ? false : _ref$isFocusedDefault,
65
67
  isClearable = _ref.isClearable,
@@ -159,7 +161,7 @@ function InputMask() {
159
161
  innerValue = _useState18[0],
160
162
  setInnerValue = _useState18[1];
161
163
 
162
- var _useState19 = (0, _react.useState)([]),
164
+ var _useState19 = (0, _react.useState)(''),
163
165
  _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
164
166
  selectedText = _useState20[0],
165
167
  setSelectedText = _useState20[1];
@@ -223,11 +225,16 @@ function InputMask() {
223
225
  };
224
226
 
225
227
  var getInnerValueAsString = function getInnerValueAsString() {
226
- return innerValue.slice(0, innerValue.length - 1).map(function (_ref4, i) {
227
- var char = _ref4.char,
228
- maskChar = _ref4.maskChar;
228
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
229
+ _ref4$replaceSpace = _ref4.replaceSpace,
230
+ replaceSpace = _ref4$replaceSpace === void 0 ? false : _ref4$replaceSpace;
231
+
232
+ var result = innerValue.slice(0, innerValue.length - 1).map(function (_ref5, i) {
233
+ var char = _ref5.char,
234
+ maskChar = _ref5.maskChar;
229
235
  return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
230
- }).join('').replace(/\u00A0/g, ' ');
236
+ }).join('');
237
+ return replaceSpace ? result.replace(/\u00A0/g, ' ') : result;
231
238
  };
232
239
 
233
240
  var getSelectedValueAsString = function getSelectedValueAsString() {
@@ -235,15 +242,24 @@ function InputMask() {
235
242
  };
236
243
 
237
244
  var getClearInnerValueAsString = function getClearInnerValueAsString() {
238
- return innerValue.reduce(function (result, _ref5) {
239
- var char = _ref5.char,
240
- maskChar = _ref5.maskChar,
241
- isSpecialSymbol = _ref5.isSpecialSymbol;
245
+ return innerValue.reduce(function (result, _ref6) {
246
+ var char = _ref6.char,
247
+ maskChar = _ref6.maskChar,
248
+ isSpecialSymbol = _ref6.isSpecialSymbol;
242
249
  if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
243
250
  return result;
244
251
  }, '');
245
252
  };
246
253
 
254
+ var getLastTypedIndex = function getLastTypedIndex() {
255
+ return innerValue.reduce(function (lastIndex, _ref7, i) {
256
+ var char = _ref7.char,
257
+ isSpecialSymbol = _ref7.isSpecialSymbol;
258
+ if (!isSpecialSymbol && char !== SPACE_CHAR && char !== '' || lastIndex === null) lastIndex = i;
259
+ return lastIndex;
260
+ }, -1) + 1;
261
+ };
262
+
247
263
  var isLetter = function isLetter(char) {
248
264
  return char.length === 1 && char.match(/[a-z]/i);
249
265
  };
@@ -268,11 +284,11 @@ function InputMask() {
268
284
  return char === UPPERCASE_LETTER_MASK_CHAR || char === LOWERCASE_LETTER_MASK_CHAR;
269
285
  };
270
286
 
271
- var isValidChar = function isValidChar(_ref6) {
272
- var key = _ref6.char,
273
- i = _ref6.i,
274
- _ref6$disableErrors = _ref6.disableErrors,
275
- disableErrors = _ref6$disableErrors === void 0 ? false : _ref6$disableErrors;
287
+ var isValidChar = function isValidChar(_ref8) {
288
+ var key = _ref8.char,
289
+ i = _ref8.i,
290
+ _ref8$disableErrors = _ref8.disableErrors,
291
+ disableErrors = _ref8$disableErrors === void 0 ? false : _ref8$disableErrors;
276
292
  var maskChar = getMaskCharByIndex(i);
277
293
 
278
294
  switch (maskChar) {
@@ -405,20 +421,48 @@ function InputMask() {
405
421
  };
406
422
 
407
423
  var onArrowRightDown = function onArrowRightDown(e, i) {
408
- return setFocusOnChar(i + 1, i);
424
+ var key = (e === null || e === void 0 ? void 0 : e.key) || null;
425
+ var nextIndex = i + 1;
426
+ if (maskAsPlaceholder && nextIndex > getLastTypedIndex() && key === "ArrowRight") nextIndex = getLastTypedIndex();
427
+ setFocusOnChar(nextIndex, i);
409
428
  };
410
429
 
411
430
  var onBackspaceDown = function onBackspaceDown(e, i) {
431
+ // if (Boolean(getSelectionText().length)) {
432
+ // const selStartInd = getSelectStartIndex();
433
+ // const selEndInd = getSelectionText().length+selStartInd;
434
+ // console.log(selStartInd, selEndInd)
435
+ // if (selStartInd > 0) {
436
+ // resetSelectionText();
437
+ // for (let index = selStartInd; index < selEndInd; ++index) {
438
+ // console.log({index})
439
+ // updateInnerValueChar({char: ''}, index);
440
+ // }
441
+ // setFocusOnChar(selStartInd, i);
442
+ // }
443
+ // return true;
444
+ // }
412
445
  var prevIndex = i - 1;
413
446
  var charObj = getCharByIndex(prevIndex);
414
447
  if (!charObj) return false;
415
448
  var char = charObj.char,
416
449
  isSpecialSymbol = charObj.isSpecialSymbol;
417
450
  if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
451
+
452
+ if (maskAsPlaceholder) {
453
+ var newText = getInnerValueAsString().substr(0, prevIndex) + getInnerValueAsString().substr(i);
454
+ resetInnerValue();
455
+
456
+ _onPaste({
457
+ text: newText
458
+ }, 0);
459
+ } else {
460
+ updateInnerValueChar({
461
+ char: ''
462
+ }, prevIndex);
463
+ }
464
+
418
465
  setFocusOnChar(prevIndex, i);
419
- updateInnerValueChar({
420
- char: ''
421
- }, prevIndex);
422
466
  return true;
423
467
  };
424
468
 
@@ -429,10 +473,23 @@ function InputMask() {
429
473
  var char = charObj.char,
430
474
  isSpecialSymbol = charObj.isSpecialSymbol;
431
475
  if (isSpecialSymbol) return onDeleteDown(e, i + 1);
432
- setFocusOnChar(nextIndex, i);
433
- updateInnerValueChar({
434
- char: ''
435
- }, i);
476
+
477
+ if (maskAsPlaceholder) {
478
+ var newText = getInnerValueAsString().substr(0, i) + getInnerValueAsString().substr(nextIndex);
479
+ resetInnerValue();
480
+
481
+ _onPaste({
482
+ text: newText
483
+ }, 0);
484
+
485
+ setFocusOnChar(i, i);
486
+ } else {
487
+ updateInnerValueChar({
488
+ char: ''
489
+ }, i);
490
+ setFocusOnChar(nextIndex, i);
491
+ }
492
+
436
493
  return true;
437
494
  };
438
495
 
@@ -441,7 +498,7 @@ function InputMask() {
441
498
  };
442
499
 
443
500
  var onEndDown = function onEndDown(e, i) {
444
- return setFocusOnChar(innerValue.length - 1, 0);
501
+ return setFocusOnChar(maskAsPlaceholder ? getLastTypedIndex() : innerValue.length - 1, 0);
445
502
  };
446
503
 
447
504
  var handleServiceKeyDown = function handleServiceKeyDown(e, i) {
@@ -479,9 +536,9 @@ function InputMask() {
479
536
  };
480
537
 
481
538
  var handleKeyDown = function handleKeyDown(e, i) {
482
- var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
483
- _ref7$disableErrors = _ref7.disableErrors,
484
- disableErrors = _ref7$disableErrors === void 0 ? false : _ref7$disableErrors;
539
+ var _ref9 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
540
+ _ref9$disableErrors = _ref9.disableErrors,
541
+ disableErrors = _ref9$disableErrors === void 0 ? false : _ref9$disableErrors;
485
542
 
486
543
  try {
487
544
  e.stopPropagation();
@@ -540,14 +597,14 @@ function InputMask() {
540
597
  }
541
598
  };
542
599
 
543
- var _onClick = function onClick(e, cb) {
544
- var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
545
- _ref8$ignoreIsSelecti = _ref8.ignoreIsSelecting,
546
- ignoreIsSelecting = _ref8$ignoreIsSelecti === void 0 ? false : _ref8$ignoreIsSelecti;
600
+ var onClick = function onClick(e, cb) {
601
+ var _ref10 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
602
+ _ref10$ignoreIsSelect = _ref10.ignoreIsSelecting,
603
+ ignoreIsSelecting = _ref10$ignoreIsSelect === void 0 ? false : _ref10$ignoreIsSelect;
547
604
 
548
605
  e.stopPropagation();
549
606
  e.preventDefault();
550
- if (isSelecting && !ignoreIsSelecting) return false;
607
+ if (isSelecting && (Boolean(selectedText.length) || Boolean((0, _functions.getSelectionText)().length)) && !ignoreIsSelecting) return false;
551
608
  setFocused(true);
552
609
  if (typeof cb === 'function') cb(e);
553
610
  };
@@ -555,10 +612,20 @@ function InputMask() {
555
612
  var onCharClick = function onCharClick(e, i) {
556
613
  e.preventDefault();
557
614
  e.stopPropagation();
615
+
616
+ var _getCharByIndex2 = getCharByIndex(i),
617
+ char = _getCharByIndex2.char,
618
+ maskChar = _getCharByIndex2.maskChar;
619
+
620
+ if (maskAsPlaceholder && !isValidChar({
621
+ char: char,
622
+ i: i,
623
+ disableErrors: true
624
+ })) i = getLastTypedIndex();
558
625
  setIsSelecting(false);
559
626
  (0, _functions.resetSelectionText)();
560
627
  setTimeout(function () {
561
- return _onClick(e, function () {
628
+ return onClick(e, function () {
562
629
  return _onFocus(e, i);
563
630
  }, {
564
631
  ignoreIsSelecting: true
@@ -566,6 +633,14 @@ function InputMask() {
566
633
  }, 50);
567
634
  };
568
635
 
636
+ var onWrapperClick = function onWrapperClick(e) {
637
+ return cancelDefaultAction(e, function () {
638
+ !isMouseDown ? onClick(e, function () {
639
+ return onEndDown(e, 0);
640
+ }) : null;
641
+ });
642
+ };
643
+
569
644
  var onBlur = function onBlur(e) {
570
645
  if (isFocused) onBlurProp();
571
646
  setFocused(false);
@@ -589,11 +664,18 @@ function InputMask() {
589
664
  };
590
665
 
591
666
  var _onPaste = function onPaste(e, i) {
667
+ var _e$clipboardData;
668
+
592
669
  setIsSelecting(false);
593
670
  (0, _functions.resetSelectionText)();
594
- e.preventDefault();
595
- e.stopPropagation();
596
- var pastedText = e.clipboardData.getData('Text');
671
+
672
+ try {
673
+ e.preventDefault();
674
+ e.stopPropagation();
675
+ } catch (error) {}
676
+
677
+ ;
678
+ var pastedText = (e === null || e === void 0 ? void 0 : (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData('Text')) || e.text;
597
679
  if (!pastedText) return false;
598
680
  var replacedIndexes = [];
599
681
  var result = pastedText.split('').filter(function (char) {
@@ -699,7 +781,7 @@ function InputMask() {
699
781
  });
700
782
  });
701
783
 
702
- if (value !== '' && value.length === maskLength) {
784
+ if (value && value !== '' && (value === null || value === void 0 ? void 0 : value.length) === maskLength) {
703
785
  value.split('').map(function (char, i) {
704
786
  return updateInnerValueChar({
705
787
  char: char
@@ -727,7 +809,9 @@ function InputMask() {
727
809
  if (!isMaskRendered) return false;
728
810
  setError(false);
729
811
  clearErrorMessage();
730
- onChangeProp(getInnerValueAsString(), getClearInnerValueAsString());
812
+ onChangeProp(getInnerValueAsString({
813
+ replaceSpace: true
814
+ }), getClearInnerValueAsString());
731
815
  }, [innerValue, isMaskRendered]); // Blink Error
732
816
 
733
817
  (0, _react.useEffect)(function () {
@@ -741,10 +825,16 @@ function InputMask() {
741
825
  setSelectedText('');
742
826
  (0, _functions.resetSelectionText)();
743
827
  }
744
- }, [isSelecting]);
828
+
829
+ if (!isMouseDown && isSelecting && !Boolean((0, _functions.getSelectionText)().length)) setIsSelecting(false);
830
+ }, [isSelecting, isMouseDown]);
745
831
  (0, _react.useEffect)(function () {
746
832
  document.addEventListener('mouseup', function () {
747
833
  setIsMouseDown(function (isMouseDown) {
834
+ document.addEventListener('keydown', _onKeyDown, {
835
+ once: true
836
+ });
837
+
748
838
  if (isMouseDown) {
749
839
  setSelectedText((0, _functions.getSelectionText)());
750
840
  document.addEventListener('click', function () {
@@ -782,7 +872,7 @@ function InputMask() {
782
872
  "attr-char-id": i,
783
873
  className: "\n input-mask_value_item\n ".concat(className, "\n ").concat(isDigitMaskChar(obj.maskChar) ? 'input-mask_value_item--digit' : '', "\n ").concat(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 "),
784
874
  onClick: function onClick(e) {
785
- onCharClick(e, i);
875
+ return onCharClick(e, i);
786
876
  },
787
877
  onFocus: function onFocus(e) {
788
878
  return _onFocus(e, i);
@@ -811,7 +901,6 @@ function InputMask() {
811
901
  return _onCut(e, i);
812
902
  });
813
903
  },
814
- on: true,
815
904
  ref: ref,
816
905
  onDoubleClick: function onDoubleClick(e) {
817
906
  setIsSelecting(true);
@@ -854,24 +943,22 @@ function InputMask() {
854
943
 
855
944
  var render = function render() {
856
945
  return /*#__PURE__*/_react.default.createElement("div", {
857
- className: "input-mask_wrapper ".concat(className, " ").concat(isError ? 'input-mask_error' : '', " ").concat(isFocused ? 'input-mask_focus' : '', " ").concat(blinkError ? 'input-mask_blink-error' : ''),
946
+ className: "\n input-mask_wrapper\n ".concat(className, "\n ").concat(isError ? 'input-mask_error' : '', "\n ").concat(isFocused ? 'input-mask_focus' : '', "\n ").concat(blinkError ? 'input-mask_blink-error' : '', "\n "),
947
+ onClick: onWrapperClick,
858
948
  onBlur: onBlur,
859
949
  tabIndex: "auto"
860
950
  }, /*#__PURE__*/_react.default.createElement("div", {
861
- className: "input-mask ".concat(isError ? 'input-mask_error' : '', " ").concat(isFocused ? 'input-mask_focus' : '', " ").concat(blinkError ? 'input-mask_blink-error' : ''),
951
+ className: "\n input-mask\n ".concat(isError ? 'input-mask_error' : '', "\n ").concat(isFocused ? 'input-mask_focus' : '', "\n ").concat(blinkError ? 'input-mask_blink-error' : '', "\n "),
862
952
  onMouseDown: function onMouseDown() {
863
953
  return setIsMouseDown(true);
864
954
  },
955
+ onMouseUp: function onMouseUp() {
956
+ return setIsMouseDown(false);
957
+ },
865
958
  onMouseMove: function onMouseMove() {
866
959
  return isMouseDown ? setIsSelecting(true) : null;
867
960
  },
868
- onClick: function onClick(e) {
869
- return cancelDefaultAction(e, function () {
870
- return !isMouseDown ? _onClick(e, function () {
871
- return onEndDown(e, 0);
872
- }) : null;
873
- });
874
- },
961
+ onClick: onWrapperClick,
875
962
  onBlur: onBlur
876
963
  }, showHint && isHintLeft && /*#__PURE__*/_react.default.createElement("div", {
877
964
  className: "input-mask_hint input-mask_hint--left"
@@ -887,7 +974,8 @@ function InputMask() {
887
974
  onKeyUp: cancelDefaultAction,
888
975
  onKeyDown: cancelDefaultAction,
889
976
  onKeyPress: cancelDefaultAction,
890
- onBlur: onBlur
977
+ onBlur: onBlur,
978
+ onClick: onWrapperClick
891
979
  }, renderInputValue()), isClearable && /*#__PURE__*/_react.default.createElement("div", {
892
980
  className: "input-mask_clear"
893
981
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
@@ -119,7 +119,7 @@
119
119
  }
120
120
 
121
121
  &:last-child{
122
- color: #333333;
122
+ // color: #333333;
123
123
  max-width: 1px;
124
124
  }
125
125
  }
@@ -55,6 +55,12 @@ var _default = {
55
55
  title: 'Specialized Mask Placeholder for Letter Char',
56
56
  description: 'Specialized Mask Placeholder for <b>Letter</b>.'
57
57
  },
58
+ maskAsPlaceholder: {
59
+ title: 'Use Mask As Placeholder',
60
+ description: 'Use Mask As Placeholder',
61
+ type: 'boolean',
62
+ default: true
63
+ },
58
64
  isCaseSensitive: {
59
65
  type: 'boolean',
60
66
  default: false,
@@ -201,12 +207,12 @@ var Template = function Template(args) {
201
207
  fontSize: "24px",
202
208
  fontWeight: '200'
203
209
  }
204
- }, "Value: ", value), /*#__PURE__*/_react.default.createElement("div", {
210
+ }, "Value: ", /*#__PURE__*/_react.default.createElement("div", null, value)), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("div", {
205
211
  style: {
206
212
  fontSize: "24px",
207
213
  fontWeight: '200'
208
214
  }
209
- }, "Clear Value: ", clearValue)), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("input", null), /*#__PURE__*/_react.default.createElement("input", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_InputMask.default, (0, _extends2.default)({}, args, {
215
+ }, "Clear Value: ", /*#__PURE__*/_react.default.createElement("div", null, clearValue))), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_InputMask.default, (0, _extends2.default)({}, args, {
210
216
  value: value,
211
217
  onChange: function onChange(v, cv) {
212
218
  setValue(v);
@@ -218,12 +224,13 @@ var Template = function Template(args) {
218
224
  var InputMaskTemplate = Template.bind({});
219
225
  exports.InputMaskTemplate = InputMaskTemplate;
220
226
  InputMaskTemplate.args = {
221
- maskPattern: 'DDDD DDDD DDDD DDDD',
222
- maskPatternPlaceholder: 'xxxx xxxx xxxx xxxx',
227
+ maskPattern: 'DD/DD/DDDD',
228
+ maskPatternPlaceholder: 'MM/DD/YYYY',
223
229
  usePatternPlaceholder: false,
224
230
  maskPlaceholder: '_',
225
231
  maskDigitPlaceholder: '',
226
232
  maskLetterPlaceholder: '',
233
+ maskAsPlaceholder: true,
227
234
  isCaseSensitive: false,
228
235
  adaptTextCase: false,
229
236
  icon: /*#__PURE__*/_react.default.createElement(_reactFeather.Type, null),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.1.44",
3
+ "version": "0.1.45",
4
4
  "description": "fixes",
5
5
  "main": "dist/index.js",
6
6
  "files": ["dist/*", "node_modules/anme/*", "node_modules/moment/*", "node_modules/moment-timezone/*"],