intelicoreact 0.1.36 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Atomic/FormElements/InputMask/InputMask.js +411 -123
- package/dist/Atomic/FormElements/InputMask/InputMask.scss +41 -18
- package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +61 -7
- package/dist/Atomic/FormElements/InputMask/functions.js +45 -0
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +6 -2
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.scss +11 -1
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +2 -1
- package/package.json +1 -1
|
@@ -23,6 +23,10 @@ var _index = require("../../../Constants/index.constants");
|
|
|
23
23
|
|
|
24
24
|
var _usePrevious = _interopRequireDefault(require("../../../Functions/useFormTools/functions/usePrevious"));
|
|
25
25
|
|
|
26
|
+
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
27
|
+
|
|
28
|
+
var _functions = require("./functions");
|
|
29
|
+
|
|
26
30
|
var _InputCarretPosition = require("./InputCarretPosition");
|
|
27
31
|
|
|
28
32
|
require("./InputMask.scss");
|
|
@@ -38,6 +42,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
38
42
|
var UPPERCASE_LETTER_MASK_CHAR = 'L';
|
|
39
43
|
var LOWERCASE_LETTER_MASK_CHAR = 'l';
|
|
40
44
|
var DIGIT_MASK_CHAR = 'D';
|
|
45
|
+
var SPACE_CHAR = "\xA0";
|
|
41
46
|
var EXCLUDED_KEYS = ["Tab"];
|
|
42
47
|
var DEFAULT_ERRORS = {
|
|
43
48
|
onlyLetter: 'Type letter',
|
|
@@ -47,8 +52,9 @@ var DEFAULT_ERRORS = {
|
|
|
47
52
|
default: null
|
|
48
53
|
};
|
|
49
54
|
|
|
50
|
-
function InputMask(
|
|
51
|
-
var
|
|
55
|
+
function InputMask() {
|
|
56
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
57
|
+
maskPattern = _ref.maskPattern,
|
|
52
58
|
maskPatternPlaceholder = _ref.maskPatternPlaceholder,
|
|
53
59
|
maskPlaceholder = _ref.maskPlaceholder,
|
|
54
60
|
maskDigitPlaceholder = _ref.maskDigitPlaceholder,
|
|
@@ -70,17 +76,35 @@ function InputMask(_ref) {
|
|
|
70
76
|
blinkErrors = _ref$blinkErrors === void 0 ? true : _ref$blinkErrors,
|
|
71
77
|
_ref$blinkDuration = _ref.blinkDuration,
|
|
72
78
|
blinkDuration = _ref$blinkDuration === void 0 ? 100 : _ref$blinkDuration,
|
|
73
|
-
_ref$
|
|
74
|
-
|
|
79
|
+
_ref$showErrors = _ref.showErrors,
|
|
80
|
+
showErrors = _ref$showErrors === void 0 ? true : _ref$showErrors,
|
|
75
81
|
_ref$className = _ref.className,
|
|
76
82
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
77
83
|
_ref$errors = _ref.errors,
|
|
78
84
|
customErrors = _ref$errors === void 0 ? DEFAULT_ERRORS : _ref$errors,
|
|
85
|
+
_ref$error = _ref.error,
|
|
86
|
+
error = _ref$error === void 0 ? '' : _ref$error,
|
|
79
87
|
ref = _ref.ref,
|
|
80
88
|
_ref$onFocus = _ref.onFocus,
|
|
81
89
|
onFocusProp = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
82
90
|
_ref$onBlur = _ref.onBlur,
|
|
83
|
-
onBlurProp = _ref$onBlur === void 0 ? function () {} : _ref$onBlur
|
|
91
|
+
onBlurProp = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
|
|
92
|
+
_ref$imitateTypingOnP = _ref.imitateTypingOnPaste,
|
|
93
|
+
imitateTypingOnPaste = _ref$imitateTypingOnP === void 0 ? true : _ref$imitateTypingOnP,
|
|
94
|
+
_ref$imitateTypingOnP2 = _ref.imitateTypingOnPasteDelay,
|
|
95
|
+
imitateTypingOnPasteDelay = _ref$imitateTypingOnP2 === void 0 ? 100 : _ref$imitateTypingOnP2,
|
|
96
|
+
_ref$showHint = _ref.showHint,
|
|
97
|
+
showHint = _ref$showHint === void 0 ? false : _ref$showHint,
|
|
98
|
+
_ref$hintText = _ref.hintText,
|
|
99
|
+
hintText = _ref$hintText === void 0 ? '' : _ref$hintText,
|
|
100
|
+
_ref$hintClassName = _ref.hintClassName,
|
|
101
|
+
hintClassName = _ref$hintClassName === void 0 ? '' : _ref$hintClassName,
|
|
102
|
+
_ref$isHintRight = _ref.isHintRight,
|
|
103
|
+
isHintRight = _ref$isHintRight === void 0 ? true : _ref$isHintRight,
|
|
104
|
+
_ref$isHintLeft = _ref.isHintLeft,
|
|
105
|
+
isHintLeft = _ref$isHintLeft === void 0 ? false : _ref$isHintLeft,
|
|
106
|
+
_ref$hintPosition = _ref.hintPosition,
|
|
107
|
+
hintPosition = _ref$hintPosition === void 0 ? 'right' : _ref$hintPosition;
|
|
84
108
|
|
|
85
109
|
var errors = _objectSpread(_objectSpread({}, DEFAULT_ERRORS), customErrors);
|
|
86
110
|
|
|
@@ -90,42 +114,55 @@ function InputMask(_ref) {
|
|
|
90
114
|
setMaskRendered = _useState2[1];
|
|
91
115
|
|
|
92
116
|
var inputRef = (0, _react.useRef)(null);
|
|
93
|
-
var inputRefWrapper = (0, _react.useRef)(null);
|
|
94
|
-
var wrapperRef = (0, _react.useRef)(null);
|
|
95
117
|
|
|
96
118
|
var _useState3 = (0, _react.useState)(false),
|
|
97
119
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
98
|
-
|
|
99
|
-
|
|
120
|
+
isMouseDown = _useState4[0],
|
|
121
|
+
setIsMouseDown = _useState4[1];
|
|
100
122
|
|
|
101
123
|
var _useState5 = (0, _react.useState)(false),
|
|
102
124
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
103
|
-
|
|
104
|
-
|
|
125
|
+
isSelecting = _useState6[0],
|
|
126
|
+
setIsSelecting = _useState6[1];
|
|
105
127
|
|
|
106
128
|
var _useState7 = (0, _react.useState)(false),
|
|
107
129
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
108
|
-
|
|
109
|
-
|
|
130
|
+
isFocused = _useState8[0],
|
|
131
|
+
setFocused = _useState8[1];
|
|
110
132
|
|
|
111
|
-
var _useState9 = (0, _react.useState)(
|
|
133
|
+
var _useState9 = (0, _react.useState)(false),
|
|
112
134
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
113
|
-
|
|
114
|
-
|
|
135
|
+
isError = _useState10[0],
|
|
136
|
+
setError = _useState10[1];
|
|
137
|
+
|
|
138
|
+
var _useState11 = (0, _react.useState)(false),
|
|
139
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
140
|
+
blinkError = _useState12[0],
|
|
141
|
+
setBlinkError = _useState12[1];
|
|
142
|
+
|
|
143
|
+
var _useState13 = (0, _react.useState)(errors.default),
|
|
144
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
145
|
+
errorMessage = _useState14[0],
|
|
146
|
+
setErrorMessage = _useState14[1];
|
|
115
147
|
|
|
116
148
|
var clearErrorMessage = function clearErrorMessage() {
|
|
117
149
|
return setErrorMessage(errors.default);
|
|
118
150
|
};
|
|
119
151
|
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
focusedItemRef =
|
|
123
|
-
setFocusedItemRef =
|
|
152
|
+
var _useState15 = (0, _react.useState)(null),
|
|
153
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
154
|
+
focusedItemRef = _useState16[0],
|
|
155
|
+
setFocusedItemRef = _useState16[1];
|
|
124
156
|
|
|
125
|
-
var
|
|
126
|
-
|
|
127
|
-
innerValue =
|
|
128
|
-
setInnerValue =
|
|
157
|
+
var _useState17 = (0, _react.useState)([]),
|
|
158
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
159
|
+
innerValue = _useState18[0],
|
|
160
|
+
setInnerValue = _useState18[1];
|
|
161
|
+
|
|
162
|
+
var _useState19 = (0, _react.useState)([]),
|
|
163
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
164
|
+
selectedText = _useState20[0],
|
|
165
|
+
setSelectedText = _useState20[1];
|
|
129
166
|
|
|
130
167
|
var addInnerValueChar = function addInnerValueChar(_ref2) {
|
|
131
168
|
var char = _ref2.char,
|
|
@@ -147,14 +184,31 @@ function InputMask(_ref) {
|
|
|
147
184
|
});
|
|
148
185
|
};
|
|
149
186
|
|
|
150
|
-
var updateInnerValueChar = function updateInnerValueChar(
|
|
187
|
+
var updateInnerValueChar = function updateInnerValueChar() {
|
|
188
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
189
|
+
_ref3$char = _ref3.char,
|
|
190
|
+
char = _ref3$char === void 0 ? null : _ref3$char,
|
|
191
|
+
_ref3$isSelected = _ref3.isSelected,
|
|
192
|
+
isSelected = _ref3$isSelected === void 0 ? null : _ref3$isSelected;
|
|
193
|
+
|
|
194
|
+
var i = arguments.length > 1 ? arguments[1] : undefined;
|
|
151
195
|
setInnerValue(function (state) {
|
|
152
196
|
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
153
|
-
if (!stateCopy[i].isSpecialSymbol) stateCopy[i].char = char;
|
|
197
|
+
if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
|
|
198
|
+
if (isSelected !== null) stateCopy[i].isSelected = isSelected;
|
|
154
199
|
return stateCopy;
|
|
155
200
|
});
|
|
156
201
|
};
|
|
157
202
|
|
|
203
|
+
var resetInnerValue = function resetInnerValue() {
|
|
204
|
+
innerValue.map(function (v, i) {
|
|
205
|
+
return updateInnerValueChar({
|
|
206
|
+
char: '',
|
|
207
|
+
isSelected: false
|
|
208
|
+
}, i);
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
|
|
158
212
|
var getPlaceholderCharByIndex = function getPlaceholderCharByIndex(i) {
|
|
159
213
|
var _getCharByIndex = getCharByIndex(i),
|
|
160
214
|
maskChar = _getCharByIndex.maskChar;
|
|
@@ -169,18 +223,22 @@ function InputMask(_ref) {
|
|
|
169
223
|
};
|
|
170
224
|
|
|
171
225
|
var getInnerValueAsString = function getInnerValueAsString() {
|
|
172
|
-
return innerValue.map(function (
|
|
173
|
-
var char =
|
|
174
|
-
maskChar =
|
|
226
|
+
return innerValue.map(function (_ref4, i) {
|
|
227
|
+
var char = _ref4.char,
|
|
228
|
+
maskChar = _ref4.maskChar;
|
|
175
229
|
return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
|
|
176
230
|
}).join('');
|
|
177
231
|
};
|
|
178
232
|
|
|
233
|
+
var getSelectedValueAsString = function getSelectedValueAsString() {
|
|
234
|
+
return selectedText;
|
|
235
|
+
};
|
|
236
|
+
|
|
179
237
|
var getClearInnerValueAsString = function getClearInnerValueAsString() {
|
|
180
|
-
return innerValue.reduce(function (result,
|
|
181
|
-
var char =
|
|
182
|
-
maskChar =
|
|
183
|
-
isSpecialSymbol =
|
|
238
|
+
return innerValue.reduce(function (result, _ref5) {
|
|
239
|
+
var char = _ref5.char,
|
|
240
|
+
maskChar = _ref5.maskChar,
|
|
241
|
+
isSpecialSymbol = _ref5.isSpecialSymbol;
|
|
184
242
|
if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
|
|
185
243
|
return result;
|
|
186
244
|
}, '');
|
|
@@ -210,14 +268,69 @@ function InputMask(_ref) {
|
|
|
210
268
|
return char === UPPERCASE_LETTER_MASK_CHAR || char === LOWERCASE_LETTER_MASK_CHAR;
|
|
211
269
|
};
|
|
212
270
|
|
|
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;
|
|
276
|
+
var maskChar = getMaskCharByIndex(i);
|
|
277
|
+
|
|
278
|
+
switch (maskChar) {
|
|
279
|
+
case DIGIT_MASK_CHAR:
|
|
280
|
+
if (!isDigit(key)) {
|
|
281
|
+
if (!disableErrors) setErrorMessage(errors.onlyDigit);
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
break;
|
|
286
|
+
|
|
287
|
+
case UPPERCASE_LETTER_MASK_CHAR:
|
|
288
|
+
if (adaptTextCase) key = key.toUpperCase();
|
|
289
|
+
|
|
290
|
+
if (!isLetter(key) && !isCaseSensitive) {
|
|
291
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
if (isCaseSensitive && !isUpperCaseLetter(key)) {
|
|
296
|
+
if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
break;
|
|
301
|
+
|
|
302
|
+
case LOWERCASE_LETTER_MASK_CHAR:
|
|
303
|
+
if (adaptTextCase) key = key.toLowerCase();
|
|
304
|
+
|
|
305
|
+
if (!isLetter(key) && !isCaseSensitive) {
|
|
306
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
if (isCaseSensitive && !isLowerCaseLetter(key)) {
|
|
311
|
+
if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
break;
|
|
316
|
+
|
|
317
|
+
default:
|
|
318
|
+
return false;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
return true;
|
|
323
|
+
};
|
|
324
|
+
|
|
213
325
|
var getCharObj = function getCharObj(char) {
|
|
214
326
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
215
327
|
var isSpecialSymbol = !(isDigitMaskChar(char) || isLetterMaskChar(char));
|
|
216
|
-
if (char === ' ') char =
|
|
328
|
+
if (char === ' ') char = SPACE_CHAR;
|
|
217
329
|
return _objectSpread({
|
|
218
330
|
char: isSpecialSymbol ? char : '',
|
|
219
331
|
maskChar: char,
|
|
220
332
|
isSpecialSymbol: isSpecialSymbol,
|
|
333
|
+
isSelected: false,
|
|
221
334
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
222
335
|
}, data);
|
|
223
336
|
};
|
|
@@ -235,10 +348,20 @@ function InputMask(_ref) {
|
|
|
235
348
|
};
|
|
236
349
|
|
|
237
350
|
var getMaskCharByIndex = function getMaskCharByIndex(i) {
|
|
238
|
-
|
|
351
|
+
var _innerValue$i;
|
|
352
|
+
|
|
353
|
+
return ((_innerValue$i = innerValue[i]) === null || _innerValue$i === void 0 ? void 0 : _innerValue$i.maskChar) || undefined;
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
var getSelectStartIndex = function getSelectStartIndex() {
|
|
357
|
+
var sel = (0, _functions.getSelectionText)();
|
|
358
|
+
var str = getInnerValueAsString();
|
|
359
|
+
return str.indexOf(sel);
|
|
239
360
|
};
|
|
240
361
|
|
|
241
362
|
var setFocusOnChar = function setFocusOnChar(i, prevIndex) {
|
|
363
|
+
var _ref$current;
|
|
364
|
+
|
|
242
365
|
var charObj = getCharByIndex(i);
|
|
243
366
|
if (!charObj) return false;
|
|
244
367
|
var char = charObj.char,
|
|
@@ -251,7 +374,7 @@ function InputMask(_ref) {
|
|
|
251
374
|
return prevIndex > i ? onArrowLeftDown(null, i) : onArrowRightDown(null, i);
|
|
252
375
|
}
|
|
253
376
|
|
|
254
|
-
ref.current.focus();
|
|
377
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
255
378
|
setTimeout(function () {
|
|
256
379
|
return (0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
257
380
|
}, 10);
|
|
@@ -266,7 +389,9 @@ function InputMask(_ref) {
|
|
|
266
389
|
e.stopPropagation();
|
|
267
390
|
e.preventDefault();
|
|
268
391
|
innerValue.map(function (charObj, i) {
|
|
269
|
-
updateInnerValueChar(
|
|
392
|
+
updateInnerValueChar({
|
|
393
|
+
char: ''
|
|
394
|
+
}, i);
|
|
270
395
|
});
|
|
271
396
|
onHomeDown(null, 0);
|
|
272
397
|
}; ///--- Event Handlers ---///
|
|
@@ -288,7 +413,9 @@ function InputMask(_ref) {
|
|
|
288
413
|
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
289
414
|
if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
|
|
290
415
|
setFocusOnChar(prevIndex, i);
|
|
291
|
-
updateInnerValueChar(
|
|
416
|
+
updateInnerValueChar({
|
|
417
|
+
char: ''
|
|
418
|
+
}, prevIndex);
|
|
292
419
|
return true;
|
|
293
420
|
};
|
|
294
421
|
|
|
@@ -300,7 +427,9 @@ function InputMask(_ref) {
|
|
|
300
427
|
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
301
428
|
if (isSpecialSymbol) return onDeleteDown(e, i + 1);
|
|
302
429
|
setFocusOnChar(nextIndex, i);
|
|
303
|
-
updateInnerValueChar(
|
|
430
|
+
updateInnerValueChar({
|
|
431
|
+
char: ''
|
|
432
|
+
}, i);
|
|
304
433
|
return true;
|
|
305
434
|
};
|
|
306
435
|
|
|
@@ -340,10 +469,6 @@ function InputMask(_ref) {
|
|
|
340
469
|
return onEndDown(e, i);
|
|
341
470
|
break;
|
|
342
471
|
|
|
343
|
-
case 'Tab':
|
|
344
|
-
return onTabDown(e, i);
|
|
345
|
-
break;
|
|
346
|
-
|
|
347
472
|
default:
|
|
348
473
|
return true;
|
|
349
474
|
break;
|
|
@@ -351,68 +476,58 @@ function InputMask(_ref) {
|
|
|
351
476
|
};
|
|
352
477
|
|
|
353
478
|
var handleKeyDown = function handleKeyDown(e, i) {
|
|
354
|
-
|
|
355
|
-
|
|
479
|
+
var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
480
|
+
_ref7$disableErrors = _ref7.disableErrors,
|
|
481
|
+
disableErrors = _ref7$disableErrors === void 0 ? false : _ref7$disableErrors;
|
|
482
|
+
|
|
483
|
+
try {
|
|
484
|
+
e.stopPropagation();
|
|
485
|
+
e.preventDefault();
|
|
486
|
+
} catch (e) {}
|
|
487
|
+
|
|
488
|
+
;
|
|
356
489
|
var key = e.key;
|
|
357
490
|
var charObj = getCharByIndex(i);
|
|
358
491
|
if (!charObj) return false;
|
|
359
492
|
var isSpecialSymbol = charObj.isSpecialSymbol,
|
|
360
493
|
maskChar = charObj.maskChar; //IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
361
494
|
|
|
362
|
-
if (maskChar ===
|
|
495
|
+
if (maskChar === SPACE_CHAR) return handleKeyDown(e, i + 1);
|
|
363
496
|
if (isSpecialSymbol && maskChar !== key) return false;
|
|
497
|
+
if (!isValidChar({
|
|
498
|
+
char: key,
|
|
499
|
+
i: i,
|
|
500
|
+
disableErrors: disableErrors
|
|
501
|
+
})) return false;
|
|
502
|
+
updateInnerValueChar({
|
|
503
|
+
char: key
|
|
504
|
+
}, i);
|
|
505
|
+
onArrowRightDown(e, i);
|
|
506
|
+
return true;
|
|
507
|
+
};
|
|
364
508
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
setErrorMessage(errors.onlyDigit);
|
|
369
|
-
return false;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
break;
|
|
373
|
-
|
|
374
|
-
case UPPERCASE_LETTER_MASK_CHAR:
|
|
375
|
-
if (adaptTextCase) key = key.toUpperCase();
|
|
376
|
-
|
|
377
|
-
if (!isLetter(key) && !isCaseSensitive) {
|
|
378
|
-
setErrorMessage(errors.onlyLetter);
|
|
379
|
-
return false;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
if (isCaseSensitive && !isUpperCaseLetter(key)) {
|
|
383
|
-
setErrorMessage(errors.onlyUpperCase);
|
|
384
|
-
return false;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
break;
|
|
388
|
-
|
|
389
|
-
case LOWERCASE_LETTER_MASK_CHAR:
|
|
390
|
-
if (adaptTextCase) key = key.toLowerCase();
|
|
391
|
-
|
|
392
|
-
if (!isLetter(key) && !isCaseSensitive) {
|
|
393
|
-
setErrorMessage(errors.onlyLetter);
|
|
394
|
-
return false;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
if (isCaseSensitive && !isLowerCaseLetter(key)) {
|
|
398
|
-
setErrorMessage(errors.onlyLowerCase);
|
|
399
|
-
return false;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
break;
|
|
509
|
+
var handleKeyCombinations = function handleKeyCombinations(e, i) {
|
|
510
|
+
var key = e.key,
|
|
511
|
+
keyCode = e.keyCode;
|
|
403
512
|
|
|
404
|
-
|
|
405
|
-
|
|
513
|
+
switch (keyCode) {
|
|
514
|
+
//Ctrl + A
|
|
515
|
+
case 65:
|
|
516
|
+
selectAllText(e);
|
|
406
517
|
break;
|
|
407
518
|
}
|
|
408
|
-
|
|
409
|
-
updateInnerValueChar(key, i);
|
|
410
|
-
onArrowRightDown(e, i);
|
|
411
|
-
return true;
|
|
412
519
|
};
|
|
413
520
|
|
|
414
521
|
var _onKeyDown = function onKeyDown(e, i) {
|
|
415
|
-
var key = e.key
|
|
522
|
+
var key = e.key,
|
|
523
|
+
ctrlKey = e.ctrlKey,
|
|
524
|
+
altKey = e.altKey;
|
|
525
|
+
|
|
526
|
+
if (ctrlKey || altKey) {
|
|
527
|
+
if (!_index.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
|
|
528
|
+
return true;
|
|
529
|
+
}
|
|
530
|
+
|
|
416
531
|
var handleResult = _index.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
|
|
417
532
|
|
|
418
533
|
if (blinkErrors && !handleResult) {
|
|
@@ -421,11 +536,31 @@ function InputMask(_ref) {
|
|
|
421
536
|
};
|
|
422
537
|
|
|
423
538
|
var _onClick = function onClick(e, cb) {
|
|
539
|
+
var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
540
|
+
_ref8$ignoreIsSelecti = _ref8.ignoreIsSelecting,
|
|
541
|
+
ignoreIsSelecting = _ref8$ignoreIsSelecti === void 0 ? false : _ref8$ignoreIsSelecti;
|
|
542
|
+
|
|
424
543
|
e.stopPropagation();
|
|
544
|
+
e.preventDefault();
|
|
545
|
+
if (isSelecting && !ignoreIsSelecting) return false;
|
|
425
546
|
setFocused(true);
|
|
426
547
|
if (typeof cb === 'function') cb(e);
|
|
427
548
|
};
|
|
428
549
|
|
|
550
|
+
var onCharClick = function onCharClick(e, i) {
|
|
551
|
+
e.preventDefault();
|
|
552
|
+
e.stopPropagation();
|
|
553
|
+
setIsSelecting(false);
|
|
554
|
+
(0, _functions.resetSelectionText)();
|
|
555
|
+
setTimeout(function () {
|
|
556
|
+
return _onClick(e, function () {
|
|
557
|
+
return _onFocus(e, i);
|
|
558
|
+
}, {
|
|
559
|
+
ignoreIsSelecting: true
|
|
560
|
+
});
|
|
561
|
+
}, 50);
|
|
562
|
+
};
|
|
563
|
+
|
|
429
564
|
var onBlur = function onBlur(e) {
|
|
430
565
|
if (isFocused) onBlurProp();
|
|
431
566
|
setFocused(false);
|
|
@@ -448,6 +583,84 @@ function InputMask(_ref) {
|
|
|
448
583
|
setFocused(true);
|
|
449
584
|
};
|
|
450
585
|
|
|
586
|
+
var _onPaste = function onPaste(e, i) {
|
|
587
|
+
setIsSelecting(false);
|
|
588
|
+
(0, _functions.resetSelectionText)();
|
|
589
|
+
e.preventDefault();
|
|
590
|
+
e.stopPropagation();
|
|
591
|
+
var pastedText = e.clipboardData.getData('Text');
|
|
592
|
+
if (!pastedText) return false;
|
|
593
|
+
var replacedIndexes = [];
|
|
594
|
+
var result = pastedText.split('').filter(function (char) {
|
|
595
|
+
return isDigit(char) || isLetter(char);
|
|
596
|
+
}).map(function (pastedChar, offset) {
|
|
597
|
+
var charIndex = i + offset;
|
|
598
|
+
var isReplaced = false;
|
|
599
|
+
var isValid = false;
|
|
600
|
+
|
|
601
|
+
var _loop = function _loop(index) {
|
|
602
|
+
var charObj = getCharByIndex(index);
|
|
603
|
+
if (!charObj) return "continue";
|
|
604
|
+
var char = charObj.char,
|
|
605
|
+
maskChar = charObj.maskChar,
|
|
606
|
+
isSpecialSymbol = charObj.isSpecialSymbol; // If Char Is Valid
|
|
607
|
+
|
|
608
|
+
if (!isValidChar({
|
|
609
|
+
char: pastedChar,
|
|
610
|
+
i: index,
|
|
611
|
+
disableErrors: true
|
|
612
|
+
})) return "continue"; // If Char Already Replaced
|
|
613
|
+
|
|
614
|
+
if (replacedIndexes.includes(index)) return "continue";
|
|
615
|
+
isReplaced = true;
|
|
616
|
+
isValid = true;
|
|
617
|
+
replacedIndexes.push(index);
|
|
618
|
+
|
|
619
|
+
if (imitateTypingOnPaste) {
|
|
620
|
+
setTimeout(function () {
|
|
621
|
+
updateInnerValueChar({
|
|
622
|
+
char: pastedChar
|
|
623
|
+
}, index);
|
|
624
|
+
}, offset * imitateTypingOnPasteDelay);
|
|
625
|
+
} else {
|
|
626
|
+
updateInnerValueChar({
|
|
627
|
+
char: pastedChar
|
|
628
|
+
}, index);
|
|
629
|
+
}
|
|
630
|
+
};
|
|
631
|
+
|
|
632
|
+
for (var index = charIndex; index < innerValue.length && !isReplaced; ++index) {
|
|
633
|
+
var _ret = _loop(index);
|
|
634
|
+
|
|
635
|
+
if (_ret === "continue") continue;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
return {
|
|
639
|
+
char: pastedChar,
|
|
640
|
+
isValid: isValid
|
|
641
|
+
};
|
|
642
|
+
});
|
|
643
|
+
|
|
644
|
+
var _replacedIndexes$reve = replacedIndexes.reverse(),
|
|
645
|
+
_replacedIndexes$reve2 = (0, _slicedToArray2.default)(_replacedIndexes$reve, 1),
|
|
646
|
+
lastCharIndex = _replacedIndexes$reve2[0];
|
|
647
|
+
|
|
648
|
+
setFocusOnChar(lastCharIndex + 1, i);
|
|
649
|
+
};
|
|
650
|
+
|
|
651
|
+
var _onCopy = function onCopy(e, i) {
|
|
652
|
+
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
653
|
+
setIsSelecting(false);
|
|
654
|
+
setFocusOnChar(i, 0);
|
|
655
|
+
};
|
|
656
|
+
|
|
657
|
+
var _onCut = function onCut(e, i) {
|
|
658
|
+
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
659
|
+
resetInnerValue();
|
|
660
|
+
setIsSelecting(false);
|
|
661
|
+
setFocusOnChar(i, 0);
|
|
662
|
+
};
|
|
663
|
+
|
|
451
664
|
var cancelDefaultAction = function cancelDefaultAction(e, cb) {
|
|
452
665
|
var key = e.key;
|
|
453
666
|
|
|
@@ -458,6 +671,14 @@ function InputMask(_ref) {
|
|
|
458
671
|
|
|
459
672
|
if (typeof cb === 'function') cb(e);
|
|
460
673
|
return false;
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
var selectAllText = function selectAllText(e) {
|
|
677
|
+
e.preventDefault();
|
|
678
|
+
e.stopPropagation();
|
|
679
|
+
setIsSelecting(true);
|
|
680
|
+
(0, _functions.selectElementContents)(inputRef.current);
|
|
681
|
+
setSelectedText((0, _functions.getSelectionText)());
|
|
461
682
|
}; ///--- OBSERVERS ---///
|
|
462
683
|
//Init InnerValue
|
|
463
684
|
|
|
@@ -465,15 +686,19 @@ function InputMask(_ref) {
|
|
|
465
686
|
(0, _react.useEffect)(function () {
|
|
466
687
|
if (!maskPattern) maskPattern = '';
|
|
467
688
|
var maskLength = maskPattern.length;
|
|
468
|
-
maskPattern.concat(' ').split('').map(function (char) {
|
|
689
|
+
maskPattern.concat(' ').split('').map(function (char, id) {
|
|
469
690
|
return addInnerValueChar({
|
|
470
691
|
char: char
|
|
692
|
+
}, {
|
|
693
|
+
id: id
|
|
471
694
|
});
|
|
472
695
|
});
|
|
473
696
|
|
|
474
697
|
if (value !== '' && value.length === maskLength) {
|
|
475
698
|
value.split('').map(function (char, i) {
|
|
476
|
-
return updateInnerValueChar(
|
|
699
|
+
return updateInnerValueChar({
|
|
700
|
+
char: char
|
|
701
|
+
}, i);
|
|
477
702
|
});
|
|
478
703
|
}
|
|
479
704
|
|
|
@@ -481,7 +706,10 @@ function InputMask(_ref) {
|
|
|
481
706
|
}, []); // Focus Observer
|
|
482
707
|
|
|
483
708
|
(0, _react.useEffect)(function () {
|
|
484
|
-
if (!isFocused)
|
|
709
|
+
if (!isFocused) {
|
|
710
|
+
setFocusedItemRef(null);
|
|
711
|
+
setSelectedText('');
|
|
712
|
+
}
|
|
485
713
|
}, [isFocused]); // Default Focused
|
|
486
714
|
|
|
487
715
|
(0, _react.useEffect)(function () {
|
|
@@ -501,24 +729,55 @@ function InputMask(_ref) {
|
|
|
501
729
|
setTimeout(function () {
|
|
502
730
|
setBlinkError(false);
|
|
503
731
|
}, blinkDuration);
|
|
504
|
-
}, [blinkError]);
|
|
732
|
+
}, [blinkError]);
|
|
733
|
+
(0, _react.useEffect)(function () {
|
|
734
|
+
if (!isSelecting) {
|
|
735
|
+
setSelectedText('');
|
|
736
|
+
(0, _functions.resetSelectionText)();
|
|
737
|
+
}
|
|
738
|
+
}, [isSelecting]);
|
|
739
|
+
(0, _react.useEffect)(function () {
|
|
740
|
+
document.addEventListener('mouseup', function () {
|
|
741
|
+
setIsMouseDown(function (isMouseDown) {
|
|
742
|
+
if (isMouseDown) {
|
|
743
|
+
setSelectedText((0, _functions.getSelectionText)());
|
|
744
|
+
document.addEventListener('click', function () {
|
|
745
|
+
setIsSelecting(false);
|
|
746
|
+
}, {
|
|
747
|
+
once: true
|
|
748
|
+
});
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
return false;
|
|
752
|
+
});
|
|
753
|
+
});
|
|
754
|
+
}, []);
|
|
755
|
+
(0, _react.useEffect)(function () {
|
|
756
|
+
if (isError) return;
|
|
757
|
+
setError(error !== '');
|
|
758
|
+
setErrorMessage(error === '' ? errors.default : error);
|
|
759
|
+
}, [error, isError]); ///--- RENDER ---///
|
|
505
760
|
|
|
506
761
|
var renderChar = function renderChar(obj, i) {
|
|
507
762
|
var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
508
763
|
var char = obj.char,
|
|
509
764
|
ref = obj.ref,
|
|
510
765
|
maskChar = obj.maskChar,
|
|
511
|
-
isSpecialSymbol = obj.isSpecialSymbol
|
|
512
|
-
|
|
766
|
+
isSpecialSymbol = obj.isSpecialSymbol,
|
|
767
|
+
isSelected = obj.isSelected;
|
|
768
|
+
if (i === innerValue.length - 1 && isSelecting) return /*#__PURE__*/_react.default.createElement("span", {
|
|
769
|
+
style: {
|
|
770
|
+
width: '1px'
|
|
771
|
+
}
|
|
772
|
+
});
|
|
773
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
513
774
|
tabIndex: i === 0 ? 1 : -1,
|
|
514
775
|
key: i,
|
|
515
776
|
maxLength: 1,
|
|
516
777
|
"attr-char-id": i,
|
|
517
|
-
className: "input-mask_value_item
|
|
778
|
+
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 "),
|
|
518
779
|
onClick: function onClick(e) {
|
|
519
|
-
|
|
520
|
-
return _onFocus(e, i);
|
|
521
|
-
});
|
|
780
|
+
onCharClick(e, i);
|
|
522
781
|
},
|
|
523
782
|
onFocus: function onFocus(e) {
|
|
524
783
|
return _onFocus(e, i);
|
|
@@ -529,15 +788,32 @@ function InputMask(_ref) {
|
|
|
529
788
|
return _onKeyDown(e, i);
|
|
530
789
|
},
|
|
531
790
|
onChange: function onChange() {},
|
|
532
|
-
contentEditable:
|
|
791
|
+
contentEditable: !isSelecting,
|
|
533
792
|
inputMode: isDigitMaskChar(maskChar) ? 'numeric' : 'text',
|
|
534
793
|
suppressContentEditableWarning: true,
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
,
|
|
540
|
-
|
|
794
|
+
onPaste: function onPaste(e) {
|
|
795
|
+
return cancelDefaultAction(e, function () {
|
|
796
|
+
return _onPaste(e, i);
|
|
797
|
+
});
|
|
798
|
+
},
|
|
799
|
+
onCopy: function onCopy(e) {
|
|
800
|
+
return cancelDefaultAction(e, function () {
|
|
801
|
+
return _onCopy(e, i);
|
|
802
|
+
});
|
|
803
|
+
},
|
|
804
|
+
onCut: function onCut(e) {
|
|
805
|
+
return cancelDefaultAction(e, function () {
|
|
806
|
+
return _onCut(e, i);
|
|
807
|
+
});
|
|
808
|
+
},
|
|
809
|
+
on: true,
|
|
810
|
+
ref: ref,
|
|
811
|
+
onDoubleClick: function onDoubleClick(e) {
|
|
812
|
+
setIsSelecting(true);
|
|
813
|
+
setTimeout(function () {
|
|
814
|
+
return selectAllText(e, i);
|
|
815
|
+
}, 50);
|
|
816
|
+
}
|
|
541
817
|
}, isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
|
|
542
818
|
};
|
|
543
819
|
|
|
@@ -571,27 +847,33 @@ function InputMask(_ref) {
|
|
|
571
847
|
});
|
|
572
848
|
};
|
|
573
849
|
|
|
574
|
-
var renderSingleInputValue = function renderSingleInputValue() {
|
|
575
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
576
|
-
onClick: function onClick() {
|
|
577
|
-
return setFocused(true);
|
|
578
|
-
}
|
|
579
|
-
}, getInnerValueAsString());
|
|
580
|
-
};
|
|
581
|
-
|
|
582
850
|
var render = function render() {
|
|
583
851
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
584
|
-
className: "
|
|
585
|
-
onBlur: onBlur
|
|
586
|
-
ref: wrapperRef
|
|
852
|
+
className: "input__wrap ".concat(className),
|
|
853
|
+
onBlur: onBlur
|
|
587
854
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
588
855
|
className: "input-mask ".concat(isFocused ? 'input-mask_focus' : '', " ").concat(isError ? 'input-mask_error' : '', " ").concat(blinkError ? 'input-mask_blink-error' : ''),
|
|
589
|
-
|
|
856
|
+
onMouseDown: function onMouseDown() {
|
|
857
|
+
return setIsMouseDown(true);
|
|
858
|
+
},
|
|
859
|
+
onMouseMove: function onMouseMove() {
|
|
860
|
+
return isMouseDown ? setIsSelecting(true) : null;
|
|
861
|
+
},
|
|
590
862
|
onClick: function onClick(e) {
|
|
591
|
-
return
|
|
863
|
+
return cancelDefaultAction(e, function () {
|
|
864
|
+
return !isMouseDown ? _onClick(e, function () {
|
|
865
|
+
return onEndDown(e, 0);
|
|
866
|
+
}) : null;
|
|
867
|
+
});
|
|
592
868
|
},
|
|
593
869
|
onBlur: onBlur
|
|
594
|
-
},
|
|
870
|
+
}, showHint && isHintLeft && /*#__PURE__*/_react.default.createElement("div", {
|
|
871
|
+
className: "input-mask_hint input-mask_hint--left"
|
|
872
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
873
|
+
hint: hintText,
|
|
874
|
+
className: hintClassName,
|
|
875
|
+
side: hintPosition
|
|
876
|
+
})), isIconLeft && showIcon && /*#__PURE__*/_react.default.createElement("div", {
|
|
595
877
|
className: "input-mask_icon input-mask_icon--left"
|
|
596
878
|
}, icon), /*#__PURE__*/_react.default.createElement("div", {
|
|
597
879
|
className: "input-mask_value",
|
|
@@ -606,7 +888,13 @@ function InputMask(_ref) {
|
|
|
606
888
|
onClick: clearValue
|
|
607
889
|
})), isIconRight && showIcon && /*#__PURE__*/_react.default.createElement("div", {
|
|
608
890
|
className: "input-mask_icon input-mask_icon--right"
|
|
609
|
-
}, icon)
|
|
891
|
+
}, icon), showHint && isHintRight && /*#__PURE__*/_react.default.createElement("div", {
|
|
892
|
+
className: "input-mask_hint input-mask_hint--right"
|
|
893
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
894
|
+
hint: hintText,
|
|
895
|
+
className: hintClassName,
|
|
896
|
+
side: hintPosition
|
|
897
|
+
}))), showErrors && errorMessage && /*#__PURE__*/_react.default.createElement("div", {
|
|
610
898
|
className: "input-mask_error-text"
|
|
611
899
|
}, errorMessage));
|
|
612
900
|
};
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
.
|
|
2
|
-
-webkit-touch-callout: none; /* iOS Safari */
|
|
3
|
-
-webkit-user-select: none; /* Safari */
|
|
4
|
-
-khtml-user-select: none; /* Konqueror HTML */
|
|
5
|
-
-moz-user-select: none; /* Firefox */
|
|
6
|
-
-ms-user-select: none; /* Internet Explorer/Edge */
|
|
7
|
-
user-select: none; /* Non-prefixed version, currently
|
|
8
|
-
supported by Chrome and Opera */
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.input-mask_wrapper {
|
|
1
|
+
.input__wrap {
|
|
12
2
|
outline: none;
|
|
13
3
|
display: block;
|
|
14
|
-
width:
|
|
4
|
+
// width: fit-content;
|
|
5
|
+
width: 100%;
|
|
15
6
|
|
|
16
7
|
.input-mask{
|
|
17
8
|
display: inline-flex;
|
|
@@ -28,10 +19,6 @@
|
|
|
28
19
|
&_focus{
|
|
29
20
|
border-color: #6b81dd;
|
|
30
21
|
filter: drop-shadow(0px 0px 4px rgba(93, 120, 255, 0.5));
|
|
31
|
-
|
|
32
|
-
.input-mask_value {
|
|
33
|
-
opacity: 1;
|
|
34
|
-
}
|
|
35
22
|
}
|
|
36
23
|
|
|
37
24
|
&_error,
|
|
@@ -55,6 +42,43 @@
|
|
|
55
42
|
}
|
|
56
43
|
}
|
|
57
44
|
|
|
45
|
+
&_hint{
|
|
46
|
+
display: flex;
|
|
47
|
+
text-align: center;
|
|
48
|
+
align-items: center;
|
|
49
|
+
|
|
50
|
+
& .hint__text_right{
|
|
51
|
+
top: 50%;
|
|
52
|
+
left: 24px;
|
|
53
|
+
transform: translateY(-50%);
|
|
54
|
+
|
|
55
|
+
&::before{
|
|
56
|
+
top: calc(50% - 4px);
|
|
57
|
+
left: -3px;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
& .hint__text_left{
|
|
62
|
+
top: 50%;
|
|
63
|
+
right: 32px;
|
|
64
|
+
transform: translateY(-50%);
|
|
65
|
+
|
|
66
|
+
&::before{
|
|
67
|
+
top: calc(50% - 4px);
|
|
68
|
+
right: -3px;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&--left{
|
|
73
|
+
margin-right: 4px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&--right{
|
|
77
|
+
margin-left: 4px;
|
|
78
|
+
right: 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
58
82
|
&_clear{
|
|
59
83
|
height: 16px;
|
|
60
84
|
width: 16px;
|
|
@@ -62,7 +86,6 @@
|
|
|
62
86
|
}
|
|
63
87
|
|
|
64
88
|
&_value{
|
|
65
|
-
opacity: 0.6;
|
|
66
89
|
display: flex;
|
|
67
90
|
align-items: center;
|
|
68
91
|
outline: none;
|
|
@@ -70,7 +93,6 @@
|
|
|
70
93
|
width: 100%;
|
|
71
94
|
|
|
72
95
|
&_item{
|
|
73
|
-
@extend .unselectable;
|
|
74
96
|
display: inline-flex;
|
|
75
97
|
min-width: 0;
|
|
76
98
|
font-size: 16px;
|
|
@@ -97,6 +119,7 @@
|
|
|
97
119
|
}
|
|
98
120
|
|
|
99
121
|
&:last-child{
|
|
122
|
+
color: #333333;
|
|
100
123
|
max-width: 1px;
|
|
101
124
|
}
|
|
102
125
|
}
|
|
@@ -108,15 +108,20 @@ var _default = {
|
|
|
108
108
|
description: 'Duration of <b>Error Blink</b> in <b>ms</b>.',
|
|
109
109
|
default: 100
|
|
110
110
|
},
|
|
111
|
-
|
|
111
|
+
showErrors: {
|
|
112
112
|
type: 'boolean',
|
|
113
113
|
default: true,
|
|
114
|
-
description: 'Turn <b>On/Off</b> Display of
|
|
114
|
+
description: 'Turn <b>On/Off</b> Display of Errors.'
|
|
115
115
|
},
|
|
116
116
|
errors: {
|
|
117
117
|
type: 'object',
|
|
118
118
|
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"
|
|
119
119
|
},
|
|
120
|
+
error: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
default: '',
|
|
123
|
+
description: 'Custom Error Text. If is not empty, field would be hightlited'
|
|
124
|
+
},
|
|
120
125
|
onFocus: {
|
|
121
126
|
type: 'function',
|
|
122
127
|
description: 'Callback Function for Handle <b>Input Focus</b>'
|
|
@@ -134,6 +139,46 @@ var _default = {
|
|
|
134
139
|
type: 'boolean',
|
|
135
140
|
description: 'Set Autofocus On Render',
|
|
136
141
|
default: false
|
|
142
|
+
},
|
|
143
|
+
imitateTypingOnPaste: {
|
|
144
|
+
type: 'boolean',
|
|
145
|
+
description: '<b>Manual Input Simulation Mode</b> when called <b>Pasting Text Event</b>.',
|
|
146
|
+
default: false
|
|
147
|
+
},
|
|
148
|
+
imitateTypingOnPasteDelay: {
|
|
149
|
+
type: 'number',
|
|
150
|
+
description: '<b>Delay Time</b> for <b>Manual Input Simulation Mode</b> when called <b>Pasting Text Event</b>.',
|
|
151
|
+
default: 100
|
|
152
|
+
},
|
|
153
|
+
showHint: {
|
|
154
|
+
type: 'boolean',
|
|
155
|
+
description: 'Turn <b>On/Off</b> Input Hint.',
|
|
156
|
+
default: false
|
|
157
|
+
},
|
|
158
|
+
hintText: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
description: 'Input Hint Text.',
|
|
161
|
+
default: ''
|
|
162
|
+
},
|
|
163
|
+
hintClassName: {
|
|
164
|
+
type: 'string',
|
|
165
|
+
description: 'ClassName for Input Hint.',
|
|
166
|
+
default: ''
|
|
167
|
+
},
|
|
168
|
+
isHintLeft: {
|
|
169
|
+
type: 'boolean',
|
|
170
|
+
default: false,
|
|
171
|
+
description: 'Display Input Hint on Left Side.'
|
|
172
|
+
},
|
|
173
|
+
isHintRight: {
|
|
174
|
+
type: 'boolean',
|
|
175
|
+
default: true,
|
|
176
|
+
description: 'Display Input Hint on Right Side.'
|
|
177
|
+
},
|
|
178
|
+
hintPosition: {
|
|
179
|
+
type: 'string',
|
|
180
|
+
description: 'Position of <b>Input Hint Text</b>',
|
|
181
|
+
default: 'right'
|
|
137
182
|
}
|
|
138
183
|
}
|
|
139
184
|
};
|
|
@@ -173,8 +218,8 @@ var Template = function Template(args) {
|
|
|
173
218
|
var InputMaskTemplate = Template.bind({});
|
|
174
219
|
exports.InputMaskTemplate = InputMaskTemplate;
|
|
175
220
|
InputMaskTemplate.args = {
|
|
176
|
-
maskPattern: '
|
|
177
|
-
maskPatternPlaceholder: '
|
|
221
|
+
maskPattern: 'DDDD DDDD DDDD DDDD',
|
|
222
|
+
maskPatternPlaceholder: 'xxxx xxxx xxxx xxxx',
|
|
178
223
|
usePatternPlaceholder: false,
|
|
179
224
|
maskPlaceholder: '_',
|
|
180
225
|
maskDigitPlaceholder: '',
|
|
@@ -185,15 +230,24 @@ InputMaskTemplate.args = {
|
|
|
185
230
|
showIcon: false,
|
|
186
231
|
isIconLeft: true,
|
|
187
232
|
isIconRight: false,
|
|
188
|
-
isClearable:
|
|
233
|
+
isClearable: true,
|
|
189
234
|
value: '',
|
|
190
235
|
onChange: function onChange() {},
|
|
191
236
|
blinkErrors: false,
|
|
192
237
|
blinkDuration: 100,
|
|
193
|
-
|
|
238
|
+
showErrors: true,
|
|
194
239
|
errors: {},
|
|
240
|
+
error: '',
|
|
195
241
|
onFocus: function onFocus() {},
|
|
196
242
|
onBlur: function onBlur() {},
|
|
197
243
|
className: '',
|
|
198
|
-
isFocusedDefault: false
|
|
244
|
+
isFocusedDefault: false,
|
|
245
|
+
imitateTypingOnPaste: false,
|
|
246
|
+
imitateTypingOnPasteDelay: 100,
|
|
247
|
+
showHint: false,
|
|
248
|
+
hintText: 'Hint Text',
|
|
249
|
+
hintClassName: '',
|
|
250
|
+
isHintRight: true,
|
|
251
|
+
isHintLeft: false,
|
|
252
|
+
hintPosition: 'right'
|
|
199
253
|
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.selectElementContents = exports.copyToClipboard = exports.resetSelectionText = exports.getSelectionText = void 0;
|
|
7
|
+
|
|
8
|
+
var getSelectionText = function getSelectionText() {
|
|
9
|
+
var text = "";
|
|
10
|
+
|
|
11
|
+
if (window.getSelection) {
|
|
12
|
+
text = window.getSelection().toString();
|
|
13
|
+
} else if (document.selection && document.selection.type != "Control") {
|
|
14
|
+
text = document.selection.createRange().text;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return text.replace(/\n/g, '');
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.getSelectionText = getSelectionText;
|
|
21
|
+
|
|
22
|
+
var resetSelectionText = function resetSelectionText() {
|
|
23
|
+
if (window.getSelection) {
|
|
24
|
+
window.getSelection().removeAllRanges();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.resetSelectionText = resetSelectionText;
|
|
29
|
+
|
|
30
|
+
var copyToClipboard = function copyToClipboard(str) {
|
|
31
|
+
if (navigator && navigator.clipboard && navigator.clipboard.writeText) return navigator.clipboard.writeText(str);
|
|
32
|
+
return Promise.reject('The Clipboard API is not available.');
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.copyToClipboard = copyToClipboard;
|
|
36
|
+
|
|
37
|
+
var selectElementContents = function selectElementContents(el) {
|
|
38
|
+
var range = document.createRange();
|
|
39
|
+
range.selectNodeContents(el);
|
|
40
|
+
var sel = window.getSelection();
|
|
41
|
+
sel.removeAllRanges();
|
|
42
|
+
sel.addRange(range);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.selectElementContents = selectElementContents;
|
|
@@ -48,7 +48,9 @@ var RangeInputs = function RangeInputs(_ref) {
|
|
|
48
48
|
onChange = _ref.onChange,
|
|
49
49
|
_ref$type = _ref.type,
|
|
50
50
|
type = _ref$type === void 0 ? 'int' : _ref$type,
|
|
51
|
-
setInnerError = _ref.setError
|
|
51
|
+
setInnerError = _ref.setError,
|
|
52
|
+
_ref$label = _ref.label,
|
|
53
|
+
label = _ref$label === void 0 ? "" : _ref$label;
|
|
52
54
|
|
|
53
55
|
var _useState = (0, _react.useState)({
|
|
54
56
|
from: '',
|
|
@@ -98,7 +100,9 @@ var RangeInputs = function RangeInputs(_ref) {
|
|
|
98
100
|
|
|
99
101
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
100
102
|
className: (0, _classnames.default)(RC, className, (0, _defineProperty2.default)({}, "".concat(RC, "_column"), isColumnPosition))
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
103
|
+
}, label && label !== " " && /*#__PURE__*/_react.default.createElement("div", {
|
|
104
|
+
className: "".concat(RC, "__label")
|
|
105
|
+
}, label), /*#__PURE__*/_react.default.createElement("div", {
|
|
102
106
|
className: "".concat(RC, "__wrapper")
|
|
103
107
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
104
108
|
className: "".concat(RC, "__input-from")
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-flow: row nowrap;
|
|
4
4
|
justify-content: flex-start;
|
|
5
|
-
align-items:
|
|
5
|
+
align-items: flex-start;
|
|
6
|
+
flex-direction: column;
|
|
6
7
|
|
|
7
8
|
&__wrapper {
|
|
8
9
|
width: 100%;
|
|
@@ -47,4 +48,13 @@
|
|
|
47
48
|
margin-bottom: 15px;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
51
|
+
|
|
52
|
+
.range-inputs__label{
|
|
53
|
+
font-family: 'Roboto';
|
|
54
|
+
font-style: normal;
|
|
55
|
+
font-weight: 500;
|
|
56
|
+
font-size: 12px;
|
|
57
|
+
line-height: 24px;
|
|
58
|
+
margin-bottom: 8px;
|
|
59
|
+
}
|
|
50
60
|
}
|