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.
Files changed (269) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +9 -1
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
  5. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
  6. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
  7. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
  11. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
  12. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
  13. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
  14. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +23 -4
  15. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
  16. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -19
  17. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
  18. package/dist/Atomic/FormElements/Input/Input.js +60 -25
  19. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
  20. package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
  21. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
  22. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
  23. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
  24. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
  25. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
  26. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
  27. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
  28. package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
  29. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
  30. package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
  31. package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
  32. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
  33. package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
  34. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
  35. package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
  36. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
  37. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
  38. package/dist/Atomic/FormElements/Label/Label.js +9 -1
  39. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
  40. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
  41. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
  42. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
  43. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
  44. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
  45. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
  46. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
  47. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
  48. package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
  49. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
  50. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
  51. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
  52. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
  53. package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
  54. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
  55. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
  56. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
  57. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
  58. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
  59. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
  60. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
  61. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
  62. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
  63. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
  64. package/dist/Atomic/FormElements/Text/Text.js +16 -10
  65. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
  66. package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
  67. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
  68. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
  69. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
  70. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
  71. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
  72. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
  73. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
  74. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
  75. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
  76. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
  77. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
  78. package/dist/Atomic/Layout/Header/Header.js +15 -3
  79. package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
  80. package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
  81. package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
  82. package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
  83. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
  84. package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
  85. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
  86. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
  87. package/dist/Atomic/UI/Alert/Alert.js +19 -3
  88. package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
  89. package/dist/Atomic/UI/Box/Box.js +9 -3
  90. package/dist/Atomic/UI/Button/Button.js +11 -2
  91. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
  92. package/dist/Atomic/UI/Chart/Chart.js +29 -4
  93. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
  94. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
  95. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
  96. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
  97. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
  98. package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
  99. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
  100. package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
  101. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
  102. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
  103. package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
  104. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
  105. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
  106. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
  107. package/dist/Atomic/UI/Hint/Hint.js +39 -13
  108. package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
  109. package/dist/Atomic/UI/Modal/Modal.js +28 -6
  110. package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
  111. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
  112. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
  113. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
  114. package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
  115. package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
  116. package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
  117. package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
  118. package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
  119. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
  120. package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
  121. package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
  122. package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
  123. package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
  124. package/dist/Atomic/UI/Price/Price.js +8 -3
  125. package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
  126. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
  127. package/dist/Atomic/UI/Status/Status.js +8 -1
  128. package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
  129. package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
  130. package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
  131. package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
  132. package/dist/Atomic/UI/Table/Table.js +12 -1
  133. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
  134. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
  135. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
  136. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
  137. package/dist/Atomic/UI/Tag/Tag.js +26 -11
  138. package/dist/Atomic/UI/TagList/TagList.js +52 -21
  139. package/dist/Atomic/UI/TagList/TagList.scss +3 -2
  140. package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
  141. package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
  142. package/dist/Atomic/UI/WizardStepper/index.js +5 -1
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
  144. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
  146. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
  148. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
  149. package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
  150. package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
  151. package/dist/Classes/AbortableFetch.js +93 -36
  152. package/dist/Classes/AnimatedHandler.js +7 -3
  153. package/dist/Classes/RESTAPI/index.js +43 -39
  154. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
  155. package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
  156. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
  157. package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
  158. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
  159. package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
  160. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
  161. package/dist/Classes/RESTAPI/partials/_utils.js +39 -16
  162. package/dist/Constants/index.constants.js +15 -8
  163. package/dist/Functions/Portal.js +16 -5
  164. package/dist/Functions/customEventListener.js +17 -4
  165. package/dist/Functions/fieldValueFormatters.js +83 -43
  166. package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
  167. package/dist/Functions/locale/createTranslator.js +9 -4
  168. package/dist/Functions/operations.js +22 -12
  169. package/dist/Functions/presets/inputMaskPresets.js +11 -9
  170. package/dist/Functions/presets/inputPresets.js +11 -8
  171. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
  172. package/dist/Functions/schemas.js +13 -6
  173. package/dist/Functions/useBodyScrollLock.js +6 -1
  174. package/dist/Functions/useClickOutside.js +4 -0
  175. package/dist/Functions/useDebounce.js +7 -2
  176. package/dist/Functions/useFieldFocus.js +18 -6
  177. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
  178. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
  179. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
  180. package/dist/Functions/useFormTools/functions/General.js +28 -18
  181. package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
  182. package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
  183. package/dist/Functions/useFormTools/index.js +144 -85
  184. package/dist/Functions/useInputHighlightError.js +12 -3
  185. package/dist/Functions/useIsMobile.js +13 -7
  186. package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
  187. package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
  188. package/dist/Functions/useLocalStorage.js +9 -1
  189. package/dist/Functions/useLocationParams.js +5 -4
  190. package/dist/Functions/useMediaQuery.js +9 -3
  191. package/dist/Functions/useMetaInfo.js +10 -3
  192. package/dist/Functions/useMouseUpOutside.js +3 -0
  193. package/dist/Functions/useOnlineStatus.js +9 -1
  194. package/dist/Functions/usePasswordChecker.js +20 -4
  195. package/dist/Functions/usePrevious.js +5 -1
  196. package/dist/Functions/useResize.js +10 -2
  197. package/dist/Functions/useScrollTo.js +7 -2
  198. package/dist/Functions/useToggle.js +5 -1
  199. package/dist/Functions/utils.js +131 -56
  200. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
  201. package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
  202. package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
  203. package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
  204. package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
  205. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
  206. package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
  207. package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
  208. package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
  209. package/dist/Molecular/CustomIcons/components/Button.js +9 -2
  210. package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
  211. package/dist/Molecular/CustomIcons/components/Check.js +9 -2
  212. package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
  213. package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
  214. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
  215. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
  216. package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
  217. package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
  218. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
  219. package/dist/Molecular/CustomIcons/components/Close.js +9 -2
  220. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
  221. package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
  222. package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
  223. package/dist/Molecular/CustomIcons/components/Email.js +9 -2
  224. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
  225. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
  226. package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
  227. package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
  228. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
  229. package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
  230. package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
  231. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
  232. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
  233. package/dist/Molecular/CustomIcons/components/Home.js +9 -2
  234. package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
  235. package/dist/Molecular/CustomIcons/components/Key.js +9 -2
  236. package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
  237. package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
  238. package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
  239. package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
  240. package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
  241. package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
  242. package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
  243. package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
  244. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
  245. package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
  246. package/dist/Molecular/CustomIcons/components/Play.js +9 -2
  247. package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
  248. package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
  249. package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
  250. package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
  251. package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
  252. package/dist/Molecular/CustomIcons/components/Star.js +9 -2
  253. package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
  254. package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
  255. package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
  256. package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
  257. package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
  258. package/dist/Molecular/CustomIcons/components/User.js +9 -2
  259. package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
  260. package/dist/Molecular/CustomIcons/components/X.js +9 -2
  261. package/dist/Molecular/CustomIcons/index.js +122 -0
  262. package/dist/Molecular/FormElement/FormElement.js +12 -1
  263. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
  264. package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
  265. package/dist/Molecular/InputAddress/InputAddress.js +114 -65
  266. package/dist/Molecular/InputPassword/InputPassword.js +19 -5
  267. package/dist/index.js +2 -0
  268. package/package.json +1 -1
  269. 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
- 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; }
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 || (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
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
- (_ref$current2 = ref.current) === null || _ref$current2 === void 0 || _ref$current2.focus();
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
- // If Current Index Equals LastTyped Index in MaskAsPlaceholder Mode
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 || (_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) {
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
- const [key, prevChar] = charRef === null || charRef === void 0 || (_charRef$current2 = charRef.current) === null || _charRef$current2 === void 0 ? void 0 : _charRef$current2.innerText;
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 || (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData("Text")) || e.text;
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
- //Render Mask
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
  }