intelicoreact 1.5.38 → 1.5.41

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