intelicoreact 1.3.21 → 1.3.22
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/ActionAlert/ActionAlert.js +15 -23
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +15 -23
- package/dist/Atomic/FormElements/Calendar/Calendar.js +69 -124
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +27 -36
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +23 -39
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +110 -246
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +44 -85
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +246 -414
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +5 -9
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +93 -165
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +39 -64
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +51 -132
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +34 -73
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +54 -75
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +67 -110
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +33 -83
- package/dist/Atomic/FormElements/Input/Input.js +161 -253
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +48 -102
- package/dist/Atomic/FormElements/InputColor/InputColor.js +27 -40
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +28 -58
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +108 -176
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +32 -57
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +184 -302
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +85 -157
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +11 -16
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +76 -193
- package/dist/Atomic/FormElements/InputLink/InputLink.js +34 -58
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -12
- package/dist/Atomic/FormElements/InputMask/InputMask.js +554 -964
- package/dist/Atomic/FormElements/InputMask/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +268 -404
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask2/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +300 -460
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask3/functions.js +17 -43
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +53 -113
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +64 -118
- package/dist/Atomic/FormElements/Label/Label.js +13 -23
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +217 -349
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +25 -47
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +133 -207
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +29 -61
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +20 -42
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +22 -33
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +20 -43
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +54 -101
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +59 -102
- package/dist/Atomic/FormElements/RangeList/RangeList.js +89 -150
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +23 -29
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +135 -300
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +381 -571
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +14 -24
- package/dist/Atomic/FormElements/Switcher/Switcher.js +24 -29
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +25 -47
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +20 -32
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +32 -55
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +22 -42
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +23 -33
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +51 -120
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +2 -3
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +23 -46
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +260 -413
- package/dist/Atomic/FormElements/Text/Text.js +47 -53
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +21 -31
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -27
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +68 -128
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +25 -36
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +33 -70
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +58 -124
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +48 -80
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +32 -42
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +40 -60
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -3
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +50 -69
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +21 -48
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +36 -79
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -14
- package/dist/Atomic/UI/Accordion/Accordion.js +18 -48
- package/dist/Atomic/UI/Accordion/AccordionItem.js +35 -60
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +49 -106
- package/dist/Atomic/UI/AccordionText/AccordionText.js +13 -37
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +48 -94
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +22 -50
- package/dist/Atomic/UI/Alert/Alert.js +20 -44
- package/dist/Atomic/UI/Arrow/Arrow.js +15 -35
- package/dist/Atomic/UI/Box/Box.js +14 -21
- package/dist/Atomic/UI/Button/Button.js +26 -35
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +22 -31
- package/dist/Atomic/UI/Chart/Chart.js +45 -86
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +14 -24
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +13 -22
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +68 -113
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +158 -140
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +26 -42
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -48
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +22 -42
- package/dist/Atomic/UI/DateTime/DateTime.js +23 -38
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +12 -36
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +5 -21
- package/dist/Atomic/UI/DoubleString/DoubleString.js +27 -50
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +15 -63
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +62 -157
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +47 -110
- package/dist/Atomic/UI/Hint/Hint.js +49 -94
- package/dist/Atomic/UI/Modal/Modal.js +149 -179
- package/dist/Atomic/UI/Modal/ModalHOC.js +12 -21
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -12
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +17 -21
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +98 -160
- package/dist/Atomic/UI/ModalBackup/Modal.js +65 -90
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +12 -21
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +6 -11
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +15 -19
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +32 -62
- package/dist/Atomic/UI/NavLine/NavLine.js +120 -211
- package/dist/Atomic/UI/NavLine/Tabs.js +2 -3
- package/dist/Atomic/UI/PageTitle/PageTitle.js +13 -17
- package/dist/Atomic/UI/PieChart/PieChart.js +11 -21
- package/dist/Atomic/UI/Price/Price.js +10 -13
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -11
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +27 -56
- package/dist/Atomic/UI/Status/Status.js +19 -30
- package/dist/Atomic/UI/Table/Partials/TdCell.js +28 -71
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +7 -16
- package/dist/Atomic/UI/Table/Partials/TdRow.js +29 -65
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +16 -40
- package/dist/Atomic/UI/Table/Table.js +27 -47
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -48
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -19
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +5 -8
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +25 -47
- package/dist/Atomic/UI/Tag/Tag.js +20 -48
- package/dist/Atomic/UI/TagList/TagList.js +80 -150
- package/dist/Atomic/UI/UserBox/UserBox.js +14 -26
- package/dist/Classes/AbortableFetch.js +283 -422
- package/dist/Classes/AnimatedHandler.js +44 -56
- package/dist/Classes/RESTAPI/index.js +154 -433
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +290 -428
- package/dist/Classes/RESTAPI/partials/ApiBase.js +24 -67
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +57 -275
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +146 -377
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +155 -403
- package/dist/Classes/RESTAPI/partials/Utils.js +81 -135
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +2 -6
- package/dist/Classes/RESTAPI/partials/_utils.js +101 -395
- package/dist/Constants/index.constants.js +8 -15
- package/dist/Functions/Portal.js +14 -33
- package/dist/Functions/customEventListener.js +5 -20
- package/dist/Functions/fieldValueFormatters.js +148 -211
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +75 -137
- package/dist/Functions/locale/createTranslator.js +13 -27
- package/dist/Functions/operations.js +35 -49
- package/dist/Functions/presets/inputMaskPresets.js +25 -27
- package/dist/Functions/presets/inputPresets.js +19 -22
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +7 -9
- package/dist/Functions/schemas.js +6 -15
- package/dist/Functions/useClickOutside.js +3 -7
- package/dist/Functions/useDebounce.js +11 -25
- package/dist/Functions/useFieldFocus.js +42 -67
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +35 -54
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +74 -95
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +55 -91
- package/dist/Functions/useFormTools/functions/General.js +80 -99
- package/dist/Functions/useFormTools/functions/RenderFields.js +45 -72
- package/dist/Functions/useFormTools/functions/usePrevious.js +3 -7
- package/dist/Functions/useFormTools/index.js +382 -598
- package/dist/Functions/useInputHighlightError.js +27 -52
- package/dist/Functions/useIsMobile.js +13 -36
- package/dist/Functions/useLocalStorage.js +7 -22
- package/dist/Functions/useLocationParams.js +16 -27
- package/dist/Functions/useMetaInfo.js +19 -50
- package/dist/Functions/useMouseUpOutside.js +2 -5
- package/dist/Functions/useOnlineStatus.js +7 -26
- package/dist/Functions/usePasswordChecker.js +42 -77
- package/dist/Functions/usePrevious.js +3 -7
- package/dist/Functions/useResize.js +12 -32
- package/dist/Functions/useScrollTo.js +6 -20
- package/dist/Functions/useToggle.js +10 -30
- package/dist/Functions/utils.js +186 -366
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -32
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +21 -32
- package/dist/Molecular/CustomIcons/components/AppStore.js +25 -36
- package/dist/Molecular/CustomIcons/components/Arrow.js +31 -42
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +13 -24
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +13 -24
- package/dist/Molecular/CustomIcons/components/Bell.js +11 -22
- package/dist/Molecular/CustomIcons/components/Button.js +11 -22
- package/dist/Molecular/CustomIcons/components/Campaigns.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check2.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +26 -37
- package/dist/Molecular/CustomIcons/components/Close.js +13 -24
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +38 -49
- package/dist/Molecular/CustomIcons/components/Delete.js +12 -23
- package/dist/Molecular/CustomIcons/components/Edit.js +11 -22
- package/dist/Molecular/CustomIcons/components/Email.js +29 -40
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +19 -30
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +27 -38
- package/dist/Molecular/CustomIcons/components/Flows.js +11 -22
- package/dist/Molecular/CustomIcons/components/Gift.js +16 -27
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +25 -36
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +25 -36
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +14 -25
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +15 -26
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home2.js +17 -28
- package/dist/Molecular/CustomIcons/components/Key.js +19 -30
- package/dist/Molecular/CustomIcons/components/Landers.js +15 -26
- package/dist/Molecular/CustomIcons/components/Lock.js +11 -22
- package/dist/Molecular/CustomIcons/components/Mail.js +19 -30
- package/dist/Molecular/CustomIcons/components/Mastercard.js +61 -72
- package/dist/Molecular/CustomIcons/components/Minus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Offers.js +12 -23
- package/dist/Molecular/CustomIcons/components/Pause.js +24 -35
- package/dist/Molecular/CustomIcons/components/PayPal.js +38 -49
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +25 -36
- package/dist/Molecular/CustomIcons/components/Phone.js +26 -37
- package/dist/Molecular/CustomIcons/components/Play.js +24 -35
- package/dist/Molecular/CustomIcons/components/Plus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Profile.js +16 -27
- package/dist/Molecular/CustomIcons/components/QRCode.js +26 -37
- package/dist/Molecular/CustomIcons/components/Rectangle.js +11 -22
- package/dist/Molecular/CustomIcons/components/Revert.js +14 -25
- package/dist/Molecular/CustomIcons/components/Star.js +10 -21
- package/dist/Molecular/CustomIcons/components/Star2.js +12 -23
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -25
- package/dist/Molecular/CustomIcons/components/Trash.js +11 -22
- package/dist/Molecular/CustomIcons/components/TrashRed.js +11 -22
- package/dist/Molecular/CustomIcons/components/Triggers.js +11 -22
- package/dist/Molecular/CustomIcons/components/User.js +16 -27
- package/dist/Molecular/CustomIcons/components/Visa.js +27 -38
- package/dist/Molecular/CustomIcons/components/X.js +11 -22
- package/dist/Molecular/CustomIcons/index.js +61 -183
- package/dist/Molecular/FormElement/FormElement.js +18 -27
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +95 -112
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +35 -34
- package/dist/Molecular/InputAddress/InputAddress.js +176 -312
- package/dist/Molecular/InputPassword/InputPassword.js +15 -39
- package/dist/index.js +1 -3
- package/package.json +1 -1
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +0 -91
|
@@ -1,420 +1,287 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
4
|
Object.defineProperty(exports, "__esModule", {
|
|
8
5
|
value: true
|
|
9
6
|
});
|
|
10
7
|
exports.default = InputMask;
|
|
11
|
-
|
|
12
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
|
17
|
-
|
|
18
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
-
|
|
20
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
-
|
|
26
9
|
var _reactFeather = require("react-feather");
|
|
27
|
-
|
|
28
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
29
|
-
|
|
30
11
|
var _indexConstants = require("./../../../Constants/index.constants.js");
|
|
31
|
-
|
|
32
12
|
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
33
|
-
|
|
34
13
|
var _functions = require("./functions");
|
|
35
|
-
|
|
36
14
|
var _InputCarretPosition = require("./InputCarretPosition");
|
|
37
|
-
|
|
38
15
|
require("./InputMask.scss");
|
|
39
|
-
|
|
40
16
|
var _config = require("./config");
|
|
41
|
-
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
/* eslint-disable no-return-await */
|
|
20
|
+
/* eslint-disable no-extra-boolean-cast */
|
|
21
|
+
/* eslint-disable no-unsafe-optional-chaining */
|
|
22
|
+
/* eslint-disable react/jsx-boolean-value */
|
|
23
|
+
/* eslint-disable comma-dangle */
|
|
24
|
+
/* eslint-disable array-callback-return */
|
|
25
|
+
/* eslint-disable no-continue */
|
|
26
|
+
/* eslint-disable no-unused-expressions */
|
|
27
|
+
/* eslint-disable no-empty */
|
|
28
|
+
/* eslint-disable no-unreachable */
|
|
29
|
+
/* eslint-disable default-case */
|
|
30
|
+
/* eslint-disable no-use-before-define */
|
|
31
|
+
/* eslint-disable no-unused-vars */
|
|
32
|
+
/* eslint-disable default-param-last */
|
|
33
|
+
|
|
34
|
+
// import { KEYBOARD_SERVICE_KEYS } from './index.constants.js';
|
|
49
35
|
|
|
50
36
|
function InputMask() {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
hideMaskOnBlur = _ref$hideMaskOnBlur === void 0 ? true : _ref$hideMaskOnBlur,
|
|
114
|
-
_ref$returnMaskedValu = _ref.returnMaskedValue,
|
|
115
|
-
returnMaskedValue = _ref$returnMaskedValu === void 0 ? false : _ref$returnMaskedValu,
|
|
116
|
-
name = _ref.name,
|
|
117
|
-
testId = _ref.testId;
|
|
118
|
-
|
|
119
|
-
var errors = _objectSpread(_objectSpread({}, _config.DEFAULT_ERRORS), customErrors);
|
|
120
|
-
|
|
121
|
-
var _useState = (0, _react.useState)(false),
|
|
122
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
123
|
-
isMaskRendered = _useState2[0],
|
|
124
|
-
setMaskRendered = _useState2[1];
|
|
125
|
-
|
|
126
|
-
var inputRef = (0, _react.useRef)(null);
|
|
127
|
-
|
|
128
|
-
var _useState3 = (0, _react.useState)(false),
|
|
129
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
130
|
-
isMouseDown = _useState4[0],
|
|
131
|
-
setIsMouseDown = _useState4[1];
|
|
132
|
-
|
|
133
|
-
var _useState5 = (0, _react.useState)(false),
|
|
134
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
135
|
-
isFocused = _useState6[0],
|
|
136
|
-
setFocused = _useState6[1];
|
|
137
|
-
|
|
138
|
-
var _useState7 = (0, _react.useState)(false),
|
|
139
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
140
|
-
isInitValue = _useState8[0],
|
|
141
|
-
setIsInitValue = _useState8[1];
|
|
142
|
-
|
|
143
|
-
var inputThrottlingTimeout = 20;
|
|
144
|
-
|
|
145
|
-
var _useState9 = (0, _react.useState)(false),
|
|
146
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
147
|
-
isInputThrottled = _useState10[0],
|
|
148
|
-
setIsInputThrottled = _useState10[1]; // ERRORS MANAGEMENT FUNCTIONS | START //
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
var _useState11 = (0, _react.useState)(false),
|
|
152
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
153
|
-
isError = _useState12[0],
|
|
154
|
-
setError = _useState12[1];
|
|
155
|
-
|
|
156
|
-
var _useState13 = (0, _react.useState)(false),
|
|
157
|
-
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
158
|
-
blinkError = _useState14[0],
|
|
159
|
-
setBlinkError = _useState14[1];
|
|
160
|
-
|
|
161
|
-
var _useState15 = (0, _react.useState)(errors.default),
|
|
162
|
-
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
163
|
-
errorMessage = _useState16[0],
|
|
164
|
-
setErrorMessage = _useState16[1];
|
|
37
|
+
let {
|
|
38
|
+
maskPattern,
|
|
39
|
+
maskPatternPlaceholder,
|
|
40
|
+
maskPlaceholder,
|
|
41
|
+
maskDigitPlaceholder,
|
|
42
|
+
maskLetterPlaceholder,
|
|
43
|
+
usePatternPlaceholder,
|
|
44
|
+
disabled,
|
|
45
|
+
maskAsPlaceholder = true,
|
|
46
|
+
maxEditableLen = -1,
|
|
47
|
+
isFocusedDefault = false,
|
|
48
|
+
isClearable,
|
|
49
|
+
isCaseSensitive,
|
|
50
|
+
adaptTextCase,
|
|
51
|
+
isUseAutoSelect = true,
|
|
52
|
+
icon,
|
|
53
|
+
showIcon,
|
|
54
|
+
isIconLeft,
|
|
55
|
+
isIconRight,
|
|
56
|
+
value,
|
|
57
|
+
blinkErrors = true,
|
|
58
|
+
blinkDuration = 100,
|
|
59
|
+
showErrors = false,
|
|
60
|
+
className = '',
|
|
61
|
+
errors: customErrors = _config.DEFAULT_ERRORS,
|
|
62
|
+
error: customError = '',
|
|
63
|
+
ref,
|
|
64
|
+
onChange: onChangeProp = () => {},
|
|
65
|
+
onFocus: onFocusProp = () => {},
|
|
66
|
+
onBlur: onBlurProp = () => {},
|
|
67
|
+
onKeyDown: onKeyDownProp = () => {},
|
|
68
|
+
imitateTypingOnPaste = false,
|
|
69
|
+
imitateTypingOnPasteDelay = 100,
|
|
70
|
+
showHint = false,
|
|
71
|
+
hintText = '',
|
|
72
|
+
hintClassName = '',
|
|
73
|
+
isHintRight = true,
|
|
74
|
+
isHintLeft = false,
|
|
75
|
+
hintPosition = 'right',
|
|
76
|
+
hideMaskOnBlur = true,
|
|
77
|
+
returnMaskedValue = false,
|
|
78
|
+
name,
|
|
79
|
+
testId
|
|
80
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
81
|
+
const errors = {
|
|
82
|
+
..._config.DEFAULT_ERRORS,
|
|
83
|
+
...customErrors
|
|
84
|
+
};
|
|
85
|
+
const [isMaskRendered, setMaskRendered] = (0, _react.useState)(false);
|
|
86
|
+
const inputRef = (0, _react.useRef)(null);
|
|
87
|
+
const [isMouseDown, setIsMouseDown] = (0, _react.useState)(false);
|
|
88
|
+
const [isFocused, setFocused] = (0, _react.useState)(false);
|
|
89
|
+
const [isInitValue, setIsInitValue] = (0, _react.useState)(false);
|
|
90
|
+
const inputThrottlingTimeout = 20;
|
|
91
|
+
const [isInputThrottled, setIsInputThrottled] = (0, _react.useState)(false);
|
|
92
|
+
|
|
93
|
+
// ERRORS MANAGEMENT FUNCTIONS | START //
|
|
94
|
+
const [isError, setError] = (0, _react.useState)(false);
|
|
95
|
+
const [blinkError, setBlinkError] = (0, _react.useState)(false);
|
|
96
|
+
const [errorMessage, setErrorMessage] = (0, _react.useState)(errors.default);
|
|
97
|
+
const clearErrorMessage = () => setErrorMessage(errors.default);
|
|
98
|
+
// ERRORS MANAGEMENT FUNCTIONS | END //
|
|
165
99
|
|
|
166
|
-
var clearErrorMessage = function clearErrorMessage() {
|
|
167
|
-
return setErrorMessage(errors.default);
|
|
168
|
-
}; // ERRORS MANAGEMENT FUNCTIONS | END //
|
|
169
100
|
// SELECTION MANAGEMENT FUNCTIONS | START //
|
|
101
|
+
const [isSelecting, setIsSelecting] = (0, _react.useState)(false);
|
|
102
|
+
const [selectedText, setSelectedText] = (0, _react.useState)('');
|
|
103
|
+
const [selectionStartX, setSelectionStartX] = (0, _react.useState)(null);
|
|
104
|
+
const [selectionEndX, setSelectionEndX] = (0, _react.useState)(null);
|
|
105
|
+
// SELECTION MANAGEMENT FUNCTIONS | END //
|
|
170
106
|
|
|
171
|
-
|
|
172
|
-
var _useState17 = (0, _react.useState)(false),
|
|
173
|
-
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
174
|
-
isSelecting = _useState18[0],
|
|
175
|
-
setIsSelecting = _useState18[1];
|
|
176
|
-
|
|
177
|
-
var _useState19 = (0, _react.useState)(''),
|
|
178
|
-
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
179
|
-
selectedText = _useState20[0],
|
|
180
|
-
setSelectedText = _useState20[1];
|
|
181
|
-
|
|
182
|
-
var _useState21 = (0, _react.useState)(null),
|
|
183
|
-
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
184
|
-
selectionStartX = _useState22[0],
|
|
185
|
-
setSelectionStartX = _useState22[1];
|
|
186
|
-
|
|
187
|
-
var _useState23 = (0, _react.useState)(null),
|
|
188
|
-
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
|
189
|
-
selectionEndX = _useState24[0],
|
|
190
|
-
setSelectionEndX = _useState24[1]; // SELECTION MANAGEMENT FUNCTIONS | END //
|
|
191
107
|
// SERVICE WATCHERS MANAGEMENT FUNCTIONS | START //
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
var pushServiceWatcher = function pushServiceWatcher(fn) {
|
|
200
|
-
return setServiceWatchers(function (state) {
|
|
201
|
-
return [].concat((0, _toConsumableArray2.default)(state), [{
|
|
202
|
-
fn: fn,
|
|
203
|
-
dt: Date.now()
|
|
204
|
-
}]);
|
|
205
|
-
});
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
var popServiceWatcher = function popServiceWatcher() {
|
|
209
|
-
var _serviceWatchers = (0, _toArray2.default)(serviceWatchers),
|
|
210
|
-
poped = _serviceWatchers[0],
|
|
211
|
-
rest = _serviceWatchers.slice(1);
|
|
212
|
-
|
|
108
|
+
const [serviceWatchers, setServiceWatchers] = (0, _react.useState)([]);
|
|
109
|
+
const pushServiceWatcher = fn => setServiceWatchers(state => [...state, {
|
|
110
|
+
fn,
|
|
111
|
+
dt: Date.now()
|
|
112
|
+
}]);
|
|
113
|
+
const popServiceWatcher = () => {
|
|
114
|
+
const [poped, ...rest] = serviceWatchers;
|
|
213
115
|
setServiceWatchers(rest);
|
|
214
116
|
return poped.fn || _functions.voidFn;
|
|
215
117
|
};
|
|
216
|
-
|
|
217
|
-
var serviceWatchersWorker = function serviceWatchersWorker() {
|
|
118
|
+
const serviceWatchersWorker = () => {
|
|
218
119
|
popServiceWatcher()();
|
|
219
120
|
};
|
|
220
|
-
|
|
221
|
-
(0, _react.useEffect)(function () {
|
|
121
|
+
(0, _react.useEffect)(() => {
|
|
222
122
|
if (serviceWatchers.length) serviceWatchersWorker();
|
|
223
|
-
}, [serviceWatchers]);
|
|
224
|
-
//
|
|
225
|
-
|
|
226
|
-
var _useState27 = (0, _react.useState)([]),
|
|
227
|
-
_useState28 = (0, _slicedToArray2.default)(_useState27, 2),
|
|
228
|
-
innerValue = _useState28[0],
|
|
229
|
-
setInnerValue = _useState28[1];
|
|
230
|
-
|
|
231
|
-
var _useState29 = (0, _react.useState)(''),
|
|
232
|
-
_useState30 = (0, _slicedToArray2.default)(_useState29, 2),
|
|
233
|
-
undoValue = _useState30[0],
|
|
234
|
-
setUndoValue = _useState30[1];
|
|
123
|
+
}, [serviceWatchers]);
|
|
124
|
+
// SERVICE WATCHERS MANAGEMENT FUNCTIONS | END //
|
|
235
125
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
_ref2$data = _ref2.data,
|
|
251
|
-
data = _ref2$data === void 0 ? {} : _ref2$data;
|
|
252
|
-
setInnerValue(function (state) {
|
|
253
|
-
var stateCopy = (0, _toConsumableArray2.default)(state);
|
|
254
|
-
var charObj = getCharObj(char, data);
|
|
126
|
+
// INNER VALUE MANAGEMENT FUNCTIONS | START //
|
|
127
|
+
const [innerValue, setInnerValue] = (0, _react.useState)([]);
|
|
128
|
+
const [undoValue, setUndoValue] = (0, _react.useState)('');
|
|
129
|
+
const [redoValue, setRedoValue] = (0, _react.useState)(null);
|
|
130
|
+
const [isUndoValueBlocked, setIsUndoValueBlocked] = (0, _react.useState)(false);
|
|
131
|
+
const addInnerValueChar = _ref => {
|
|
132
|
+
let {
|
|
133
|
+
char,
|
|
134
|
+
i = null,
|
|
135
|
+
data = {}
|
|
136
|
+
} = _ref;
|
|
137
|
+
setInnerValue(state => {
|
|
138
|
+
const stateCopy = [...state];
|
|
139
|
+
const charObj = getCharObj(char, data);
|
|
255
140
|
stateCopy.push(charObj);
|
|
256
141
|
return stateCopy;
|
|
257
142
|
});
|
|
258
143
|
};
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
var i = arguments.length > 1 ? arguments[1] : undefined;
|
|
266
|
-
setInnerValue(function (state) {
|
|
144
|
+
const updateInnerValueChar = function () {
|
|
145
|
+
let {
|
|
146
|
+
char = null
|
|
147
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
148
|
+
let i = arguments.length > 1 ? arguments[1] : undefined;
|
|
149
|
+
setInnerValue(state => {
|
|
267
150
|
if (!state[i]) return state;
|
|
268
|
-
|
|
151
|
+
const stateCopy = [...state];
|
|
269
152
|
if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
|
|
270
153
|
return stateCopy;
|
|
271
154
|
});
|
|
272
155
|
};
|
|
156
|
+
const resetInnerValue = () => {
|
|
157
|
+
innerValue.map((v, i) => updateInnerValueChar({
|
|
158
|
+
char: ''
|
|
159
|
+
}, i));
|
|
160
|
+
};
|
|
161
|
+
// INNER VALUE MANAGEMENT FUNCTIONS | END //
|
|
273
162
|
|
|
274
|
-
var resetInnerValue = function resetInnerValue() {
|
|
275
|
-
innerValue.map(function (v, i) {
|
|
276
|
-
return updateInnerValueChar({
|
|
277
|
-
char: ''
|
|
278
|
-
}, i);
|
|
279
|
-
});
|
|
280
|
-
}; // INNER VALUE MANAGEMENT FUNCTIONS | END //
|
|
281
163
|
// CHECKERS | START //
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
var maskChar = getMaskCharByIndex(i);
|
|
290
|
-
|
|
164
|
+
const isValidChar = _ref2 => {
|
|
165
|
+
let {
|
|
166
|
+
char: key,
|
|
167
|
+
i,
|
|
168
|
+
disableErrors = false
|
|
169
|
+
} = _ref2;
|
|
170
|
+
const maskChar = getMaskCharByIndex(i);
|
|
291
171
|
switch (maskChar) {
|
|
292
172
|
case _config.DIGIT_MASK_CHAR:
|
|
293
173
|
if (!(0, _functions.isDigit)(key)) {
|
|
294
174
|
if (!disableErrors) {
|
|
295
175
|
setErrorMessage(errors.onlyDigit);
|
|
296
176
|
}
|
|
297
|
-
|
|
298
177
|
return false;
|
|
299
178
|
}
|
|
300
|
-
|
|
301
179
|
break;
|
|
302
|
-
|
|
303
180
|
case _config.UPPERCASE_LETTER_MASK_CHAR:
|
|
304
181
|
if (adaptTextCase) key = key.toUpperCase();
|
|
305
|
-
|
|
306
182
|
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
307
183
|
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
308
184
|
return false;
|
|
309
185
|
}
|
|
310
|
-
|
|
311
186
|
if (isCaseSensitive && !(0, _functions.isUpperCaseLetter)(key)) {
|
|
312
187
|
if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
|
|
313
188
|
return false;
|
|
314
189
|
}
|
|
315
|
-
|
|
316
190
|
break;
|
|
317
|
-
|
|
318
191
|
case _config.LOWERCASE_LETTER_MASK_CHAR:
|
|
319
192
|
if (adaptTextCase) key = key.toLowerCase();
|
|
320
|
-
|
|
321
193
|
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
322
194
|
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
323
195
|
return false;
|
|
324
196
|
}
|
|
325
|
-
|
|
326
197
|
if (isCaseSensitive && !(0, _functions.isLowerCaseLetter)(key)) {
|
|
327
198
|
if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
|
|
328
199
|
return false;
|
|
329
200
|
}
|
|
330
|
-
|
|
331
201
|
break;
|
|
332
|
-
|
|
333
202
|
default:
|
|
334
203
|
return false;
|
|
335
204
|
}
|
|
336
|
-
|
|
337
205
|
return true;
|
|
338
206
|
};
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
207
|
+
const isSpecialSymbolMaskChar = _ref3 => {
|
|
208
|
+
let {
|
|
209
|
+
char
|
|
210
|
+
} = _ref3;
|
|
342
211
|
return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
|
|
343
212
|
};
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
213
|
+
const isSpecialSymbolChar = _ref4 => {
|
|
214
|
+
let {
|
|
215
|
+
char
|
|
216
|
+
} = _ref4;
|
|
347
217
|
return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
|
|
348
|
-
};
|
|
349
|
-
//
|
|
350
|
-
|
|
218
|
+
};
|
|
219
|
+
// CHECKERS | END //
|
|
351
220
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
221
|
+
// GETTERS | START //
|
|
222
|
+
const getCharObj = function (char) {
|
|
223
|
+
let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
224
|
+
const isSpecialSymbol = isSpecialSymbolChar({
|
|
225
|
+
char
|
|
356
226
|
});
|
|
357
|
-
|
|
358
|
-
char
|
|
227
|
+
const isSpecialSymbolMask = isSpecialSymbolMaskChar({
|
|
228
|
+
char
|
|
359
229
|
});
|
|
360
230
|
if (char === ' ') char = _config.SPACE_CHAR;
|
|
361
|
-
return
|
|
231
|
+
return {
|
|
362
232
|
char: isSpecialSymbolMask ? char : '',
|
|
363
233
|
maskChar: char,
|
|
364
234
|
isSpecialSymbol: isSpecialSymbolMask,
|
|
365
235
|
isCharSymbol: !isSpecialSymbol && char !== '' && isSpecialSymbolMask,
|
|
366
|
-
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
367
|
-
|
|
236
|
+
ref: /*#__PURE__*/(0, _react.createRef)(),
|
|
237
|
+
...data
|
|
238
|
+
};
|
|
368
239
|
};
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
240
|
+
const getCharByIndex = i => {
|
|
241
|
+
return innerValue[i] ? {
|
|
242
|
+
...innerValue[i]
|
|
243
|
+
} : undefined;
|
|
372
244
|
};
|
|
373
|
-
|
|
374
|
-
var getMaskCharByIndex = function getMaskCharByIndex(i) {
|
|
245
|
+
const getMaskCharByIndex = i => {
|
|
375
246
|
var _innerValue$i;
|
|
376
|
-
|
|
377
247
|
return ((_innerValue$i = innerValue[i]) === null || _innerValue$i === void 0 ? void 0 : _innerValue$i.maskChar) || undefined;
|
|
378
248
|
};
|
|
379
|
-
|
|
380
|
-
var getSelectStartIndex = function getSelectStartIndex() {
|
|
249
|
+
const getSelectStartIndex = () => {
|
|
381
250
|
if (selectionStartX === selectionEndX) return 0;
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
251
|
+
const minX = selectionStartX < selectionEndX ? selectionStartX : selectionEndX;
|
|
252
|
+
const maxX = selectionStartX > selectionEndX ? selectionStartX : selectionEndX;
|
|
253
|
+
const {
|
|
254
|
+
index
|
|
255
|
+
} = innerValue.reduce((resObj, _ref5, index) => {
|
|
386
256
|
var _ref$current;
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
257
|
+
let {
|
|
258
|
+
char,
|
|
259
|
+
ref
|
|
260
|
+
} = _ref5;
|
|
390
261
|
if ((ref === null || ref === void 0 ? void 0 : ref.current) === null) return resObj;
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
var charCenterX = charX + charWidth / 2; // If Char X-Coord Out Of Range
|
|
262
|
+
const {
|
|
263
|
+
left: charX,
|
|
264
|
+
width: charWidth
|
|
265
|
+
} = ref === null || ref === void 0 || (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
|
|
266
|
+
const charCenterX = charX + charWidth / 2;
|
|
397
267
|
|
|
398
268
|
// If Char X-Coord Out Of Range
|
|
399
269
|
if (!charX || minX > charCenterX || maxX < charCenterX) return resObj;
|
|
400
270
|
if (resObj.index === null || minX <= charCenterX && charCenterX >= maxX && charCenterX < resObj.charX) return {
|
|
401
|
-
index
|
|
271
|
+
index,
|
|
402
272
|
charX: charCenterX
|
|
403
273
|
};
|
|
404
274
|
return resObj;
|
|
405
275
|
}, {
|
|
406
276
|
index: null,
|
|
407
277
|
charX: null
|
|
408
|
-
})
|
|
409
|
-
index = _innerValue$reduce.index;
|
|
410
|
-
|
|
278
|
+
});
|
|
411
279
|
return index;
|
|
412
280
|
};
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
281
|
+
const getPlaceholderCharByIndex = i => {
|
|
282
|
+
const {
|
|
283
|
+
maskChar
|
|
284
|
+
} = getCharByIndex(i);
|
|
418
285
|
if (usePatternPlaceholder) {
|
|
419
286
|
return maskPatternPlaceholder[i] || maskPlaceholder;
|
|
420
287
|
} else {
|
|
@@ -423,111 +290,102 @@ function InputMask() {
|
|
|
423
290
|
return maskPlaceholder;
|
|
424
291
|
}
|
|
425
292
|
};
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
293
|
+
const getInnerValueAsString = function () {
|
|
294
|
+
let {
|
|
295
|
+
replaceSpace = false
|
|
296
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
297
|
+
const result = innerValue.slice(0, innerValue.length - 1).map((_ref6, i) => {
|
|
298
|
+
let {
|
|
299
|
+
char,
|
|
300
|
+
maskChar
|
|
301
|
+
} = _ref6;
|
|
435
302
|
return char === '' ? getPlaceholderCharByIndex(i) || maskChar : char;
|
|
436
303
|
}).join('');
|
|
437
304
|
return replaceSpace ? result === null || result === void 0 ? void 0 : result.replace(/\u00A0/g, ' ') : result;
|
|
438
305
|
};
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
isCharSymbol = _ref10.isCharSymbol;
|
|
306
|
+
const getClearInnerValueAsString = function () {
|
|
307
|
+
let start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
308
|
+
return innerValue.filter((charObj, i) => i >= start).reduce((result, _ref7, i, arr) => {
|
|
309
|
+
let {
|
|
310
|
+
char,
|
|
311
|
+
maskChar,
|
|
312
|
+
isSpecialSymbol,
|
|
313
|
+
isCharSymbol
|
|
314
|
+
} = _ref7;
|
|
449
315
|
if (char !== maskChar && char !== '' || !isSpecialSymbol || isCharSymbol) result += char; // || isCharSymbol
|
|
450
|
-
|
|
451
316
|
return result;
|
|
452
317
|
}, '');
|
|
453
318
|
};
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
319
|
+
const getLastTypedIndex = () => {
|
|
320
|
+
return innerValue.reduce((lastIndex, _ref8, i) => {
|
|
321
|
+
let {
|
|
322
|
+
char,
|
|
323
|
+
isSpecialSymbol
|
|
324
|
+
} = _ref8;
|
|
459
325
|
if (!isSpecialSymbol && char !== _config.SPACE_CHAR && char !== '' || lastIndex === null) lastIndex = i;
|
|
460
326
|
return lastIndex;
|
|
461
327
|
}, -1) + 1;
|
|
462
|
-
};
|
|
463
|
-
//
|
|
464
|
-
|
|
328
|
+
};
|
|
329
|
+
// GETTERS | END //
|
|
465
330
|
|
|
466
|
-
|
|
331
|
+
// SETTERS | START //
|
|
332
|
+
const setFocusOnChar = (i, prevIndex) => {
|
|
467
333
|
var _ref$current2;
|
|
468
|
-
|
|
469
|
-
var charObj = getCharByIndex(i);
|
|
334
|
+
const charObj = getCharByIndex(i);
|
|
470
335
|
if (!charObj) return false;
|
|
471
|
-
|
|
472
|
-
|
|
336
|
+
const {
|
|
337
|
+
ref,
|
|
338
|
+
isSpecialSymbol
|
|
339
|
+
} = charObj;
|
|
473
340
|
if (!ref) return false;
|
|
474
|
-
|
|
475
341
|
if ((maxEditableLen !== -1 ? i < maxEditableLen : true) && isSpecialSymbol && i < innerValue.length - 1) {
|
|
476
342
|
return prevIndex > i ? onArrowLeftDown(null, i) : onArrowRightDown(null, i);
|
|
477
343
|
}
|
|
478
|
-
|
|
479
344
|
if (maxEditableLen !== -1 && i > maxEditableLen) {
|
|
480
345
|
setFocusOnChar(maxEditableLen, i);
|
|
481
346
|
return false;
|
|
482
347
|
}
|
|
483
|
-
|
|
484
|
-
(
|
|
485
|
-
setTimeout(function () {
|
|
486
|
-
return (0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
487
|
-
}, 10);
|
|
348
|
+
(_ref$current2 = ref.current) === null || _ref$current2 === void 0 || _ref$current2.focus();
|
|
349
|
+
setTimeout(() => (0, _InputCarretPosition.setCaretPosition)(ref.current, 0), 10);
|
|
488
350
|
return true;
|
|
489
|
-
}; // SETTERS | END //
|
|
490
|
-
///--- Event Handlers ---///
|
|
491
|
-
// SERVICE KEYS HANDLERS | START //
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
var onArrowLeftDown = function onArrowLeftDown(e, i) {
|
|
495
|
-
return setFocusOnChar(i - 1, i);
|
|
496
351
|
};
|
|
352
|
+
// SETTERS | END //
|
|
497
353
|
|
|
498
|
-
|
|
499
|
-
var key = (e === null || e === void 0 ? void 0 : e.key) || null;
|
|
354
|
+
///--- Event Handlers ---///
|
|
500
355
|
|
|
356
|
+
// SERVICE KEYS HANDLERS | START //
|
|
357
|
+
const onArrowLeftDown = (e, i) => setFocusOnChar(i - 1, i);
|
|
358
|
+
const onArrowRightDown = (e, i) => {
|
|
359
|
+
const key = (e === null || e === void 0 ? void 0 : e.key) || null;
|
|
501
360
|
if (maskAsPlaceholder && i > getLastTypedIndex()) {
|
|
502
361
|
return setFocusOnChar(getLastTypedIndex() + 1, i);
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
|
|
362
|
+
}
|
|
363
|
+
// If Current Index Equals LastTyped Index in MaskAsPlaceholder Mode
|
|
506
364
|
if (maskAsPlaceholder && i === getLastTypedIndex() && key === 'ArrowRight') return false;
|
|
507
365
|
return setFocusOnChar(i + 1, i);
|
|
508
366
|
};
|
|
509
|
-
|
|
510
|
-
var onBackspaceDown = function onBackspaceDown(e, i) {
|
|
367
|
+
const onBackspaceDown = (e, i) => {
|
|
511
368
|
if (!isUndoValueBlocked) {
|
|
512
369
|
setUndoValue(getClearInnerValueAsString());
|
|
513
370
|
setIsUndoValueBlocked(true);
|
|
514
371
|
}
|
|
515
|
-
|
|
516
372
|
if ((0, _functions.getSelectionText)().length) return deleteSelectedText();
|
|
517
|
-
|
|
518
|
-
|
|
373
|
+
const prevIndex = i - 1;
|
|
374
|
+
const charObj = getCharByIndex(prevIndex);
|
|
519
375
|
if (!charObj) return false;
|
|
520
|
-
|
|
376
|
+
const {
|
|
377
|
+
isSpecialSymbol
|
|
378
|
+
} = charObj;
|
|
521
379
|
if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
|
|
522
|
-
|
|
523
380
|
if (maskAsPlaceholder) {
|
|
524
|
-
|
|
525
|
-
|
|
381
|
+
const newText = innerValue.slice(0, prevIndex).concat(innerValue.slice(i, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce((text, _ref9) => {
|
|
382
|
+
let {
|
|
383
|
+
char
|
|
384
|
+
} = _ref9;
|
|
526
385
|
return text.concat(char);
|
|
527
386
|
}, '');
|
|
528
387
|
resetInnerValue();
|
|
529
|
-
|
|
530
|
-
_onPaste({
|
|
388
|
+
onPaste({
|
|
531
389
|
text: newText
|
|
532
390
|
}, 0);
|
|
533
391
|
} else {
|
|
@@ -535,37 +393,35 @@ function InputMask() {
|
|
|
535
393
|
char: ''
|
|
536
394
|
}, prevIndex);
|
|
537
395
|
}
|
|
538
|
-
|
|
539
396
|
setFocusOnChar(prevIndex, i);
|
|
540
397
|
return true;
|
|
541
398
|
};
|
|
542
|
-
|
|
543
|
-
var onDeleteDown = function onDeleteDown(e, i) {
|
|
399
|
+
const onDeleteDown = (e, i) => {
|
|
544
400
|
if (!isUndoValueBlocked) {
|
|
545
401
|
setUndoValue(getClearInnerValueAsString());
|
|
546
402
|
setIsUndoValueBlocked(true);
|
|
547
403
|
}
|
|
548
|
-
|
|
549
404
|
if ((0, _functions.getSelectionText)().length) return deleteSelectedText();
|
|
550
|
-
|
|
551
|
-
|
|
405
|
+
const nextIndex = i + 1;
|
|
406
|
+
const charObj = getCharByIndex(i);
|
|
552
407
|
if (!charObj) return false;
|
|
553
|
-
|
|
554
|
-
|
|
408
|
+
const {
|
|
409
|
+
char,
|
|
410
|
+
isSpecialSymbol
|
|
411
|
+
} = charObj;
|
|
555
412
|
if (isSpecialSymbol) return onDeleteDown(e, i + 1);
|
|
556
413
|
if (char === '') return false;
|
|
557
|
-
|
|
558
414
|
if (maskAsPlaceholder) {
|
|
559
|
-
|
|
560
|
-
|
|
415
|
+
const newText = innerValue.slice(0, i).concat(innerValue.slice(nextIndex, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce((text, _ref10) => {
|
|
416
|
+
let {
|
|
417
|
+
char
|
|
418
|
+
} = _ref10;
|
|
561
419
|
return text.concat(char);
|
|
562
420
|
}, '');
|
|
563
421
|
resetInnerValue();
|
|
564
|
-
|
|
565
|
-
_onPaste({
|
|
422
|
+
onPaste({
|
|
566
423
|
text: newText
|
|
567
424
|
}, 0);
|
|
568
|
-
|
|
569
425
|
setFocusOnChar(i, i);
|
|
570
426
|
} else {
|
|
571
427
|
updateInnerValueChar({
|
|
@@ -573,522 +429,321 @@ function InputMask() {
|
|
|
573
429
|
}, i);
|
|
574
430
|
setFocusOnChar(nextIndex, i);
|
|
575
431
|
}
|
|
576
|
-
|
|
577
432
|
return true;
|
|
578
433
|
};
|
|
434
|
+
const onHomeDown = (e, i) => setFocusOnChar(0, -1);
|
|
435
|
+
const onEndDown = (e, i) => setTimeout(() => setFocusOnChar(maskAsPlaceholder ? getLastTypedIndex() : 0, 0), 10);
|
|
436
|
+
// SERVICE KEYS HANDLERS | END //
|
|
579
437
|
|
|
580
|
-
var onHomeDown = function onHomeDown(e, i) {
|
|
581
|
-
return setFocusOnChar(0, -1);
|
|
582
|
-
};
|
|
583
|
-
|
|
584
|
-
var onEndDown = function onEndDown(e, i) {
|
|
585
|
-
return setTimeout(function () {
|
|
586
|
-
return setFocusOnChar(maskAsPlaceholder ? getLastTypedIndex() : 0, 0);
|
|
587
|
-
}, 10);
|
|
588
|
-
}; // SERVICE KEYS HANDLERS | END //
|
|
589
438
|
// GENERAL EVENT HANDLERS | START //
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
439
|
+
const handleServiceKeyDown = (e, i) => {
|
|
440
|
+
const {
|
|
441
|
+
key
|
|
442
|
+
} = e;
|
|
595
443
|
switch (key) {
|
|
596
444
|
case 'ArrowLeft':
|
|
597
445
|
return onArrowLeftDown(e, i);
|
|
598
446
|
break;
|
|
599
|
-
|
|
600
447
|
case 'ArrowRight':
|
|
601
448
|
return onArrowRightDown(e, i);
|
|
602
449
|
break;
|
|
603
|
-
|
|
604
450
|
case 'Backspace':
|
|
605
451
|
return onBackspaceDown(e, i);
|
|
606
452
|
break;
|
|
607
|
-
|
|
608
453
|
case 'Delete':
|
|
609
454
|
return onDeleteDown(e, i);
|
|
610
455
|
break;
|
|
611
|
-
|
|
612
456
|
case 'Home':
|
|
613
457
|
return onHomeDown(e, i);
|
|
614
458
|
break;
|
|
615
|
-
|
|
616
459
|
case 'End':
|
|
617
460
|
return onEndDown(e, i);
|
|
618
461
|
break;
|
|
619
|
-
|
|
620
462
|
default:
|
|
621
463
|
return true;
|
|
622
464
|
break;
|
|
623
465
|
}
|
|
624
466
|
};
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
e.stopPropagation();
|
|
671
|
-
e.preventDefault();
|
|
672
|
-
} catch (e) {}
|
|
673
|
-
|
|
674
|
-
if (!isInputThrottled) {
|
|
675
|
-
_context.next = 10;
|
|
676
|
-
break;
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
return _context.abrupt("return", false);
|
|
680
|
-
|
|
681
|
-
case 10:
|
|
682
|
-
setIsInputThrottled(true);
|
|
683
|
-
key = e.key, keyCode = e.keyCode;
|
|
684
|
-
charObj = getCharByIndex(i); // Android Text Typing FIX
|
|
685
|
-
// eslint-disable-next-line eqeqeq
|
|
686
|
-
|
|
687
|
-
if (!(keyCode == _config.ANDROID_CHROME_TEXT_CODE)) {
|
|
688
|
-
_context.next = 18;
|
|
689
|
-
break;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
charRef = charObj.ref;
|
|
693
|
-
_context.next = 17;
|
|
694
|
-
return new Promise(function (resolve) {
|
|
695
|
-
setTimeout(function () {
|
|
696
|
-
var _charRef$current, _charRef$current$inne;
|
|
697
|
-
|
|
698
|
-
//Typed Text
|
|
699
|
-
if ((charRef === null || charRef === void 0 ? void 0 : (_charRef$current = charRef.current) === null || _charRef$current === void 0 ? void 0 : (_charRef$current$inne = _charRef$current.innerText) === null || _charRef$current$inne === void 0 ? void 0 : _charRef$current$inne.length) >= 2) {
|
|
700
|
-
var _charRef$current2;
|
|
701
|
-
|
|
702
|
-
var _charRef$current$inne2 = charRef === null || charRef === void 0 ? void 0 : (_charRef$current2 = charRef.current) === null || _charRef$current2 === void 0 ? void 0 : _charRef$current2.innerText,
|
|
703
|
-
_charRef$current$inne3 = (0, _slicedToArray2.default)(_charRef$current$inne2, 2),
|
|
704
|
-
_key = _charRef$current$inne3[0],
|
|
705
|
-
prevChar = _charRef$current$inne3[1];
|
|
706
|
-
|
|
707
|
-
charRef.current.innerText = prevChar;
|
|
708
|
-
resolve(_key);
|
|
709
|
-
} else {
|
|
710
|
-
resolve(null);
|
|
711
|
-
}
|
|
712
|
-
}, 1);
|
|
713
|
-
});
|
|
714
|
-
|
|
715
|
-
case 17:
|
|
716
|
-
key = _context.sent;
|
|
717
|
-
|
|
718
|
-
case 18:
|
|
719
|
-
if (!(!charObj || i === innerValue.length - 1)) {
|
|
720
|
-
_context.next = 20;
|
|
721
|
-
break;
|
|
722
|
-
}
|
|
723
|
-
|
|
724
|
-
return _context.abrupt("return", false);
|
|
725
|
-
|
|
726
|
-
case 20:
|
|
727
|
-
if (!(maskAsPlaceholder && i > getLastTypedIndex() + 1)) {
|
|
728
|
-
_context.next = 24;
|
|
729
|
-
break;
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
_context.next = 23;
|
|
733
|
-
return handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
|
|
734
|
-
disableErrors: disableErrors
|
|
735
|
-
});
|
|
736
|
-
|
|
737
|
-
case 23:
|
|
738
|
-
return _context.abrupt("return", _context.sent);
|
|
739
|
-
|
|
740
|
-
case 24:
|
|
741
|
-
isSpecialSymbol = charObj.isSpecialSymbol, maskChar = charObj.maskChar, isReadOnly = charObj.isReadOnly;
|
|
742
|
-
|
|
743
|
-
if (!isReadOnly) {
|
|
744
|
-
_context.next = 27;
|
|
745
|
-
break;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
return _context.abrupt("return", false);
|
|
749
|
-
|
|
750
|
-
case 27:
|
|
751
|
-
if (!(maskChar === _config.SPACE_CHAR)) {
|
|
752
|
-
_context.next = 31;
|
|
753
|
-
break;
|
|
754
|
-
}
|
|
755
|
-
|
|
756
|
-
_context.next = 30;
|
|
757
|
-
return handleKeyDown(e, i + 1);
|
|
758
|
-
|
|
759
|
-
case 30:
|
|
760
|
-
return _context.abrupt("return", _context.sent);
|
|
761
|
-
|
|
762
|
-
case 31:
|
|
763
|
-
if (!(isSpecialSymbol && maskChar !== key)) {
|
|
764
|
-
_context.next = 33;
|
|
765
|
-
break;
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
return _context.abrupt("return", false);
|
|
769
|
-
|
|
770
|
-
case 33:
|
|
771
|
-
if (isValidChar({
|
|
772
|
-
char: key,
|
|
773
|
-
i: i,
|
|
774
|
-
disableErrors: disableErrors
|
|
775
|
-
})) {
|
|
776
|
-
_context.next = 35;
|
|
777
|
-
break;
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
return _context.abrupt("return", false);
|
|
781
|
-
|
|
782
|
-
case 35:
|
|
783
|
-
if (maskAsPlaceholder && ((_getClearInnerValueAs = getClearInnerValueAsString(i)) === null || _getClearInnerValueAs === void 0 ? void 0 : _getClearInnerValueAs.length) !== 0) {
|
|
784
|
-
fromIndex = i + 1;
|
|
785
|
-
text = innerValue.slice().filter(function (_ref16, index) {
|
|
786
|
-
var isCharSymbol = _ref16.isCharSymbol;
|
|
787
|
-
return index >= i && !isCharSymbol;
|
|
788
|
-
}).map(function (_ref17, index) {
|
|
789
|
-
var char = _ref17.char;
|
|
790
|
-
return char;
|
|
791
|
-
}).join('');
|
|
792
|
-
|
|
793
|
-
_onPaste({
|
|
794
|
-
text: text
|
|
795
|
-
}, fromIndex, false);
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
setIsUndoValueBlocked(false);
|
|
799
|
-
updateInnerValueChar({
|
|
800
|
-
char: key
|
|
801
|
-
}, i);
|
|
802
|
-
setTimeout(function () {
|
|
803
|
-
return onArrowRightDown(e, i);
|
|
804
|
-
}, 1);
|
|
805
|
-
return _context.abrupt("return", true);
|
|
806
|
-
|
|
807
|
-
case 40:
|
|
808
|
-
case "end":
|
|
809
|
-
return _context.stop();
|
|
467
|
+
const handleKeyDown = async function (e, i) {
|
|
468
|
+
var _getClearInnerValueAs;
|
|
469
|
+
let {
|
|
470
|
+
disableErrors = false,
|
|
471
|
+
disableIsSelectingCheck = false
|
|
472
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
473
|
+
if (isSelecting && !disableIsSelectingCheck) {
|
|
474
|
+
deleteSelectedText();
|
|
475
|
+
(0, _functions.resetSelectionText)();
|
|
476
|
+
setIsSelecting(false);
|
|
477
|
+
setTimeout(() => handleKeyDown(e, getSelectStartIndex(), {
|
|
478
|
+
disableErrors,
|
|
479
|
+
disableIsSelectingCheck: true
|
|
480
|
+
}), 10);
|
|
481
|
+
return null;
|
|
482
|
+
}
|
|
483
|
+
try {
|
|
484
|
+
e.stopPropagation();
|
|
485
|
+
e.preventDefault();
|
|
486
|
+
} catch (e) {}
|
|
487
|
+
if (isInputThrottled) return false;
|
|
488
|
+
setIsInputThrottled(true);
|
|
489
|
+
let {
|
|
490
|
+
key,
|
|
491
|
+
keyCode
|
|
492
|
+
} = e;
|
|
493
|
+
const charObj = getCharByIndex(i);
|
|
494
|
+
|
|
495
|
+
// Android Text Typing FIX
|
|
496
|
+
// eslint-disable-next-line eqeqeq
|
|
497
|
+
if (keyCode == _config.ANDROID_CHROME_TEXT_CODE) {
|
|
498
|
+
const {
|
|
499
|
+
ref: charRef
|
|
500
|
+
} = charObj;
|
|
501
|
+
key = await new Promise(resolve => {
|
|
502
|
+
setTimeout(() => {
|
|
503
|
+
var _charRef$current;
|
|
504
|
+
//Typed Text
|
|
505
|
+
if ((charRef === null || charRef === void 0 || (_charRef$current = charRef.current) === null || _charRef$current === void 0 || (_charRef$current = _charRef$current.innerText) === null || _charRef$current === void 0 ? void 0 : _charRef$current.length) >= 2) {
|
|
506
|
+
var _charRef$current2;
|
|
507
|
+
const [key, prevChar] = charRef === null || charRef === void 0 || (_charRef$current2 = charRef.current) === null || _charRef$current2 === void 0 ? void 0 : _charRef$current2.innerText;
|
|
508
|
+
charRef.current.innerText = prevChar;
|
|
509
|
+
resolve(key);
|
|
510
|
+
} else {
|
|
511
|
+
resolve(null);
|
|
810
512
|
}
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return
|
|
816
|
-
|
|
817
|
-
};
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
513
|
+
}, 1);
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
if (!charObj || i === innerValue.length - 1) return false;
|
|
517
|
+
if (maskAsPlaceholder && i > getLastTypedIndex() + 1) return await handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
|
|
518
|
+
disableErrors
|
|
519
|
+
});
|
|
520
|
+
const {
|
|
521
|
+
isSpecialSymbol,
|
|
522
|
+
maskChar,
|
|
523
|
+
isReadOnly
|
|
524
|
+
} = charObj;
|
|
525
|
+
if (isReadOnly) return false;
|
|
526
|
+
|
|
527
|
+
//IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
528
|
+
if (maskChar === _config.SPACE_CHAR) return await handleKeyDown(e, i + 1);
|
|
529
|
+
if (isSpecialSymbol && maskChar !== key) return false;
|
|
530
|
+
if (!isValidChar({
|
|
531
|
+
char: key,
|
|
532
|
+
i,
|
|
533
|
+
disableErrors
|
|
534
|
+
})) return false;
|
|
535
|
+
if (maskAsPlaceholder && ((_getClearInnerValueAs = getClearInnerValueAsString(i)) === null || _getClearInnerValueAs === void 0 ? void 0 : _getClearInnerValueAs.length) !== 0) {
|
|
536
|
+
const fromIndex = i + 1;
|
|
537
|
+
const text = innerValue.slice().filter((_ref11, index) => {
|
|
538
|
+
let {
|
|
539
|
+
isCharSymbol
|
|
540
|
+
} = _ref11;
|
|
541
|
+
return index >= i && !isCharSymbol;
|
|
542
|
+
}).map((_ref12, index) => {
|
|
543
|
+
let {
|
|
544
|
+
char
|
|
545
|
+
} = _ref12;
|
|
546
|
+
return char;
|
|
547
|
+
}).join('');
|
|
548
|
+
onPaste({
|
|
549
|
+
text
|
|
550
|
+
}, fromIndex, false);
|
|
551
|
+
}
|
|
552
|
+
setIsUndoValueBlocked(false);
|
|
553
|
+
updateInnerValueChar({
|
|
554
|
+
char: key
|
|
555
|
+
}, i);
|
|
556
|
+
setTimeout(() => onArrowRightDown(e, i), 1);
|
|
557
|
+
return true;
|
|
558
|
+
};
|
|
559
|
+
const handleKeyCombinations = (e, i) => {
|
|
560
|
+
const {
|
|
561
|
+
key,
|
|
562
|
+
keyCode
|
|
563
|
+
} = e;
|
|
824
564
|
switch (keyCode) {
|
|
825
565
|
//Ctrl + A
|
|
826
566
|
case 65:
|
|
827
567
|
selectAllText(e);
|
|
828
568
|
break;
|
|
829
569
|
//Ctrl + Y
|
|
830
|
-
|
|
831
570
|
case 89:
|
|
832
571
|
if (redoValue) {
|
|
833
572
|
resetInnerValue();
|
|
834
|
-
|
|
835
|
-
_onPaste({
|
|
573
|
+
onPaste({
|
|
836
574
|
text: redoValue
|
|
837
575
|
}, 0, true);
|
|
838
576
|
}
|
|
839
|
-
|
|
840
577
|
break;
|
|
841
578
|
//Ctrl + Z
|
|
842
|
-
|
|
843
579
|
case 90:
|
|
844
580
|
setRedoValue(getClearInnerValueAsString());
|
|
845
581
|
resetInnerValue();
|
|
846
|
-
|
|
847
|
-
_onPaste({
|
|
582
|
+
onPaste({
|
|
848
583
|
text: undoValue
|
|
849
584
|
}, 0, true);
|
|
850
|
-
|
|
851
585
|
break;
|
|
852
586
|
}
|
|
853
587
|
};
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
if (!(_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key))) {
|
|
887
|
-
_context2.next = 8;
|
|
888
|
-
break;
|
|
889
|
-
}
|
|
890
|
-
|
|
891
|
-
return _context2.abrupt("return", true);
|
|
892
|
-
|
|
893
|
-
case 8:
|
|
894
|
-
setError(false);
|
|
895
|
-
clearErrorMessage();
|
|
896
|
-
|
|
897
|
-
if (!(ctrlKey || altKey)) {
|
|
898
|
-
_context2.next = 13;
|
|
899
|
-
break;
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
|
|
903
|
-
return _context2.abrupt("return", true);
|
|
904
|
-
|
|
905
|
-
case 13:
|
|
906
|
-
e.preventDefault();
|
|
907
|
-
e.stopPropagation();
|
|
908
|
-
|
|
909
|
-
if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) {
|
|
910
|
-
_context2.next = 19;
|
|
911
|
-
break;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
_context2.t0 = handleServiceKeyDown(e, i);
|
|
915
|
-
_context2.next = 22;
|
|
916
|
-
break;
|
|
917
|
-
|
|
918
|
-
case 19:
|
|
919
|
-
_context2.next = 21;
|
|
920
|
-
return handleKeyDown(e, i);
|
|
921
|
-
|
|
922
|
-
case 21:
|
|
923
|
-
_context2.t0 = _context2.sent;
|
|
924
|
-
|
|
925
|
-
case 22:
|
|
926
|
-
handleResult = _context2.t0;
|
|
927
|
-
|
|
928
|
-
if (blinkErrors && !handleResult && i !== null) {
|
|
929
|
-
setBlinkError(true);
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
case 24:
|
|
933
|
-
case "end":
|
|
934
|
-
return _context2.stop();
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
}, _callee2);
|
|
938
|
-
}));
|
|
939
|
-
|
|
940
|
-
return function onKeyDown(_x3) {
|
|
941
|
-
return _ref18.apply(this, arguments);
|
|
942
|
-
};
|
|
943
|
-
}();
|
|
944
|
-
|
|
945
|
-
var onClick = function onClick(e, cb) {
|
|
946
|
-
var _ref19 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
947
|
-
_ref19$ignoreIsSelect = _ref19.ignoreIsSelecting,
|
|
948
|
-
ignoreIsSelecting = _ref19$ignoreIsSelect === void 0 ? false : _ref19$ignoreIsSelect;
|
|
949
|
-
|
|
588
|
+
const onKeyDown = async function (e) {
|
|
589
|
+
var _innerValue$0$ref;
|
|
590
|
+
let i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
591
|
+
if (!isFocused && !isSelecting) return false;
|
|
592
|
+
const {
|
|
593
|
+
key,
|
|
594
|
+
ctrlKey,
|
|
595
|
+
altKey
|
|
596
|
+
} = e;
|
|
597
|
+
const target = ((_innerValue$0$ref = innerValue[0].ref) === null || _innerValue$0$ref === void 0 ? void 0 : _innerValue$0$ref.current) || e.target;
|
|
598
|
+
onKeyDownProp({
|
|
599
|
+
...e,
|
|
600
|
+
target
|
|
601
|
+
}, i);
|
|
602
|
+
if (_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key)) return true;
|
|
603
|
+
setError(false);
|
|
604
|
+
clearErrorMessage();
|
|
605
|
+
if (ctrlKey || altKey) {
|
|
606
|
+
if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
|
|
607
|
+
return true;
|
|
608
|
+
}
|
|
609
|
+
e.preventDefault();
|
|
610
|
+
e.stopPropagation();
|
|
611
|
+
const handleResult = _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : await handleKeyDown(e, i);
|
|
612
|
+
if (blinkErrors && !handleResult && i !== null) {
|
|
613
|
+
setBlinkError(true);
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
const onClick = function (e, cb) {
|
|
617
|
+
let {
|
|
618
|
+
ignoreIsSelecting = false
|
|
619
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
950
620
|
try {
|
|
951
621
|
e.stopPropagation();
|
|
952
622
|
e.preventDefault();
|
|
953
623
|
} catch (error) {}
|
|
954
|
-
|
|
955
624
|
if (isSelecting && (selectedText.length || (0, _functions.getSelectionText)().length) && !ignoreIsSelecting) return false;
|
|
956
625
|
setFocused(true);
|
|
957
626
|
if (e.detail === 2) selectAllText(e);
|
|
958
627
|
if (typeof cb === 'function') cb(e);
|
|
959
628
|
};
|
|
960
|
-
|
|
961
|
-
var onCharClick = function onCharClick(e, i) {
|
|
629
|
+
const onCharClick = (e, i) => {
|
|
962
630
|
if (e.detail == 2) {
|
|
963
631
|
selectAllText(e);
|
|
964
632
|
return true;
|
|
965
633
|
}
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
634
|
+
const {
|
|
635
|
+
char,
|
|
636
|
+
maskChar
|
|
637
|
+
} = getCharByIndex(i);
|
|
971
638
|
if (maskAsPlaceholder && !isValidChar({
|
|
972
|
-
char
|
|
973
|
-
i
|
|
639
|
+
char,
|
|
640
|
+
i,
|
|
974
641
|
disableErrors: true
|
|
975
642
|
})) i = getLastTypedIndex();
|
|
976
643
|
setIsSelecting(false);
|
|
977
644
|
(0, _functions.resetSelectionText)();
|
|
978
|
-
setTimeout(
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
}, {
|
|
982
|
-
ignoreIsSelecting: true
|
|
983
|
-
});
|
|
984
|
-
}, 50);
|
|
645
|
+
setTimeout(() => onClick(e, () => setFocusOnChar(i, 0), {
|
|
646
|
+
ignoreIsSelecting: true
|
|
647
|
+
}), 50);
|
|
985
648
|
};
|
|
986
|
-
|
|
987
|
-
var onWrapperClick = function onWrapperClick(e) {
|
|
649
|
+
const onWrapperClick = e => {
|
|
988
650
|
e.stopPropagation();
|
|
989
651
|
e.preventDefault();
|
|
990
|
-
|
|
991
652
|
if (!isMouseDown && !isSelecting) {
|
|
992
653
|
onClick(e);
|
|
993
654
|
setFocusOnChar(getLastTypedIndex(), 0);
|
|
994
655
|
}
|
|
995
656
|
};
|
|
996
|
-
|
|
997
|
-
var onClearClick = function onClearClick(e) {
|
|
657
|
+
const onClearClick = e => {
|
|
998
658
|
e.stopPropagation();
|
|
999
659
|
e.preventDefault();
|
|
1000
660
|
resetInnerValue();
|
|
1001
661
|
onHomeDown(null, 0);
|
|
1002
662
|
};
|
|
1003
|
-
|
|
1004
|
-
var onMouseDownMove = function onMouseDownMove(e) {
|
|
663
|
+
const onMouseDownMove = e => {
|
|
1005
664
|
if (!isMouseDown) return false;
|
|
1006
665
|
setIsSelecting(true);
|
|
1007
|
-
|
|
666
|
+
const {
|
|
667
|
+
clientX
|
|
668
|
+
} = e;
|
|
1008
669
|
if (selectionStartX === null) setSelectionStartX(clientX);
|
|
1009
670
|
setSelectionEndX(clientX);
|
|
1010
671
|
};
|
|
1011
|
-
|
|
1012
|
-
var onBlur = function onBlur(e) {
|
|
672
|
+
const onBlur = e => {
|
|
1013
673
|
if (isFocused) onBlurProp();
|
|
1014
674
|
setFocused(false);
|
|
1015
675
|
};
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
var charObj = getCharByIndex(i);
|
|
676
|
+
const onFocus = (e, i) => {
|
|
677
|
+
const charObj = getCharByIndex(i);
|
|
1019
678
|
if (!charObj) return false;
|
|
1020
|
-
|
|
1021
|
-
|
|
679
|
+
const {
|
|
680
|
+
isSpecialSymbol,
|
|
681
|
+
ref
|
|
682
|
+
} = charObj;
|
|
1022
683
|
(0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
1023
|
-
|
|
1024
684
|
if ((maxEditableLen !== -1 ? i < maxEditableLen : true) && isSpecialSymbol && i < innerValue.length - 1) {
|
|
1025
|
-
|
|
1026
|
-
|
|
685
|
+
onFocus(e, i + 1);
|
|
1027
686
|
return false;
|
|
1028
687
|
}
|
|
1029
|
-
|
|
1030
688
|
if (!isFocused) onFocusProp(e);
|
|
1031
689
|
setFocused(true);
|
|
1032
690
|
};
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
var setFocusToEnd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
1038
|
-
|
|
691
|
+
const onPaste = function (e, i) {
|
|
692
|
+
var _ref13, _window, _e$clipboardData;
|
|
693
|
+
let setFocusToEnd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
1039
694
|
try {
|
|
1040
695
|
e.stopPropagation();
|
|
1041
696
|
e.preventDefault();
|
|
1042
697
|
} catch (error) {}
|
|
1043
|
-
|
|
1044
698
|
setIsSelecting(false);
|
|
1045
699
|
(0, _functions.resetSelectionText)();
|
|
1046
|
-
|
|
700
|
+
const pastedText = ((_ref13 = (e === null || e === void 0 ? void 0 : e.clipboardData) || ((_window = window) === null || _window === void 0 ? void 0 : _window.clipboardData)) === null || _ref13 === void 0 ? void 0 : _ref13.getData('text/plain')) || (e === null || e === void 0 || (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData('Text')) || e.text;
|
|
1047
701
|
if (!pastedText) return false;
|
|
1048
|
-
|
|
1049
|
-
|
|
702
|
+
const replacedIndexes = [];
|
|
1050
703
|
if (maskAsPlaceholder && (e === null || e === void 0 ? void 0 : e.type) === 'paste') {
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
704
|
+
const fromIndex = i + parseInt(pastedText === null || pastedText === void 0 ? void 0 : pastedText.length);
|
|
705
|
+
const text = innerValue.slice().filter((_ref14, index) => {
|
|
706
|
+
let {
|
|
707
|
+
isCharSymbol
|
|
708
|
+
} = _ref14;
|
|
1054
709
|
return index >= i && !isCharSymbol;
|
|
1055
|
-
}).map(
|
|
1056
|
-
|
|
710
|
+
}).map((_ref15, index) => {
|
|
711
|
+
let {
|
|
712
|
+
char
|
|
713
|
+
} = _ref15;
|
|
1057
714
|
return char;
|
|
1058
715
|
}).join('');
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
text: text
|
|
716
|
+
onPaste({
|
|
717
|
+
text
|
|
1062
718
|
}, fromIndex, false);
|
|
1063
719
|
}
|
|
720
|
+
pastedText.split('').filter(char => (0, _functions.isDigit)(char) || (0, _functions.isLetter)(char)).map((pastedChar, offset) => {
|
|
721
|
+
const charIndex = i + offset;
|
|
722
|
+
let isReplaced = false;
|
|
723
|
+
let isValid = false;
|
|
724
|
+
for (let index = charIndex; index < innerValue.length && !isReplaced; ++index) {
|
|
725
|
+
const charObj = getCharByIndex(index);
|
|
726
|
+
if (!charObj) continue;
|
|
727
|
+
const {
|
|
728
|
+
char,
|
|
729
|
+
maskChar,
|
|
730
|
+
isSpecialSymbol
|
|
731
|
+
} = charObj;
|
|
1064
732
|
|
|
1065
|
-
|
|
1066
|
-
return (0, _functions.isDigit)(char) || (0, _functions.isLetter)(char);
|
|
1067
|
-
}).map(function (pastedChar, offset) {
|
|
1068
|
-
var charIndex = i + offset;
|
|
1069
|
-
var isReplaced = false;
|
|
1070
|
-
var isValid = false;
|
|
1071
|
-
|
|
1072
|
-
var _loop = function _loop(index) {
|
|
1073
|
-
var charObj = getCharByIndex(index);
|
|
1074
|
-
if (!charObj) return "continue";
|
|
1075
|
-
var char = charObj.char,
|
|
1076
|
-
maskChar = charObj.maskChar,
|
|
1077
|
-
isSpecialSymbol = charObj.isSpecialSymbol; // If Char Is Valid
|
|
1078
|
-
|
|
733
|
+
// If Char Is Valid
|
|
1079
734
|
if (!isValidChar({
|
|
1080
735
|
char: pastedChar,
|
|
1081
736
|
i: index,
|
|
1082
737
|
disableErrors: true
|
|
1083
|
-
}))
|
|
738
|
+
})) continue;
|
|
1084
739
|
|
|
1085
|
-
|
|
740
|
+
// If Char Already Replaced
|
|
741
|
+
if (replacedIndexes.includes(index)) continue;
|
|
1086
742
|
isReplaced = true;
|
|
1087
743
|
isValid = true;
|
|
1088
744
|
replacedIndexes.push(index);
|
|
1089
|
-
|
|
1090
745
|
if (imitateTypingOnPaste) {
|
|
1091
|
-
setTimeout(
|
|
746
|
+
setTimeout(() => {
|
|
1092
747
|
updateInnerValueChar({
|
|
1093
748
|
char: pastedChar
|
|
1094
749
|
}, index);
|
|
@@ -1098,69 +753,52 @@ function InputMask() {
|
|
|
1098
753
|
char: pastedChar
|
|
1099
754
|
}, index);
|
|
1100
755
|
}
|
|
1101
|
-
};
|
|
1102
|
-
|
|
1103
|
-
for (var index = charIndex; index < innerValue.length && !isReplaced; ++index) {
|
|
1104
|
-
var _ret = _loop(index);
|
|
1105
|
-
|
|
1106
|
-
if (_ret === "continue") continue;
|
|
1107
756
|
}
|
|
1108
|
-
|
|
1109
757
|
return {
|
|
1110
758
|
char: pastedChar,
|
|
1111
|
-
isValid
|
|
759
|
+
isValid
|
|
1112
760
|
};
|
|
1113
761
|
});
|
|
1114
|
-
|
|
1115
|
-
var _replacedIndexes$reve = replacedIndexes.reverse(),
|
|
1116
|
-
_replacedIndexes$reve2 = (0, _slicedToArray2.default)(_replacedIndexes$reve, 1),
|
|
1117
|
-
lastCharIndex = _replacedIndexes$reve2[0];
|
|
1118
|
-
|
|
762
|
+
const [lastCharIndex] = replacedIndexes.reverse();
|
|
1119
763
|
if (setFocusToEnd) setFocusOnChar(lastCharIndex + 1, i);
|
|
1120
764
|
return lastCharIndex;
|
|
1121
765
|
};
|
|
1122
|
-
|
|
1123
|
-
var _onCopy = function onCopy(e, i) {
|
|
766
|
+
const onCopy = (e, i) => {
|
|
1124
767
|
try {
|
|
1125
768
|
e.stopPropagation();
|
|
1126
769
|
e.preventDefault();
|
|
1127
770
|
} catch (error) {}
|
|
1128
|
-
|
|
1129
771
|
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
1130
772
|
};
|
|
1131
|
-
|
|
1132
|
-
var _onCut = function onCut(e, i) {
|
|
773
|
+
const onCut = (e, i) => {
|
|
1133
774
|
if (!isUndoValueBlocked) {
|
|
1134
775
|
setUndoValue(getClearInnerValueAsString());
|
|
1135
776
|
setIsUndoValueBlocked(true);
|
|
1136
777
|
}
|
|
1137
|
-
|
|
1138
778
|
try {
|
|
1139
779
|
e.stopPropagation();
|
|
1140
780
|
e.preventDefault();
|
|
1141
781
|
} catch (error) {}
|
|
1142
|
-
|
|
1143
782
|
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
1144
783
|
deleteSelectedText();
|
|
1145
784
|
setIsSelecting(false);
|
|
1146
785
|
setFocusOnChar(i, 0);
|
|
1147
|
-
};
|
|
1148
|
-
//
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
var cancelDefaultAction = function cancelDefaultAction(e, cb) {
|
|
1152
|
-
var key = e.key;
|
|
786
|
+
};
|
|
787
|
+
// GENERAL EVENT HANDLERS | END //
|
|
1153
788
|
|
|
789
|
+
// FUNCTIONS | START //
|
|
790
|
+
const cancelDefaultAction = (e, cb) => {
|
|
791
|
+
const {
|
|
792
|
+
key
|
|
793
|
+
} = e;
|
|
1154
794
|
if (!_config.EXCLUDED_KEYS.includes(key) && _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) {
|
|
1155
795
|
e.preventDefault();
|
|
1156
796
|
e.stopPropagation();
|
|
1157
797
|
}
|
|
1158
|
-
|
|
1159
798
|
if (typeof cb === 'function') cb(e);
|
|
1160
799
|
return false;
|
|
1161
800
|
};
|
|
1162
|
-
|
|
1163
|
-
var selectAllText = function selectAllText(e) {
|
|
801
|
+
const selectAllText = e => {
|
|
1164
802
|
e.preventDefault();
|
|
1165
803
|
e.stopPropagation();
|
|
1166
804
|
setIsSelecting(true);
|
|
@@ -1169,63 +807,57 @@ function InputMask() {
|
|
|
1169
807
|
(0, _functions.selectElementContents)(inputRef.current);
|
|
1170
808
|
setSelectedText((0, _functions.getSelectionText)());
|
|
1171
809
|
};
|
|
1172
|
-
|
|
1173
|
-
var deleteSelectedText = function deleteSelectedText() {
|
|
810
|
+
const deleteSelectedText = () => {
|
|
1174
811
|
var _getClearInnerValueAs2;
|
|
1175
|
-
|
|
1176
|
-
var selStartInd = getSelectStartIndex();
|
|
812
|
+
const selStartInd = getSelectStartIndex();
|
|
1177
813
|
if (selStartInd === null || selStartInd === undefined) return false;
|
|
1178
|
-
|
|
814
|
+
const selEndInd = (0, _functions.getSelectionText)().length + selStartInd;
|
|
1179
815
|
(0, _functions.resetSelectionText)();
|
|
1180
|
-
|
|
1181
816
|
if (maskAsPlaceholder && ((_getClearInnerValueAs2 = getClearInnerValueAsString(selEndInd + 1)) === null || _getClearInnerValueAs2 === void 0 ? void 0 : _getClearInnerValueAs2.length) !== 0) {
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
817
|
+
const text = innerValue.slice().filter((_ref16, index) => {
|
|
818
|
+
let {
|
|
819
|
+
isSpecialSymbol,
|
|
820
|
+
isCharSymbol
|
|
821
|
+
} = _ref16;
|
|
1185
822
|
if (maxEditableLen !== -1 && index > maxEditableLen - 1) return false;
|
|
1186
823
|
return (index < selStartInd || index >= selEndInd) && !isSpecialSymbol && !isCharSymbol;
|
|
1187
|
-
}).map(
|
|
1188
|
-
|
|
824
|
+
}).map((_ref17, index) => {
|
|
825
|
+
let {
|
|
826
|
+
char
|
|
827
|
+
} = _ref17;
|
|
1189
828
|
return char;
|
|
1190
829
|
}).join('');
|
|
1191
830
|
resetInnerValue();
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
text: text
|
|
831
|
+
onPaste({
|
|
832
|
+
text
|
|
1195
833
|
}, 0, false);
|
|
1196
|
-
|
|
1197
834
|
setFocusOnChar(selStartInd);
|
|
1198
835
|
} else {
|
|
1199
|
-
for (
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
}, index);
|
|
1203
|
-
}
|
|
836
|
+
for (let index = selStartInd; index < selEndInd; ++index) updateInnerValueChar({
|
|
837
|
+
char: ''
|
|
838
|
+
}, index);
|
|
1204
839
|
}
|
|
1205
|
-
|
|
1206
840
|
setFocusOnChar(selStartInd, -1);
|
|
1207
841
|
return true;
|
|
1208
|
-
};
|
|
842
|
+
};
|
|
843
|
+
// FUNCTIONS | END //
|
|
844
|
+
|
|
1209
845
|
///--- OBSERVERS ---///
|
|
1210
846
|
// Input Throttling
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
}, inputThrottlingTimeout);
|
|
1217
|
-
}, [isInputThrottled]); //Render Mask
|
|
1218
|
-
|
|
1219
|
-
(0, _react.useEffect)(function () {
|
|
847
|
+
(0, _react.useEffect)(() => {
|
|
848
|
+
if (isInputThrottled) setTimeout(() => setIsInputThrottled(false), inputThrottlingTimeout);
|
|
849
|
+
}, [isInputThrottled]);
|
|
850
|
+
//Render Mask
|
|
851
|
+
(0, _react.useEffect)(() => {
|
|
1220
852
|
setInnerValue([]);
|
|
1221
853
|
setMaskRendered(false);
|
|
1222
854
|
if (!maskPattern) maskPattern = '';
|
|
1223
|
-
maskPattern.concat(' ').split('').map(
|
|
855
|
+
maskPattern.concat(' ').split('').map((char, id, i) => {
|
|
1224
856
|
addInnerValueChar({
|
|
1225
|
-
char
|
|
1226
|
-
i
|
|
857
|
+
char,
|
|
858
|
+
i,
|
|
1227
859
|
data: {
|
|
1228
|
-
id
|
|
860
|
+
id,
|
|
1229
861
|
isReadOnly: id === maskPattern.length
|
|
1230
862
|
}
|
|
1231
863
|
});
|
|
@@ -1235,115 +867,113 @@ function InputMask() {
|
|
|
1235
867
|
});
|
|
1236
868
|
setMaskRendered(true);
|
|
1237
869
|
}, [maskPattern]);
|
|
1238
|
-
(0, _react.useEffect)(
|
|
870
|
+
(0, _react.useEffect)(() => {
|
|
1239
871
|
if (value !== getClearInnerValueAsString()) setIsInitValue(false);
|
|
1240
872
|
}, [value]);
|
|
1241
|
-
(0, _react.useEffect)(
|
|
873
|
+
(0, _react.useEffect)(() => {
|
|
1242
874
|
if (isMaskRendered && !isInitValue && value !== getClearInnerValueAsString()) {
|
|
1243
875
|
if (value && value !== '') {
|
|
1244
|
-
|
|
1245
|
-
innerValue.map(
|
|
876
|
+
let valueCharIndex = 0;
|
|
877
|
+
innerValue.map((_ref18, i) => {
|
|
1246
878
|
var _maskPattern;
|
|
1247
|
-
|
|
1248
|
-
|
|
879
|
+
let {
|
|
880
|
+
isSpecialSymbol
|
|
881
|
+
} = _ref18;
|
|
1249
882
|
if (isSpecialSymbol) return false;
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
883
|
+
let char = value[valueCharIndex];
|
|
884
|
+
let whileLimit = ((_maskPattern = maskPattern) === null || _maskPattern === void 0 ? void 0 : _maskPattern.length) || 0;
|
|
1253
885
|
while (whileLimit && isSpecialSymbolChar({
|
|
1254
886
|
char: value[valueCharIndex]
|
|
1255
887
|
})) {
|
|
1256
888
|
whileLimit--;
|
|
1257
889
|
char = value[++valueCharIndex];
|
|
1258
|
-
}
|
|
1259
|
-
|
|
890
|
+
}
|
|
1260
891
|
|
|
892
|
+
//If Valid
|
|
1261
893
|
if (isValidChar({
|
|
1262
|
-
char
|
|
1263
|
-
i
|
|
894
|
+
char,
|
|
895
|
+
i,
|
|
1264
896
|
disableErrors: true
|
|
1265
897
|
})) {
|
|
1266
898
|
updateInnerValueChar({
|
|
1267
|
-
char
|
|
899
|
+
char
|
|
1268
900
|
}, i);
|
|
1269
901
|
}
|
|
1270
|
-
|
|
1271
902
|
++valueCharIndex;
|
|
1272
903
|
});
|
|
1273
904
|
}
|
|
1274
|
-
|
|
1275
905
|
setIsInitValue(true);
|
|
1276
906
|
}
|
|
1277
907
|
}, [isMaskRendered, value, isInitValue]);
|
|
1278
|
-
(0, _react.useEffect)(
|
|
908
|
+
(0, _react.useEffect)(() => {
|
|
1279
909
|
if (isInitValue) setUndoValue(getClearInnerValueAsString());
|
|
1280
|
-
}, [isInitValue]);
|
|
910
|
+
}, [isInitValue]);
|
|
1281
911
|
|
|
1282
|
-
|
|
912
|
+
// Focus Observer
|
|
913
|
+
(0, _react.useEffect)(() => {
|
|
1283
914
|
if (!isFocused) setSelectedText('');
|
|
1284
|
-
}, [isFocused]);
|
|
915
|
+
}, [isFocused]);
|
|
1285
916
|
|
|
1286
|
-
|
|
917
|
+
// Default Focused
|
|
918
|
+
(0, _react.useEffect)(() => {
|
|
1287
919
|
if (isFocusedDefault && isMaskRendered) setFocusOnChar(0, -1);
|
|
1288
|
-
}, [isFocusedDefault, isMaskRendered]);
|
|
920
|
+
}, [isFocusedDefault, isMaskRendered]);
|
|
1289
921
|
|
|
1290
|
-
|
|
922
|
+
// OnChange Observer
|
|
923
|
+
(0, _react.useEffect)(() => {
|
|
1291
924
|
if (isMaskRendered && isFocused) {
|
|
1292
925
|
setError(false);
|
|
1293
926
|
clearErrorMessage();
|
|
1294
|
-
|
|
927
|
+
const values = [getClearInnerValueAsString(), getInnerValueAsString({
|
|
1295
928
|
replaceSpace: true
|
|
1296
929
|
})];
|
|
1297
930
|
if (returnMaskedValue) values.reverse();
|
|
1298
|
-
onChangeProp
|
|
931
|
+
onChangeProp(...values);
|
|
1299
932
|
}
|
|
1300
|
-
}, [innerValue, isMaskRendered]);
|
|
933
|
+
}, [innerValue, isMaskRendered]);
|
|
1301
934
|
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
}, blinkDuration);
|
|
935
|
+
// Blink Error
|
|
936
|
+
(0, _react.useEffect)(() => {
|
|
937
|
+
if (blinkError) setTimeout(() => setBlinkError(false), blinkDuration);
|
|
1306
938
|
}, [blinkError]);
|
|
1307
|
-
(0, _react.useEffect)(
|
|
939
|
+
(0, _react.useEffect)(() => {
|
|
1308
940
|
if (!isSelecting) {
|
|
1309
941
|
setSelectedText('');
|
|
1310
942
|
(0, _functions.resetSelectionText)();
|
|
1311
943
|
setSelectionStartX(null);
|
|
1312
944
|
setSelectionEndX(null);
|
|
1313
945
|
}
|
|
1314
|
-
|
|
1315
946
|
if (!isMouseDown && isSelecting) {
|
|
1316
|
-
document.addEventListener('keydown',
|
|
1317
|
-
return pushServiceWatcher(function () {
|
|
1318
|
-
return _onKeyDown(e);
|
|
1319
|
-
});
|
|
1320
|
-
}, {
|
|
947
|
+
document.addEventListener('keydown', e => pushServiceWatcher(() => onKeyDown(e)), {
|
|
1321
948
|
once: true
|
|
1322
949
|
});
|
|
1323
950
|
}
|
|
1324
|
-
|
|
1325
951
|
if (!isMouseDown && isSelecting && !(0, _functions.getSelectionText)().length) setIsSelecting(false);
|
|
1326
952
|
}, [isSelecting, isMouseDown]);
|
|
1327
|
-
(0, _react.useEffect)(
|
|
1328
|
-
document.addEventListener('mouseup',
|
|
1329
|
-
setIsMouseDown(
|
|
953
|
+
(0, _react.useEffect)(() => {
|
|
954
|
+
document.addEventListener('mouseup', () => {
|
|
955
|
+
setIsMouseDown(isMouseDown => {
|
|
1330
956
|
if (isMouseDown) setSelectedText((0, _functions.getSelectionText)());
|
|
1331
957
|
return false;
|
|
1332
958
|
});
|
|
1333
959
|
});
|
|
1334
960
|
}, []);
|
|
1335
|
-
(0, _react.useEffect)(
|
|
961
|
+
(0, _react.useEffect)(() => {
|
|
1336
962
|
setError(customError !== '');
|
|
1337
963
|
setErrorMessage(customError === '' ? errors.default : customError);
|
|
1338
|
-
}, [customError, isError]);
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
964
|
+
}, [customError, isError]);
|
|
965
|
+
|
|
966
|
+
///--- RENDER ---///
|
|
967
|
+
|
|
968
|
+
const renderChar = function (obj, i) {
|
|
969
|
+
let className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
970
|
+
const {
|
|
971
|
+
char,
|
|
972
|
+
ref,
|
|
973
|
+
maskChar,
|
|
974
|
+
isSpecialSymbol
|
|
975
|
+
} = obj;
|
|
976
|
+
const prevChar = getCharByIndex(i - 1);
|
|
1347
977
|
if (i === innerValue.length - 1 && isSelecting) return /*#__PURE__*/_react.default.createElement("span", {
|
|
1348
978
|
style: {
|
|
1349
979
|
width: '1px'
|
|
@@ -1354,84 +984,52 @@ function InputMask() {
|
|
|
1354
984
|
key: i,
|
|
1355
985
|
"attr-char-id": i,
|
|
1356
986
|
className: "\n input-mask_value_item\n ".concat(className, "\n ").concat((0, _functions.isDigitMaskChar)(obj.maskChar) ? 'input-mask_value_item--digit' : '', "\n ").concat((0, _functions.isLetterMaskChar)(obj.maskChar) ? 'input-mask_value_item--letter' : '', "\n ").concat(obj.isSpecialSymbol ? 'input-mask_value_item--spec' : '', "\n "),
|
|
1357
|
-
onClick:
|
|
1358
|
-
|
|
1359
|
-
},
|
|
1360
|
-
onFocus: function onFocus() {
|
|
987
|
+
onClick: e => onCharClick(e, i),
|
|
988
|
+
onFocus: function () {
|
|
1361
989
|
// if (isUseAutoSelect) inputRef?.current?.select();
|
|
1362
|
-
if (
|
|
990
|
+
if (onFocus) onFocus(...arguments);
|
|
1363
991
|
},
|
|
1364
992
|
onBlur: onBlur,
|
|
1365
993
|
onKeyPress: cancelDefaultAction,
|
|
1366
|
-
onKeyDown:
|
|
1367
|
-
return _onKeyDown(e, i);
|
|
1368
|
-
},
|
|
994
|
+
onKeyDown: e => onKeyDown(e, i),
|
|
1369
995
|
onChange: cancelDefaultAction,
|
|
1370
996
|
contentEditable: !isSelecting,
|
|
1371
997
|
inputMode: (0, _functions.isDigitMaskChar)(i !== innerValue.length - 1 ? maskChar : prevChar === null || prevChar === void 0 ? void 0 : prevChar.maskChar) ? 'numeric' : 'text',
|
|
1372
998
|
suppressContentEditableWarning: true,
|
|
1373
|
-
onPaste:
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
onCopy: function onCopy(e) {
|
|
1377
|
-
return _onCopy(e, i);
|
|
1378
|
-
},
|
|
1379
|
-
onCut: function onCut(e) {
|
|
1380
|
-
return _onCut(e, i);
|
|
1381
|
-
},
|
|
999
|
+
onPaste: e => onPaste(e, i),
|
|
1000
|
+
onCopy: e => onCopy(e, i),
|
|
1001
|
+
onCut: e => onCut(e, i),
|
|
1382
1002
|
ref: ref,
|
|
1383
|
-
onDoubleClick:
|
|
1003
|
+
onDoubleClick: e => {
|
|
1384
1004
|
e.stopPropagation();
|
|
1385
1005
|
e.preventDefault();
|
|
1386
1006
|
setIsSelecting(true);
|
|
1387
|
-
setTimeout(
|
|
1388
|
-
return selectAllText(e, i);
|
|
1389
|
-
}, 50);
|
|
1007
|
+
setTimeout(() => selectAllText(e, i), 50);
|
|
1390
1008
|
},
|
|
1391
|
-
onMouseDown:
|
|
1392
|
-
|
|
1393
|
-
return setIsMouseDown(true);
|
|
1394
|
-
});
|
|
1395
|
-
},
|
|
1396
|
-
onMouseMove: function onMouseMove(e) {
|
|
1397
|
-
return cancelDefaultAction(e, onMouseDownMove);
|
|
1398
|
-
}
|
|
1009
|
+
onMouseDown: e => cancelDefaultAction(e, () => setIsMouseDown(true)),
|
|
1010
|
+
onMouseMove: e => cancelDefaultAction(e, onMouseDownMove)
|
|
1399
1011
|
}, !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === '' ? getPlaceholderCharByIndex(i) : char);
|
|
1400
1012
|
};
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
var renderSpecialChar = function renderSpecialChar(obj, i) {
|
|
1411
|
-
return renderChar(obj, i, 'input-mask_value_item_spec-char');
|
|
1412
|
-
};
|
|
1413
|
-
|
|
1414
|
-
var renderInputValue = function renderInputValue() {
|
|
1415
|
-
return innerValue.map(function (obj, i) {
|
|
1416
|
-
var char = obj.char,
|
|
1417
|
-
isSpecialSymbol = obj.isSpecialSymbol;
|
|
1418
|
-
|
|
1013
|
+
const renderMaskChar = (obj, i) => renderChar(obj, i, 'input-mask_value_item_mask-char');
|
|
1014
|
+
const renderValueChar = (obj, i) => renderChar(obj, i, 'input-mask_value_item_value-char');
|
|
1015
|
+
const renderSpecialChar = (obj, i) => renderChar(obj, i, 'input-mask_value_item_spec-char');
|
|
1016
|
+
const renderInputValue = () => {
|
|
1017
|
+
return innerValue.map((obj, i) => {
|
|
1018
|
+
const {
|
|
1019
|
+
char,
|
|
1020
|
+
isSpecialSymbol
|
|
1021
|
+
} = obj;
|
|
1419
1022
|
if (isSpecialSymbol) {
|
|
1420
1023
|
return renderSpecialChar(obj, i);
|
|
1421
1024
|
}
|
|
1422
|
-
|
|
1423
|
-
var isMaskItem = function () {
|
|
1424
|
-
return char === '';
|
|
1425
|
-
}();
|
|
1426
|
-
|
|
1025
|
+
const isMaskItem = (() => char === '')();
|
|
1427
1026
|
return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
|
|
1428
1027
|
});
|
|
1429
1028
|
};
|
|
1430
|
-
|
|
1431
|
-
var render = function render() {
|
|
1029
|
+
const render = () => {
|
|
1432
1030
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
1433
1031
|
className: (0, _classnames.default)('input-mask_wrapper', className, {
|
|
1434
|
-
disabled
|
|
1032
|
+
disabled
|
|
1435
1033
|
}, {
|
|
1436
1034
|
'input-mask_error': isError
|
|
1437
1035
|
}, {
|
|
@@ -1444,14 +1042,9 @@ function InputMask() {
|
|
|
1444
1042
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
1445
1043
|
className: "\n input-mask\n ".concat(isError ? 'input-mask_error' : '', "\n ").concat(isFocused ? 'input-mask_focus' : '', "\n ").concat(blinkError ? 'input-mask_blink-error' : '', "\n "),
|
|
1446
1044
|
"data-testid": testId,
|
|
1447
|
-
onMouseDown:
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
});
|
|
1451
|
-
},
|
|
1452
|
-
onMouseMove: function onMouseMove(e) {
|
|
1453
|
-
return cancelDefaultAction(e, onMouseDownMove);
|
|
1454
|
-
} // onMouseUp={cancelDefaultAction}
|
|
1045
|
+
onMouseDown: e => cancelDefaultAction(e, () => setIsMouseDown(true)),
|
|
1046
|
+
onMouseMove: e => cancelDefaultAction(e, onMouseDownMove)
|
|
1047
|
+
// onMouseUp={cancelDefaultAction}
|
|
1455
1048
|
,
|
|
1456
1049
|
onClick: onWrapperClick,
|
|
1457
1050
|
onBlur: onBlur
|
|
@@ -1467,9 +1060,7 @@ function InputMask() {
|
|
|
1467
1060
|
className: "input-mask_value",
|
|
1468
1061
|
ref: inputRef,
|
|
1469
1062
|
onKeyUp: cancelDefaultAction,
|
|
1470
|
-
onKeyDown:
|
|
1471
|
-
return cancelDefaultAction(e, _onKeyDown);
|
|
1472
|
-
},
|
|
1063
|
+
onKeyDown: e => cancelDefaultAction(e, onKeyDown),
|
|
1473
1064
|
onKeyPress: cancelDefaultAction,
|
|
1474
1065
|
onBlur: onBlur,
|
|
1475
1066
|
onClick: onWrapperClick
|
|
@@ -1489,6 +1080,5 @@ function InputMask() {
|
|
|
1489
1080
|
className: "input-mask_error-text"
|
|
1490
1081
|
}, errorMessage));
|
|
1491
1082
|
};
|
|
1492
|
-
|
|
1493
1083
|
return render();
|
|
1494
1084
|
}
|