intelicoreact 1.4.76 → 1.4.78
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 +9 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +23 -4
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -19
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +60 -25
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +19 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +39 -13
- package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
- package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +8 -3
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +26 -11
- package/dist/Atomic/UI/TagList/TagList.js +52 -21
- package/dist/Atomic/UI/TagList/TagList.scss +3 -2
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
- package/dist/Atomic/UI/WizardStepper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
- package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +39 -16
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/fieldValueFormatters.js +83 -43
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +13 -7
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMediaQuery.js +9 -3
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +131 -56
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
|
@@ -1,37 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = InputMask;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
10
14
|
var _reactFeather = require("react-feather");
|
|
15
|
+
|
|
11
16
|
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
17
|
+
|
|
12
18
|
var _indexConstants = require("./../../../Constants/index.constants.js");
|
|
19
|
+
|
|
13
20
|
var _InputCarretPosition = require("./InputCarretPosition");
|
|
21
|
+
|
|
14
22
|
var _config = require("./config");
|
|
23
|
+
|
|
15
24
|
var _functions = require("./functions");
|
|
25
|
+
|
|
16
26
|
require("./InputMask.scss");
|
|
17
|
-
|
|
18
|
-
function
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
19
32
|
/* eslint-disable no-return-await */
|
|
33
|
+
|
|
20
34
|
/* eslint-disable no-extra-boolean-cast */
|
|
35
|
+
|
|
21
36
|
/* eslint-disable no-unsafe-optional-chaining */
|
|
37
|
+
|
|
22
38
|
/* eslint-disable comma-dangle */
|
|
39
|
+
|
|
23
40
|
/* eslint-disable array-callback-return */
|
|
41
|
+
|
|
24
42
|
/* eslint-disable no-continue */
|
|
43
|
+
|
|
25
44
|
/* eslint-disable no-unused-expressions */
|
|
45
|
+
|
|
26
46
|
/* eslint-disable no-empty */
|
|
47
|
+
|
|
27
48
|
/* eslint-disable no-unreachable */
|
|
49
|
+
|
|
28
50
|
/* eslint-disable default-case */
|
|
51
|
+
|
|
29
52
|
/* eslint-disable no-use-before-define */
|
|
53
|
+
|
|
30
54
|
/* eslint-disable no-unused-vars */
|
|
31
|
-
/* eslint-disable default-param-last */
|
|
32
55
|
|
|
56
|
+
/* eslint-disable default-param-last */
|
|
33
57
|
// import { KEYBOARD_SERVICE_KEYS } from './index.constants.js';
|
|
34
|
-
|
|
35
58
|
function InputMask() {
|
|
36
59
|
let {
|
|
37
60
|
maskPattern,
|
|
@@ -77,8 +100,7 @@ function InputMask() {
|
|
|
77
100
|
name,
|
|
78
101
|
testId
|
|
79
102
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
80
|
-
const errors = {
|
|
81
|
-
..._config.DEFAULT_ERRORS,
|
|
103
|
+
const errors = { ..._config.DEFAULT_ERRORS,
|
|
82
104
|
...customErrors
|
|
83
105
|
};
|
|
84
106
|
const [isMaskRendered, setMaskRendered] = (0, _react.useState)(false);
|
|
@@ -87,46 +109,49 @@ function InputMask() {
|
|
|
87
109
|
const [isFocused, setFocused] = (0, _react.useState)(false);
|
|
88
110
|
const [isInitValue, setIsInitValue] = (0, _react.useState)(false);
|
|
89
111
|
const inputThrottlingTimeout = 20;
|
|
90
|
-
const [isInputThrottled, setIsInputThrottled] = (0, _react.useState)(false);
|
|
112
|
+
const [isInputThrottled, setIsInputThrottled] = (0, _react.useState)(false); // ERRORS MANAGEMENT FUNCTIONS | START //
|
|
91
113
|
|
|
92
|
-
// ERRORS MANAGEMENT FUNCTIONS | START //
|
|
93
114
|
const [isError, setError] = (0, _react.useState)(false);
|
|
94
115
|
const [blinkError, setBlinkError] = (0, _react.useState)(false);
|
|
95
116
|
const [errorMessage, setErrorMessage] = (0, _react.useState)(errors.default);
|
|
96
|
-
const clearErrorMessage = () => setErrorMessage(errors.default);
|
|
97
|
-
// ERRORS MANAGEMENT FUNCTIONS | END //
|
|
98
117
|
|
|
118
|
+
const clearErrorMessage = () => setErrorMessage(errors.default); // ERRORS MANAGEMENT FUNCTIONS | END //
|
|
99
119
|
// SELECTION MANAGEMENT FUNCTIONS | START //
|
|
120
|
+
|
|
121
|
+
|
|
100
122
|
const [isSelecting, setIsSelecting] = (0, _react.useState)(false);
|
|
101
123
|
const [selectedText, setSelectedText] = (0, _react.useState)("");
|
|
102
124
|
const [selectionStartX, setSelectionStartX] = (0, _react.useState)(null);
|
|
103
|
-
const [selectionEndX, setSelectionEndX] = (0, _react.useState)(null);
|
|
104
|
-
// SELECTION MANAGEMENT FUNCTIONS | END //
|
|
105
|
-
|
|
125
|
+
const [selectionEndX, setSelectionEndX] = (0, _react.useState)(null); // SELECTION MANAGEMENT FUNCTIONS | END //
|
|
106
126
|
// SERVICE WATCHERS MANAGEMENT FUNCTIONS | START //
|
|
127
|
+
|
|
107
128
|
const [serviceWatchers, setServiceWatchers] = (0, _react.useState)([]);
|
|
129
|
+
|
|
108
130
|
const pushServiceWatcher = fn => setServiceWatchers(state => [...state, {
|
|
109
131
|
fn,
|
|
110
132
|
dt: Date.now()
|
|
111
133
|
}]);
|
|
134
|
+
|
|
112
135
|
const popServiceWatcher = () => {
|
|
113
136
|
const [poped, ...rest] = serviceWatchers;
|
|
114
137
|
setServiceWatchers(rest);
|
|
115
138
|
return poped.fn || _functions.voidFn;
|
|
116
139
|
};
|
|
140
|
+
|
|
117
141
|
const serviceWatchersWorker = () => {
|
|
118
142
|
popServiceWatcher()();
|
|
119
143
|
};
|
|
144
|
+
|
|
120
145
|
(0, _react.useEffect)(() => {
|
|
121
146
|
if (serviceWatchers.length) serviceWatchersWorker();
|
|
122
|
-
}, [serviceWatchers]);
|
|
123
|
-
// SERVICE WATCHERS MANAGEMENT FUNCTIONS | END //
|
|
124
|
-
|
|
147
|
+
}, [serviceWatchers]); // SERVICE WATCHERS MANAGEMENT FUNCTIONS | END //
|
|
125
148
|
// INNER VALUE MANAGEMENT FUNCTIONS | START //
|
|
149
|
+
|
|
126
150
|
const [innerValue, setInnerValue] = (0, _react.useState)([]);
|
|
127
151
|
const [undoValue, setUndoValue] = (0, _react.useState)("");
|
|
128
152
|
const [redoValue, setRedoValue] = (0, _react.useState)(null);
|
|
129
153
|
const [isUndoValueBlocked, setIsUndoValueBlocked] = (0, _react.useState)(false);
|
|
154
|
+
|
|
130
155
|
const addInnerValueChar = _ref => {
|
|
131
156
|
let {
|
|
132
157
|
char,
|
|
@@ -140,6 +165,7 @@ function InputMask() {
|
|
|
140
165
|
return stateCopy;
|
|
141
166
|
});
|
|
142
167
|
};
|
|
168
|
+
|
|
143
169
|
const updateInnerValueChar = function () {
|
|
144
170
|
let {
|
|
145
171
|
char = null
|
|
@@ -152,14 +178,15 @@ function InputMask() {
|
|
|
152
178
|
return stateCopy;
|
|
153
179
|
});
|
|
154
180
|
};
|
|
181
|
+
|
|
155
182
|
const resetInnerValue = () => {
|
|
156
183
|
innerValue.map((v, i) => updateInnerValueChar({
|
|
157
184
|
char: ""
|
|
158
185
|
}, i));
|
|
159
|
-
};
|
|
160
|
-
// INNER VALUE MANAGEMENT FUNCTIONS | END //
|
|
161
|
-
|
|
186
|
+
}; // INNER VALUE MANAGEMENT FUNCTIONS | END //
|
|
162
187
|
// CHECKERS | START //
|
|
188
|
+
|
|
189
|
+
|
|
163
190
|
const isValidChar = _ref2 => {
|
|
164
191
|
let {
|
|
165
192
|
char: key,
|
|
@@ -167,57 +194,72 @@ function InputMask() {
|
|
|
167
194
|
disableErrors = false
|
|
168
195
|
} = _ref2;
|
|
169
196
|
const maskChar = getMaskCharByIndex(i);
|
|
197
|
+
|
|
170
198
|
switch (maskChar) {
|
|
171
199
|
case _config.DIGIT_MASK_CHAR:
|
|
172
200
|
if (!(0, _functions.isDigit)(key)) {
|
|
173
201
|
if (!disableErrors) {
|
|
174
202
|
setErrorMessage(errors.onlyDigit);
|
|
175
203
|
}
|
|
204
|
+
|
|
176
205
|
return false;
|
|
177
206
|
}
|
|
207
|
+
|
|
178
208
|
break;
|
|
209
|
+
|
|
179
210
|
case _config.UPPERCASE_LETTER_MASK_CHAR:
|
|
180
211
|
if (adaptTextCase) key = key.toUpperCase();
|
|
212
|
+
|
|
181
213
|
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
182
214
|
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
183
215
|
return false;
|
|
184
216
|
}
|
|
217
|
+
|
|
185
218
|
if (isCaseSensitive && !(0, _functions.isUpperCaseLetter)(key)) {
|
|
186
219
|
if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
|
|
187
220
|
return false;
|
|
188
221
|
}
|
|
222
|
+
|
|
189
223
|
break;
|
|
224
|
+
|
|
190
225
|
case _config.LOWERCASE_LETTER_MASK_CHAR:
|
|
191
226
|
if (adaptTextCase) key = key.toLowerCase();
|
|
227
|
+
|
|
192
228
|
if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
|
|
193
229
|
if (!disableErrors) setErrorMessage(errors.onlyLetter);
|
|
194
230
|
return false;
|
|
195
231
|
}
|
|
232
|
+
|
|
196
233
|
if (isCaseSensitive && !(0, _functions.isLowerCaseLetter)(key)) {
|
|
197
234
|
if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
|
|
198
235
|
return false;
|
|
199
236
|
}
|
|
237
|
+
|
|
200
238
|
break;
|
|
239
|
+
|
|
201
240
|
default:
|
|
202
241
|
return false;
|
|
203
242
|
}
|
|
243
|
+
|
|
204
244
|
return true;
|
|
205
245
|
};
|
|
246
|
+
|
|
206
247
|
const isSpecialSymbolMaskChar = _ref3 => {
|
|
207
248
|
let {
|
|
208
249
|
char
|
|
209
250
|
} = _ref3;
|
|
210
251
|
return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
|
|
211
252
|
};
|
|
253
|
+
|
|
212
254
|
const isSpecialSymbolChar = _ref4 => {
|
|
213
255
|
let {
|
|
214
256
|
char
|
|
215
257
|
} = _ref4;
|
|
216
258
|
return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
|
|
217
|
-
};
|
|
218
|
-
// CHECKERS | END //
|
|
219
|
-
|
|
259
|
+
}; // CHECKERS | END //
|
|
220
260
|
// GETTERS | START //
|
|
261
|
+
|
|
262
|
+
|
|
221
263
|
const getCharObj = function (char) {
|
|
222
264
|
let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
223
265
|
const isSpecialSymbol = isSpecialSymbolChar({
|
|
@@ -236,15 +278,18 @@ function InputMask() {
|
|
|
236
278
|
...data
|
|
237
279
|
};
|
|
238
280
|
};
|
|
281
|
+
|
|
239
282
|
const getCharByIndex = i => {
|
|
240
|
-
return innerValue[i] ? {
|
|
241
|
-
...innerValue[i]
|
|
283
|
+
return innerValue[i] ? { ...innerValue[i]
|
|
242
284
|
} : undefined;
|
|
243
285
|
};
|
|
286
|
+
|
|
244
287
|
const getMaskCharByIndex = i => {
|
|
245
288
|
var _innerValue$i;
|
|
289
|
+
|
|
246
290
|
return ((_innerValue$i = innerValue[i]) === null || _innerValue$i === void 0 ? void 0 : _innerValue$i.maskChar) || undefined;
|
|
247
291
|
};
|
|
292
|
+
|
|
248
293
|
const getSelectStartIndex = () => {
|
|
249
294
|
if (selectionStartX === selectionEndX) return 0;
|
|
250
295
|
const minX = selectionStartX < selectionEndX ? selectionStartX : selectionEndX;
|
|
@@ -253,6 +298,7 @@ function InputMask() {
|
|
|
253
298
|
index
|
|
254
299
|
} = innerValue.reduce((resObj, _ref5, index) => {
|
|
255
300
|
var _ref$current;
|
|
301
|
+
|
|
256
302
|
let {
|
|
257
303
|
char,
|
|
258
304
|
ref
|
|
@@ -261,10 +307,9 @@ function InputMask() {
|
|
|
261
307
|
const {
|
|
262
308
|
left: charX,
|
|
263
309
|
width: charWidth
|
|
264
|
-
} = ref === null || ref === void 0
|
|
265
|
-
const charCenterX = charX + charWidth / 2;
|
|
310
|
+
} = ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
|
|
311
|
+
const charCenterX = charX + charWidth / 2; // If Char X-Coord Out Of Range
|
|
266
312
|
|
|
267
|
-
// If Char X-Coord Out Of Range
|
|
268
313
|
if (!charX || minX > charCenterX || maxX < charCenterX) return resObj;
|
|
269
314
|
if (resObj.index === null || minX <= charCenterX && charCenterX >= maxX && charCenterX < resObj.charX) return {
|
|
270
315
|
index,
|
|
@@ -277,10 +322,12 @@ function InputMask() {
|
|
|
277
322
|
});
|
|
278
323
|
return index;
|
|
279
324
|
};
|
|
325
|
+
|
|
280
326
|
const getPlaceholderCharByIndex = i => {
|
|
281
327
|
const {
|
|
282
328
|
maskChar
|
|
283
329
|
} = getCharByIndex(i);
|
|
330
|
+
|
|
284
331
|
if (usePatternPlaceholder) {
|
|
285
332
|
return maskPatternPlaceholder[i] || maskPlaceholder;
|
|
286
333
|
} else {
|
|
@@ -289,6 +336,7 @@ function InputMask() {
|
|
|
289
336
|
return maskPlaceholder;
|
|
290
337
|
}
|
|
291
338
|
};
|
|
339
|
+
|
|
292
340
|
const getInnerValueAsString = function () {
|
|
293
341
|
let {
|
|
294
342
|
replaceSpace = false
|
|
@@ -302,6 +350,7 @@ function InputMask() {
|
|
|
302
350
|
}).join("");
|
|
303
351
|
return replaceSpace ? result === null || result === void 0 ? void 0 : result.replace(/\u00A0/g, " ") : result;
|
|
304
352
|
};
|
|
353
|
+
|
|
305
354
|
const getClearInnerValueAsString = function () {
|
|
306
355
|
let start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
307
356
|
return innerValue.filter((charObj, i) => i >= start).reduce((result, _ref7, i, arr) => {
|
|
@@ -312,9 +361,11 @@ function InputMask() {
|
|
|
312
361
|
isCharSymbol
|
|
313
362
|
} = _ref7;
|
|
314
363
|
if (char !== maskChar && char !== "" || !isSpecialSymbol || isCharSymbol) result += char; // || isCharSymbol
|
|
364
|
+
|
|
315
365
|
return result;
|
|
316
366
|
}, "");
|
|
317
367
|
};
|
|
368
|
+
|
|
318
369
|
const getLastTypedIndex = () => {
|
|
319
370
|
return innerValue.reduce((lastIndex, _ref8, i) => {
|
|
320
371
|
let {
|
|
@@ -324,12 +375,13 @@ function InputMask() {
|
|
|
324
375
|
if (!isSpecialSymbol && char !== _config.SPACE_CHAR && char !== "" || lastIndex === null) lastIndex = i;
|
|
325
376
|
return lastIndex;
|
|
326
377
|
}, -1) + 1;
|
|
327
|
-
};
|
|
328
|
-
// GETTERS | END //
|
|
329
|
-
|
|
378
|
+
}; // GETTERS | END //
|
|
330
379
|
// SETTERS | START //
|
|
380
|
+
|
|
381
|
+
|
|
331
382
|
const setFocusOnChar = (i, prevIndex) => {
|
|
332
383
|
var _ref$current2;
|
|
384
|
+
|
|
333
385
|
const charObj = getCharByIndex(i);
|
|
334
386
|
if (!charObj) return false;
|
|
335
387
|
const {
|
|
@@ -337,37 +389,44 @@ function InputMask() {
|
|
|
337
389
|
isSpecialSymbol
|
|
338
390
|
} = charObj;
|
|
339
391
|
if (!ref) return false;
|
|
392
|
+
|
|
340
393
|
if ((maxEditableLen !== -1 ? i < maxEditableLen : true) && isSpecialSymbol && i < innerValue.length - 1) {
|
|
341
394
|
return prevIndex > i ? onArrowLeftDown(null, i) : onArrowRightDown(null, i);
|
|
342
395
|
}
|
|
396
|
+
|
|
343
397
|
if (maxEditableLen !== -1 && i > maxEditableLen) {
|
|
344
398
|
setFocusOnChar(maxEditableLen, i);
|
|
345
399
|
return false;
|
|
346
400
|
}
|
|
347
|
-
|
|
401
|
+
|
|
402
|
+
(_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
|
|
348
403
|
setTimeout(() => (0, _InputCarretPosition.setCaretPosition)(ref.current, 0), 10);
|
|
349
404
|
return true;
|
|
350
|
-
};
|
|
351
|
-
// SETTERS | END //
|
|
352
|
-
|
|
405
|
+
}; // SETTERS | END //
|
|
353
406
|
///--- Event Handlers ---///
|
|
354
|
-
|
|
355
407
|
// SERVICE KEYS HANDLERS | START //
|
|
408
|
+
|
|
409
|
+
|
|
356
410
|
const onArrowLeftDown = (e, i) => setFocusOnChar(i - 1, i);
|
|
411
|
+
|
|
357
412
|
const onArrowRightDown = (e, i) => {
|
|
358
413
|
const key = (e === null || e === void 0 ? void 0 : e.key) || null;
|
|
414
|
+
|
|
359
415
|
if (maskAsPlaceholder && i > getLastTypedIndex()) {
|
|
360
416
|
return setFocusOnChar(getLastTypedIndex() + 1, i);
|
|
361
|
-
}
|
|
362
|
-
|
|
417
|
+
} // If Current Index Equals LastTyped Index in MaskAsPlaceholder Mode
|
|
418
|
+
|
|
419
|
+
|
|
363
420
|
if (maskAsPlaceholder && i === getLastTypedIndex() && key === "ArrowRight") return false;
|
|
364
421
|
return setFocusOnChar(i + 1, i);
|
|
365
422
|
};
|
|
423
|
+
|
|
366
424
|
const onBackspaceDown = (e, i) => {
|
|
367
425
|
if (!isUndoValueBlocked) {
|
|
368
426
|
setUndoValue(getClearInnerValueAsString());
|
|
369
427
|
setIsUndoValueBlocked(true);
|
|
370
428
|
}
|
|
429
|
+
|
|
371
430
|
if ((0, _functions.getSelectionText)().length) return deleteSelectedText();
|
|
372
431
|
const prevIndex = i - 1;
|
|
373
432
|
const charObj = getCharByIndex(prevIndex);
|
|
@@ -376,6 +435,7 @@ function InputMask() {
|
|
|
376
435
|
isSpecialSymbol
|
|
377
436
|
} = charObj;
|
|
378
437
|
if (isSpecialSymbol) return onBackspaceDown(e, prevIndex);
|
|
438
|
+
|
|
379
439
|
if (maskAsPlaceholder) {
|
|
380
440
|
const newText = innerValue.slice(0, prevIndex).concat(innerValue.slice(i, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce((text, _ref9) => {
|
|
381
441
|
let {
|
|
@@ -392,14 +452,17 @@ function InputMask() {
|
|
|
392
452
|
char: ""
|
|
393
453
|
}, prevIndex);
|
|
394
454
|
}
|
|
455
|
+
|
|
395
456
|
setFocusOnChar(prevIndex, i);
|
|
396
457
|
return true;
|
|
397
458
|
};
|
|
459
|
+
|
|
398
460
|
const onDeleteDown = (e, i) => {
|
|
399
461
|
if (!isUndoValueBlocked) {
|
|
400
462
|
setUndoValue(getClearInnerValueAsString());
|
|
401
463
|
setIsUndoValueBlocked(true);
|
|
402
464
|
}
|
|
465
|
+
|
|
403
466
|
if ((0, _functions.getSelectionText)().length) return deleteSelectedText();
|
|
404
467
|
const nextIndex = i + 1;
|
|
405
468
|
const charObj = getCharByIndex(i);
|
|
@@ -410,6 +473,7 @@ function InputMask() {
|
|
|
410
473
|
} = charObj;
|
|
411
474
|
if (isSpecialSymbol) return onDeleteDown(e, i + 1);
|
|
412
475
|
if (char === "") return false;
|
|
476
|
+
|
|
413
477
|
if (maskAsPlaceholder) {
|
|
414
478
|
const newText = innerValue.slice(0, i).concat(innerValue.slice(nextIndex, maxEditableLen !== -1 ? maxEditableLen : innerValue.length)).reduce((text, _ref10) => {
|
|
415
479
|
let {
|
|
@@ -428,47 +492,60 @@ function InputMask() {
|
|
|
428
492
|
}, i);
|
|
429
493
|
setFocusOnChar(nextIndex, i);
|
|
430
494
|
}
|
|
495
|
+
|
|
431
496
|
return true;
|
|
432
497
|
};
|
|
498
|
+
|
|
433
499
|
const onHomeDown = (e, i) => setFocusOnChar(0, -1);
|
|
434
|
-
const onEndDown = (e, i) => setTimeout(() => setFocusOnChar(maskAsPlaceholder ? getLastTypedIndex() : 0, 0), 10);
|
|
435
|
-
// SERVICE KEYS HANDLERS | END //
|
|
436
500
|
|
|
501
|
+
const onEndDown = (e, i) => setTimeout(() => setFocusOnChar(maskAsPlaceholder ? getLastTypedIndex() : 0, 0), 10); // SERVICE KEYS HANDLERS | END //
|
|
437
502
|
// GENERAL EVENT HANDLERS | START //
|
|
503
|
+
|
|
504
|
+
|
|
438
505
|
const handleServiceKeyDown = (e, i) => {
|
|
439
506
|
const {
|
|
440
507
|
key
|
|
441
508
|
} = e;
|
|
509
|
+
|
|
442
510
|
switch (key) {
|
|
443
511
|
case "ArrowLeft":
|
|
444
512
|
return onArrowLeftDown(e, i);
|
|
445
513
|
break;
|
|
514
|
+
|
|
446
515
|
case "ArrowRight":
|
|
447
516
|
return onArrowRightDown(e, i);
|
|
448
517
|
break;
|
|
518
|
+
|
|
449
519
|
case "Backspace":
|
|
450
520
|
return onBackspaceDown(e, i);
|
|
451
521
|
break;
|
|
522
|
+
|
|
452
523
|
case "Delete":
|
|
453
524
|
return onDeleteDown(e, i);
|
|
454
525
|
break;
|
|
526
|
+
|
|
455
527
|
case "Home":
|
|
456
528
|
return onHomeDown(e, i);
|
|
457
529
|
break;
|
|
530
|
+
|
|
458
531
|
case "End":
|
|
459
532
|
return onEndDown(e, i);
|
|
460
533
|
break;
|
|
534
|
+
|
|
461
535
|
default:
|
|
462
536
|
return true;
|
|
463
537
|
break;
|
|
464
538
|
}
|
|
465
539
|
};
|
|
540
|
+
|
|
466
541
|
const handleKeyDown = async function (e, i) {
|
|
467
542
|
var _getClearInnerValueAs;
|
|
543
|
+
|
|
468
544
|
let {
|
|
469
545
|
disableErrors = false,
|
|
470
546
|
disableIsSelectingCheck = false
|
|
471
547
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
548
|
+
|
|
472
549
|
if (isSelecting && !disableIsSelectingCheck) {
|
|
473
550
|
deleteSelectedText();
|
|
474
551
|
(0, _functions.resetSelectionText)();
|
|
@@ -479,31 +556,34 @@ function InputMask() {
|
|
|
479
556
|
}), 10);
|
|
480
557
|
return null;
|
|
481
558
|
}
|
|
559
|
+
|
|
482
560
|
try {
|
|
483
561
|
e.stopPropagation();
|
|
484
562
|
e.preventDefault();
|
|
485
563
|
} catch (e) {}
|
|
564
|
+
|
|
486
565
|
if (isInputThrottled) return false;
|
|
487
566
|
setIsInputThrottled(true);
|
|
488
567
|
let {
|
|
489
568
|
key,
|
|
490
569
|
keyCode
|
|
491
570
|
} = e;
|
|
492
|
-
const charObj = getCharByIndex(i);
|
|
493
|
-
|
|
494
|
-
// Android Text Typing FIX
|
|
571
|
+
const charObj = getCharByIndex(i); // Android Text Typing FIX
|
|
495
572
|
// eslint-disable-next-line eqeqeq
|
|
573
|
+
|
|
496
574
|
if (keyCode == _config.ANDROID_CHROME_TEXT_CODE) {
|
|
497
575
|
const {
|
|
498
576
|
ref: charRef
|
|
499
577
|
} = charObj;
|
|
500
578
|
key = await new Promise(resolve => {
|
|
501
579
|
setTimeout(() => {
|
|
502
|
-
var _charRef$current;
|
|
580
|
+
var _charRef$current, _charRef$current$inne;
|
|
581
|
+
|
|
503
582
|
//Typed Text
|
|
504
|
-
if ((charRef === null || charRef === void 0
|
|
583
|
+
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) {
|
|
505
584
|
var _charRef$current2;
|
|
506
|
-
|
|
585
|
+
|
|
586
|
+
const [key, prevChar] = charRef === null || charRef === void 0 ? void 0 : (_charRef$current2 = charRef.current) === null || _charRef$current2 === void 0 ? void 0 : _charRef$current2.innerText;
|
|
507
587
|
charRef.current.innerText = prevChar;
|
|
508
588
|
resolve(key);
|
|
509
589
|
} else {
|
|
@@ -512,6 +592,7 @@ function InputMask() {
|
|
|
512
592
|
}, 1);
|
|
513
593
|
});
|
|
514
594
|
}
|
|
595
|
+
|
|
515
596
|
if (!charObj || i === innerValue.length - 1) return false;
|
|
516
597
|
if (maskAsPlaceholder && i > getLastTypedIndex() + 1) return await handleKeyDown(e, getLastTypedIndex() === 0 ? 0 : getLastTypedIndex() + 1, {
|
|
517
598
|
disableErrors
|
|
@@ -521,9 +602,8 @@ function InputMask() {
|
|
|
521
602
|
maskChar,
|
|
522
603
|
isReadOnly
|
|
523
604
|
} = charObj;
|
|
524
|
-
if (isReadOnly) return false;
|
|
605
|
+
if (isReadOnly) return false; //IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
525
606
|
|
|
526
|
-
//IF DEFAULT CHAR IS SPACE, SWITCH TO NEXT INPUT
|
|
527
607
|
if (maskChar === _config.SPACE_CHAR) return await handleKeyDown(e, i + 1);
|
|
528
608
|
if (isSpecialSymbol && maskChar !== key) return false;
|
|
529
609
|
if (!isValidChar({
|
|
@@ -531,6 +611,7 @@ function InputMask() {
|
|
|
531
611
|
i,
|
|
532
612
|
disableErrors
|
|
533
613
|
})) return false;
|
|
614
|
+
|
|
534
615
|
if (maskAsPlaceholder && ((_getClearInnerValueAs = getClearInnerValueAsString(i)) === null || _getClearInnerValueAs === void 0 ? void 0 : _getClearInnerValueAs.length) !== 0) {
|
|
535
616
|
const fromIndex = i + 1;
|
|
536
617
|
const text = innerValue.slice().filter((_ref11, index) => {
|
|
@@ -548,6 +629,7 @@ function InputMask() {
|
|
|
548
629
|
text
|
|
549
630
|
}, fromIndex, false);
|
|
550
631
|
}
|
|
632
|
+
|
|
551
633
|
setIsUndoValueBlocked(false);
|
|
552
634
|
updateInnerValueChar({
|
|
553
635
|
char: key
|
|
@@ -555,17 +637,20 @@ function InputMask() {
|
|
|
555
637
|
setTimeout(() => onArrowRightDown(e, i), 1);
|
|
556
638
|
return true;
|
|
557
639
|
};
|
|
640
|
+
|
|
558
641
|
const handleKeyCombinations = (e, i) => {
|
|
559
642
|
const {
|
|
560
643
|
key,
|
|
561
644
|
keyCode
|
|
562
645
|
} = e;
|
|
646
|
+
|
|
563
647
|
switch (keyCode) {
|
|
564
648
|
//Ctrl + A
|
|
565
649
|
case 65:
|
|
566
650
|
selectAllText(e);
|
|
567
651
|
break;
|
|
568
652
|
//Ctrl + Y
|
|
653
|
+
|
|
569
654
|
case 89:
|
|
570
655
|
if (redoValue) {
|
|
571
656
|
resetInnerValue();
|
|
@@ -573,8 +658,10 @@ function InputMask() {
|
|
|
573
658
|
text: redoValue
|
|
574
659
|
}, 0, true);
|
|
575
660
|
}
|
|
661
|
+
|
|
576
662
|
break;
|
|
577
663
|
//Ctrl + Z
|
|
664
|
+
|
|
578
665
|
case 90:
|
|
579
666
|
setRedoValue(getClearInnerValueAsString());
|
|
580
667
|
resetInnerValue();
|
|
@@ -584,8 +671,10 @@ function InputMask() {
|
|
|
584
671
|
break;
|
|
585
672
|
}
|
|
586
673
|
};
|
|
674
|
+
|
|
587
675
|
const onKeyDown = async function (e) {
|
|
588
676
|
var _innerValue$0$ref;
|
|
677
|
+
|
|
589
678
|
let i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
590
679
|
if (!isFocused && !isSelecting) return false;
|
|
591
680
|
const {
|
|
@@ -594,42 +683,49 @@ function InputMask() {
|
|
|
594
683
|
altKey
|
|
595
684
|
} = e;
|
|
596
685
|
const target = ((_innerValue$0$ref = innerValue[0].ref) === null || _innerValue$0$ref === void 0 ? void 0 : _innerValue$0$ref.current) || e.target;
|
|
597
|
-
onKeyDownProp({
|
|
598
|
-
...e,
|
|
686
|
+
onKeyDownProp({ ...e,
|
|
599
687
|
target
|
|
600
688
|
}, i);
|
|
601
689
|
if (_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) && _config.EXCLUDED_KEYS.includes(key)) return true;
|
|
602
690
|
setError(false);
|
|
603
691
|
clearErrorMessage();
|
|
692
|
+
|
|
604
693
|
if (ctrlKey || altKey) {
|
|
605
694
|
if (!_indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) handleKeyCombinations(e, i);
|
|
606
695
|
return true;
|
|
607
696
|
}
|
|
697
|
+
|
|
608
698
|
e.preventDefault();
|
|
609
699
|
e.stopPropagation();
|
|
610
700
|
const handleResult = _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key) ? handleServiceKeyDown(e, i) : await handleKeyDown(e, i);
|
|
701
|
+
|
|
611
702
|
if (blinkErrors && !handleResult && i !== null) {
|
|
612
703
|
setBlinkError(true);
|
|
613
704
|
}
|
|
614
705
|
};
|
|
706
|
+
|
|
615
707
|
const onClick = function (e, cb) {
|
|
616
708
|
let {
|
|
617
709
|
ignoreIsSelecting = false
|
|
618
710
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
711
|
+
|
|
619
712
|
try {
|
|
620
713
|
e.stopPropagation();
|
|
621
714
|
e.preventDefault();
|
|
622
715
|
} catch (error) {}
|
|
716
|
+
|
|
623
717
|
if (isSelecting && (selectedText.length || (0, _functions.getSelectionText)().length) && !ignoreIsSelecting) return false;
|
|
624
718
|
setFocused(true);
|
|
625
719
|
if (e.detail === 2) selectAllText(e);
|
|
626
720
|
if (typeof cb === "function") cb(e);
|
|
627
721
|
};
|
|
722
|
+
|
|
628
723
|
const onCharClick = (e, i) => {
|
|
629
724
|
if (e.detail == 2) {
|
|
630
725
|
selectAllText(e);
|
|
631
726
|
return true;
|
|
632
727
|
}
|
|
728
|
+
|
|
633
729
|
const {
|
|
634
730
|
char,
|
|
635
731
|
maskChar
|
|
@@ -645,20 +741,24 @@ function InputMask() {
|
|
|
645
741
|
ignoreIsSelecting: true
|
|
646
742
|
}), 50);
|
|
647
743
|
};
|
|
744
|
+
|
|
648
745
|
const onWrapperClick = e => {
|
|
649
746
|
e.stopPropagation();
|
|
650
747
|
e.preventDefault();
|
|
748
|
+
|
|
651
749
|
if (!isMouseDown && !isSelecting) {
|
|
652
750
|
onClick(e);
|
|
653
751
|
setFocusOnChar(getLastTypedIndex(), 0);
|
|
654
752
|
}
|
|
655
753
|
};
|
|
754
|
+
|
|
656
755
|
const onClearClick = e => {
|
|
657
756
|
e.stopPropagation();
|
|
658
757
|
e.preventDefault();
|
|
659
758
|
resetInnerValue();
|
|
660
759
|
onHomeDown(null, 0);
|
|
661
760
|
};
|
|
761
|
+
|
|
662
762
|
const onMouseDownMove = e => {
|
|
663
763
|
if (!isMouseDown) return false;
|
|
664
764
|
setIsSelecting(true);
|
|
@@ -668,10 +768,12 @@ function InputMask() {
|
|
|
668
768
|
if (selectionStartX === null) setSelectionStartX(clientX);
|
|
669
769
|
setSelectionEndX(clientX);
|
|
670
770
|
};
|
|
771
|
+
|
|
671
772
|
const onBlur = e => {
|
|
672
773
|
if (isFocused) onBlurProp();
|
|
673
774
|
setFocused(false);
|
|
674
775
|
};
|
|
776
|
+
|
|
675
777
|
const onFocus = (e, i) => {
|
|
676
778
|
const charObj = getCharByIndex(i);
|
|
677
779
|
if (!charObj) return false;
|
|
@@ -680,25 +782,32 @@ function InputMask() {
|
|
|
680
782
|
ref
|
|
681
783
|
} = charObj;
|
|
682
784
|
(0, _InputCarretPosition.setCaretPosition)(ref.current, 0);
|
|
785
|
+
|
|
683
786
|
if ((maxEditableLen !== -1 ? i < maxEditableLen : true) && isSpecialSymbol && i < innerValue.length - 1) {
|
|
684
787
|
onFocus(e, i + 1);
|
|
685
788
|
return false;
|
|
686
789
|
}
|
|
790
|
+
|
|
687
791
|
if (!isFocused) onFocusProp(e);
|
|
688
792
|
setFocused(true);
|
|
689
793
|
};
|
|
794
|
+
|
|
690
795
|
const onPaste = function (e, i) {
|
|
691
796
|
var _ref13, _window, _e$clipboardData;
|
|
797
|
+
|
|
692
798
|
let setFocusToEnd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
799
|
+
|
|
693
800
|
try {
|
|
694
801
|
e.stopPropagation();
|
|
695
802
|
e.preventDefault();
|
|
696
803
|
} catch (error) {}
|
|
804
|
+
|
|
697
805
|
setIsSelecting(false);
|
|
698
806
|
(0, _functions.resetSelectionText)();
|
|
699
|
-
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
|
|
807
|
+
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 ? void 0 : (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData("Text")) || e.text;
|
|
700
808
|
if (!pastedText) return false;
|
|
701
809
|
const replacedIndexes = [];
|
|
810
|
+
|
|
702
811
|
if (maskAsPlaceholder && (e === null || e === void 0 ? void 0 : e.type) === "paste") {
|
|
703
812
|
const fromIndex = i + parseInt(pastedText === null || pastedText === void 0 ? void 0 : pastedText.length, 10);
|
|
704
813
|
const text = innerValue.slice().filter((_ref14, index) => {
|
|
@@ -716,10 +825,12 @@ function InputMask() {
|
|
|
716
825
|
text
|
|
717
826
|
}, fromIndex, false);
|
|
718
827
|
}
|
|
828
|
+
|
|
719
829
|
pastedText.split("").filter(char => (0, _functions.isDigit)(char) || (0, _functions.isLetter)(char)).map((pastedChar, offset) => {
|
|
720
830
|
const charIndex = i + offset;
|
|
721
831
|
let isReplaced = false;
|
|
722
832
|
let isValid = false;
|
|
833
|
+
|
|
723
834
|
for (let index = charIndex; index < innerValue.length && !isReplaced; ++index) {
|
|
724
835
|
const charObj = getCharByIndex(index);
|
|
725
836
|
if (!charObj) continue;
|
|
@@ -727,20 +838,19 @@ function InputMask() {
|
|
|
727
838
|
char,
|
|
728
839
|
maskChar,
|
|
729
840
|
isSpecialSymbol
|
|
730
|
-
} = charObj;
|
|
841
|
+
} = charObj; // If Char Is Valid
|
|
731
842
|
|
|
732
|
-
// If Char Is Valid
|
|
733
843
|
if (!isValidChar({
|
|
734
844
|
char: pastedChar,
|
|
735
845
|
i: index,
|
|
736
846
|
disableErrors: true
|
|
737
|
-
})) continue;
|
|
847
|
+
})) continue; // If Char Already Replaced
|
|
738
848
|
|
|
739
|
-
// If Char Already Replaced
|
|
740
849
|
if (replacedIndexes.includes(index)) continue;
|
|
741
850
|
isReplaced = true;
|
|
742
851
|
isValid = true;
|
|
743
852
|
replacedIndexes.push(index);
|
|
853
|
+
|
|
744
854
|
if (imitateTypingOnPaste) {
|
|
745
855
|
setTimeout(() => {
|
|
746
856
|
updateInnerValueChar({
|
|
@@ -753,6 +863,7 @@ function InputMask() {
|
|
|
753
863
|
}, index);
|
|
754
864
|
}
|
|
755
865
|
}
|
|
866
|
+
|
|
756
867
|
return {
|
|
757
868
|
char: pastedChar,
|
|
758
869
|
isValid
|
|
@@ -762,41 +873,49 @@ function InputMask() {
|
|
|
762
873
|
if (setFocusToEnd) setFocusOnChar(lastCharIndex + 1, i);
|
|
763
874
|
return lastCharIndex;
|
|
764
875
|
};
|
|
876
|
+
|
|
765
877
|
const onCopy = (e, i) => {
|
|
766
878
|
try {
|
|
767
879
|
e.stopPropagation();
|
|
768
880
|
e.preventDefault();
|
|
769
881
|
} catch (error) {}
|
|
882
|
+
|
|
770
883
|
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
771
884
|
};
|
|
885
|
+
|
|
772
886
|
const onCut = (e, i) => {
|
|
773
887
|
if (!isUndoValueBlocked) {
|
|
774
888
|
setUndoValue(getClearInnerValueAsString());
|
|
775
889
|
setIsUndoValueBlocked(true);
|
|
776
890
|
}
|
|
891
|
+
|
|
777
892
|
try {
|
|
778
893
|
e.stopPropagation();
|
|
779
894
|
e.preventDefault();
|
|
780
895
|
} catch (error) {}
|
|
896
|
+
|
|
781
897
|
(0, _functions.copyToClipboard)((0, _functions.getSelectionText)());
|
|
782
898
|
deleteSelectedText();
|
|
783
899
|
setIsSelecting(false);
|
|
784
900
|
setFocusOnChar(i, 0);
|
|
785
|
-
};
|
|
786
|
-
// GENERAL EVENT HANDLERS | END //
|
|
787
|
-
|
|
901
|
+
}; // GENERAL EVENT HANDLERS | END //
|
|
788
902
|
// FUNCTIONS | START //
|
|
903
|
+
|
|
904
|
+
|
|
789
905
|
const cancelDefaultAction = (e, cb) => {
|
|
790
906
|
const {
|
|
791
907
|
key
|
|
792
908
|
} = e;
|
|
909
|
+
|
|
793
910
|
if (!_config.EXCLUDED_KEYS.includes(key) && _indexConstants.KEYBOARD_SERVICE_KEYS.includes(key)) {
|
|
794
911
|
e.preventDefault();
|
|
795
912
|
e.stopPropagation();
|
|
796
913
|
}
|
|
914
|
+
|
|
797
915
|
if (typeof cb === "function") cb(e);
|
|
798
916
|
return false;
|
|
799
917
|
};
|
|
918
|
+
|
|
800
919
|
const selectAllText = e => {
|
|
801
920
|
e.preventDefault();
|
|
802
921
|
e.stopPropagation();
|
|
@@ -806,12 +925,15 @@ function InputMask() {
|
|
|
806
925
|
(0, _functions.selectElementContents)(inputRef.current);
|
|
807
926
|
setSelectedText((0, _functions.getSelectionText)());
|
|
808
927
|
};
|
|
928
|
+
|
|
809
929
|
const deleteSelectedText = () => {
|
|
810
930
|
var _getClearInnerValueAs2;
|
|
931
|
+
|
|
811
932
|
const selStartInd = getSelectStartIndex();
|
|
812
933
|
if (selStartInd === null || selStartInd === undefined) return false;
|
|
813
934
|
const selEndInd = (0, _functions.getSelectionText)().length + selStartInd;
|
|
814
935
|
(0, _functions.resetSelectionText)();
|
|
936
|
+
|
|
815
937
|
if (maskAsPlaceholder && ((_getClearInnerValueAs2 = getClearInnerValueAsString(selEndInd + 1)) === null || _getClearInnerValueAs2 === void 0 ? void 0 : _getClearInnerValueAs2.length) !== 0) {
|
|
816
938
|
const text = innerValue.slice().filter((_ref16, index) => {
|
|
817
939
|
let {
|
|
@@ -836,17 +958,18 @@ function InputMask() {
|
|
|
836
958
|
char: ""
|
|
837
959
|
}, index);
|
|
838
960
|
}
|
|
961
|
+
|
|
839
962
|
setFocusOnChar(selStartInd, -1);
|
|
840
963
|
return true;
|
|
841
|
-
};
|
|
842
|
-
// FUNCTIONS | END //
|
|
843
|
-
|
|
964
|
+
}; // FUNCTIONS | END //
|
|
844
965
|
///--- OBSERVERS ---///
|
|
845
966
|
// Input Throttling
|
|
967
|
+
|
|
968
|
+
|
|
846
969
|
(0, _react.useEffect)(() => {
|
|
847
970
|
if (isInputThrottled) setTimeout(() => setIsInputThrottled(false), inputThrottlingTimeout);
|
|
848
|
-
}, [isInputThrottled]);
|
|
849
|
-
|
|
971
|
+
}, [isInputThrottled]); //Render Mask
|
|
972
|
+
|
|
850
973
|
(0, _react.useEffect)(() => {
|
|
851
974
|
setInnerValue([]);
|
|
852
975
|
setMaskRendered(false);
|
|
@@ -875,20 +998,22 @@ function InputMask() {
|
|
|
875
998
|
let valueCharIndex = 0;
|
|
876
999
|
innerValue.map((_ref18, i) => {
|
|
877
1000
|
var _maskPattern;
|
|
1001
|
+
|
|
878
1002
|
let {
|
|
879
1003
|
isSpecialSymbol
|
|
880
1004
|
} = _ref18;
|
|
881
1005
|
if (isSpecialSymbol) return false;
|
|
882
1006
|
let char = value[valueCharIndex];
|
|
883
1007
|
let whileLimit = ((_maskPattern = maskPattern) === null || _maskPattern === void 0 ? void 0 : _maskPattern.length) || 0;
|
|
1008
|
+
|
|
884
1009
|
while (whileLimit && isSpecialSymbolChar({
|
|
885
1010
|
char: value[valueCharIndex]
|
|
886
1011
|
})) {
|
|
887
1012
|
whileLimit--;
|
|
888
1013
|
char = value[++valueCharIndex];
|
|
889
|
-
}
|
|
1014
|
+
} //If Valid
|
|
1015
|
+
|
|
890
1016
|
|
|
891
|
-
//If Valid
|
|
892
1017
|
if (isValidChar({
|
|
893
1018
|
char,
|
|
894
1019
|
i,
|
|
@@ -898,27 +1023,26 @@ function InputMask() {
|
|
|
898
1023
|
char
|
|
899
1024
|
}, i);
|
|
900
1025
|
}
|
|
1026
|
+
|
|
901
1027
|
++valueCharIndex;
|
|
902
1028
|
});
|
|
903
1029
|
}
|
|
1030
|
+
|
|
904
1031
|
setIsInitValue(true);
|
|
905
1032
|
}
|
|
906
1033
|
}, [isMaskRendered, value, isInitValue]);
|
|
907
1034
|
(0, _react.useEffect)(() => {
|
|
908
1035
|
if (isInitValue) setUndoValue(getClearInnerValueAsString());
|
|
909
|
-
}, [isInitValue]);
|
|
1036
|
+
}, [isInitValue]); // Focus Observer
|
|
910
1037
|
|
|
911
|
-
// Focus Observer
|
|
912
1038
|
(0, _react.useEffect)(() => {
|
|
913
1039
|
if (!isFocused) setSelectedText("");
|
|
914
|
-
}, [isFocused]);
|
|
1040
|
+
}, [isFocused]); // Default Focused
|
|
915
1041
|
|
|
916
|
-
// Default Focused
|
|
917
1042
|
(0, _react.useEffect)(() => {
|
|
918
1043
|
if (isFocusedDefault && isMaskRendered) setFocusOnChar(0, -1);
|
|
919
|
-
}, [isFocusedDefault, isMaskRendered]);
|
|
1044
|
+
}, [isFocusedDefault, isMaskRendered]); // OnChange Observer
|
|
920
1045
|
|
|
921
|
-
// OnChange Observer
|
|
922
1046
|
(0, _react.useEffect)(() => {
|
|
923
1047
|
if (isMaskRendered && isFocused) {
|
|
924
1048
|
setError(false);
|
|
@@ -929,9 +1053,8 @@ function InputMask() {
|
|
|
929
1053
|
if (returnMaskedValue) values.reverse();
|
|
930
1054
|
onChangeProp(...values);
|
|
931
1055
|
}
|
|
932
|
-
}, [innerValue, isMaskRendered]);
|
|
1056
|
+
}, [innerValue, isMaskRendered]); // Blink Error
|
|
933
1057
|
|
|
934
|
-
// Blink Error
|
|
935
1058
|
(0, _react.useEffect)(() => {
|
|
936
1059
|
if (blinkError) setTimeout(() => setBlinkError(false), blinkDuration);
|
|
937
1060
|
}, [blinkError]);
|
|
@@ -942,11 +1065,13 @@ function InputMask() {
|
|
|
942
1065
|
setSelectionStartX(null);
|
|
943
1066
|
setSelectionEndX(null);
|
|
944
1067
|
}
|
|
1068
|
+
|
|
945
1069
|
if (!isMouseDown && isSelecting) {
|
|
946
1070
|
document.addEventListener("keydown", e => pushServiceWatcher(() => onKeyDown(e)), {
|
|
947
1071
|
once: true
|
|
948
1072
|
});
|
|
949
1073
|
}
|
|
1074
|
+
|
|
950
1075
|
if (!isMouseDown && isSelecting && !(0, _functions.getSelectionText)().length) setIsSelecting(false);
|
|
951
1076
|
}, [isSelecting, isMouseDown]);
|
|
952
1077
|
(0, _react.useEffect)(() => {
|
|
@@ -960,9 +1085,7 @@ function InputMask() {
|
|
|
960
1085
|
(0, _react.useEffect)(() => {
|
|
961
1086
|
setError(customError !== "");
|
|
962
1087
|
setErrorMessage(customError === "" ? errors.default : customError);
|
|
963
|
-
}, [customError, isError]);
|
|
964
|
-
|
|
965
|
-
///--- RENDER ---///
|
|
1088
|
+
}, [customError, isError]); ///--- RENDER ---///
|
|
966
1089
|
|
|
967
1090
|
const renderChar = function (obj, i) {
|
|
968
1091
|
let className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
|
|
@@ -1009,22 +1132,30 @@ function InputMask() {
|
|
|
1009
1132
|
onMouseMove: e => cancelDefaultAction(e, onMouseDownMove)
|
|
1010
1133
|
}, !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === "" ? getPlaceholderCharByIndex(i) : char);
|
|
1011
1134
|
};
|
|
1135
|
+
|
|
1012
1136
|
const renderMaskChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_mask-char");
|
|
1137
|
+
|
|
1013
1138
|
const renderValueChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_value-char");
|
|
1139
|
+
|
|
1014
1140
|
const renderSpecialChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_spec-char");
|
|
1141
|
+
|
|
1015
1142
|
const renderInputValue = () => {
|
|
1016
1143
|
return innerValue.map((obj, i) => {
|
|
1017
1144
|
const {
|
|
1018
1145
|
char,
|
|
1019
1146
|
isSpecialSymbol
|
|
1020
1147
|
} = obj;
|
|
1148
|
+
|
|
1021
1149
|
if (isSpecialSymbol) {
|
|
1022
1150
|
return renderSpecialChar(obj, i);
|
|
1023
1151
|
}
|
|
1152
|
+
|
|
1024
1153
|
const isMaskItem = (() => char === "")();
|
|
1154
|
+
|
|
1025
1155
|
return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
|
|
1026
1156
|
});
|
|
1027
1157
|
};
|
|
1158
|
+
|
|
1028
1159
|
const render = () => {
|
|
1029
1160
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
1030
1161
|
className: (0, _classnames.default)("input-mask_wrapper", className, {
|
|
@@ -1042,8 +1173,7 @@ function InputMask() {
|
|
|
1042
1173
|
className: "\n input-mask\n ".concat(isError ? "input-mask_error" : "", "\n ").concat(isFocused ? "input-mask_focus" : "", "\n ").concat(blinkError ? "input-mask_blink-error" : "", "\n "),
|
|
1043
1174
|
"data-testid": testId,
|
|
1044
1175
|
onMouseDown: e => cancelDefaultAction(e, () => setIsMouseDown(true)),
|
|
1045
|
-
onMouseMove: e => cancelDefaultAction(e, onMouseDownMove)
|
|
1046
|
-
// onMouseUp={cancelDefaultAction}
|
|
1176
|
+
onMouseMove: e => cancelDefaultAction(e, onMouseDownMove) // onMouseUp={cancelDefaultAction}
|
|
1047
1177
|
,
|
|
1048
1178
|
onClick: onWrapperClick,
|
|
1049
1179
|
onBlur: onBlur
|
|
@@ -1079,5 +1209,6 @@ function InputMask() {
|
|
|
1079
1209
|
className: "input-mask_error-text"
|
|
1080
1210
|
}, errorMessage));
|
|
1081
1211
|
};
|
|
1212
|
+
|
|
1082
1213
|
return render();
|
|
1083
1214
|
}
|