intelicoreact 0.1.34 → 0.1.37
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/DateTime/DateTime.js +35 -10
- package/dist/Atomic/FormElements/DateTime/DateTime.scss +11 -5
- package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +19 -2
- package/dist/Atomic/FormElements/DateTime/partial/AnyOuterClass.scss +9 -0
- package/dist/Atomic/FormElements/DoubleString/DoubleString.js +5 -3
- package/dist/Atomic/FormElements/DoubleString/DoubleString.scss +11 -6
- package/dist/Atomic/FormElements/DoubleString/DoubleString.stories.js +13 -1
- package/dist/Atomic/FormElements/DoubleString/partial/AnyOuterClass.scss +16 -0
- package/dist/Atomic/FormElements/Input/Input.js +10 -29
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +1 -3
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +58 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +896 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.scss +138 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +247 -0
- package/dist/Atomic/FormElements/InputMask/functions.js +45 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +53 -23
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +25 -5
- package/dist/Functions/fieldValueFormatters.js +18 -12
- package/package.json +1 -1
|
@@ -0,0 +1,896 @@
|
|
|
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 = InputMask;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _reactFeather = require("react-feather");
|
|
21
|
+
|
|
22
|
+
var _index = require("../../../Constants/index.constants");
|
|
23
|
+
|
|
24
|
+
var _usePrevious = _interopRequireDefault(require("../../../Functions/useFormTools/functions/usePrevious"));
|
|
25
|
+
|
|
26
|
+
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
27
|
+
|
|
28
|
+
var _functions = require("./functions");
|
|
29
|
+
|
|
30
|
+
var _InputCarretPosition = require("./InputCarretPosition");
|
|
31
|
+
|
|
32
|
+
require("./InputMask.scss");
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
|
+
|
|
42
|
+
var UPPERCASE_LETTER_MASK_CHAR = 'L';
|
|
43
|
+
var LOWERCASE_LETTER_MASK_CHAR = 'l';
|
|
44
|
+
var DIGIT_MASK_CHAR = 'D';
|
|
45
|
+
var SPACE_CHAR = "\xA0";
|
|
46
|
+
var EXCLUDED_KEYS = ["Tab"];
|
|
47
|
+
var DEFAULT_ERRORS = {
|
|
48
|
+
onlyLetter: 'Type letter',
|
|
49
|
+
onlyDigit: 'Type digit',
|
|
50
|
+
onlyUpperCase: 'Type letter in UpperCase',
|
|
51
|
+
onlyLowerCase: 'Type letter in LowerCase',
|
|
52
|
+
default: null
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
function InputMask() {
|
|
56
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
57
|
+
maskPattern = _ref.maskPattern,
|
|
58
|
+
maskPatternPlaceholder = _ref.maskPatternPlaceholder,
|
|
59
|
+
maskPlaceholder = _ref.maskPlaceholder,
|
|
60
|
+
maskDigitPlaceholder = _ref.maskDigitPlaceholder,
|
|
61
|
+
maskLetterPlaceholder = _ref.maskLetterPlaceholder,
|
|
62
|
+
usePatternPlaceholder = _ref.usePatternPlaceholder,
|
|
63
|
+
_ref$isFocusedDefault = _ref.isFocusedDefault,
|
|
64
|
+
isFocusedDefault = _ref$isFocusedDefault === void 0 ? false : _ref$isFocusedDefault,
|
|
65
|
+
isClearable = _ref.isClearable,
|
|
66
|
+
isCaseSensitive = _ref.isCaseSensitive,
|
|
67
|
+
adaptTextCase = _ref.adaptTextCase,
|
|
68
|
+
icon = _ref.icon,
|
|
69
|
+
showIcon = _ref.showIcon,
|
|
70
|
+
isIconLeft = _ref.isIconLeft,
|
|
71
|
+
isIconRight = _ref.isIconRight,
|
|
72
|
+
value = _ref.value,
|
|
73
|
+
_ref$onChange = _ref.onChange,
|
|
74
|
+
onChangeProp = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
75
|
+
_ref$blinkErrors = _ref.blinkErrors,
|
|
76
|
+
blinkErrors = _ref$blinkErrors === void 0 ? true : _ref$blinkErrors,
|
|
77
|
+
_ref$blinkDuration = _ref.blinkDuration,
|
|
78
|
+
blinkDuration = _ref$blinkDuration === void 0 ? 100 : _ref$blinkDuration,
|
|
79
|
+
_ref$showNativeErrors = _ref.showNativeErrors,
|
|
80
|
+
showNativeErrors = _ref$showNativeErrors === void 0 ? true : _ref$showNativeErrors,
|
|
81
|
+
_ref$className = _ref.className,
|
|
82
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
83
|
+
_ref$errors = _ref.errors,
|
|
84
|
+
customErrors = _ref$errors === void 0 ? DEFAULT_ERRORS : _ref$errors,
|
|
85
|
+
ref = _ref.ref,
|
|
86
|
+
_ref$onFocus = _ref.onFocus,
|
|
87
|
+
onFocusProp = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
88
|
+
_ref$onBlur = _ref.onBlur,
|
|
89
|
+
onBlurProp = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
|
|
90
|
+
_ref$imitateTypingOnP = _ref.imitateTypingOnPaste,
|
|
91
|
+
imitateTypingOnPaste = _ref$imitateTypingOnP === void 0 ? true : _ref$imitateTypingOnP,
|
|
92
|
+
_ref$imitateTypingOnP2 = _ref.imitateTypingOnPasteDelay,
|
|
93
|
+
imitateTypingOnPasteDelay = _ref$imitateTypingOnP2 === void 0 ? 100 : _ref$imitateTypingOnP2,
|
|
94
|
+
_ref$showHint = _ref.showHint,
|
|
95
|
+
showHint = _ref$showHint === void 0 ? false : _ref$showHint,
|
|
96
|
+
_ref$hintText = _ref.hintText,
|
|
97
|
+
hintText = _ref$hintText === void 0 ? '' : _ref$hintText,
|
|
98
|
+
_ref$hintClassName = _ref.hintClassName,
|
|
99
|
+
hintClassName = _ref$hintClassName === void 0 ? '' : _ref$hintClassName,
|
|
100
|
+
_ref$isHintRight = _ref.isHintRight,
|
|
101
|
+
isHintRight = _ref$isHintRight === void 0 ? true : _ref$isHintRight,
|
|
102
|
+
_ref$isHintLeft = _ref.isHintLeft,
|
|
103
|
+
isHintLeft = _ref$isHintLeft === void 0 ? false : _ref$isHintLeft,
|
|
104
|
+
_ref$hintPosition = _ref.hintPosition,
|
|
105
|
+
hintPosition = _ref$hintPosition === void 0 ? 'right' : _ref$hintPosition;
|
|
106
|
+
|
|
107
|
+
var errors = _objectSpread(_objectSpread({}, DEFAULT_ERRORS), customErrors);
|
|
108
|
+
|
|
109
|
+
var _useState = (0, _react.useState)(false),
|
|
110
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
111
|
+
isMaskRendered = _useState2[0],
|
|
112
|
+
setMaskRendered = _useState2[1];
|
|
113
|
+
|
|
114
|
+
var inputRef = (0, _react.useRef)(null);
|
|
115
|
+
|
|
116
|
+
var _useState3 = (0, _react.useState)(false),
|
|
117
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
118
|
+
isMouseDown = _useState4[0],
|
|
119
|
+
setIsMouseDown = _useState4[1];
|
|
120
|
+
|
|
121
|
+
var _useState5 = (0, _react.useState)(false),
|
|
122
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
123
|
+
isSelecting = _useState6[0],
|
|
124
|
+
setIsSelecting = _useState6[1];
|
|
125
|
+
|
|
126
|
+
var _useState7 = (0, _react.useState)(false),
|
|
127
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
128
|
+
isFocused = _useState8[0],
|
|
129
|
+
setFocused = _useState8[1];
|
|
130
|
+
|
|
131
|
+
var _useState9 = (0, _react.useState)(false),
|
|
132
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
133
|
+
isError = _useState10[0],
|
|
134
|
+
setError = _useState10[1];
|
|
135
|
+
|
|
136
|
+
var _useState11 = (0, _react.useState)(false),
|
|
137
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
138
|
+
blinkError = _useState12[0],
|
|
139
|
+
setBlinkError = _useState12[1];
|
|
140
|
+
|
|
141
|
+
var _useState13 = (0, _react.useState)(errors.default),
|
|
142
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
143
|
+
errorMessage = _useState14[0],
|
|
144
|
+
setErrorMessage = _useState14[1];
|
|
145
|
+
|
|
146
|
+
var clearErrorMessage = function clearErrorMessage() {
|
|
147
|
+
return setErrorMessage(errors.default);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
var _useState15 = (0, _react.useState)(null),
|
|
151
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
152
|
+
focusedItemRef = _useState16[0],
|
|
153
|
+
setFocusedItemRef = _useState16[1];
|
|
154
|
+
|
|
155
|
+
var _useState17 = (0, _react.useState)([]),
|
|
156
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
157
|
+
innerValue = _useState18[0],
|
|
158
|
+
setInnerValue = _useState18[1];
|
|
159
|
+
|
|
160
|
+
var _useState19 = (0, _react.useState)([]),
|
|
161
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
162
|
+
selectedText = _useState20[0],
|
|
163
|
+
setSelectedText = _useState20[1];
|
|
164
|
+
|
|
165
|
+
var addInnerValueChar = function addInnerValueChar(_ref2) {
|
|
166
|
+
var char = _ref2.char,
|
|
167
|
+
_ref2$i = _ref2.i,
|
|
168
|
+
i = _ref2$i === void 0 ? null : _ref2$i,
|
|
169
|
+
_ref2$data = _ref2.data,
|
|
170
|
+
data = _ref2$data === void 0 ? {} : _ref2$data;
|
|
171
|
+
setInnerValue(function (state) {
|
|
172
|
+
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
173
|
+
var charObj = getCharObj(char, data);
|
|
174
|
+
|
|
175
|
+
if (i !== null) {
|
|
176
|
+
stateCopy[i] = charObj;
|
|
177
|
+
} else {
|
|
178
|
+
stateCopy.push(charObj);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return stateCopy;
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
var updateInnerValueChar = function updateInnerValueChar() {
|
|
186
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
187
|
+
_ref3$char = _ref3.char,
|
|
188
|
+
char = _ref3$char === void 0 ? null : _ref3$char,
|
|
189
|
+
_ref3$isSelected = _ref3.isSelected,
|
|
190
|
+
isSelected = _ref3$isSelected === void 0 ? null : _ref3$isSelected;
|
|
191
|
+
|
|
192
|
+
var i = arguments.length > 1 ? arguments[1] : undefined;
|
|
193
|
+
setInnerValue(function (state) {
|
|
194
|
+
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
195
|
+
if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
|
|
196
|
+
if (isSelected !== null) stateCopy[i].isSelected = isSelected;
|
|
197
|
+
return stateCopy;
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
var resetInnerValue = function resetInnerValue() {
|
|
202
|
+
innerValue.map(function (v, i) {
|
|
203
|
+
return updateInnerValueChar({
|
|
204
|
+
char: '',
|
|
205
|
+
isSelected: false
|
|
206
|
+
}, i);
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
var getPlaceholderCharByIndex = function getPlaceholderCharByIndex(i) {
|
|
211
|
+
var _getCharByIndex = getCharByIndex(i),
|
|
212
|
+
maskChar = _getCharByIndex.maskChar;
|
|
213
|
+
|
|
214
|
+
if (usePatternPlaceholder) {
|
|
215
|
+
return maskPatternPlaceholder[i] || maskPlaceholder;
|
|
216
|
+
} else {
|
|
217
|
+
if (isDigitMaskChar(maskChar) && maskDigitPlaceholder) return maskDigitPlaceholder;
|
|
218
|
+
if (isLetterMaskChar(maskChar) && maskLetterPlaceholder) return maskLetterPlaceholder;
|
|
219
|
+
return maskPlaceholder;
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
var getInnerValueAsString = function getInnerValueAsString() {
|
|
224
|
+
return innerValue.map(function (_ref4, i) {
|
|
225
|
+
var char = _ref4.char,
|
|
226
|
+
maskChar = _ref4.maskChar;
|
|
227
|
+
return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
|
|
228
|
+
}).join('');
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
var getSelectedValueAsString = function getSelectedValueAsString() {
|
|
232
|
+
return selectedText;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
var getClearInnerValueAsString = function getClearInnerValueAsString() {
|
|
236
|
+
return innerValue.reduce(function (result, _ref5) {
|
|
237
|
+
var char = _ref5.char,
|
|
238
|
+
maskChar = _ref5.maskChar,
|
|
239
|
+
isSpecialSymbol = _ref5.isSpecialSymbol;
|
|
240
|
+
if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
|
|
241
|
+
return result;
|
|
242
|
+
}, '');
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
var isLetter = function isLetter(char) {
|
|
246
|
+
return char.length === 1 && char.match(/[a-z]/i);
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
var isUpperCaseLetter = function isUpperCaseLetter(char) {
|
|
250
|
+
return isLetter(char) ? char === char.slice().toUpperCase() : false;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
var isLowerCaseLetter = function isLowerCaseLetter(char) {
|
|
254
|
+
return isLetter(char) ? char === char.slice().toLowerCase() : false;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var isDigit = function isDigit(char) {
|
|
258
|
+
return Number.isInteger(parseInt(char));
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
var isDigitMaskChar = function isDigitMaskChar(char) {
|
|
262
|
+
return char === DIGIT_MASK_CHAR;
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
var isLetterMaskChar = function isLetterMaskChar(char) {
|
|
266
|
+
return char === UPPERCASE_LETTER_MASK_CHAR || char === LOWERCASE_LETTER_MASK_CHAR;
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
var isValidChar = function isValidChar(_ref6) {
|
|
270
|
+
var key = _ref6.char,
|
|
271
|
+
i = _ref6.i,
|
|
272
|
+
_ref6$disableErrors = _ref6.disableErrors,
|
|
273
|
+
disableErrors = _ref6$disableErrors === void 0 ? false : _ref6$disableErrors;
|
|
274
|
+
var maskChar = getMaskCharByIndex(i);
|
|
275
|
+
|
|
276
|
+
switch (maskChar) {
|
|
277
|
+
case DIGIT_MASK_CHAR:
|
|
278
|
+
if (!isDigit(key)) {
|
|
279
|
+
if (!disableErrors) setErrorMessage(errors.onlyDigit);
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
break;
|
|
284
|
+
|
|
285
|
+
case UPPERCASE_LETTER_MASK_CHAR:
|
|
286
|
+
if (adaptTextCase) key = key.toUpperCase();
|
|
287
|
+
|
|
288
|
+
if (!isLetter(key) && !isCaseSensitive) {
|
|
289
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (isCaseSensitive && !isUpperCaseLetter(key)) {
|
|
294
|
+
if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
break;
|
|
299
|
+
|
|
300
|
+
case LOWERCASE_LETTER_MASK_CHAR:
|
|
301
|
+
if (adaptTextCase) key = key.toLowerCase();
|
|
302
|
+
|
|
303
|
+
if (!isLetter(key) && !isCaseSensitive) {
|
|
304
|
+
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
if (isCaseSensitive && !isLowerCaseLetter(key)) {
|
|
309
|
+
if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
break;
|
|
314
|
+
|
|
315
|
+
default:
|
|
316
|
+
return false;
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return true;
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
var getCharObj = function getCharObj(char) {
|
|
324
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
325
|
+
var isSpecialSymbol = !(isDigitMaskChar(char) || isLetterMaskChar(char));
|
|
326
|
+
if (char === ' ') char = SPACE_CHAR;
|
|
327
|
+
return _objectSpread({
|
|
328
|
+
char: isSpecialSymbol ? char : '',
|
|
329
|
+
maskChar: char,
|
|
330
|
+
isSpecialSymbol: isSpecialSymbol,
|
|
331
|
+
isSelected: false,
|
|
332
|
+
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
333
|
+
}, data);
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
var getFirstChar = function getFirstChar() {
|
|
337
|
+
return innerValue[0] ? _objectSpread({}, innerValue[0]) : undefined;
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
var getLastChar = function getLastChar() {
|
|
341
|
+
return innerValue.length ? (0, _toConsumableArray2.default)(innerValue).pop() : undefined;
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
var getCharByIndex = function getCharByIndex(i) {
|
|
345
|
+
return innerValue[i] ? _objectSpread({}, innerValue[i]) : undefined;
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
var getMaskCharByIndex = function getMaskCharByIndex(i) {
|
|
349
|
+
var _innerValue$i;
|
|
350
|
+
|
|
351
|
+
return ((_innerValue$i = innerValue[i]) === null || _innerValue$i === void 0 ? void 0 : _innerValue$i.maskChar) || undefined;
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
var getSelectStartIndex = function getSelectStartIndex() {
|
|
355
|
+
var sel = (0, _functions.getSelectionText)();
|
|
356
|
+
var str = getInnerValueAsString();
|
|
357
|
+
return str.indexOf(sel);
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
var setFocusOnChar = function setFocusOnChar(i, prevIndex) {
|
|
361
|
+
var _ref$current;
|
|
362
|
+
|
|
363
|
+
var charObj = getCharByIndex(i);
|
|
364
|
+
if (!charObj) return false;
|
|
365
|
+
var char = charObj.char,
|
|
366
|
+
maskChar = charObj.maskChar,
|
|
367
|
+
ref = charObj.ref,
|
|
368
|
+
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
369
|
+
if (!ref) return false;
|
|
370
|
+
|
|
371
|
+
if (isSpecialSymbol && i < innerValue.length - 1) {
|
|
372
|
+
return prevIndex > i ? onArrowLeftDown(null, i) : onArrowRightDown(null, i);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
376
|
+
setTimeout(function () {
|
|
377
|
+
return (0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
378
|
+
}, 10);
|
|
379
|
+
setFocusedItemRef(ref);
|
|
380
|
+
|
|
381
|
+
_onFocus(null, i);
|
|
382
|
+
|
|
383
|
+
return true;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
var clearValue = function clearValue(e) {
|
|
387
|
+
e.stopPropagation();
|
|
388
|
+
e.preventDefault();
|
|
389
|
+
innerValue.map(function (charObj, i) {
|
|
390
|
+
updateInnerValueChar({
|
|
391
|
+
char: ''
|
|
392
|
+
}, i);
|
|
393
|
+
});
|
|
394
|
+
onHomeDown(null, 0);
|
|
395
|
+
}; ///--- Event Handlers ---///
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
var onArrowLeftDown = function onArrowLeftDown(e, i) {
|
|
399
|
+
return setFocusOnChar(i - 1, i);
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
var onArrowRightDown = function onArrowRightDown(e, i) {
|
|
403
|
+
return setFocusOnChar(i + 1, i);
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
var onBackspaceDown = function onBackspaceDown(e, i) {
|
|
407
|
+
var prevIndex = i - 1;
|
|
408
|
+
var charObj = getCharByIndex(prevIndex);
|
|
409
|
+
if (!charObj) return false;
|
|
410
|
+
var char = charObj.char,
|
|
411
|
+
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
412
|
+
if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
|
|
413
|
+
setFocusOnChar(prevIndex, i);
|
|
414
|
+
updateInnerValueChar({
|
|
415
|
+
char: ''
|
|
416
|
+
}, prevIndex);
|
|
417
|
+
return true;
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
var onDeleteDown = function onDeleteDown(e, i) {
|
|
421
|
+
var nextIndex = i + 1;
|
|
422
|
+
var charObj = getCharByIndex(i);
|
|
423
|
+
if (!charObj) return false;
|
|
424
|
+
var char = charObj.char,
|
|
425
|
+
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
426
|
+
if (isSpecialSymbol) return onDeleteDown(e, i + 1);
|
|
427
|
+
setFocusOnChar(nextIndex, i);
|
|
428
|
+
updateInnerValueChar({
|
|
429
|
+
char: ''
|
|
430
|
+
}, i);
|
|
431
|
+
return true;
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
var onHomeDown = function onHomeDown(e, i) {
|
|
435
|
+
return setFocusOnChar(0, -1);
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
var onEndDown = function onEndDown(e, i) {
|
|
439
|
+
return setFocusOnChar(innerValue.length - 1, 0);
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
var handleServiceKeyDown = function handleServiceKeyDown(e, i) {
|
|
443
|
+
var key = e.key;
|
|
444
|
+
|
|
445
|
+
switch (key) {
|
|
446
|
+
case 'ArrowLeft':
|
|
447
|
+
return onArrowLeftDown(e, i);
|
|
448
|
+
break;
|
|
449
|
+
|
|
450
|
+
case 'ArrowRight':
|
|
451
|
+
return onArrowRightDown(e, i);
|
|
452
|
+
break;
|
|
453
|
+
|
|
454
|
+
case 'Backspace':
|
|
455
|
+
return onBackspaceDown(e, i);
|
|
456
|
+
break;
|
|
457
|
+
|
|
458
|
+
case 'Delete':
|
|
459
|
+
return onDeleteDown(e, i);
|
|
460
|
+
break;
|
|
461
|
+
|
|
462
|
+
case 'Home':
|
|
463
|
+
return onHomeDown(e, i);
|
|
464
|
+
break;
|
|
465
|
+
|
|
466
|
+
case 'End':
|
|
467
|
+
return onEndDown(e, i);
|
|
468
|
+
break;
|
|
469
|
+
|
|
470
|
+
default:
|
|
471
|
+
return true;
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
var handleKeyDown = function handleKeyDown(e, i) {
|
|
477
|
+
var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
478
|
+
_ref7$disableErrors = _ref7.disableErrors,
|
|
479
|
+
disableErrors = _ref7$disableErrors === void 0 ? false : _ref7$disableErrors;
|
|
480
|
+
|
|
481
|
+
try {
|
|
482
|
+
e.stopPropagation();
|
|
483
|
+
e.preventDefault();
|
|
484
|
+
} catch (e) {}
|
|
485
|
+
|
|
486
|
+
;
|
|
487
|
+
var key = e.key;
|
|
488
|
+
var charObj = getCharByIndex(i);
|
|
489
|
+
if (!charObj) return false;
|
|
490
|
+
var isSpecialSymbol = charObj.isSpecialSymbol,
|
|
491
|
+
maskChar = charObj.maskChar; //IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
492
|
+
|
|
493
|
+
if (maskChar === SPACE_CHAR) return handleKeyDown(e, i + 1);
|
|
494
|
+
if (isSpecialSymbol && maskChar !== key) return false;
|
|
495
|
+
if (!isValidChar({
|
|
496
|
+
char: key,
|
|
497
|
+
i: i,
|
|
498
|
+
disableErrors: disableErrors
|
|
499
|
+
})) return false;
|
|
500
|
+
updateInnerValueChar({
|
|
501
|
+
char: key
|
|
502
|
+
}, i);
|
|
503
|
+
onArrowRightDown(e, i);
|
|
504
|
+
return true;
|
|
505
|
+
};
|
|
506
|
+
|
|
507
|
+
var handleKeyCombinations = function handleKeyCombinations(e, i) {
|
|
508
|
+
var key = e.key,
|
|
509
|
+
keyCode = e.keyCode;
|
|
510
|
+
|
|
511
|
+
switch (keyCode) {
|
|
512
|
+
//Ctrl + A
|
|
513
|
+
case 65:
|
|
514
|
+
selectAllText(e);
|
|
515
|
+
break;
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
var _onKeyDown = function onKeyDown(e, i) {
|
|
520
|
+
var key = e.key,
|
|
521
|
+
ctrlKey = e.ctrlKey,
|
|
522
|
+
altKey = e.altKey;
|
|
523
|
+
|
|
524
|
+
if (ctrlKey || altKey) {
|
|
525
|
+
if (!_index.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
|
|
526
|
+
return true;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
var handleResult = _index.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
|
|
530
|
+
|
|
531
|
+
if (blinkErrors && !handleResult) {
|
|
532
|
+
setBlinkError(true);
|
|
533
|
+
}
|
|
534
|
+
};
|
|
535
|
+
|
|
536
|
+
var _onClick = function onClick(e, cb) {
|
|
537
|
+
var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
538
|
+
_ref8$ignoreIsSelecti = _ref8.ignoreIsSelecting,
|
|
539
|
+
ignoreIsSelecting = _ref8$ignoreIsSelecti === void 0 ? false : _ref8$ignoreIsSelecti;
|
|
540
|
+
|
|
541
|
+
e.stopPropagation();
|
|
542
|
+
e.preventDefault();
|
|
543
|
+
if (isSelecting && !ignoreIsSelecting) return false;
|
|
544
|
+
setFocused(true);
|
|
545
|
+
if (typeof cb === 'function') cb(e);
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
var onCharClick = function onCharClick(e, i) {
|
|
549
|
+
e.preventDefault();
|
|
550
|
+
e.stopPropagation();
|
|
551
|
+
setIsSelecting(false);
|
|
552
|
+
(0, _functions.resetSelectionText)();
|
|
553
|
+
setTimeout(function () {
|
|
554
|
+
return _onClick(e, function () {
|
|
555
|
+
return _onFocus(e, i);
|
|
556
|
+
}, {
|
|
557
|
+
ignoreIsSelecting: true
|
|
558
|
+
});
|
|
559
|
+
}, 50);
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
var onBlur = function onBlur(e) {
|
|
563
|
+
if (isFocused) onBlurProp();
|
|
564
|
+
setFocused(false);
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
var _onFocus = function onFocus(e, i) {
|
|
568
|
+
var charObj = getCharByIndex(i);
|
|
569
|
+
if (!charObj) return false;
|
|
570
|
+
var isSpecialSymbol = charObj.isSpecialSymbol,
|
|
571
|
+
ref = charObj.ref;
|
|
572
|
+
(0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
573
|
+
|
|
574
|
+
if (isSpecialSymbol && i < innerValue.length - 1) {
|
|
575
|
+
_onFocus(e, i + 1);
|
|
576
|
+
|
|
577
|
+
return false;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
if (!isFocused) onFocusProp(e);
|
|
581
|
+
setFocused(true);
|
|
582
|
+
};
|
|
583
|
+
|
|
584
|
+
var _onPaste = function onPaste(e, i) {
|
|
585
|
+
setIsSelecting(false);
|
|
586
|
+
(0, _functions.resetSelectionText)();
|
|
587
|
+
e.preventDefault();
|
|
588
|
+
e.stopPropagation();
|
|
589
|
+
var pastedText = e.clipboardData.getData('Text');
|
|
590
|
+
if (!pastedText) return false;
|
|
591
|
+
var replacedIndexes = [];
|
|
592
|
+
var result = pastedText.split('').filter(function (char) {
|
|
593
|
+
return isDigit(char) || isLetter(char);
|
|
594
|
+
}).map(function (pastedChar, offset) {
|
|
595
|
+
var charIndex = i + offset;
|
|
596
|
+
var isReplaced = false;
|
|
597
|
+
var isValid = false;
|
|
598
|
+
|
|
599
|
+
var _loop = function _loop(index) {
|
|
600
|
+
var charObj = getCharByIndex(index);
|
|
601
|
+
if (!charObj) return "continue";
|
|
602
|
+
var char = charObj.char,
|
|
603
|
+
maskChar = charObj.maskChar,
|
|
604
|
+
isSpecialSymbol = charObj.isSpecialSymbol; // If Char Is Valid
|
|
605
|
+
|
|
606
|
+
if (!isValidChar({
|
|
607
|
+
char: pastedChar,
|
|
608
|
+
i: index,
|
|
609
|
+
disableErrors: true
|
|
610
|
+
})) return "continue"; // If Char Already Replaced
|
|
611
|
+
|
|
612
|
+
if (replacedIndexes.includes(index)) return "continue";
|
|
613
|
+
isReplaced = true;
|
|
614
|
+
isValid = true;
|
|
615
|
+
replacedIndexes.push(index);
|
|
616
|
+
|
|
617
|
+
if (imitateTypingOnPaste) {
|
|
618
|
+
setTimeout(function () {
|
|
619
|
+
updateInnerValueChar({
|
|
620
|
+
char: pastedChar
|
|
621
|
+
}, index);
|
|
622
|
+
}, offset * imitateTypingOnPasteDelay);
|
|
623
|
+
} else {
|
|
624
|
+
updateInnerValueChar({
|
|
625
|
+
char: pastedChar
|
|
626
|
+
}, index);
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
|
|
630
|
+
for (var index = charIndex; index < innerValue.length && !isReplaced; ++index) {
|
|
631
|
+
var _ret = _loop(index);
|
|
632
|
+
|
|
633
|
+
if (_ret === "continue") continue;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
return {
|
|
637
|
+
char: pastedChar,
|
|
638
|
+
isValid: isValid
|
|
639
|
+
};
|
|
640
|
+
});
|
|
641
|
+
|
|
642
|
+
var _replacedIndexes$reve = replacedIndexes.reverse(),
|
|
643
|
+
_replacedIndexes$reve2 = (0, _slicedToArray2.default)(_replacedIndexes$reve, 1),
|
|
644
|
+
lastCharIndex = _replacedIndexes$reve2[0];
|
|
645
|
+
|
|
646
|
+
setFocusOnChar(lastCharIndex + 1, i);
|
|
647
|
+
};
|
|
648
|
+
|
|
649
|
+
var _onCopy = function onCopy(e, i) {
|
|
650
|
+
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
651
|
+
setIsSelecting(false);
|
|
652
|
+
setFocusOnChar(i, 0);
|
|
653
|
+
};
|
|
654
|
+
|
|
655
|
+
var _onCut = function onCut(e, i) {
|
|
656
|
+
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
657
|
+
resetInnerValue();
|
|
658
|
+
setIsSelecting(false);
|
|
659
|
+
setFocusOnChar(i, 0);
|
|
660
|
+
};
|
|
661
|
+
|
|
662
|
+
var cancelDefaultAction = function cancelDefaultAction(e, cb) {
|
|
663
|
+
var key = e.key;
|
|
664
|
+
|
|
665
|
+
if (!EXCLUDED_KEYS.includes(key) && _index.KEYBOARD_SERVICE_KEYS.includes(key)) {
|
|
666
|
+
e.preventDefault();
|
|
667
|
+
e.stopPropagation();
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
if (typeof cb === 'function') cb(e);
|
|
671
|
+
return false;
|
|
672
|
+
};
|
|
673
|
+
|
|
674
|
+
var selectAllText = function selectAllText(e) {
|
|
675
|
+
e.preventDefault();
|
|
676
|
+
e.stopPropagation();
|
|
677
|
+
setIsSelecting(true);
|
|
678
|
+
(0, _functions.selectElementContents)(inputRef.current);
|
|
679
|
+
setSelectedText((0, _functions.getSelectionText)());
|
|
680
|
+
}; ///--- OBSERVERS ---///
|
|
681
|
+
//Init InnerValue
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
(0, _react.useEffect)(function () {
|
|
685
|
+
if (!maskPattern) maskPattern = '';
|
|
686
|
+
var maskLength = maskPattern.length;
|
|
687
|
+
maskPattern.concat(' ').split('').map(function (char, id) {
|
|
688
|
+
return addInnerValueChar({
|
|
689
|
+
char: char
|
|
690
|
+
}, {
|
|
691
|
+
id: id
|
|
692
|
+
});
|
|
693
|
+
});
|
|
694
|
+
|
|
695
|
+
if (value !== '' && value.length === maskLength) {
|
|
696
|
+
value.split('').map(function (char, i) {
|
|
697
|
+
return updateInnerValueChar({
|
|
698
|
+
char: char
|
|
699
|
+
}, i);
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
setMaskRendered(true);
|
|
704
|
+
}, []); // Focus Observer
|
|
705
|
+
|
|
706
|
+
(0, _react.useEffect)(function () {
|
|
707
|
+
if (!isFocused) {
|
|
708
|
+
setFocusedItemRef(null);
|
|
709
|
+
setSelectedText('');
|
|
710
|
+
}
|
|
711
|
+
}, [isFocused]); // Default Focused
|
|
712
|
+
|
|
713
|
+
(0, _react.useEffect)(function () {
|
|
714
|
+
if (isFocusedDefault && isMaskRendered) {
|
|
715
|
+
setFocusOnChar(0, -1);
|
|
716
|
+
}
|
|
717
|
+
}, [isFocusedDefault, isMaskRendered]); // OnChange Observer
|
|
718
|
+
|
|
719
|
+
(0, _react.useEffect)(function () {
|
|
720
|
+
if (!isMaskRendered) return false;
|
|
721
|
+
clearErrorMessage();
|
|
722
|
+
onChangeProp(getInnerValueAsString(), getClearInnerValueAsString());
|
|
723
|
+
}, [innerValue, isMaskRendered]); // Blink Error
|
|
724
|
+
|
|
725
|
+
(0, _react.useEffect)(function () {
|
|
726
|
+
if (!blinkError) return false;
|
|
727
|
+
setTimeout(function () {
|
|
728
|
+
setBlinkError(false);
|
|
729
|
+
}, blinkDuration);
|
|
730
|
+
}, [blinkError]);
|
|
731
|
+
(0, _react.useEffect)(function () {
|
|
732
|
+
if (!isSelecting) {
|
|
733
|
+
setSelectedText('');
|
|
734
|
+
(0, _functions.resetSelectionText)();
|
|
735
|
+
}
|
|
736
|
+
}, [isSelecting]);
|
|
737
|
+
(0, _react.useEffect)(function () {
|
|
738
|
+
document.addEventListener('mouseup', function () {
|
|
739
|
+
setIsMouseDown(function (isMouseDown) {
|
|
740
|
+
if (isMouseDown) {
|
|
741
|
+
setSelectedText((0, _functions.getSelectionText)());
|
|
742
|
+
document.addEventListener('click', function () {
|
|
743
|
+
setIsSelecting(false);
|
|
744
|
+
}, {
|
|
745
|
+
once: true
|
|
746
|
+
});
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
return false;
|
|
750
|
+
});
|
|
751
|
+
});
|
|
752
|
+
}, []); ///--- RENDER ---///
|
|
753
|
+
|
|
754
|
+
var renderChar = function renderChar(obj, i) {
|
|
755
|
+
var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
756
|
+
var char = obj.char,
|
|
757
|
+
ref = obj.ref,
|
|
758
|
+
maskChar = obj.maskChar,
|
|
759
|
+
isSpecialSymbol = obj.isSpecialSymbol,
|
|
760
|
+
isSelected = obj.isSelected;
|
|
761
|
+
if (i === innerValue.length - 1 && isSelecting) return /*#__PURE__*/_react.default.createElement("span", {
|
|
762
|
+
style: {
|
|
763
|
+
width: '1px'
|
|
764
|
+
}
|
|
765
|
+
});
|
|
766
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
767
|
+
tabIndex: i === 0 ? 1 : -1,
|
|
768
|
+
key: i,
|
|
769
|
+
maxLength: 1,
|
|
770
|
+
"attr-char-id": i,
|
|
771
|
+
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 "),
|
|
772
|
+
onClick: function onClick(e) {
|
|
773
|
+
onCharClick(e, i);
|
|
774
|
+
},
|
|
775
|
+
onFocus: function onFocus(e) {
|
|
776
|
+
return _onFocus(e, i);
|
|
777
|
+
},
|
|
778
|
+
onBlur: onBlur,
|
|
779
|
+
onKeyPress: cancelDefaultAction,
|
|
780
|
+
onKeyDown: function onKeyDown(e) {
|
|
781
|
+
return _onKeyDown(e, i);
|
|
782
|
+
},
|
|
783
|
+
onChange: function onChange() {},
|
|
784
|
+
contentEditable: !isSelecting,
|
|
785
|
+
inputMode: isDigitMaskChar(maskChar) ? 'numeric' : 'text',
|
|
786
|
+
suppressContentEditableWarning: true,
|
|
787
|
+
onPaste: function onPaste(e) {
|
|
788
|
+
return cancelDefaultAction(e, function () {
|
|
789
|
+
return _onPaste(e, i);
|
|
790
|
+
});
|
|
791
|
+
},
|
|
792
|
+
onCopy: function onCopy(e) {
|
|
793
|
+
return cancelDefaultAction(e, function () {
|
|
794
|
+
return _onCopy(e, i);
|
|
795
|
+
});
|
|
796
|
+
},
|
|
797
|
+
onCut: function onCut(e) {
|
|
798
|
+
return cancelDefaultAction(e, function () {
|
|
799
|
+
return _onCut(e, i);
|
|
800
|
+
});
|
|
801
|
+
},
|
|
802
|
+
on: true,
|
|
803
|
+
ref: ref,
|
|
804
|
+
onDoubleClick: function onDoubleClick(e) {
|
|
805
|
+
setIsSelecting(true);
|
|
806
|
+
setTimeout(function () {
|
|
807
|
+
return selectAllText(e, i);
|
|
808
|
+
}, 50);
|
|
809
|
+
}
|
|
810
|
+
}, isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
var renderMaskChar = function renderMaskChar(obj, i) {
|
|
814
|
+
return renderChar(obj, i, 'input-mask_value_item_mask-char');
|
|
815
|
+
};
|
|
816
|
+
|
|
817
|
+
var renderValueChar = function renderValueChar(obj, i) {
|
|
818
|
+
return renderChar(obj, i, 'input-mask_value_item_value-char');
|
|
819
|
+
};
|
|
820
|
+
|
|
821
|
+
var renderSpecialChar = function renderSpecialChar(obj, i) {
|
|
822
|
+
return renderChar(obj, i, 'input-mask_value_item_spec-char');
|
|
823
|
+
};
|
|
824
|
+
|
|
825
|
+
var renderInputValue = function renderInputValue() {
|
|
826
|
+
return innerValue.map(function (obj, i) {
|
|
827
|
+
var char = obj.char,
|
|
828
|
+
maskChar = obj.maskChar,
|
|
829
|
+
isSpecialSymbol = obj.isSpecialSymbol;
|
|
830
|
+
|
|
831
|
+
if (isSpecialSymbol) {
|
|
832
|
+
return renderSpecialChar(obj, i);
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
var isMaskItem = function () {
|
|
836
|
+
return char === '';
|
|
837
|
+
}();
|
|
838
|
+
|
|
839
|
+
return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
|
|
840
|
+
});
|
|
841
|
+
};
|
|
842
|
+
|
|
843
|
+
var render = function render() {
|
|
844
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
845
|
+
className: "input-mask_wrapper ".concat(className),
|
|
846
|
+
onBlur: onBlur
|
|
847
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
848
|
+
className: "input-mask ".concat(isFocused ? 'input-mask_focus' : '', " ").concat(isError ? 'input-mask_error' : '', " ").concat(blinkError ? 'input-mask_blink-error' : ''),
|
|
849
|
+
onMouseDown: function onMouseDown() {
|
|
850
|
+
return setIsMouseDown(true);
|
|
851
|
+
},
|
|
852
|
+
onMouseMove: function onMouseMove() {
|
|
853
|
+
return isMouseDown ? setIsSelecting(true) : null;
|
|
854
|
+
},
|
|
855
|
+
onClick: function onClick(e) {
|
|
856
|
+
return cancelDefaultAction(e, function () {
|
|
857
|
+
return !isMouseDown ? _onClick(e, function () {
|
|
858
|
+
return onEndDown(e, 0);
|
|
859
|
+
}) : null;
|
|
860
|
+
});
|
|
861
|
+
},
|
|
862
|
+
onBlur: onBlur
|
|
863
|
+
}, showHint && isHintLeft && /*#__PURE__*/_react.default.createElement("div", {
|
|
864
|
+
className: "input-mask_hint input-mask_hint--left"
|
|
865
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
866
|
+
hint: hintText,
|
|
867
|
+
className: hintClassName,
|
|
868
|
+
side: hintPosition
|
|
869
|
+
})), isIconLeft && showIcon && /*#__PURE__*/_react.default.createElement("div", {
|
|
870
|
+
className: "input-mask_icon input-mask_icon--left"
|
|
871
|
+
}, icon), /*#__PURE__*/_react.default.createElement("div", {
|
|
872
|
+
className: "input-mask_value",
|
|
873
|
+
ref: inputRef,
|
|
874
|
+
onKeyUp: cancelDefaultAction,
|
|
875
|
+
onKeyDown: cancelDefaultAction,
|
|
876
|
+
onKeyPress: cancelDefaultAction,
|
|
877
|
+
onBlur: onBlur
|
|
878
|
+
}, renderInputValue()), isClearable && /*#__PURE__*/_react.default.createElement("div", {
|
|
879
|
+
className: "input-mask_clear"
|
|
880
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
|
|
881
|
+
onClick: clearValue
|
|
882
|
+
})), isIconRight && showIcon && /*#__PURE__*/_react.default.createElement("div", {
|
|
883
|
+
className: "input-mask_icon input-mask_icon--right"
|
|
884
|
+
}, icon), showHint && isHintRight && /*#__PURE__*/_react.default.createElement("div", {
|
|
885
|
+
className: "input-mask_hint input-mask_hint--right"
|
|
886
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
887
|
+
hint: hintText,
|
|
888
|
+
className: hintClassName,
|
|
889
|
+
side: hintPosition
|
|
890
|
+
}))), showNativeErrors && errorMessage && /*#__PURE__*/_react.default.createElement("div", {
|
|
891
|
+
className: "input-mask_error-text"
|
|
892
|
+
}, errorMessage));
|
|
893
|
+
};
|
|
894
|
+
|
|
895
|
+
return render();
|
|
896
|
+
}
|