intelicoreact 0.1.36 → 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.
|
@@ -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,
|
|
@@ -80,7 +86,23 @@ function InputMask(_ref) {
|
|
|
80
86
|
_ref$onFocus = _ref.onFocus,
|
|
81
87
|
onFocusProp = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
82
88
|
_ref$onBlur = _ref.onBlur,
|
|
83
|
-
onBlurProp = _ref$onBlur === void 0 ? function () {} : _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;
|
|
84
106
|
|
|
85
107
|
var errors = _objectSpread(_objectSpread({}, DEFAULT_ERRORS), customErrors);
|
|
86
108
|
|
|
@@ -90,42 +112,55 @@ function InputMask(_ref) {
|
|
|
90
112
|
setMaskRendered = _useState2[1];
|
|
91
113
|
|
|
92
114
|
var inputRef = (0, _react.useRef)(null);
|
|
93
|
-
var inputRefWrapper = (0, _react.useRef)(null);
|
|
94
|
-
var wrapperRef = (0, _react.useRef)(null);
|
|
95
115
|
|
|
96
116
|
var _useState3 = (0, _react.useState)(false),
|
|
97
117
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
98
|
-
|
|
99
|
-
|
|
118
|
+
isMouseDown = _useState4[0],
|
|
119
|
+
setIsMouseDown = _useState4[1];
|
|
100
120
|
|
|
101
121
|
var _useState5 = (0, _react.useState)(false),
|
|
102
122
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
103
|
-
|
|
104
|
-
|
|
123
|
+
isSelecting = _useState6[0],
|
|
124
|
+
setIsSelecting = _useState6[1];
|
|
105
125
|
|
|
106
126
|
var _useState7 = (0, _react.useState)(false),
|
|
107
127
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
108
|
-
|
|
109
|
-
|
|
128
|
+
isFocused = _useState8[0],
|
|
129
|
+
setFocused = _useState8[1];
|
|
110
130
|
|
|
111
|
-
var _useState9 = (0, _react.useState)(
|
|
131
|
+
var _useState9 = (0, _react.useState)(false),
|
|
112
132
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
113
|
-
|
|
114
|
-
|
|
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];
|
|
115
145
|
|
|
116
146
|
var clearErrorMessage = function clearErrorMessage() {
|
|
117
147
|
return setErrorMessage(errors.default);
|
|
118
148
|
};
|
|
119
149
|
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
focusedItemRef =
|
|
123
|
-
setFocusedItemRef =
|
|
150
|
+
var _useState15 = (0, _react.useState)(null),
|
|
151
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
152
|
+
focusedItemRef = _useState16[0],
|
|
153
|
+
setFocusedItemRef = _useState16[1];
|
|
124
154
|
|
|
125
|
-
var
|
|
126
|
-
|
|
127
|
-
innerValue =
|
|
128
|
-
setInnerValue =
|
|
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];
|
|
129
164
|
|
|
130
165
|
var addInnerValueChar = function addInnerValueChar(_ref2) {
|
|
131
166
|
var char = _ref2.char,
|
|
@@ -147,14 +182,31 @@ function InputMask(_ref) {
|
|
|
147
182
|
});
|
|
148
183
|
};
|
|
149
184
|
|
|
150
|
-
var updateInnerValueChar = function updateInnerValueChar(
|
|
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;
|
|
151
193
|
setInnerValue(function (state) {
|
|
152
194
|
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
153
|
-
if (!stateCopy[i].isSpecialSymbol) stateCopy[i].char = char;
|
|
195
|
+
if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
|
|
196
|
+
if (isSelected !== null) stateCopy[i].isSelected = isSelected;
|
|
154
197
|
return stateCopy;
|
|
155
198
|
});
|
|
156
199
|
};
|
|
157
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
|
+
|
|
158
210
|
var getPlaceholderCharByIndex = function getPlaceholderCharByIndex(i) {
|
|
159
211
|
var _getCharByIndex = getCharByIndex(i),
|
|
160
212
|
maskChar = _getCharByIndex.maskChar;
|
|
@@ -169,18 +221,22 @@ function InputMask(_ref) {
|
|
|
169
221
|
};
|
|
170
222
|
|
|
171
223
|
var getInnerValueAsString = function getInnerValueAsString() {
|
|
172
|
-
return innerValue.map(function (
|
|
173
|
-
var char =
|
|
174
|
-
maskChar =
|
|
224
|
+
return innerValue.map(function (_ref4, i) {
|
|
225
|
+
var char = _ref4.char,
|
|
226
|
+
maskChar = _ref4.maskChar;
|
|
175
227
|
return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
|
|
176
228
|
}).join('');
|
|
177
229
|
};
|
|
178
230
|
|
|
231
|
+
var getSelectedValueAsString = function getSelectedValueAsString() {
|
|
232
|
+
return selectedText;
|
|
233
|
+
};
|
|
234
|
+
|
|
179
235
|
var getClearInnerValueAsString = function getClearInnerValueAsString() {
|
|
180
|
-
return innerValue.reduce(function (result,
|
|
181
|
-
var char =
|
|
182
|
-
maskChar =
|
|
183
|
-
isSpecialSymbol =
|
|
236
|
+
return innerValue.reduce(function (result, _ref5) {
|
|
237
|
+
var char = _ref5.char,
|
|
238
|
+
maskChar = _ref5.maskChar,
|
|
239
|
+
isSpecialSymbol = _ref5.isSpecialSymbol;
|
|
184
240
|
if (char !== maskChar && char !== '' || isSpecialSymbol) result += char;
|
|
185
241
|
return result;
|
|
186
242
|
}, '');
|
|
@@ -210,14 +266,69 @@ function InputMask(_ref) {
|
|
|
210
266
|
return char === UPPERCASE_LETTER_MASK_CHAR || char === LOWERCASE_LETTER_MASK_CHAR;
|
|
211
267
|
};
|
|
212
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
|
+
|
|
213
323
|
var getCharObj = function getCharObj(char) {
|
|
214
324
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
215
325
|
var isSpecialSymbol = !(isDigitMaskChar(char) || isLetterMaskChar(char));
|
|
216
|
-
if (char === ' ') char =
|
|
326
|
+
if (char === ' ') char = SPACE_CHAR;
|
|
217
327
|
return _objectSpread({
|
|
218
328
|
char: isSpecialSymbol ? char : '',
|
|
219
329
|
maskChar: char,
|
|
220
330
|
isSpecialSymbol: isSpecialSymbol,
|
|
331
|
+
isSelected: false,
|
|
221
332
|
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
222
333
|
}, data);
|
|
223
334
|
};
|
|
@@ -235,10 +346,20 @@ function InputMask(_ref) {
|
|
|
235
346
|
};
|
|
236
347
|
|
|
237
348
|
var getMaskCharByIndex = function getMaskCharByIndex(i) {
|
|
238
|
-
|
|
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);
|
|
239
358
|
};
|
|
240
359
|
|
|
241
360
|
var setFocusOnChar = function setFocusOnChar(i, prevIndex) {
|
|
361
|
+
var _ref$current;
|
|
362
|
+
|
|
242
363
|
var charObj = getCharByIndex(i);
|
|
243
364
|
if (!charObj) return false;
|
|
244
365
|
var char = charObj.char,
|
|
@@ -251,7 +372,7 @@ function InputMask(_ref) {
|
|
|
251
372
|
return prevIndex > i ? onArrowLeftDown(null, i) : onArrowRightDown(null, i);
|
|
252
373
|
}
|
|
253
374
|
|
|
254
|
-
ref.current.focus();
|
|
375
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
255
376
|
setTimeout(function () {
|
|
256
377
|
return (0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
257
378
|
}, 10);
|
|
@@ -266,7 +387,9 @@ function InputMask(_ref) {
|
|
|
266
387
|
e.stopPropagation();
|
|
267
388
|
e.preventDefault();
|
|
268
389
|
innerValue.map(function (charObj, i) {
|
|
269
|
-
updateInnerValueChar(
|
|
390
|
+
updateInnerValueChar({
|
|
391
|
+
char: ''
|
|
392
|
+
}, i);
|
|
270
393
|
});
|
|
271
394
|
onHomeDown(null, 0);
|
|
272
395
|
}; ///--- Event Handlers ---///
|
|
@@ -288,7 +411,9 @@ function InputMask(_ref) {
|
|
|
288
411
|
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
289
412
|
if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
|
|
290
413
|
setFocusOnChar(prevIndex, i);
|
|
291
|
-
updateInnerValueChar(
|
|
414
|
+
updateInnerValueChar({
|
|
415
|
+
char: ''
|
|
416
|
+
}, prevIndex);
|
|
292
417
|
return true;
|
|
293
418
|
};
|
|
294
419
|
|
|
@@ -300,7 +425,9 @@ function InputMask(_ref) {
|
|
|
300
425
|
isSpecialSymbol = charObj.isSpecialSymbol;
|
|
301
426
|
if (isSpecialSymbol) return onDeleteDown(e, i + 1);
|
|
302
427
|
setFocusOnChar(nextIndex, i);
|
|
303
|
-
updateInnerValueChar(
|
|
428
|
+
updateInnerValueChar({
|
|
429
|
+
char: ''
|
|
430
|
+
}, i);
|
|
304
431
|
return true;
|
|
305
432
|
};
|
|
306
433
|
|
|
@@ -340,10 +467,6 @@ function InputMask(_ref) {
|
|
|
340
467
|
return onEndDown(e, i);
|
|
341
468
|
break;
|
|
342
469
|
|
|
343
|
-
case 'Tab':
|
|
344
|
-
return onTabDown(e, i);
|
|
345
|
-
break;
|
|
346
|
-
|
|
347
470
|
default:
|
|
348
471
|
return true;
|
|
349
472
|
break;
|
|
@@ -351,68 +474,58 @@ function InputMask(_ref) {
|
|
|
351
474
|
};
|
|
352
475
|
|
|
353
476
|
var handleKeyDown = function handleKeyDown(e, i) {
|
|
354
|
-
|
|
355
|
-
|
|
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
|
+
;
|
|
356
487
|
var key = e.key;
|
|
357
488
|
var charObj = getCharByIndex(i);
|
|
358
489
|
if (!charObj) return false;
|
|
359
490
|
var isSpecialSymbol = charObj.isSpecialSymbol,
|
|
360
491
|
maskChar = charObj.maskChar; //IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
361
492
|
|
|
362
|
-
if (maskChar ===
|
|
493
|
+
if (maskChar === SPACE_CHAR) return handleKeyDown(e, i + 1);
|
|
363
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
|
+
};
|
|
364
506
|
|
|
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;
|
|
507
|
+
var handleKeyCombinations = function handleKeyCombinations(e, i) {
|
|
508
|
+
var key = e.key,
|
|
509
|
+
keyCode = e.keyCode;
|
|
403
510
|
|
|
404
|
-
|
|
405
|
-
|
|
511
|
+
switch (keyCode) {
|
|
512
|
+
//Ctrl + A
|
|
513
|
+
case 65:
|
|
514
|
+
selectAllText(e);
|
|
406
515
|
break;
|
|
407
516
|
}
|
|
408
|
-
|
|
409
|
-
updateInnerValueChar(key, i);
|
|
410
|
-
onArrowRightDown(e, i);
|
|
411
|
-
return true;
|
|
412
517
|
};
|
|
413
518
|
|
|
414
519
|
var _onKeyDown = function onKeyDown(e, i) {
|
|
415
|
-
var key = e.key
|
|
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
|
+
|
|
416
529
|
var handleResult = _index.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : handleKeyDown(e, i);
|
|
417
530
|
|
|
418
531
|
if (blinkErrors && !handleResult) {
|
|
@@ -421,11 +534,31 @@ function InputMask(_ref) {
|
|
|
421
534
|
};
|
|
422
535
|
|
|
423
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
|
+
|
|
424
541
|
e.stopPropagation();
|
|
542
|
+
e.preventDefault();
|
|
543
|
+
if (isSelecting && !ignoreIsSelecting) return false;
|
|
425
544
|
setFocused(true);
|
|
426
545
|
if (typeof cb === 'function') cb(e);
|
|
427
546
|
};
|
|
428
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
|
+
|
|
429
562
|
var onBlur = function onBlur(e) {
|
|
430
563
|
if (isFocused) onBlurProp();
|
|
431
564
|
setFocused(false);
|
|
@@ -448,6 +581,84 @@ function InputMask(_ref) {
|
|
|
448
581
|
setFocused(true);
|
|
449
582
|
};
|
|
450
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
|
+
|
|
451
662
|
var cancelDefaultAction = function cancelDefaultAction(e, cb) {
|
|
452
663
|
var key = e.key;
|
|
453
664
|
|
|
@@ -458,6 +669,14 @@ function InputMask(_ref) {
|
|
|
458
669
|
|
|
459
670
|
if (typeof cb === 'function') cb(e);
|
|
460
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)());
|
|
461
680
|
}; ///--- OBSERVERS ---///
|
|
462
681
|
//Init InnerValue
|
|
463
682
|
|
|
@@ -465,15 +684,19 @@ function InputMask(_ref) {
|
|
|
465
684
|
(0, _react.useEffect)(function () {
|
|
466
685
|
if (!maskPattern) maskPattern = '';
|
|
467
686
|
var maskLength = maskPattern.length;
|
|
468
|
-
maskPattern.concat(' ').split('').map(function (char) {
|
|
687
|
+
maskPattern.concat(' ').split('').map(function (char, id) {
|
|
469
688
|
return addInnerValueChar({
|
|
470
689
|
char: char
|
|
690
|
+
}, {
|
|
691
|
+
id: id
|
|
471
692
|
});
|
|
472
693
|
});
|
|
473
694
|
|
|
474
695
|
if (value !== '' && value.length === maskLength) {
|
|
475
696
|
value.split('').map(function (char, i) {
|
|
476
|
-
return updateInnerValueChar(
|
|
697
|
+
return updateInnerValueChar({
|
|
698
|
+
char: char
|
|
699
|
+
}, i);
|
|
477
700
|
});
|
|
478
701
|
}
|
|
479
702
|
|
|
@@ -481,7 +704,10 @@ function InputMask(_ref) {
|
|
|
481
704
|
}, []); // Focus Observer
|
|
482
705
|
|
|
483
706
|
(0, _react.useEffect)(function () {
|
|
484
|
-
if (!isFocused)
|
|
707
|
+
if (!isFocused) {
|
|
708
|
+
setFocusedItemRef(null);
|
|
709
|
+
setSelectedText('');
|
|
710
|
+
}
|
|
485
711
|
}, [isFocused]); // Default Focused
|
|
486
712
|
|
|
487
713
|
(0, _react.useEffect)(function () {
|
|
@@ -501,24 +727,50 @@ function InputMask(_ref) {
|
|
|
501
727
|
setTimeout(function () {
|
|
502
728
|
setBlinkError(false);
|
|
503
729
|
}, blinkDuration);
|
|
504
|
-
}, [blinkError]);
|
|
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 ---///
|
|
505
753
|
|
|
506
754
|
var renderChar = function renderChar(obj, i) {
|
|
507
755
|
var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
508
756
|
var char = obj.char,
|
|
509
757
|
ref = obj.ref,
|
|
510
758
|
maskChar = obj.maskChar,
|
|
511
|
-
isSpecialSymbol = obj.isSpecialSymbol
|
|
512
|
-
|
|
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", {
|
|
513
767
|
tabIndex: i === 0 ? 1 : -1,
|
|
514
768
|
key: i,
|
|
515
769
|
maxLength: 1,
|
|
516
770
|
"attr-char-id": i,
|
|
517
|
-
className: "input-mask_value_item
|
|
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 "),
|
|
518
772
|
onClick: function onClick(e) {
|
|
519
|
-
|
|
520
|
-
return _onFocus(e, i);
|
|
521
|
-
});
|
|
773
|
+
onCharClick(e, i);
|
|
522
774
|
},
|
|
523
775
|
onFocus: function onFocus(e) {
|
|
524
776
|
return _onFocus(e, i);
|
|
@@ -529,15 +781,32 @@ function InputMask(_ref) {
|
|
|
529
781
|
return _onKeyDown(e, i);
|
|
530
782
|
},
|
|
531
783
|
onChange: function onChange() {},
|
|
532
|
-
contentEditable:
|
|
784
|
+
contentEditable: !isSelecting,
|
|
533
785
|
inputMode: isDigitMaskChar(maskChar) ? 'numeric' : 'text',
|
|
534
786
|
suppressContentEditableWarning: true,
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
,
|
|
540
|
-
|
|
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
|
+
}
|
|
541
810
|
}, isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
|
|
542
811
|
};
|
|
543
812
|
|
|
@@ -571,27 +840,33 @@ function InputMask(_ref) {
|
|
|
571
840
|
});
|
|
572
841
|
};
|
|
573
842
|
|
|
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
843
|
var render = function render() {
|
|
583
844
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
584
845
|
className: "input-mask_wrapper ".concat(className),
|
|
585
|
-
onBlur: onBlur
|
|
586
|
-
ref: wrapperRef
|
|
846
|
+
onBlur: onBlur
|
|
587
847
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
588
848
|
className: "input-mask ".concat(isFocused ? 'input-mask_focus' : '', " ").concat(isError ? 'input-mask_error' : '', " ").concat(blinkError ? 'input-mask_blink-error' : ''),
|
|
589
|
-
|
|
849
|
+
onMouseDown: function onMouseDown() {
|
|
850
|
+
return setIsMouseDown(true);
|
|
851
|
+
},
|
|
852
|
+
onMouseMove: function onMouseMove() {
|
|
853
|
+
return isMouseDown ? setIsSelecting(true) : null;
|
|
854
|
+
},
|
|
590
855
|
onClick: function onClick(e) {
|
|
591
|
-
return
|
|
856
|
+
return cancelDefaultAction(e, function () {
|
|
857
|
+
return !isMouseDown ? _onClick(e, function () {
|
|
858
|
+
return onEndDown(e, 0);
|
|
859
|
+
}) : null;
|
|
860
|
+
});
|
|
592
861
|
},
|
|
593
862
|
onBlur: onBlur
|
|
594
|
-
},
|
|
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", {
|
|
595
870
|
className: "input-mask_icon input-mask_icon--left"
|
|
596
871
|
}, icon), /*#__PURE__*/_react.default.createElement("div", {
|
|
597
872
|
className: "input-mask_value",
|
|
@@ -606,7 +881,13 @@ function InputMask(_ref) {
|
|
|
606
881
|
onClick: clearValue
|
|
607
882
|
})), isIconRight && showIcon && /*#__PURE__*/_react.default.createElement("div", {
|
|
608
883
|
className: "input-mask_icon input-mask_icon--right"
|
|
609
|
-
}, icon)
|
|
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", {
|
|
610
891
|
className: "input-mask_error-text"
|
|
611
892
|
}, errorMessage));
|
|
612
893
|
};
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
.unselectable {
|
|
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
1
|
.input-mask_wrapper {
|
|
12
2
|
outline: none;
|
|
13
3
|
display: block;
|
|
4
|
+
// width: fit-content;
|
|
14
5
|
width: 250px;
|
|
15
6
|
|
|
16
7
|
.input-mask{
|
|
@@ -55,6 +46,43 @@
|
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
48
|
|
|
49
|
+
&_hint{
|
|
50
|
+
display: flex;
|
|
51
|
+
text-align: center;
|
|
52
|
+
align-items: center;
|
|
53
|
+
|
|
54
|
+
& .hint__text_right{
|
|
55
|
+
top: 50%;
|
|
56
|
+
left: 24px;
|
|
57
|
+
transform: translateY(-50%);
|
|
58
|
+
|
|
59
|
+
&::before{
|
|
60
|
+
top: calc(50% - 4px);
|
|
61
|
+
left: -3px;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
& .hint__text_left{
|
|
66
|
+
top: 50%;
|
|
67
|
+
right: 32px;
|
|
68
|
+
transform: translateY(-50%);
|
|
69
|
+
|
|
70
|
+
&::before{
|
|
71
|
+
top: calc(50% - 4px);
|
|
72
|
+
right: -3px;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&--left{
|
|
77
|
+
margin-right: 4px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&--right{
|
|
81
|
+
margin-left: 4px;
|
|
82
|
+
right: 0;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
58
86
|
&_clear{
|
|
59
87
|
height: 16px;
|
|
60
88
|
width: 16px;
|
|
@@ -70,7 +98,6 @@
|
|
|
70
98
|
width: 100%;
|
|
71
99
|
|
|
72
100
|
&_item{
|
|
73
|
-
@extend .unselectable;
|
|
74
101
|
display: inline-flex;
|
|
75
102
|
min-width: 0;
|
|
76
103
|
font-size: 16px;
|
|
@@ -134,6 +134,46 @@ var _default = {
|
|
|
134
134
|
type: 'boolean',
|
|
135
135
|
description: 'Set Autofocus On Render',
|
|
136
136
|
default: false
|
|
137
|
+
},
|
|
138
|
+
imitateTypingOnPaste: {
|
|
139
|
+
type: 'boolean',
|
|
140
|
+
description: '<b>Manual Input Simulation Mode</b> when called <b>Pasting Text Event</b>.',
|
|
141
|
+
default: false
|
|
142
|
+
},
|
|
143
|
+
imitateTypingOnPasteDelay: {
|
|
144
|
+
type: 'number',
|
|
145
|
+
description: '<b>Delay Time</b> for <b>Manual Input Simulation Mode</b> when called <b>Pasting Text Event</b>.',
|
|
146
|
+
default: 100
|
|
147
|
+
},
|
|
148
|
+
showHint: {
|
|
149
|
+
type: 'boolean',
|
|
150
|
+
description: 'Turn <b>On/Off</b> Input Hint.',
|
|
151
|
+
default: false
|
|
152
|
+
},
|
|
153
|
+
hintText: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
description: 'Input Hint Text.',
|
|
156
|
+
default: ''
|
|
157
|
+
},
|
|
158
|
+
hintClassName: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
description: 'ClassName for Input Hint.',
|
|
161
|
+
default: ''
|
|
162
|
+
},
|
|
163
|
+
isHintLeft: {
|
|
164
|
+
type: 'boolean',
|
|
165
|
+
default: false,
|
|
166
|
+
description: 'Display Input Hint on Left Side.'
|
|
167
|
+
},
|
|
168
|
+
isHintRight: {
|
|
169
|
+
type: 'boolean',
|
|
170
|
+
default: true,
|
|
171
|
+
description: 'Display Input Hint on Right Side.'
|
|
172
|
+
},
|
|
173
|
+
hintPosition: {
|
|
174
|
+
type: 'string',
|
|
175
|
+
description: 'Position of <b>Input Hint Text</b>',
|
|
176
|
+
default: 'right'
|
|
137
177
|
}
|
|
138
178
|
}
|
|
139
179
|
};
|
|
@@ -173,8 +213,8 @@ var Template = function Template(args) {
|
|
|
173
213
|
var InputMaskTemplate = Template.bind({});
|
|
174
214
|
exports.InputMaskTemplate = InputMaskTemplate;
|
|
175
215
|
InputMaskTemplate.args = {
|
|
176
|
-
maskPattern: '
|
|
177
|
-
maskPatternPlaceholder: '
|
|
216
|
+
maskPattern: 'DDDD DDDD DDDD DDDD',
|
|
217
|
+
maskPatternPlaceholder: 'xxxx xxxx xxxx xxxx',
|
|
178
218
|
usePatternPlaceholder: false,
|
|
179
219
|
maskPlaceholder: '_',
|
|
180
220
|
maskDigitPlaceholder: '',
|
|
@@ -185,7 +225,7 @@ InputMaskTemplate.args = {
|
|
|
185
225
|
showIcon: false,
|
|
186
226
|
isIconLeft: true,
|
|
187
227
|
isIconRight: false,
|
|
188
|
-
isClearable:
|
|
228
|
+
isClearable: true,
|
|
189
229
|
value: '',
|
|
190
230
|
onChange: function onChange() {},
|
|
191
231
|
blinkErrors: false,
|
|
@@ -195,5 +235,13 @@ InputMaskTemplate.args = {
|
|
|
195
235
|
onFocus: function onFocus() {},
|
|
196
236
|
onBlur: function onBlur() {},
|
|
197
237
|
className: '',
|
|
198
|
-
isFocusedDefault: false
|
|
238
|
+
isFocusedDefault: false,
|
|
239
|
+
imitateTypingOnPaste: false,
|
|
240
|
+
imitateTypingOnPasteDelay: 100,
|
|
241
|
+
showHint: false,
|
|
242
|
+
hintText: 'Hint Text',
|
|
243
|
+
hintClassName: '',
|
|
244
|
+
isHintRight: true,
|
|
245
|
+
isHintLeft: false,
|
|
246
|
+
hintPosition: 'right'
|
|
199
247
|
};
|
|
@@ -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;
|