intelicoreact 1.1.50 → 1.1.53
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.
|
@@ -0,0 +1,834 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = InputMask3;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _reactFeather = require("react-feather");
|
|
23
|
+
|
|
24
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
|
+
|
|
26
|
+
var _DynamicIcon = _interopRequireDefault(require("../../UI/DynamicIcon/DynamicIcon"));
|
|
27
|
+
|
|
28
|
+
var _Spinner = _interopRequireDefault(require("../../Layout/Spinner/Spinner"));
|
|
29
|
+
|
|
30
|
+
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
31
|
+
|
|
32
|
+
var _index = require("../../../Constants/index.constants");
|
|
33
|
+
|
|
34
|
+
var _config = require("./config");
|
|
35
|
+
|
|
36
|
+
var _functions = require("./functions");
|
|
37
|
+
|
|
38
|
+
var _utils = require("../../../Functions/utils");
|
|
39
|
+
|
|
40
|
+
require("./InputMask3.scss");
|
|
41
|
+
|
|
42
|
+
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); }
|
|
43
|
+
|
|
44
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
49
|
+
|
|
50
|
+
function InputMask3() {
|
|
51
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
52
|
+
_ref$autocomplete = _ref.autocomplete,
|
|
53
|
+
autocomplete = _ref$autocomplete === void 0 ? 'off' : _ref$autocomplete,
|
|
54
|
+
maskPattern = _ref.maskPattern,
|
|
55
|
+
maskPatternPlaceholder = _ref.maskPatternPlaceholder,
|
|
56
|
+
maskPlaceholder = _ref.maskPlaceholder,
|
|
57
|
+
maskDigitPlaceholder = _ref.maskDigitPlaceholder,
|
|
58
|
+
maskLetterPlaceholder = _ref.maskLetterPlaceholder,
|
|
59
|
+
usePatternPlaceholder = _ref.usePatternPlaceholder,
|
|
60
|
+
_ref$maxEditableIndex = _ref.maxEditableIndex,
|
|
61
|
+
maxEditableIndex = _ref$maxEditableIndex === void 0 ? -1 : _ref$maxEditableIndex,
|
|
62
|
+
_ref$isFocusedDefault = _ref.isFocusedDefault,
|
|
63
|
+
isFocusedDefault = _ref$isFocusedDefault === void 0 ? false : _ref$isFocusedDefault,
|
|
64
|
+
isClearable = _ref.isClearable,
|
|
65
|
+
isCaseSensitive = _ref.isCaseSensitive,
|
|
66
|
+
adaptTextCase = _ref.adaptTextCase,
|
|
67
|
+
_ref$isUseAutoSelect = _ref.isUseAutoSelect,
|
|
68
|
+
isUseAutoSelect = _ref$isUseAutoSelect === void 0 ? true : _ref$isUseAutoSelect,
|
|
69
|
+
_ref$isLoading = _ref.isLoading,
|
|
70
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
71
|
+
_ref$hiddenChar = _ref.hiddenChar,
|
|
72
|
+
hiddenChar = _ref$hiddenChar === void 0 ? '*' : _ref$hiddenChar,
|
|
73
|
+
_ref$withHiddenMode = _ref.withHiddenMode,
|
|
74
|
+
withHiddenMode = _ref$withHiddenMode === void 0 ? false : _ref$withHiddenMode,
|
|
75
|
+
icon = _ref.icon,
|
|
76
|
+
showIcon = _ref.showIcon,
|
|
77
|
+
isIconLeft = _ref.isIconLeft,
|
|
78
|
+
isIconRight = _ref.isIconRight,
|
|
79
|
+
iconDynamicKey = _ref.iconDynamicKey,
|
|
80
|
+
_ref$iconDynamicProps = _ref.iconDynamicProps,
|
|
81
|
+
iconDynamicProps = _ref$iconDynamicProps === void 0 ? {} : _ref$iconDynamicProps,
|
|
82
|
+
value = _ref.value,
|
|
83
|
+
_ref$blinkErrors = _ref.blinkErrors,
|
|
84
|
+
blinkErrors = _ref$blinkErrors === void 0 ? true : _ref$blinkErrors,
|
|
85
|
+
_ref$blinkDuration = _ref.blinkDuration,
|
|
86
|
+
blinkDuration = _ref$blinkDuration === void 0 ? 100 : _ref$blinkDuration,
|
|
87
|
+
_ref$showErrors = _ref.showErrors,
|
|
88
|
+
showErrors = _ref$showErrors === void 0 ? false : _ref$showErrors,
|
|
89
|
+
_ref$className = _ref.className,
|
|
90
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
91
|
+
_ref$errors = _ref.errors,
|
|
92
|
+
customErrors = _ref$errors === void 0 ? _config.DEFAULT_ERRORS : _ref$errors,
|
|
93
|
+
_ref$error = _ref.error,
|
|
94
|
+
customError = _ref$error === void 0 ? '' : _ref$error,
|
|
95
|
+
_ref$onChange = _ref.onChange,
|
|
96
|
+
onChangeProp = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
97
|
+
_ref$onFocus = _ref.onFocus,
|
|
98
|
+
onFocusProp = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
99
|
+
_ref$onBlur = _ref.onBlur,
|
|
100
|
+
onBlurProp = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
|
|
101
|
+
_ref$onKeyDown = _ref.onKeyDown,
|
|
102
|
+
onKeyDownProp = _ref$onKeyDown === void 0 ? function () {} : _ref$onKeyDown,
|
|
103
|
+
_ref$onFilled = _ref.onFilled,
|
|
104
|
+
onFilledProp = _ref$onFilled === void 0 ? function () {} : _ref$onFilled,
|
|
105
|
+
_ref$showHint = _ref.showHint,
|
|
106
|
+
showHint = _ref$showHint === void 0 ? false : _ref$showHint,
|
|
107
|
+
_ref$hintText = _ref.hintText,
|
|
108
|
+
hintText = _ref$hintText === void 0 ? '' : _ref$hintText,
|
|
109
|
+
_ref$hintClassName = _ref.hintClassName,
|
|
110
|
+
hintClassName = _ref$hintClassName === void 0 ? '' : _ref$hintClassName,
|
|
111
|
+
_ref$isHintRight = _ref.isHintRight,
|
|
112
|
+
isHintRight = _ref$isHintRight === void 0 ? true : _ref$isHintRight,
|
|
113
|
+
_ref$isHintLeft = _ref.isHintLeft,
|
|
114
|
+
isHintLeft = _ref$isHintLeft === void 0 ? false : _ref$isHintLeft,
|
|
115
|
+
_ref$hintPosition = _ref.hintPosition,
|
|
116
|
+
hintPosition = _ref$hintPosition === void 0 ? 'right' : _ref$hintPosition,
|
|
117
|
+
_ref$hideMaskOnBlur = _ref.hideMaskOnBlur,
|
|
118
|
+
hideMaskOnBlur = _ref$hideMaskOnBlur === void 0 ? true : _ref$hideMaskOnBlur,
|
|
119
|
+
_ref$returnMaskedValu = _ref.returnMaskedValue,
|
|
120
|
+
returnMaskedValue = _ref$returnMaskedValu === void 0 ? false : _ref$returnMaskedValu,
|
|
121
|
+
name = _ref.name,
|
|
122
|
+
fieldKey = _ref.fieldKey,
|
|
123
|
+
id = _ref.id,
|
|
124
|
+
disabled = _ref.disabled,
|
|
125
|
+
testId = _ref.testId;
|
|
126
|
+
|
|
127
|
+
var errors = _objectSpread(_objectSpread({}, _config.DEFAULT_ERRORS), customErrors);
|
|
128
|
+
|
|
129
|
+
if (maxEditableIndex === -1) maxEditableIndex = maskPattern.length;
|
|
130
|
+
|
|
131
|
+
var _useState = (0, _react.useState)(false),
|
|
132
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
133
|
+
isMaskRendered = _useState2[0],
|
|
134
|
+
setMaskRendered = _useState2[1];
|
|
135
|
+
|
|
136
|
+
var _useState3 = (0, _react.useState)(false),
|
|
137
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
138
|
+
isFocused = _useState4[0],
|
|
139
|
+
setFocused = _useState4[1];
|
|
140
|
+
|
|
141
|
+
var _useState5 = (0, _react.useState)(false),
|
|
142
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
143
|
+
isInitValue = _useState6[0],
|
|
144
|
+
setIsInitValue = _useState6[1];
|
|
145
|
+
|
|
146
|
+
var _useState7 = (0, _react.useState)(0),
|
|
147
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
148
|
+
selectedLength = _useState8[0],
|
|
149
|
+
setSelectedLength = _useState8[1];
|
|
150
|
+
|
|
151
|
+
var _useState9 = (0, _react.useState)(false),
|
|
152
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
153
|
+
isValueHidden = _useState10[0],
|
|
154
|
+
setIsValueHidden = _useState10[1];
|
|
155
|
+
|
|
156
|
+
var inputRef = (0, _react.useRef)(null);
|
|
157
|
+
var keyDownRef = (0, _react.useRef)(null);
|
|
158
|
+
|
|
159
|
+
var setKeyDown = function setKeyDown(keyCode) {
|
|
160
|
+
return keyDownRef.current = keyCode;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
var getKeyDown = function getKeyDown() {
|
|
164
|
+
return keyDownRef.current;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
var DynamicIconComponent = iconDynamicKey && !icon ? /*#__PURE__*/_react.default.createElement(_DynamicIcon.default, (0, _extends2.default)({
|
|
168
|
+
iconKey: iconDynamicKey
|
|
169
|
+
}, iconDynamicProps)) : null;
|
|
170
|
+
|
|
171
|
+
var setCaret = function setCaret(caret) {
|
|
172
|
+
if (caret < 0) caret = 0;
|
|
173
|
+
var input = inputRef.current;
|
|
174
|
+
if (input) setTimeout(function () {
|
|
175
|
+
return input.setSelectionRange(caret, caret);
|
|
176
|
+
}, 0);
|
|
177
|
+
}; // ERRORS MANAGEMENT FUNCTIONS | START //
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
var _useState11 = (0, _react.useState)(false),
|
|
181
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
182
|
+
isError = _useState12[0],
|
|
183
|
+
setError = _useState12[1];
|
|
184
|
+
|
|
185
|
+
var _useState13 = (0, _react.useState)(false),
|
|
186
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
187
|
+
blinkError = _useState14[0],
|
|
188
|
+
setBlinkError = _useState14[1];
|
|
189
|
+
|
|
190
|
+
var _useState15 = (0, _react.useState)(errors.default),
|
|
191
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
192
|
+
errorMessage = _useState16[0],
|
|
193
|
+
setErrorMessage = _useState16[1];
|
|
194
|
+
|
|
195
|
+
var clearErrorMessage = function clearErrorMessage() {
|
|
196
|
+
return setErrorMessage(errors.default);
|
|
197
|
+
}; // ERRORS MANAGEMENT FUNCTIONS | END //
|
|
198
|
+
// INNER VALUE MANAGEMENT FUNCTIONS | START //
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
var _useState17 = (0, _react.useState)([]),
|
|
202
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
203
|
+
innerValue = _useState18[0],
|
|
204
|
+
setInnerValue = _useState18[1];
|
|
205
|
+
|
|
206
|
+
var prevValueRef = (0, _react.useRef)([]);
|
|
207
|
+
|
|
208
|
+
var addInnerValueChar = function addInnerValueChar(_ref2) {
|
|
209
|
+
var char = _ref2.char,
|
|
210
|
+
_ref2$data = _ref2.data,
|
|
211
|
+
data = _ref2$data === void 0 ? {} : _ref2$data;
|
|
212
|
+
setInnerValue(function (state) {
|
|
213
|
+
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
214
|
+
var charObj = getCharObj(char, data);
|
|
215
|
+
stateCopy.push(charObj);
|
|
216
|
+
return stateCopy;
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
var updateInnerValueChar = function updateInnerValueChar() {
|
|
221
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
222
|
+
_ref3$char = _ref3.char,
|
|
223
|
+
char = _ref3$char === void 0 ? null : _ref3$char;
|
|
224
|
+
|
|
225
|
+
var i = arguments.length > 1 ? arguments[1] : undefined;
|
|
226
|
+
setInnerValue(function (state) {
|
|
227
|
+
if (!state[i]) return state;
|
|
228
|
+
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
229
|
+
if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
|
|
230
|
+
return stateCopy;
|
|
231
|
+
});
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
var resetInnerValue = function resetInnerValue() {
|
|
235
|
+
setInnerValue(function (innerValue) {
|
|
236
|
+
return innerValue.map(function (item) {
|
|
237
|
+
if (!item.isSpecialSymbol && item.char !== null) item.char = '';
|
|
238
|
+
return item;
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
var setValue = function setValue(value) {
|
|
244
|
+
var _maskPattern;
|
|
245
|
+
|
|
246
|
+
var disableErrors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
247
|
+
value = value === null || value === undefined ? '' : value.toString();
|
|
248
|
+
resetInnerValue();
|
|
249
|
+
var staticLength = maskPattern.length - maxEditableIndex;
|
|
250
|
+
if (value.length > maxEditableIndex) value = value.slice(0, value.length - staticLength);else if (maxEditableIndex !== ((_maskPattern = maskPattern) === null || _maskPattern === void 0 ? void 0 : _maskPattern.length) - 1) value = value.slice(0, maxEditableIndex);
|
|
251
|
+
var valueCharIndex = 0;
|
|
252
|
+
setInnerValue(function (innerValue) {
|
|
253
|
+
var newValue = innerValue.map(function (item, i) {
|
|
254
|
+
var _maskPattern2;
|
|
255
|
+
|
|
256
|
+
var isSpecialSymbol = item.isSpecialSymbol;
|
|
257
|
+
if (isSpecialSymbol) return item;
|
|
258
|
+
var char = value[valueCharIndex];
|
|
259
|
+
var whileLimit = ((_maskPattern2 = maskPattern) === null || _maskPattern2 === void 0 ? void 0 : _maskPattern2.length) || 0;
|
|
260
|
+
|
|
261
|
+
while (whileLimit && (isSpecialSymbolChar({
|
|
262
|
+
char: value[valueCharIndex]
|
|
263
|
+
}) || !isValidChar({
|
|
264
|
+
char: char,
|
|
265
|
+
i: i,
|
|
266
|
+
disableErrors: true
|
|
267
|
+
}))) {
|
|
268
|
+
whileLimit--;
|
|
269
|
+
char = value[++valueCharIndex];
|
|
270
|
+
} // If Valid
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
if (isValidChar({
|
|
274
|
+
char: char,
|
|
275
|
+
i: i,
|
|
276
|
+
disableErrors: disableErrors
|
|
277
|
+
})) {
|
|
278
|
+
item.char = char;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
++valueCharIndex;
|
|
282
|
+
return item;
|
|
283
|
+
});
|
|
284
|
+
return newValue;
|
|
285
|
+
});
|
|
286
|
+
}; // INNER VALUE MANAGEMENT FUNCTIONS | END //
|
|
287
|
+
// CHECKERS | START //
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
var isValidChar = function isValidChar(_ref4) {
|
|
291
|
+
var key = _ref4.char,
|
|
292
|
+
i = _ref4.i,
|
|
293
|
+
_ref4$disableErrors = _ref4.disableErrors,
|
|
294
|
+
disableErrors = _ref4$disableErrors === void 0 ? false : _ref4$disableErrors;
|
|
295
|
+
var maskChar = getMaskCharByIndex(i);
|
|
296
|
+
|
|
297
|
+
switch (maskChar) {
|
|
298
|
+
case _config.DIGIT_MASK_CHAR:
|
|
299
|
+
if (!(0, _functions.isDigit)(key)) {
|
|
300
|
+
if (!disableErrors) {
|
|
301
|
+
setErrorMessage(errors.onlyDigit);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
break;
|
|
308
|
+
|
|
309
|
+
case _config.UPPERCASE_LETTER_MASK_CHAR:
|
|
310
|
+
if (adaptTextCase) key = key.toUpperCase();
|
|
311
|
+
|
|
312
|
+
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
313
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (isCaseSensitive && !(0, _functions.isUpperCaseLetter)(key)) {
|
|
318
|
+
if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
break;
|
|
323
|
+
|
|
324
|
+
case _config.LOWERCASE_LETTER_MASK_CHAR:
|
|
325
|
+
if (adaptTextCase) key = key.toLowerCase();
|
|
326
|
+
|
|
327
|
+
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
328
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
if (isCaseSensitive && !(0, _functions.isLowerCaseLetter)(key)) {
|
|
333
|
+
if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
break;
|
|
338
|
+
|
|
339
|
+
default:
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
return true;
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
var isSpecialSymbolMaskChar = function isSpecialSymbolMaskChar(_ref5) {
|
|
347
|
+
var char = _ref5.char;
|
|
348
|
+
return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
var isSpecialSymbolChar = function isSpecialSymbolChar(_ref6) {
|
|
352
|
+
var char = _ref6.char;
|
|
353
|
+
return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
var isSpecialSymbol = function isSpecialSymbol(i) {
|
|
357
|
+
var _getCharByIndex;
|
|
358
|
+
|
|
359
|
+
return (_getCharByIndex = getCharByIndex(i)) === null || _getCharByIndex === void 0 ? void 0 : _getCharByIndex.isSpecialSymbol;
|
|
360
|
+
}; // CHECKERS | END //
|
|
361
|
+
// GETTERS | START //
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
var getCharObj = function getCharObj(char) {
|
|
365
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
366
|
+
var isSpecialSymbol = isSpecialSymbolChar({
|
|
367
|
+
char: char
|
|
368
|
+
});
|
|
369
|
+
var isSpecialSymbolMask = isSpecialSymbolMaskChar({
|
|
370
|
+
char: char
|
|
371
|
+
});
|
|
372
|
+
if (char === ' ') char = _config.SPACE_CHAR;
|
|
373
|
+
return _objectSpread({
|
|
374
|
+
char: isSpecialSymbolMask ? char : '',
|
|
375
|
+
maskChar: char,
|
|
376
|
+
isSpecialSymbol: isSpecialSymbolMask,
|
|
377
|
+
isCharSymbol: !isSpecialSymbol && char !== '' && isSpecialSymbolMask,
|
|
378
|
+
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
379
|
+
}, data);
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
var getCharByIndex = function getCharByIndex(i) {
|
|
383
|
+
return innerValue[i] ? _objectSpread({}, innerValue[i]) : undefined;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
var getMaskCharByIndex = function getMaskCharByIndex(i) {
|
|
387
|
+
var _innerValue$i;
|
|
388
|
+
|
|
389
|
+
return ((_innerValue$i = innerValue[i]) === null || _innerValue$i === void 0 ? void 0 : _innerValue$i.maskChar) || undefined;
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
var getPlaceholderCharByIndex = function getPlaceholderCharByIndex(i) {
|
|
393
|
+
var _getCharByIndex2 = getCharByIndex(i),
|
|
394
|
+
maskChar = _getCharByIndex2.maskChar;
|
|
395
|
+
|
|
396
|
+
if (usePatternPlaceholder) {
|
|
397
|
+
return maskPatternPlaceholder[i] || maskPlaceholder;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if ((0, _functions.isDigitMaskChar)(maskChar) && maskDigitPlaceholder) return maskDigitPlaceholder;
|
|
401
|
+
if ((0, _functions.isLetterMaskChar)(maskChar) && maskLetterPlaceholder) return maskLetterPlaceholder;
|
|
402
|
+
return maskPlaceholder;
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
var getClearInnerValueAsString = function getClearInnerValueAsString() {
|
|
406
|
+
var _getInputValue, _getInputValue$split;
|
|
407
|
+
|
|
408
|
+
var symbolsInfo = innerValue === null || innerValue === void 0 ? void 0 : innerValue.map(function (_ref7) {
|
|
409
|
+
var isSpecialSymbol = _ref7.isSpecialSymbol,
|
|
410
|
+
isCharSymbol = _ref7.isCharSymbol;
|
|
411
|
+
return {
|
|
412
|
+
isSpecialSymbol: isSpecialSymbol,
|
|
413
|
+
isCharSymbol: isCharSymbol
|
|
414
|
+
};
|
|
415
|
+
});
|
|
416
|
+
var clearValue = (_getInputValue = getInputValue({
|
|
417
|
+
noLastTyppedCharIndexCheck: true
|
|
418
|
+
})) === null || _getInputValue === void 0 ? void 0 : (_getInputValue$split = _getInputValue.split('')) === null || _getInputValue$split === void 0 ? void 0 : _getInputValue$split.reduce(function (resultStr, symbol, i) {
|
|
419
|
+
if (!symbolsInfo[i].isSpecialSymbol || symbolsInfo[i].isCharSymbol) resultStr += symbol;
|
|
420
|
+
return resultStr;
|
|
421
|
+
}, '');
|
|
422
|
+
return clearValue;
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
var getInputValue = function getInputValue() {
|
|
426
|
+
var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
427
|
+
noLastTyppedCharIndexCheck = _ref8.noLastTyppedCharIndexCheck,
|
|
428
|
+
_ref8$noHide = _ref8.noHide,
|
|
429
|
+
noHide = _ref8$noHide === void 0 ? false : _ref8$noHide;
|
|
430
|
+
|
|
431
|
+
var isValid = true;
|
|
432
|
+
var lastTyppedCharIndex = innerValue.reduce(function (result, _ref9, i) {
|
|
433
|
+
var char = _ref9.char,
|
|
434
|
+
isSpecialSymbol = _ref9.isSpecialSymbol;
|
|
435
|
+
return char !== '' && !isSpecialSymbol ? i : result;
|
|
436
|
+
}, 0);
|
|
437
|
+
var value = innerValue.reduce(function (result, _ref10, i) {
|
|
438
|
+
var char = _ref10.char,
|
|
439
|
+
isSpecialSymbol = _ref10.isSpecialSymbol;
|
|
440
|
+
|
|
441
|
+
if (char !== '' && isValid && (!noLastTyppedCharIndexCheck ? i <= lastTyppedCharIndex : true)) {
|
|
442
|
+
if (isValueHidden && !isSpecialSymbol && !noHide) {
|
|
443
|
+
result += hiddenChar;
|
|
444
|
+
} else {
|
|
445
|
+
result += char;
|
|
446
|
+
}
|
|
447
|
+
} else {
|
|
448
|
+
isValid = false;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return result;
|
|
452
|
+
}, '');
|
|
453
|
+
return value;
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
var inputValue = (0, _react.useMemo)(getInputValue, [innerValue, isValueHidden]); // GETTERS | END //
|
|
457
|
+
/// --- Event Handlers ---///
|
|
458
|
+
// GENERAL EVENT HANDLERS | START //
|
|
459
|
+
|
|
460
|
+
var onVisibleChange = function onVisibleChange(e) {
|
|
461
|
+
clearErrorMessage();
|
|
462
|
+
var _e$target = e.target,
|
|
463
|
+
value = _e$target.value,
|
|
464
|
+
caretPos = _e$target.selectionStart,
|
|
465
|
+
char = e.nativeEvent.data;
|
|
466
|
+
|
|
467
|
+
if (caretPos > maxEditableIndex) {
|
|
468
|
+
(0, _utils.disableDefaultBehavior)();
|
|
469
|
+
setCaret(maxEditableIndex);
|
|
470
|
+
setBlinkError(true);
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
setValue(value);
|
|
475
|
+
var caretOffset = value.length - caretPos; // Correct Caret Position
|
|
476
|
+
|
|
477
|
+
if (!value.lastIndexEqualsTo(caretPos - 1)) {
|
|
478
|
+
if (value.longerThan(inputValue)) {
|
|
479
|
+
if (!isValidChar({
|
|
480
|
+
char: char,
|
|
481
|
+
i: caretPos - 1
|
|
482
|
+
})) {
|
|
483
|
+
(0, _utils.disableDefaultBehavior)(e);
|
|
484
|
+
setCaret(caretPos - 1);
|
|
485
|
+
} else {
|
|
486
|
+
var newCaretPos = value.length - caretOffset;
|
|
487
|
+
setCaret(isSpecialSymbol(newCaretPos) ? newCaretPos + 1 : newCaretPos);
|
|
488
|
+
}
|
|
489
|
+
} else if (inputValue.longerThan(value)) {
|
|
490
|
+
switch (getKeyDown()) {
|
|
491
|
+
case _index.KEYBOARD_KEY_CODES.Backspace:
|
|
492
|
+
if (isSpecialSymbol(caretPos)) {
|
|
493
|
+
(0, _utils.disableDefaultBehavior)(e);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
setCaret(caretPos);
|
|
497
|
+
break;
|
|
498
|
+
|
|
499
|
+
case _index.KEYBOARD_KEY_CODES.Delete:
|
|
500
|
+
if (isSpecialSymbol(caretPos)) {
|
|
501
|
+
(0, _utils.disableDefaultBehavior)(e);
|
|
502
|
+
setCaret(caretPos + 1);
|
|
503
|
+
} else {
|
|
504
|
+
setCaret(caretPos);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
break;
|
|
508
|
+
|
|
509
|
+
default:
|
|
510
|
+
if (selectedLength > 0) {
|
|
511
|
+
setCaret(caretPos);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/* Checking if the character is a special symbol and if it is not, it is checking if the character
|
|
518
|
+
is valid or not. If it is not valid, it will blink the error. */
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
if (blinkErrors) {
|
|
522
|
+
setTimeout(function () {
|
|
523
|
+
if ((value.longerThan(inputValue) && !isSpecialSymbol(caretPos - 1) || inputValue.longerThan(value) && !isSpecialSymbol(caretPos)) && (char && !isValidChar({
|
|
524
|
+
char: char,
|
|
525
|
+
i: caretPos - 1
|
|
526
|
+
}) || inputValue === getInputValue() && getInputValue()[caretPos - 1] !== char)) {
|
|
527
|
+
(0, _utils.disableDefaultBehavior)(e);
|
|
528
|
+
setBlinkError(true);
|
|
529
|
+
}
|
|
530
|
+
}, 0);
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
var onHiddenChange = function onHiddenChange(e) {
|
|
535
|
+
var _maskPattern3, _maskPattern4;
|
|
536
|
+
|
|
537
|
+
var SSN = getInputValue({
|
|
538
|
+
noHide: true
|
|
539
|
+
});
|
|
540
|
+
var _e$target2 = e.target,
|
|
541
|
+
value = _e$target2.value,
|
|
542
|
+
caretPos = _e$target2.selectionStart,
|
|
543
|
+
char = e.nativeEvent.data;
|
|
544
|
+
|
|
545
|
+
if (value.replace(/-/g, '').length < SSN.replace(/-/g, '').length) {
|
|
546
|
+
var last = SSN.length - 1;
|
|
547
|
+
setValue(SSN.slice(0, last));
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
var numValue = value.replace(/\D/g, '');
|
|
552
|
+
var newSSN = '';
|
|
553
|
+
var staticLength = maxEditableIndex !== -1 ? maxEditableIndex : (_maskPattern3 = maskPattern) === null || _maskPattern3 === void 0 ? void 0 : _maskPattern3.length;
|
|
554
|
+
|
|
555
|
+
if (SSN.length > staticLength) {
|
|
556
|
+
newSSN = SSN.slice(0, staticLength) + numValue;
|
|
557
|
+
} else {
|
|
558
|
+
newSSN = SSN + numValue;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
if (newSSN.length > ((_maskPattern4 = maskPattern) === null || _maskPattern4 === void 0 ? void 0 : _maskPattern4.length)) {
|
|
562
|
+
return;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
setValue(newSSN);
|
|
566
|
+
};
|
|
567
|
+
|
|
568
|
+
var onChange = isValueHidden ? onHiddenChange : onVisibleChange;
|
|
569
|
+
|
|
570
|
+
var onKeyDown = function onKeyDown(e) {
|
|
571
|
+
onKeyDownProp === null || onKeyDownProp === void 0 ? void 0 : onKeyDownProp(e);
|
|
572
|
+
var keyCode = e.keyCode;
|
|
573
|
+
setKeyDown(keyCode);
|
|
574
|
+
};
|
|
575
|
+
|
|
576
|
+
var onKeyUp = function onKeyUp(e) {
|
|
577
|
+
setKeyDown(null); // On Filled Callback
|
|
578
|
+
|
|
579
|
+
if (getInputValue({
|
|
580
|
+
noLastTyppedCharIndexCheck: true
|
|
581
|
+
}).length === maskPattern.length && e.target.selectionStart >= maxEditableIndex) onFilledProp();
|
|
582
|
+
};
|
|
583
|
+
|
|
584
|
+
var onClearClick = function onClearClick(e) {
|
|
585
|
+
var _inputRef$current;
|
|
586
|
+
|
|
587
|
+
e.stopPropagation();
|
|
588
|
+
e.preventDefault();
|
|
589
|
+
resetInnerValue();
|
|
590
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
591
|
+
setCaret(0);
|
|
592
|
+
clearErrorMessage();
|
|
593
|
+
};
|
|
594
|
+
|
|
595
|
+
var onHiddenToggle = function onHiddenToggle(e) {
|
|
596
|
+
var _inputRef$current2;
|
|
597
|
+
|
|
598
|
+
setIsValueHidden(function (v) {
|
|
599
|
+
return !v;
|
|
600
|
+
});
|
|
601
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
var _onFocus = function onFocus(e) {
|
|
605
|
+
setFocused(true);
|
|
606
|
+
onFocusProp();
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
var onBlur = function onBlur() {
|
|
610
|
+
setFocused(false);
|
|
611
|
+
onBlurProp();
|
|
612
|
+
};
|
|
613
|
+
|
|
614
|
+
var onClick = function onClick(e) {
|
|
615
|
+
var cursor = e.target.selectionStart;
|
|
616
|
+
if (cursor >= maxEditableIndex) setCaret(maxEditableIndex);
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
var onSelect = function onSelect(e) {
|
|
620
|
+
var _e$target3, _ref12;
|
|
621
|
+
|
|
622
|
+
var _ref11 = (_e$target3 = e.target) !== null && _e$target3 !== void 0 ? _e$target3 : {},
|
|
623
|
+
selectionStart = _ref11.selectionStart,
|
|
624
|
+
selectionEnd = _ref11.selectionEnd;
|
|
625
|
+
|
|
626
|
+
setSelectedLength((_ref12 = selectionEnd - selectionStart) !== null && _ref12 !== void 0 ? _ref12 : 0);
|
|
627
|
+
if (selectionStart >= maxEditableIndex) setCaret(maxEditableIndex);
|
|
628
|
+
}; // GENERAL EVENT HANDLERS | END //
|
|
629
|
+
/// --- OBSERVERS ---///
|
|
630
|
+
// Render Mask
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
(0, _react.useEffect)(function () {
|
|
634
|
+
setIsInitValue(false);
|
|
635
|
+
setInnerValue([]);
|
|
636
|
+
setMaskRendered(false);
|
|
637
|
+
if (!maskPattern) maskPattern = '';
|
|
638
|
+
maskPattern.split('').map(function (char, id) {
|
|
639
|
+
addInnerValueChar({
|
|
640
|
+
char: char,
|
|
641
|
+
data: {
|
|
642
|
+
id: id,
|
|
643
|
+
isReadOnly: id === maskPattern.length
|
|
644
|
+
}
|
|
645
|
+
});
|
|
646
|
+
if (value !== null && value !== void 0 && value[id]) updateInnerValueChar({
|
|
647
|
+
char: value[id]
|
|
648
|
+
}, id);
|
|
649
|
+
});
|
|
650
|
+
setMaskRendered(true);
|
|
651
|
+
}, [maskPattern]);
|
|
652
|
+
(0, _react.useEffect)(function () {
|
|
653
|
+
if (isMaskRendered && !isInitValue || isInitValue && ![getInputValue(), getClearInnerValueAsString()].includes(value) && value !== '') {
|
|
654
|
+
setValue(value);
|
|
655
|
+
setIsInitValue(true);
|
|
656
|
+
}
|
|
657
|
+
}, [isMaskRendered, value, isInitValue]); // OnChange Observer
|
|
658
|
+
|
|
659
|
+
(0, _react.useEffect)(function () {
|
|
660
|
+
if (isMaskRendered && isInitValue) {
|
|
661
|
+
var _prevValueRef$current, _prevValueRef$current2;
|
|
662
|
+
|
|
663
|
+
setError(false);
|
|
664
|
+
var values = [getClearInnerValueAsString(), getInputValue({
|
|
665
|
+
noLastTyppedCharIndexCheck: true
|
|
666
|
+
})];
|
|
667
|
+
if (returnMaskedValue) values.reverse();
|
|
668
|
+
|
|
669
|
+
if ((prevValueRef === null || prevValueRef === void 0 ? void 0 : (_prevValueRef$current = prevValueRef.current) === null || _prevValueRef$current === void 0 ? void 0 : _prevValueRef$current[0]) !== values[0] && (prevValueRef === null || prevValueRef === void 0 ? void 0 : (_prevValueRef$current2 = prevValueRef.current) === null || _prevValueRef$current2 === void 0 ? void 0 : _prevValueRef$current2[1]) !== values[1] && value !== values[0] && value !== values[1]) {
|
|
670
|
+
prevValueRef.current = values;
|
|
671
|
+
onChangeProp.apply(void 0, values);
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
}, [innerValue, isMaskRendered, isInitValue, value]); // Blink Error
|
|
675
|
+
|
|
676
|
+
(0, _react.useEffect)(function () {
|
|
677
|
+
if (blinkError) {
|
|
678
|
+
setTimeout(function () {
|
|
679
|
+
setBlinkError(false);
|
|
680
|
+
}, blinkDuration);
|
|
681
|
+
}
|
|
682
|
+
}, [blinkError]);
|
|
683
|
+
(0, _react.useEffect)(function () {
|
|
684
|
+
setError(customError !== '');
|
|
685
|
+
setErrorMessage(customError === '' ? errors.default : customError);
|
|
686
|
+
}, [customError, isError]); /// --- RENDER ---///
|
|
687
|
+
|
|
688
|
+
var renderChar = function renderChar(obj, i) {
|
|
689
|
+
var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
690
|
+
var char = obj.char,
|
|
691
|
+
ref = obj.ref,
|
|
692
|
+
maskChar = obj.maskChar,
|
|
693
|
+
isSpecialSymbol = obj.isSpecialSymbol;
|
|
694
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
695
|
+
tabIndex: -1,
|
|
696
|
+
key: i,
|
|
697
|
+
"attr-char-id": i,
|
|
698
|
+
className: (0, _classnames.default)('input-mask_value_item', className, {
|
|
699
|
+
'input-mask_value_item--digit': (0, _functions.isDigitMaskChar)(obj.maskChar),
|
|
700
|
+
'input-mask_value_item--letter': (0, _functions.isLetterMaskChar)(obj.maskChar),
|
|
701
|
+
'input-mask_value_item--spec': obj.isSpecialSymbol,
|
|
702
|
+
'input-mask_value_item--hidden': i < inputValue.length
|
|
703
|
+
}),
|
|
704
|
+
ref: ref
|
|
705
|
+
}, !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
|
|
706
|
+
};
|
|
707
|
+
|
|
708
|
+
var renderMaskChar = function renderMaskChar(obj, i) {
|
|
709
|
+
return renderChar(obj, i, 'input-mask_value_item_mask-char');
|
|
710
|
+
};
|
|
711
|
+
|
|
712
|
+
var renderValueChar = function renderValueChar(obj, i) {
|
|
713
|
+
return isValueHidden ? renderChar(_objectSpread(_objectSpread({}, obj), {}, {
|
|
714
|
+
char: hiddenChar
|
|
715
|
+
}), i, 'input-mask_value_item_value-hidden-char') : renderChar(obj, i, 'input-mask_value_item_value-char');
|
|
716
|
+
};
|
|
717
|
+
|
|
718
|
+
var renderSpecialChar = function renderSpecialChar(obj, i) {
|
|
719
|
+
return renderChar(obj, i, 'input-mask_value_item_spec-char');
|
|
720
|
+
};
|
|
721
|
+
|
|
722
|
+
var renderInputValue = function renderInputValue() {
|
|
723
|
+
return innerValue.map(function (obj, i) {
|
|
724
|
+
var char = obj.char,
|
|
725
|
+
isSpecialSymbol = obj.isSpecialSymbol;
|
|
726
|
+
|
|
727
|
+
if (isSpecialSymbol) {
|
|
728
|
+
return renderSpecialChar(obj, i);
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
var isMaskItem = function () {
|
|
732
|
+
return char === '';
|
|
733
|
+
}();
|
|
734
|
+
|
|
735
|
+
return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
|
|
736
|
+
});
|
|
737
|
+
};
|
|
738
|
+
|
|
739
|
+
var renderMask = function renderMask() {
|
|
740
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
741
|
+
className: "input-mask_value"
|
|
742
|
+
}, renderInputValue());
|
|
743
|
+
};
|
|
744
|
+
|
|
745
|
+
var renderInput = function renderInput() {
|
|
746
|
+
return /*#__PURE__*/_react.default.createElement("input", {
|
|
747
|
+
name: name || fieldKey || id || testId || '',
|
|
748
|
+
"data-testid": testId,
|
|
749
|
+
className: "input-mask_input ".concat(className),
|
|
750
|
+
ref: inputRef,
|
|
751
|
+
value: inputValue,
|
|
752
|
+
onChange: onChange,
|
|
753
|
+
onKeyDown: onKeyDown,
|
|
754
|
+
onKeyUp: onKeyUp,
|
|
755
|
+
onBlur: onBlur,
|
|
756
|
+
onClick: onClick,
|
|
757
|
+
autoComplete: autocomplete,
|
|
758
|
+
onFocus: function onFocus() {
|
|
759
|
+
if (isUseAutoSelect) inputRef.current.select();
|
|
760
|
+
if (_onFocus) _onFocus.apply(void 0, arguments);
|
|
761
|
+
},
|
|
762
|
+
onDragStart: function onDragStart(e) {
|
|
763
|
+
e.stopPropagation();
|
|
764
|
+
e.preventDefault();
|
|
765
|
+
},
|
|
766
|
+
onDragEnd: function onDragEnd(e) {
|
|
767
|
+
e.stopPropagation();
|
|
768
|
+
e.preventDefault();
|
|
769
|
+
},
|
|
770
|
+
onSelect: onSelect
|
|
771
|
+
});
|
|
772
|
+
};
|
|
773
|
+
|
|
774
|
+
var renderHideToggler = function renderHideToggler() {
|
|
775
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
776
|
+
className: "formatted-raw-ssn-eye-holder",
|
|
777
|
+
onClick: onHiddenToggle,
|
|
778
|
+
"data-testid": "formattedRawSNN--eye--key-".concat(testId, "--container")
|
|
779
|
+
}, ' ', isValueHidden ? /*#__PURE__*/_react.default.createElement(_reactFeather.Eye, {
|
|
780
|
+
strokeWidth: 1,
|
|
781
|
+
className: "password-icon"
|
|
782
|
+
}) : /*#__PURE__*/_react.default.createElement(_reactFeather.EyeOff, {
|
|
783
|
+
strokeWidth: 1,
|
|
784
|
+
className: "password-icon"
|
|
785
|
+
}));
|
|
786
|
+
};
|
|
787
|
+
|
|
788
|
+
var renderClearButton = function renderClearButton() {
|
|
789
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
790
|
+
className: "input-mask_clear"
|
|
791
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
|
|
792
|
+
onClick: onClearClick
|
|
793
|
+
}));
|
|
794
|
+
};
|
|
795
|
+
|
|
796
|
+
var renderHint = function renderHint() {
|
|
797
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
798
|
+
className: "input-mask_hint input-mask_hint--".concat(hintPosition)
|
|
799
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
800
|
+
hint: hintText,
|
|
801
|
+
className: hintClassName,
|
|
802
|
+
side: hintPosition
|
|
803
|
+
}));
|
|
804
|
+
};
|
|
805
|
+
|
|
806
|
+
var renderIcon = function renderIcon() {
|
|
807
|
+
var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'left';
|
|
808
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
809
|
+
className: "input-mask_icon input-mask_icon--".concat(position)
|
|
810
|
+
}, DynamicIconComponent !== null && DynamicIconComponent !== void 0 ? DynamicIconComponent : icon);
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
var render = function render() {
|
|
814
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
815
|
+
className: (0, _classnames.default)('input-mask3_wrapper', className, {
|
|
816
|
+
'input-mask_error': isError
|
|
817
|
+
}, {
|
|
818
|
+
'input-mask_focus': isFocused
|
|
819
|
+
}, {
|
|
820
|
+
'input-mask_blink-error': blinkError
|
|
821
|
+
}, {
|
|
822
|
+
disabled: disabled || isLoading
|
|
823
|
+
})
|
|
824
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
825
|
+
className: "\n input-mask\n ".concat(isError ? 'input-mask_error' : '', "\n ").concat(isFocused ? 'input-mask_focus' : '', "\n ").concat(blinkError ? 'input-mask_blink-error' : '', "\n ")
|
|
826
|
+
}, showHint && isHintLeft && renderHint(), isIconLeft && showIcon && renderIcon('left'), renderMask(), renderInput(), withHiddenMode && renderHideToggler(), isClearable && renderClearButton(), isIconRight && showIcon && renderIcon('right'), showHint && isHintRight && renderHint()), showErrors && errorMessage && /*#__PURE__*/_react.default.createElement("div", {
|
|
827
|
+
className: "input-mask_error-text"
|
|
828
|
+
}, errorMessage), isLoading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
|
|
829
|
+
size: "small"
|
|
830
|
+
}));
|
|
831
|
+
};
|
|
832
|
+
|
|
833
|
+
return render();
|
|
834
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
.unselectable {
|
|
2
|
+
-webkit-touch-callout: none; /* iOS Safari */ /* Chrome/Safari/Opera */ /* Konqueror */ /* Firefox */ /* Internet Explorer/Edge */
|
|
3
|
+
user-select: none; /* Non-prefixed version, currently
|
|
4
|
+
not supported by any browser */
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.input-mask3_wrapper {
|
|
8
|
+
position: relative;
|
|
9
|
+
display: block;
|
|
10
|
+
// width: fit-content;
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
13
|
+
outline: none;
|
|
14
|
+
|
|
15
|
+
& .input-mask {
|
|
16
|
+
position: relative;
|
|
17
|
+
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
width: 100%;
|
|
24
|
+
padding: 8px;
|
|
25
|
+
|
|
26
|
+
cursor: text;
|
|
27
|
+
|
|
28
|
+
border: 1px solid #E2E5EC;
|
|
29
|
+
border-radius: 4px;
|
|
30
|
+
background-color: #FFF;
|
|
31
|
+
|
|
32
|
+
&_input {
|
|
33
|
+
position: absolute;
|
|
34
|
+
top: 0;
|
|
35
|
+
left: 0;
|
|
36
|
+
|
|
37
|
+
box-sizing: border-box;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: 100%;
|
|
40
|
+
padding: 8px;
|
|
41
|
+
|
|
42
|
+
color: #333;
|
|
43
|
+
border: none;
|
|
44
|
+
outline: none;
|
|
45
|
+
background: rgb(0 0 0 / 0%);
|
|
46
|
+
|
|
47
|
+
font-size: 16px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&_focus {
|
|
51
|
+
border-color: #6B81DD;
|
|
52
|
+
filter: drop-shadow(0 0 4px rgb(93 120 255 / 50%));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&_error,
|
|
56
|
+
&_blink-error {
|
|
57
|
+
border-color: #DD6B6B;
|
|
58
|
+
filter: drop-shadow(0 0 4px rgb(255 93 93 / 50%));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&_icon {
|
|
62
|
+
position: relative;
|
|
63
|
+
|
|
64
|
+
width: 16px;
|
|
65
|
+
height: 16px;
|
|
66
|
+
|
|
67
|
+
&--left {
|
|
68
|
+
margin-right: 4px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&--right {
|
|
72
|
+
right: 0;
|
|
73
|
+
|
|
74
|
+
margin-left: 4px;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&_hint {
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
|
|
82
|
+
text-align: center;
|
|
83
|
+
|
|
84
|
+
& .hint__text_right {
|
|
85
|
+
top: 50%;
|
|
86
|
+
left: 24px;
|
|
87
|
+
|
|
88
|
+
transform: translateY(-50%);
|
|
89
|
+
|
|
90
|
+
&::before {
|
|
91
|
+
top: calc(50% - 4px);
|
|
92
|
+
left: -3px;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
& .hint__text_left {
|
|
97
|
+
top: 50%;
|
|
98
|
+
right: 32px;
|
|
99
|
+
|
|
100
|
+
transform: translateY(-50%);
|
|
101
|
+
|
|
102
|
+
&::before {
|
|
103
|
+
top: calc(50% - 4px);
|
|
104
|
+
right: -3px;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
&--left {
|
|
109
|
+
margin-right: 4px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&--right {
|
|
113
|
+
right: 0;
|
|
114
|
+
|
|
115
|
+
margin-left: 4px;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&_clear {
|
|
120
|
+
position: relative;
|
|
121
|
+
z-index: 9;
|
|
122
|
+
|
|
123
|
+
width: 16px;
|
|
124
|
+
height: 16px;
|
|
125
|
+
|
|
126
|
+
cursor: pointer !important;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&_value {
|
|
130
|
+
position: relative;
|
|
131
|
+
|
|
132
|
+
display: flex;
|
|
133
|
+
align-items: center;
|
|
134
|
+
|
|
135
|
+
width: 100%;
|
|
136
|
+
|
|
137
|
+
outline: none;
|
|
138
|
+
|
|
139
|
+
&_item {
|
|
140
|
+
display: inline-flex;
|
|
141
|
+
|
|
142
|
+
width: unset;
|
|
143
|
+
min-width: 0;
|
|
144
|
+
margin: 0;
|
|
145
|
+
padding: 0;
|
|
146
|
+
|
|
147
|
+
border: none;
|
|
148
|
+
outline: none;
|
|
149
|
+
|
|
150
|
+
font-size: 16px;
|
|
151
|
+
|
|
152
|
+
&_mask-char {
|
|
153
|
+
color: #9C9C9C;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
&_value-char {
|
|
157
|
+
opacity: 0;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&_spec-char {
|
|
161
|
+
text-align: center;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
&--hidden {
|
|
165
|
+
visibility: hidden;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.input-mask_error-text {
|
|
172
|
+
margin-top: 8px;
|
|
173
|
+
|
|
174
|
+
color: rgb(211 82 82);
|
|
175
|
+
|
|
176
|
+
font-size: 12px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.lds-ring.lds-ring_small {
|
|
180
|
+
top: calc(50% - 18px);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
UPPERCASE_LETTER_MASK_CHAR: 'L',
|
|
5
|
+
LOWERCASE_LETTER_MASK_CHAR: 'l',
|
|
6
|
+
DIGIT_MASK_CHAR: 'D',
|
|
7
|
+
SPACE_CHAR: "\xA0",
|
|
8
|
+
ANDROID_CHROME_TEXT_CODE: 229,
|
|
9
|
+
EXCLUDED_KEYS: ['Tab'],
|
|
10
|
+
DEFAULT_ERRORS: {
|
|
11
|
+
onlyLetter: 'Type letter',
|
|
12
|
+
onlyDigit: 'Type digit',
|
|
13
|
+
onlyUpperCase: 'Type letter in UpperCase',
|
|
14
|
+
onlyLowerCase: 'Type letter in LowerCase',
|
|
15
|
+
default: null
|
|
16
|
+
}
|
|
17
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.voidFn = exports.selectElementContents = exports.resetSelectionText = exports.isUpperCaseLetter = exports.isLowerCaseLetter = exports.isLetterMaskChar = exports.isLetter = exports.isDigitMaskChar = exports.isDigit = exports.getSelectionText = exports.copyToClipboard = void 0;
|
|
7
|
+
|
|
8
|
+
var _config = require("./config");
|
|
9
|
+
|
|
10
|
+
var getSelectionText = function getSelectionText() {
|
|
11
|
+
var _text;
|
|
12
|
+
|
|
13
|
+
var text = '';
|
|
14
|
+
|
|
15
|
+
if (window.getSelection) {
|
|
16
|
+
text = window.getSelection().toString();
|
|
17
|
+
} else if (document.selection && document.selection.type !== 'Control') {
|
|
18
|
+
text = document.selection.createRange().text;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return (_text = text) === null || _text === void 0 ? void 0 : _text.replace(/\n/g, '');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.getSelectionText = getSelectionText;
|
|
25
|
+
|
|
26
|
+
var resetSelectionText = function resetSelectionText() {
|
|
27
|
+
if (window.getSelection) {
|
|
28
|
+
window.getSelection().removeAllRanges();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.resetSelectionText = resetSelectionText;
|
|
33
|
+
|
|
34
|
+
var copyToClipboard = function copyToClipboard(str) {
|
|
35
|
+
if (navigator && navigator.clipboard && navigator.clipboard.writeText) return navigator.clipboard.writeText(str); // eslint-disable-next-line prefer-promise-reject-errors
|
|
36
|
+
|
|
37
|
+
return Promise.reject('The Clipboard API is not available.');
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.copyToClipboard = copyToClipboard;
|
|
41
|
+
|
|
42
|
+
var selectElementContents = function selectElementContents(el) {
|
|
43
|
+
var startOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
|
|
44
|
+
var endOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
|
|
45
|
+
var sel = window.getSelection();
|
|
46
|
+
sel.selectAllChildren(el);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.selectElementContents = selectElementContents;
|
|
50
|
+
|
|
51
|
+
var isLetter = function isLetter(char) {
|
|
52
|
+
return Boolean((char === null || char === void 0 ? void 0 : char.length) === 1 && (char === null || char === void 0 ? void 0 : char.match(/[a-z]/i)));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.isLetter = isLetter;
|
|
56
|
+
|
|
57
|
+
var isUpperCaseLetter = function isUpperCaseLetter(char) {
|
|
58
|
+
return isLetter(char) ? char === char.slice().toUpperCase() : false;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
exports.isUpperCaseLetter = isUpperCaseLetter;
|
|
62
|
+
|
|
63
|
+
var isLowerCaseLetter = function isLowerCaseLetter(char) {
|
|
64
|
+
return isLetter(char) ? char === char.slice().toLowerCase() : false;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
exports.isLowerCaseLetter = isLowerCaseLetter;
|
|
68
|
+
|
|
69
|
+
var isDigit = function isDigit(char) {
|
|
70
|
+
return Boolean(Number.isInteger(parseInt(char)));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
exports.isDigit = isDigit;
|
|
74
|
+
|
|
75
|
+
var isDigitMaskChar = function isDigitMaskChar(char) {
|
|
76
|
+
return char === _config.DIGIT_MASK_CHAR;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
exports.isDigitMaskChar = isDigitMaskChar;
|
|
80
|
+
|
|
81
|
+
var isLetterMaskChar = function isLetterMaskChar(char) {
|
|
82
|
+
return char === _config.UPPERCASE_LETTER_MASK_CHAR || char === _config.LOWERCASE_LETTER_MASK_CHAR;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
exports.isLetterMaskChar = isLetterMaskChar;
|
|
86
|
+
|
|
87
|
+
var voidFn = function voidFn() {
|
|
88
|
+
console.error('Void Function Called');
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
exports.voidFn = voidFn;
|