intelicoreact 1.5.40 → 1.6.0

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 (350) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +93 -44
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +23 -13
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +43 -38
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +20 -10
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +243 -164
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -0
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +60 -51
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +21 -11
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +47 -39
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +5 -2
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +410 -308
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +169 -109
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +680 -527
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +58 -56
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +28 -15
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +498 -378
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +33 -29
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +103 -70
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +0 -2
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +138 -91
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +109 -55
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +254 -193
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +19 -16
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +156 -140
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +8 -4
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +222 -156
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +158 -114
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +151 -92
  29. package/dist/Atomic/FormElements/Input/Input.js +340 -330
  30. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +156 -110
  31. package/dist/Atomic/FormElements/InputColor/InputColor.js +57 -58
  32. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +189 -145
  33. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +294 -228
  34. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +55 -56
  35. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +645 -536
  36. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +220 -190
  37. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +33 -31
  38. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +247 -169
  39. package/dist/Atomic/FormElements/InputLink/InputLink.js +118 -71
  40. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +47 -38
  41. package/dist/Atomic/FormElements/InputMask/InputMask.js +938 -1053
  42. package/dist/Atomic/FormElements/InputMask/config.js +16 -15
  43. package/dist/Atomic/FormElements/InputMask/functions.js +77 -51
  44. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +569 -592
  45. package/dist/Atomic/FormElements/InputMask2/config.js +16 -15
  46. package/dist/Atomic/FormElements/InputMask2/functions.js +77 -51
  47. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +651 -679
  48. package/dist/Atomic/FormElements/InputMask3/config.js +16 -15
  49. package/dist/Atomic/FormElements/InputMask3/functions.js +77 -51
  50. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +127 -88
  51. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +182 -111
  52. package/dist/Atomic/FormElements/Label/Label.js +82 -55
  53. package/dist/Atomic/FormElements/Label/Label.scss +18 -8
  54. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +437 -382
  55. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +88 -50
  56. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +314 -264
  57. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +93 -51
  58. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +69 -55
  59. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +51 -45
  60. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  61. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +53 -40
  62. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +169 -120
  63. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +195 -141
  64. package/dist/Atomic/FormElements/RangeList/RangeList.js +199 -140
  65. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  66. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +0 -3
  67. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +57 -44
  68. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +463 -377
  69. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +760 -759
  70. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +36 -31
  71. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +0 -2
  72. package/dist/Atomic/FormElements/Switcher/Switcher.js +52 -44
  73. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  74. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +43 -44
  75. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +0 -2
  76. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +37 -36
  77. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +0 -2
  78. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +93 -56
  79. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +0 -2
  80. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +86 -53
  81. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +0 -2
  82. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +46 -54
  83. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +172 -102
  84. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +4 -6
  85. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +209 -154
  86. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +59 -56
  87. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  88. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +140 -112
  89. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1035 -919
  90. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +153 -116
  91. package/dist/Atomic/FormElements/Text/Text.js +88 -97
  92. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +44 -35
  93. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  94. package/dist/Atomic/FormElements/Textarea/Textarea.js +102 -64
  95. package/dist/Atomic/FormElements/Textarea/Textarea.scss +4 -8
  96. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +172 -133
  97. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +48 -49
  98. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +114 -63
  99. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +9 -3
  100. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +179 -122
  101. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +10 -5
  102. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +101 -65
  103. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +80 -71
  104. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +79 -64
  105. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +0 -2
  106. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +42 -34
  107. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +102 -83
  108. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +0 -2
  109. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +42 -35
  110. package/dist/Atomic/Layout/Header/Header.js +148 -80
  111. package/dist/Atomic/Layout/MainMenu/MainMenu.js +213 -133
  112. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +7 -7
  113. package/dist/Atomic/Layout/Spinner/Spinner.js +39 -22
  114. package/dist/Atomic/Layout/Spinner/Spinner.scss +36 -16
  115. package/dist/Atomic/UI/Accordion/Accordion.js +102 -53
  116. package/dist/Atomic/UI/Accordion/Accordion.scss +25 -14
  117. package/dist/Atomic/UI/Accordion/AccordionItem.js +170 -102
  118. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +251 -167
  119. package/dist/Atomic/UI/AccordionText/AccordionText.js +105 -54
  120. package/dist/Atomic/UI/AccordionText/AccordionText.scss +22 -9
  121. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -135
  122. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +100 -46
  123. package/dist/Atomic/UI/Alert/Alert.js +116 -63
  124. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  125. package/dist/Atomic/UI/Arrow/Arrow.js +163 -110
  126. package/dist/Atomic/UI/Box/Box.js +37 -37
  127. package/dist/Atomic/UI/Box/Box.scss +11 -11
  128. package/dist/Atomic/UI/Button/Button.js +43 -41
  129. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +61 -67
  130. package/dist/Atomic/UI/Chart/Chart.js +170 -96
  131. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +142 -74
  132. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +91 -77
  133. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +120 -117
  134. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +314 -292
  135. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +54 -39
  136. package/dist/Atomic/UI/Chart/partial/utils.js +56 -33
  137. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +145 -88
  138. package/dist/Atomic/UI/DateTime/DateTime.js +89 -37
  139. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  140. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +93 -31
  141. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +66 -18
  142. package/dist/Atomic/UI/DoubleString/DoubleString.js +134 -77
  143. package/dist/Atomic/UI/DoubleString/DoubleString.scss +6 -4
  144. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +65 -22
  145. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +251 -170
  146. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +109 -84
  147. package/dist/Atomic/UI/Hint/Hint.interface.js +4 -0
  148. package/dist/Atomic/UI/Hint/Hint.js +247 -204
  149. package/dist/Atomic/UI/Hint/Hint.scss +4 -2
  150. package/dist/Atomic/UI/Hint/Hint.stories.js +10 -5
  151. package/dist/Atomic/UI/Hint/Hint.test.js +96 -0
  152. package/dist/Atomic/UI/Hint/index.js +3 -2
  153. package/dist/Atomic/UI/Hint/partials/_utils.js +60 -46
  154. package/dist/Atomic/UI/Modal/Modal.js +171 -172
  155. package/dist/Atomic/UI/Modal/Modal.scss +91 -65
  156. package/dist/Atomic/UI/Modal/Modal.stories.js +1 -1
  157. package/dist/Atomic/UI/Modal/ModalHOC.js +92 -38
  158. package/dist/Atomic/UI/Modal/ModalMobile.scss +26 -14
  159. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +68 -18
  160. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +107 -38
  161. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +130 -153
  162. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +118 -62
  163. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +172 -25
  164. package/dist/Atomic/UI/NavLine/NavLine.js +306 -273
  165. package/dist/Atomic/UI/NavLine/NavLine.scss +202 -155
  166. package/dist/Atomic/UI/NavLine/NavLine.test.js +1 -1
  167. package/dist/Atomic/UI/PageTitle/PageTitle.js +73 -52
  168. package/dist/Atomic/UI/PageTitle/PageTitle.scss +52 -14
  169. package/dist/Atomic/UI/PieChart/PieChart.js +105 -42
  170. package/dist/Atomic/UI/PieChart/PieChart.scss +87 -11
  171. package/dist/Atomic/UI/Price/Price.js +27 -20
  172. package/dist/Atomic/UI/PriceRange/PriceRange.js +40 -18
  173. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +92 -73
  174. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +66 -52
  175. package/dist/Atomic/UI/Status/Status.js +62 -51
  176. package/dist/Atomic/UI/Status/Status.scss +48 -29
  177. package/dist/Atomic/UI/Table/Partials/TdCell.js +126 -88
  178. package/dist/Atomic/UI/Table/Partials/TdHeader.js +58 -39
  179. package/dist/Atomic/UI/Table/Partials/TdRow.js +124 -73
  180. package/dist/Atomic/UI/Table/Partials/TdTitle.js +113 -45
  181. package/dist/Atomic/UI/Table/Table.js +61 -43
  182. package/dist/Atomic/UI/Table/Table.scss +0 -3
  183. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +108 -64
  184. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +44 -31
  185. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +24 -10
  186. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +59 -48
  187. package/dist/Atomic/UI/Tag/Tag.js +157 -113
  188. package/dist/Atomic/UI/Tag/Tag.scss +104 -47
  189. package/dist/Atomic/UI/TagList/TagList.js +223 -179
  190. package/dist/Atomic/UI/TagList/TagList.scss +13 -9
  191. package/dist/Atomic/UI/UserBox/UserBox.js +80 -56
  192. package/dist/Atomic/UI/UserBox/UserBox.scss +45 -21
  193. package/dist/Atomic/UI/UserBox/UserBox.test.js +2 -2
  194. package/dist/Atomic/UI/WizardStepper/constructor.js +127 -89
  195. package/dist/Atomic/UI/WizardStepper/index.js +14 -6
  196. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +53 -51
  197. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +11 -7
  198. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +9 -5
  199. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +84 -67
  200. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +13 -7
  201. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +14 -6
  202. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +50 -45
  203. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +24 -18
  204. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +14 -6
  205. package/dist/Atomic/UI/WizardStepper/ui/icons.js +138 -106
  206. package/dist/Atomic/UI/WizardStepper/ui/index.js +14 -6
  207. package/dist/Classes/AbortableFetch.js +394 -326
  208. package/dist/Classes/AnimatedHandler.js +31 -44
  209. package/dist/Classes/RESTAPI/index.js +131 -173
  210. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +399 -334
  211. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  212. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +107 -88
  213. package/dist/Classes/RESTAPI/partials/ApiUtils.js +144 -166
  214. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +180 -204
  215. package/dist/Classes/RESTAPI/partials/Utils.js +80 -83
  216. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +16 -8
  217. package/dist/Classes/RESTAPI/partials/_utils.js +139 -125
  218. package/dist/Constants/index.constants.js +102 -22
  219. package/dist/Functions/Portal.js +67 -23
  220. package/dist/Functions/customEventListener.js +48 -50
  221. package/dist/Functions/dateTime.js +130 -177
  222. package/dist/Functions/fieldValueFormatters.js +275 -346
  223. package/dist/Functions/guards/assertions.js +294 -0
  224. package/dist/Functions/guards/safeValue.js +75 -0
  225. package/dist/Functions/guards/typeGuards.js +374 -0
  226. package/dist/Functions/hooks/useFormFieldsChangesManager.js +125 -96
  227. package/dist/Functions/locale/createTranslator.js +29 -27
  228. package/dist/Functions/operations.js +129 -102
  229. package/dist/Functions/presets/inputMaskPresets.js +88 -99
  230. package/dist/Functions/presets/inputPresets.js +41 -35
  231. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +30 -49
  232. package/dist/Functions/schemas.js +78 -20
  233. package/dist/Functions/useBodyScrollLock.js +21 -15
  234. package/dist/Functions/useClickOutside.js +21 -16
  235. package/dist/Functions/useDebounce.js +62 -21
  236. package/dist/Functions/useFieldFocus.js +83 -79
  237. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -46
  238. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +132 -137
  239. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +63 -73
  240. package/dist/Functions/useFormTools/functions/General.js +117 -129
  241. package/dist/Functions/useFormTools/functions/RenderFields.js +75 -85
  242. package/dist/Functions/useFormTools/functions/usePrevious.js +16 -10
  243. package/dist/Functions/useFormTools/index.js +647 -709
  244. package/dist/Functions/useInputHighlightError.js +104 -53
  245. package/dist/Functions/useKeyPress/useHandleKeyPress.js +40 -33
  246. package/dist/Functions/useKeyPress/useKeyPress.js +48 -39
  247. package/dist/Functions/useLocalStorage.js +38 -31
  248. package/dist/Functions/useLocationParams.js +31 -24
  249. package/dist/Functions/useMediaQuery.js +14 -10
  250. package/dist/Functions/useMetaInfo.js +45 -35
  251. package/dist/Functions/useMouseUpOutside.js +21 -15
  252. package/dist/Functions/useOnlineStatus.js +25 -21
  253. package/dist/Functions/usePasswordChecker.js +183 -111
  254. package/dist/Functions/usePrevious.js +16 -10
  255. package/dist/Functions/useResize.js +32 -28
  256. package/dist/Functions/useScrollTo.js +26 -16
  257. package/dist/Functions/useToggle.js +20 -16
  258. package/dist/Functions/utils.js +493 -469
  259. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +75 -28
  260. package/dist/Molecular/CustomIcons/components/AlertCircle.js +77 -28
  261. package/dist/Molecular/CustomIcons/components/AppStore.js +84 -32
  262. package/dist/Molecular/CustomIcons/components/Arrow.js +93 -38
  263. package/dist/Molecular/CustomIcons/components/ArrowDown.js +63 -20
  264. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +71 -23
  265. package/dist/Molecular/CustomIcons/components/ArrowRight.js +71 -23
  266. package/dist/Molecular/CustomIcons/components/ArrowUp.js +63 -20
  267. package/dist/Molecular/CustomIcons/components/Bell.js +61 -18
  268. package/dist/Molecular/CustomIcons/components/Button.js +61 -18
  269. package/dist/Molecular/CustomIcons/components/Campaigns.js +62 -19
  270. package/dist/Molecular/CustomIcons/components/Check.js +62 -19
  271. package/dist/Molecular/CustomIcons/components/Check2.js +61 -18
  272. package/dist/Molecular/CustomIcons/components/ChevronDown.js +61 -18
  273. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +61 -18
  274. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +61 -18
  275. package/dist/Molecular/CustomIcons/components/ChevronRight.js +61 -18
  276. package/dist/Molecular/CustomIcons/components/ChevronUp.js +61 -18
  277. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +81 -33
  278. package/dist/Molecular/CustomIcons/components/Close.js +64 -20
  279. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +95 -45
  280. package/dist/Molecular/CustomIcons/components/Delete.js +62 -19
  281. package/dist/Molecular/CustomIcons/components/Edit.js +61 -18
  282. package/dist/Molecular/CustomIcons/components/Email.js +87 -36
  283. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +82 -26
  284. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +83 -34
  285. package/dist/Molecular/CustomIcons/components/Flows.js +61 -18
  286. package/dist/Molecular/CustomIcons/components/Gift.js +71 -23
  287. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +84 -32
  288. package/dist/Molecular/CustomIcons/components/GooglePlay.js +84 -32
  289. package/dist/Molecular/CustomIcons/components/HelpCircle.js +67 -21
  290. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +68 -22
  291. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +67 -21
  292. package/dist/Molecular/CustomIcons/components/Home.js +67 -21
  293. package/dist/Molecular/CustomIcons/components/Home2.js +70 -24
  294. package/dist/Molecular/CustomIcons/components/Key.js +69 -26
  295. package/dist/Molecular/CustomIcons/components/Landers.js +68 -22
  296. package/dist/Molecular/CustomIcons/components/Lock.js +61 -18
  297. package/dist/Molecular/CustomIcons/components/Mail.js +75 -26
  298. package/dist/Molecular/CustomIcons/components/Mastercard.js +128 -68
  299. package/dist/Molecular/CustomIcons/components/Minus.js +79 -31
  300. package/dist/Molecular/CustomIcons/components/Offers.js +62 -19
  301. package/dist/Molecular/CustomIcons/components/Pause.js +79 -31
  302. package/dist/Molecular/CustomIcons/components/PayPal.js +96 -45
  303. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +81 -32
  304. package/dist/Molecular/CustomIcons/components/Phone.js +81 -33
  305. package/dist/Molecular/CustomIcons/components/Play.js +79 -31
  306. package/dist/Molecular/CustomIcons/components/Plus.js +79 -31
  307. package/dist/Molecular/CustomIcons/components/Profile.js +69 -23
  308. package/dist/Molecular/CustomIcons/components/QRCode.js +85 -33
  309. package/dist/Molecular/CustomIcons/components/Rectangle.js +61 -18
  310. package/dist/Molecular/CustomIcons/components/Revert.js +67 -21
  311. package/dist/Molecular/CustomIcons/components/Star.js +60 -17
  312. package/dist/Molecular/CustomIcons/components/Star2.js +62 -19
  313. package/dist/Molecular/CustomIcons/components/TrafficSources.js +68 -21
  314. package/dist/Molecular/CustomIcons/components/Trash.js +61 -18
  315. package/dist/Molecular/CustomIcons/components/TrashRed.js +61 -18
  316. package/dist/Molecular/CustomIcons/components/Triggers.js +61 -18
  317. package/dist/Molecular/CustomIcons/components/User.js +71 -23
  318. package/dist/Molecular/CustomIcons/components/Visa.js +88 -34
  319. package/dist/Molecular/CustomIcons/components/X.js +61 -18
  320. package/dist/Molecular/CustomIcons/index.js +76 -674
  321. package/dist/Molecular/FormElement/FormElement.js +44 -41
  322. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +179 -161
  323. package/dist/Molecular/FormWithDependOn/partials/_utils.js +49 -56
  324. package/dist/Molecular/InputAddress/InputAddress.js +496 -421
  325. package/dist/Molecular/InputAddress/InputAddress.scss +12 -14
  326. package/dist/Molecular/InputPassword/InputPassword.js +99 -47
  327. package/dist/index.js +11 -8
  328. package/dist/scss/_mixins.scss +2 -2
  329. package/dist/scss/_vars.scss +1 -2
  330. package/dist/scss/main.scss +4 -3
  331. package/dist/types/declaration/ArrayElement.d.js +4 -0
  332. package/dist/types/declaration/AsyncReturnType.d.js +4 -0
  333. package/dist/types/declaration/DeepPartial.d.js +4 -0
  334. package/dist/types/declaration/DeepReadonly.d.js +4 -0
  335. package/dist/types/declaration/DeepRequired.d.js +4 -0
  336. package/dist/types/declaration/Flatten.d.js +4 -0
  337. package/dist/types/declaration/FunctionType.d.js +4 -0
  338. package/dist/types/declaration/If.d.js +4 -0
  339. package/dist/types/declaration/KeysType.d.js +4 -0
  340. package/dist/types/declaration/NonNullableType.d.js +4 -0
  341. package/dist/types/declaration/ObjectType.d.js +4 -0
  342. package/dist/types/declaration/OnlyObjectKeys.d.js +4 -0
  343. package/dist/types/declaration/PrettyPrint.d.js +31 -0
  344. package/dist/types/declaration/RequiredFields.d.js +4 -0
  345. package/dist/types/declaration/TupleType.d.js +4 -0
  346. package/dist/types/declaration/ValuesType.d.js +4 -0
  347. package/package.json +18 -21
  348. package/dist/Atomic/UI/NavLine/Tabs.js +0 -115
  349. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +0 -1
  350. package/dist/Functions/useIsMobile.js +0 -26
@@ -1,479 +1,437 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports.default = InputMask2;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _reactFeather = require("react-feather");
12
- var _index = require("../../../Constants/index.constants");
13
- var _utils = require("../../../Functions/utils");
14
- var _Spinner = _interopRequireDefault(require("../../Layout/Spinner/Spinner"));
15
- var _DynamicIcon = _interopRequireDefault(require("../../UI/DynamicIcon/DynamicIcon"));
16
- var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
17
- var _config = require("./config");
18
- var _functions = require("./functions");
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return InputMask2;
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 _indexconstants = require("../../../Constants/index.constants");
16
+ const _utils = require("../../../Functions/utils");
17
+ const _Spinner = /*#__PURE__*/ _interop_require_default(require("../../Layout/Spinner/Spinner"));
18
+ const _DynamicIcon = /*#__PURE__*/ _interop_require_default(require("../../UI/DynamicIcon/DynamicIcon"));
19
+ const _Hint = /*#__PURE__*/ _interop_require_default(require("../../UI/Hint/Hint"));
20
+ const _config = require("./config");
21
+ const _functions = require("./functions");
19
22
  require("./InputMask2.scss");
20
- 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); }
21
- 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; }
22
- function InputMask2() {
23
- let {
24
- autocomplete = "off",
25
- maskPattern,
26
- maskPatternPlaceholder,
27
- maskPlaceholder,
28
- maskDigitPlaceholder,
29
- maskLetterPlaceholder,
30
- usePatternPlaceholder,
31
- maxEditableIndex = -1,
32
- isFocusedDefault = false,
33
- isClearable,
34
- isCaseSensitive,
35
- adaptTextCase,
36
- isUseAutoSelect = true,
37
- isLoading = false,
38
- icon,
39
- showIcon,
40
- isIconLeft,
41
- isIconRight,
42
- iconDynamicKey,
43
- iconDynamicProps = {},
44
- value,
45
- blinkErrors = true,
46
- blinkDuration = 100,
47
- showErrors = false,
48
- className = "",
49
- errors: customErrors = _config.DEFAULT_ERRORS,
50
- error: customError = "",
51
- onChange: onChangeProp = () => {},
52
- onFocus: onFocusProp = () => {},
53
- onBlur: onBlurProp = () => {},
54
- onKeyDown: onKeyDownProp = () => {},
55
- onFilled: onFilledProp = () => {},
56
- showHint = false,
57
- hintText = "",
58
- hintClassName = "",
59
- isHintRight = true,
60
- isHintLeft = false,
61
- hintPosition = "right",
62
- hideMaskOnBlur = true,
63
- returnMaskedValue = false,
64
- name,
65
- fieldKey,
66
- id,
67
- disabled,
68
- testId = "input-mask",
69
- attributesOfNativeInput = {}
70
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
- const errors = {
72
- ..._config.DEFAULT_ERRORS,
73
- ...customErrors
74
- };
75
- if (maxEditableIndex === -1) maxEditableIndex = maskPattern.length;
76
- const [isMaskRendered, setMaskRendered] = (0, _react.useState)(false);
77
- const [isFocused, setFocused] = (0, _react.useState)(false);
78
- const [isInitValue, setIsInitValue] = (0, _react.useState)(false);
79
- const [selectedLength, setSelectedLength] = (0, _react.useState)(0);
80
- const inputRef = (0, _react.useRef)(null);
81
- const keyDownRef = (0, _react.useRef)(null);
82
- const setKeyDown = keyCode => keyDownRef.current = keyCode;
83
- const getKeyDown = () => keyDownRef.current;
84
- const DynamicIconComponent = iconDynamicKey && !icon ? /*#__PURE__*/_react.default.createElement(_DynamicIcon.default, (0, _extends2.default)({
85
- iconKey: iconDynamicKey
86
- }, iconDynamicProps)) : null;
87
- const setCaret = caret => {
88
- if (caret < 0) caret = 0;
89
- const input = inputRef.current;
90
- if (input) setTimeout(() => input.setSelectionRange(caret, caret), 0);
91
- };
92
-
93
- // ERRORS MANAGEMENT FUNCTIONS | START //
94
- const [isError, setError] = (0, _react.useState)(false);
95
- const [blinkError, setBlinkError] = (0, _react.useState)(false);
96
- const [errorMessage, setErrorMessage] = (0, _react.useState)(errors.default);
97
- const clearErrorMessage = () => setErrorMessage(errors.default);
98
- // ERRORS MANAGEMENT FUNCTIONS | END //
99
-
100
- // INNER VALUE MANAGEMENT FUNCTIONS | START //
101
- const [innerValue, setInnerValue] = (0, _react.useState)([]);
102
- const prevValueRef = (0, _react.useRef)([]);
103
- const addInnerValueChar = _ref => {
104
- let {
105
- char,
106
- data = {}
107
- } = _ref;
108
- setInnerValue(state => {
109
- const stateCopy = [...state];
110
- const charObj = getCharObj(char, data);
111
- stateCopy.push(charObj);
112
- return stateCopy;
113
- });
114
- };
115
- const updateInnerValueChar = function () {
116
- let {
117
- char = null
118
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
119
- let i = arguments.length > 1 ? arguments[1] : undefined;
120
- setInnerValue(state => {
121
- if (!state[i]) return state;
122
- const stateCopy = [...state];
123
- if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
124
- return stateCopy;
125
- });
126
- };
127
- const resetInnerValue = () => {
128
- setInnerValue(innerValue => innerValue.map(item => {
129
- if (!item.isSpecialSymbol && item.char !== null) item.char = "";
130
- return item;
131
- }));
132
- };
133
- const setValue = function (value) {
134
- let disableErrors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
135
- value = value === null || value === undefined ? "" : value.toString();
136
- resetInnerValue();
137
- const staticLength = maskPattern.length - maxEditableIndex;
138
- if (value.length > maxEditableIndex) value = value.slice(0, value.length - staticLength);else if (maxEditableIndex !== maskPattern?.length - 1) value = value.slice(0, maxEditableIndex);
139
- let valueCharIndex = 0;
140
- setInnerValue(innerValue => {
141
- const newValue = innerValue.map((item, i) => {
142
- const {
143
- isSpecialSymbol
144
- } = item;
145
- if (isSpecialSymbol) return item;
146
- let char = value[valueCharIndex];
147
- let whileLimit = maskPattern?.length || 0;
148
- while (whileLimit && (isSpecialSymbolChar({
149
- char: value[valueCharIndex]
150
- }) || !isValidChar({
151
- char,
152
- i,
153
- disableErrors: true
154
- }))) {
155
- whileLimit--;
156
- char = value[++valueCharIndex];
157
- }
158
-
159
- // If Valid
160
- if (isValidChar({
161
- char,
162
- i,
163
- disableErrors
164
- })) {
165
- item.char = char;
166
- }
167
- ++valueCharIndex;
168
- return item;
169
- });
170
- return newValue;
171
- });
172
- };
173
- // INNER VALUE MANAGEMENT FUNCTIONS | END //
174
-
175
- // CHECKERS | START //
176
- const isValidChar = _ref2 => {
177
- let {
178
- char: key,
179
- i,
180
- disableErrors = false
181
- } = _ref2;
182
- const maskChar = getMaskCharByIndex(i);
183
- switch (maskChar) {
184
- case _config.DIGIT_MASK_CHAR:
185
- if (!(0, _functions.isDigit)(key)) {
186
- if (!disableErrors) {
187
- setErrorMessage(errors.onlyDigit);
188
- }
189
- return false;
190
- }
191
- break;
192
- case _config.UPPERCASE_LETTER_MASK_CHAR:
193
- if (adaptTextCase) key = key.toUpperCase();
194
- if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
195
- if (!disableErrors) setErrorMessage(errors.onlyLetter);
196
- return false;
197
- }
198
- if (isCaseSensitive && !(0, _functions.isUpperCaseLetter)(key)) {
199
- if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
200
- return false;
201
- }
202
- break;
203
- case _config.LOWERCASE_LETTER_MASK_CHAR:
204
- if (adaptTextCase) key = key.toLowerCase();
205
- if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
206
- if (!disableErrors) setErrorMessage(errors.onlyLetter);
207
- return false;
208
- }
209
- if (isCaseSensitive && !(0, _functions.isLowerCaseLetter)(key)) {
210
- if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
211
- return false;
212
- }
213
- break;
214
- default:
215
- return false;
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ function _getRequireWildcardCache(nodeInterop) {
29
+ if (typeof WeakMap !== "function") return null;
30
+ var cacheBabelInterop = new WeakMap();
31
+ var cacheNodeInterop = new WeakMap();
32
+ return (_getRequireWildcardCache = function(nodeInterop) {
33
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
34
+ })(nodeInterop);
35
+ }
36
+ function _interop_require_wildcard(obj, nodeInterop) {
37
+ if (!nodeInterop && obj && obj.__esModule) {
38
+ return obj;
39
+ }
40
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
41
+ return {
42
+ default: obj
43
+ };
44
+ }
45
+ var cache = _getRequireWildcardCache(nodeInterop);
46
+ if (cache && cache.has(obj)) {
47
+ return cache.get(obj);
216
48
  }
217
- return true;
218
- };
219
- const isSpecialSymbolMaskChar = _ref3 => {
220
- let {
221
- char
222
- } = _ref3;
223
- return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
224
- };
225
- const isSpecialSymbolChar = _ref4 => {
226
- let {
227
- char
228
- } = _ref4;
229
- return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
230
- };
231
- const isSpecialSymbol = i => getCharByIndex(i)?.isSpecialSymbol;
232
- // CHECKERS | END //
233
-
234
- // GETTERS | START //
235
- const getCharObj = function (char) {
236
- let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
237
- const isSpecialSymbol = isSpecialSymbolChar({
238
- char
239
- });
240
- const isSpecialSymbolMask = isSpecialSymbolMaskChar({
241
- char
242
- });
243
- if (char === " ") char = _config.SPACE_CHAR;
244
- return {
245
- char: isSpecialSymbolMask ? char : "",
246
- maskChar: char,
247
- isSpecialSymbol: isSpecialSymbolMask,
248
- isCharSymbol: !isSpecialSymbol && char !== "" && isSpecialSymbolMask,
249
- ref: /*#__PURE__*/(0, _react.createRef)(),
250
- ...data
49
+ var newObj = {
50
+ __proto__: null
251
51
  };
252
- };
253
- const getCharByIndex = i => {
254
- return innerValue[i] ? {
255
- ...innerValue[i]
256
- } : undefined;
257
- };
258
- const getMaskCharByIndex = i => {
259
- return innerValue[i]?.maskChar || undefined;
260
- };
261
- const getPlaceholderCharByIndex = i => {
262
- const {
263
- maskChar
264
- } = getCharByIndex(i);
265
- if (usePatternPlaceholder) {
266
- return maskPatternPlaceholder[i] || maskPlaceholder;
52
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
+ for(var key in obj){
54
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
55
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
56
+ if (desc && (desc.get || desc.set)) {
57
+ Object.defineProperty(newObj, key, desc);
58
+ } else {
59
+ newObj[key] = obj[key];
60
+ }
61
+ }
267
62
  }
268
- if ((0, _functions.isDigitMaskChar)(maskChar) && maskDigitPlaceholder) return maskDigitPlaceholder;
269
- if ((0, _functions.isLetterMaskChar)(maskChar) && maskLetterPlaceholder) return maskLetterPlaceholder;
270
- return maskPlaceholder;
271
- };
272
- const getClearInnerValueAsString = () => {
273
- const symbolsInfo = innerValue?.map(_ref5 => {
274
- let {
275
- isSpecialSymbol,
276
- isCharSymbol
277
- } = _ref5;
278
- return {
279
- isSpecialSymbol,
280
- isCharSymbol
281
- };
282
- });
283
- const clearValue = getInputValue({
284
- noLastTyppedCharIndexCheck: true
285
- })?.split("")?.reduce((resultStr, symbol, i) => {
286
- if (!symbolsInfo[i].isSpecialSymbol || symbolsInfo[i].isCharSymbol) resultStr += symbol;
287
- return resultStr;
288
- }, "");
289
- return clearValue;
290
- };
291
- const getInputValue = function () {
292
- let {
293
- noLastTyppedCharIndexCheck
294
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
295
- let isValid = true;
296
- const lastTyppedCharIndex = innerValue.reduce((result, _ref6, i) => {
297
- let {
298
- char,
299
- isSpecialSymbol
300
- } = _ref6;
301
- return char !== "" && !isSpecialSymbol ? i : result;
302
- }, 0);
303
- const value = innerValue.reduce((result, _ref7, i) => {
304
- let {
305
- char
306
- } = _ref7;
307
- if (char !== "" && isValid && (!noLastTyppedCharIndexCheck ? i <= lastTyppedCharIndex : true)) {
308
- result += char;
309
- } else {
310
- isValid = false;
311
- }
312
- return result;
313
- }, "");
314
- return value;
315
- };
316
- const inputValue = (0, _react.useMemo)(getInputValue, [innerValue]);
317
- // GETTERS | END //
318
-
319
- /// --- Event Handlers ---///
320
-
321
- // GENERAL EVENT HANDLERS | START //
322
- const onChange = e => {
323
- clearErrorMessage();
324
- const {
325
- target: {
326
- value,
327
- selectionStart: caretPos
328
- },
329
- nativeEvent: {
330
- data: char
331
- }
332
- } = e;
333
- if (caretPos > maxEditableIndex) {
334
- (0, _utils.disableDefaultBehavior)();
335
- setCaret(maxEditableIndex);
336
- setBlinkError(true);
337
- return;
63
+ newObj.default = obj;
64
+ if (cache) {
65
+ cache.set(obj, newObj);
338
66
  }
339
- setValue(value);
340
- const caretOffset = value.length - caretPos;
341
-
342
- // Correct Caret Position
343
- if (!value.lastIndexEqualsTo(caretPos - 1)) {
344
- if (value.longerThan(inputValue)) {
345
- if (!isValidChar({
346
- char,
347
- i: caretPos - 1
348
- })) {
349
- (0, _utils.disableDefaultBehavior)(e);
350
- setCaret(caretPos - 1);
351
- } else {
352
- const newCaretPos = value.length - caretOffset;
353
- setCaret(isSpecialSymbol(newCaretPos) ? newCaretPos + 1 : newCaretPos);
67
+ return newObj;
68
+ }
69
+ function InputMask2({ autocomplete = "off", maskPattern, maskPatternPlaceholder, maskPlaceholder, maskDigitPlaceholder, maskLetterPlaceholder, usePatternPlaceholder, maxEditableIndex = -1, isFocusedDefault = false, isClearable, isCaseSensitive, adaptTextCase, isUseAutoSelect = true, isLoading = false, icon, showIcon, isIconLeft, isIconRight, iconDynamicKey, iconDynamicProps = {}, value, blinkErrors = true, blinkDuration = 100, showErrors = false, className = "", errors: customErrors = _config.DEFAULT_ERRORS, error: customError = "", onChange: onChangeProp = ()=>{}, onFocus: onFocusProp = ()=>{}, onBlur: onBlurProp = ()=>{}, onKeyDown: onKeyDownProp = ()=>{}, onFilled: onFilledProp = ()=>{}, showHint = false, hintText = "", hintClassName = "", isHintRight = true, isHintLeft = false, hintPosition = "right", hideMaskOnBlur = true, returnMaskedValue = false, name, fieldKey, id, disabled, testId = "input-mask", attributesOfNativeInput = {} } = {}) {
70
+ const errors = {
71
+ ..._config.DEFAULT_ERRORS,
72
+ ...customErrors
73
+ };
74
+ if (maxEditableIndex === -1) maxEditableIndex = maskPattern.length;
75
+ const [isMaskRendered, setMaskRendered] = (0, _react.useState)(false);
76
+ const [isFocused, setFocused] = (0, _react.useState)(false);
77
+ const [isInitValue, setIsInitValue] = (0, _react.useState)(false);
78
+ const [selectedLength, setSelectedLength] = (0, _react.useState)(0);
79
+ const inputRef = (0, _react.useRef)(null);
80
+ const keyDownRef = (0, _react.useRef)(null);
81
+ const setKeyDown = (keyCode)=>keyDownRef.current = keyCode;
82
+ const getKeyDown = ()=>keyDownRef.current;
83
+ const DynamicIconComponent = iconDynamicKey && !icon ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_DynamicIcon.default, {
84
+ iconKey: iconDynamicKey,
85
+ ...iconDynamicProps
86
+ }) : null;
87
+ const setCaret = (caret)=>{
88
+ if (caret < 0) caret = 0;
89
+ const input = inputRef.current;
90
+ if (input) setTimeout(()=>input.setSelectionRange(caret, caret), 0);
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
+ // INNER VALUE MANAGEMENT FUNCTIONS | START //
99
+ const [innerValue, setInnerValue] = (0, _react.useState)([]);
100
+ const prevValueRef = (0, _react.useRef)([]);
101
+ const addInnerValueChar = ({ char, data = {} })=>{
102
+ setInnerValue((state)=>{
103
+ const stateCopy = [
104
+ ...state
105
+ ];
106
+ const charObj = getCharObj(char, data);
107
+ stateCopy.push(charObj);
108
+ return stateCopy;
109
+ });
110
+ };
111
+ const updateInnerValueChar = ({ char = null } = {}, i)=>{
112
+ setInnerValue((state)=>{
113
+ if (!state[i]) return state;
114
+ const stateCopy = [
115
+ ...state
116
+ ];
117
+ if (!stateCopy[i].isSpecialSymbol && char !== null) stateCopy[i].char = char;
118
+ return stateCopy;
119
+ });
120
+ };
121
+ const resetInnerValue = ()=>{
122
+ setInnerValue((innerValue)=>innerValue.map((item)=>{
123
+ if (!item.isSpecialSymbol && item.char !== null) item.char = "";
124
+ return item;
125
+ }));
126
+ };
127
+ const setValue = (value, disableErrors = true)=>{
128
+ value = value === null || value === undefined ? "" : value.toString();
129
+ resetInnerValue();
130
+ const staticLength = maskPattern.length - maxEditableIndex;
131
+ if (value.length > maxEditableIndex) value = value.slice(0, value.length - staticLength);
132
+ else if (maxEditableIndex !== (maskPattern === null || maskPattern === void 0 ? void 0 : maskPattern.length) - 1) value = value.slice(0, maxEditableIndex);
133
+ let valueCharIndex = 0;
134
+ setInnerValue((innerValue)=>{
135
+ const newValue = innerValue.map((item, i)=>{
136
+ const { isSpecialSymbol } = item;
137
+ if (isSpecialSymbol) return item;
138
+ let char = value[valueCharIndex];
139
+ let whileLimit = (maskPattern === null || maskPattern === void 0 ? void 0 : maskPattern.length) || 0;
140
+ while(whileLimit && (isSpecialSymbolChar({
141
+ char: value[valueCharIndex]
142
+ }) || !isValidChar({
143
+ char,
144
+ i,
145
+ disableErrors: true
146
+ }))){
147
+ whileLimit--;
148
+ char = value[++valueCharIndex];
149
+ }
150
+ // If Valid
151
+ if (isValidChar({
152
+ char,
153
+ i,
154
+ disableErrors
155
+ })) {
156
+ item.char = char;
157
+ }
158
+ ++valueCharIndex;
159
+ return item;
160
+ });
161
+ return newValue;
162
+ });
163
+ };
164
+ // INNER VALUE MANAGEMENT FUNCTIONS | END //
165
+ // CHECKERS | START //
166
+ const isValidChar = ({ char: key, i, disableErrors = false })=>{
167
+ const maskChar = getMaskCharByIndex(i);
168
+ switch(maskChar){
169
+ case _config.DIGIT_MASK_CHAR:
170
+ if (!(0, _functions.isDigit)(key)) {
171
+ if (!disableErrors) {
172
+ setErrorMessage(errors.onlyDigit);
173
+ }
174
+ return false;
175
+ }
176
+ break;
177
+ case _config.UPPERCASE_LETTER_MASK_CHAR:
178
+ if (adaptTextCase) key = key.toUpperCase();
179
+ if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
180
+ if (!disableErrors) setErrorMessage(errors.onlyLetter);
181
+ return false;
182
+ }
183
+ if (isCaseSensitive && !(0, _functions.isUpperCaseLetter)(key)) {
184
+ if (!disableErrors) setErrorMessage(errors.onlyUpperCase);
185
+ return false;
186
+ }
187
+ break;
188
+ case _config.LOWERCASE_LETTER_MASK_CHAR:
189
+ if (adaptTextCase) key = key.toLowerCase();
190
+ if (!(0, _functions.isLetter)(key) && !isCaseSensitive) {
191
+ if (!disableErrors) setErrorMessage(errors.onlyLetter);
192
+ return false;
193
+ }
194
+ if (isCaseSensitive && !(0, _functions.isLowerCaseLetter)(key)) {
195
+ if (!disableErrors) setErrorMessage(errors.onlyLowerCase);
196
+ return false;
197
+ }
198
+ break;
199
+ default:
200
+ return false;
354
201
  }
355
- } else if (inputValue.longerThan(value)) {
356
- switch (getKeyDown()) {
357
- case _index.KEYBOARD_KEY_CODES.Backspace:
358
- if (isSpecialSymbol(caretPos)) {
359
- (0, _utils.disableDefaultBehavior)(e);
360
- }
361
- setCaret(caretPos);
362
- break;
363
- case _index.KEYBOARD_KEY_CODES.Delete:
364
- if (isSpecialSymbol(caretPos)) {
365
- (0, _utils.disableDefaultBehavior)(e);
366
- setCaret(caretPos + 1);
202
+ return true;
203
+ };
204
+ const isSpecialSymbolMaskChar = ({ char })=>{
205
+ return !(0, _functions.isDigitMaskChar)(char) && !(0, _functions.isLetterMaskChar)(char);
206
+ };
207
+ const isSpecialSymbolChar = ({ char })=>{
208
+ return !(0, _functions.isDigit)(char) && !(0, _functions.isLetter)(char);
209
+ };
210
+ const isSpecialSymbol = (i)=>{
211
+ var _getCharByIndex;
212
+ return (_getCharByIndex = getCharByIndex(i)) === null || _getCharByIndex === void 0 ? void 0 : _getCharByIndex.isSpecialSymbol;
213
+ };
214
+ // CHECKERS | END //
215
+ // GETTERS | START //
216
+ const getCharObj = (char, data = {})=>{
217
+ const isSpecialSymbol = isSpecialSymbolChar({
218
+ char
219
+ });
220
+ const isSpecialSymbolMask = isSpecialSymbolMaskChar({
221
+ char
222
+ });
223
+ if (char === " ") char = _config.SPACE_CHAR;
224
+ return {
225
+ char: isSpecialSymbolMask ? char : "",
226
+ maskChar: char,
227
+ isSpecialSymbol: isSpecialSymbolMask,
228
+ isCharSymbol: !isSpecialSymbol && char !== "" && isSpecialSymbolMask,
229
+ ref: /*#__PURE__*/ (0, _react.createRef)(),
230
+ ...data
231
+ };
232
+ };
233
+ const getCharByIndex = (i)=>{
234
+ return innerValue[i] ? {
235
+ ...innerValue[i]
236
+ } : undefined;
237
+ };
238
+ const getMaskCharByIndex = (i)=>{
239
+ var _innerValue_i;
240
+ return ((_innerValue_i = innerValue[i]) === null || _innerValue_i === void 0 ? void 0 : _innerValue_i.maskChar) || undefined;
241
+ };
242
+ const getPlaceholderCharByIndex = (i)=>{
243
+ const { maskChar } = getCharByIndex(i);
244
+ if (usePatternPlaceholder) {
245
+ return maskPatternPlaceholder[i] || maskPlaceholder;
246
+ }
247
+ if ((0, _functions.isDigitMaskChar)(maskChar) && maskDigitPlaceholder) return maskDigitPlaceholder;
248
+ if ((0, _functions.isLetterMaskChar)(maskChar) && maskLetterPlaceholder) return maskLetterPlaceholder;
249
+ return maskPlaceholder;
250
+ };
251
+ const getClearInnerValueAsString = ()=>{
252
+ var _getInputValue_split, _getInputValue;
253
+ const symbolsInfo = innerValue === null || innerValue === void 0 ? void 0 : innerValue.map(({ isSpecialSymbol, isCharSymbol })=>({
254
+ isSpecialSymbol,
255
+ isCharSymbol
256
+ }));
257
+ const clearValue = (_getInputValue = getInputValue({
258
+ noLastTyppedCharIndexCheck: true
259
+ })) === null || _getInputValue === void 0 ? void 0 : (_getInputValue_split = _getInputValue.split("")) === null || _getInputValue_split === void 0 ? void 0 : _getInputValue_split.reduce((resultStr, symbol, i)=>{
260
+ if (!symbolsInfo[i].isSpecialSymbol || symbolsInfo[i].isCharSymbol) resultStr += symbol;
261
+ return resultStr;
262
+ }, "");
263
+ return clearValue;
264
+ };
265
+ const getInputValue = ({ noLastTyppedCharIndexCheck } = {})=>{
266
+ let isValid = true;
267
+ const lastTyppedCharIndex = innerValue.reduce((result, { char, isSpecialSymbol }, i)=>char !== "" && !isSpecialSymbol ? i : result, 0);
268
+ const value = innerValue.reduce((result, { char }, i)=>{
269
+ if (char !== "" && isValid && (!noLastTyppedCharIndexCheck ? i <= lastTyppedCharIndex : true)) {
270
+ result += char;
367
271
  } else {
368
- setCaret(caretPos);
272
+ isValid = false;
369
273
  }
370
- break;
371
- default:
372
- if (selectedLength > 0) {
373
- setCaret(caretPos);
274
+ return result;
275
+ }, "");
276
+ return value;
277
+ };
278
+ const inputValue = (0, _react.useMemo)(getInputValue, [
279
+ innerValue
280
+ ]);
281
+ // GETTERS | END //
282
+ /// --- Event Handlers ---///
283
+ // GENERAL EVENT HANDLERS | START //
284
+ const onChange = (e)=>{
285
+ clearErrorMessage();
286
+ const { target: { value, selectionStart: caretPos }, nativeEvent: { data: char } } = e;
287
+ if (caretPos > maxEditableIndex) {
288
+ (0, _utils.disableDefaultBehavior)();
289
+ setCaret(maxEditableIndex);
290
+ setBlinkError(true);
291
+ return;
292
+ }
293
+ setValue(value);
294
+ const caretOffset = value.length - caretPos;
295
+ // Correct Caret Position
296
+ if (!value.lastIndexEqualsTo(caretPos - 1)) {
297
+ if (value.longerThan(inputValue)) {
298
+ if (!isValidChar({
299
+ char,
300
+ i: caretPos - 1
301
+ })) {
302
+ (0, _utils.disableDefaultBehavior)(e);
303
+ setCaret(caretPos - 1);
304
+ } else {
305
+ const newCaretPos = value.length - caretOffset;
306
+ setCaret(isSpecialSymbol(newCaretPos) ? newCaretPos + 1 : newCaretPos);
307
+ }
308
+ } else if (inputValue.longerThan(value)) {
309
+ switch(getKeyDown()){
310
+ case _indexconstants.KEYBOARD_KEY_CODES.Backspace:
311
+ if (isSpecialSymbol(caretPos)) {
312
+ (0, _utils.disableDefaultBehavior)(e);
313
+ }
314
+ setCaret(caretPos);
315
+ break;
316
+ case _indexconstants.KEYBOARD_KEY_CODES.Delete:
317
+ if (isSpecialSymbol(caretPos)) {
318
+ (0, _utils.disableDefaultBehavior)(e);
319
+ setCaret(caretPos + 1);
320
+ } else {
321
+ setCaret(caretPos);
322
+ }
323
+ break;
324
+ default:
325
+ if (selectedLength > 0) {
326
+ setCaret(caretPos);
327
+ }
328
+ }
374
329
  }
375
330
  }
376
- }
377
- }
378
-
379
- /* Checking if the character is a special symbol and if it is not, it is checking if the character
380
- is valid or not. If it is not valid, it will blink the error. */
381
- if (blinkErrors) {
382
- setTimeout(() => {
383
- if ((value.longerThan(inputValue) && !isSpecialSymbol(caretPos - 1) || inputValue.longerThan(value) && !isSpecialSymbol(caretPos)) && (char && !isValidChar({
384
- char,
385
- i: caretPos - 1
386
- }) || inputValue === getInputValue() && getInputValue()[caretPos - 1] !== char)) {
387
- (0, _utils.disableDefaultBehavior)(e);
388
- setBlinkError(true);
331
+ /* Checking if the character is a special symbol and if it is not, it is checking if the character
332
+ is valid or not. If it is not valid, it will blink the error. */ if (blinkErrors) {
333
+ setTimeout(()=>{
334
+ if ((value.longerThan(inputValue) && !isSpecialSymbol(caretPos - 1) || inputValue.longerThan(value) && !isSpecialSymbol(caretPos)) && (char && !isValidChar({
335
+ char,
336
+ i: caretPos - 1
337
+ }) || inputValue === getInputValue() && getInputValue()[caretPos - 1] !== char)) {
338
+ (0, _utils.disableDefaultBehavior)(e);
339
+ setBlinkError(true);
340
+ }
341
+ }, 0);
389
342
  }
390
- }, 0);
391
- }
392
- };
393
- const onKeyDown = e => {
394
- onKeyDownProp?.(e);
395
- const {
396
- keyCode
397
- } = e;
398
- setKeyDown(keyCode);
399
- };
400
- const onKeyUp = e => {
401
- setKeyDown(null);
402
- // On Filled Callback
403
- if (getInputValue({
404
- noLastTyppedCharIndexCheck: true
405
- }).length === maskPattern.length && e.target.selectionStart >= maxEditableIndex) onFilledProp();
406
- };
407
- const onClearClick = e => {
408
- e.stopPropagation();
409
- e.preventDefault();
410
- resetInnerValue();
411
- inputRef?.current?.focus();
412
- setCaret(0);
413
- clearErrorMessage();
414
- };
415
- const onFocus = e => {
416
- setFocused(true);
417
- onFocusProp();
418
- };
419
- const onBlur = () => {
420
- setFocused(false);
421
- onBlurProp();
422
- };
423
- const onClick = e => {
424
- const cursor = e.target.selectionStart;
425
- if (cursor >= maxEditableIndex) setCaret(maxEditableIndex);
426
- };
427
- const onSelect = e => {
428
- const {
429
- selectionStart,
430
- selectionEnd
431
- } = e.target ?? {};
432
- setSelectedLength(selectionEnd - selectionStart ?? 0);
433
- if (selectionStart >= maxEditableIndex) setCaret(maxEditableIndex);
434
- };
435
-
436
- // GENERAL EVENT HANDLERS | END //
437
-
438
- /// --- OBSERVERS ---///
439
- // Render Mask
440
- (0, _react.useEffect)(() => {
441
- setIsInitValue(false);
442
- setInnerValue([]);
443
- setMaskRendered(false);
444
- if (!maskPattern) maskPattern = "";
445
- maskPattern.split("").map((char, id) => {
446
- addInnerValueChar({
447
- char,
448
- data: {
449
- id,
450
- isReadOnly: id === maskPattern.length
343
+ };
344
+ const onKeyDown = (e)=>{
345
+ onKeyDownProp === null || onKeyDownProp === void 0 ? void 0 : onKeyDownProp(e);
346
+ const { keyCode } = e;
347
+ setKeyDown(keyCode);
348
+ };
349
+ const onKeyUp = (e)=>{
350
+ setKeyDown(null);
351
+ // On Filled Callback
352
+ if (getInputValue({
353
+ noLastTyppedCharIndexCheck: true
354
+ }).length === maskPattern.length && e.target.selectionStart >= maxEditableIndex) onFilledProp();
355
+ };
356
+ const onClearClick = (e)=>{
357
+ var _inputRef_current;
358
+ e.stopPropagation();
359
+ e.preventDefault();
360
+ resetInnerValue();
361
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
362
+ setCaret(0);
363
+ clearErrorMessage();
364
+ };
365
+ const onFocus = (e)=>{
366
+ setFocused(true);
367
+ onFocusProp();
368
+ };
369
+ const onBlur = ()=>{
370
+ setFocused(false);
371
+ onBlurProp();
372
+ };
373
+ const onClick = (e)=>{
374
+ const cursor = e.target.selectionStart;
375
+ if (cursor >= maxEditableIndex) setCaret(maxEditableIndex);
376
+ };
377
+ const onSelect = (e)=>{
378
+ var _e_target;
379
+ const { selectionStart, selectionEnd } = (_e_target = e.target) !== null && _e_target !== void 0 ? _e_target : {};
380
+ var _ref;
381
+ setSelectedLength((_ref = selectionEnd - selectionStart) !== null && _ref !== void 0 ? _ref : 0);
382
+ if (selectionStart >= maxEditableIndex) setCaret(maxEditableIndex);
383
+ };
384
+ // GENERAL EVENT HANDLERS | END //
385
+ /// --- OBSERVERS ---///
386
+ // Render Mask
387
+ (0, _react.useEffect)(()=>{
388
+ setIsInitValue(false);
389
+ setInnerValue([]);
390
+ setMaskRendered(false);
391
+ if (!maskPattern) maskPattern = "";
392
+ maskPattern.split("").map((char, id)=>{
393
+ addInnerValueChar({
394
+ char,
395
+ data: {
396
+ id,
397
+ isReadOnly: id === maskPattern.length
398
+ }
399
+ });
400
+ if (value === null || value === void 0 ? void 0 : value[id]) updateInnerValueChar({
401
+ char: value[id]
402
+ }, id);
403
+ });
404
+ setMaskRendered(true);
405
+ }, [
406
+ maskPattern
407
+ ]);
408
+ (0, _react.useEffect)(()=>{
409
+ if (isMaskRendered && !isInitValue || isInitValue && ![
410
+ getInputValue(),
411
+ getClearInnerValueAsString()
412
+ ].includes(value) && value !== "") {
413
+ setValue(value);
414
+ setIsInitValue(true);
451
415
  }
452
- });
453
- if (value?.[id]) updateInnerValueChar({
454
- char: value[id]
455
- }, id);
456
- });
457
- setMaskRendered(true);
458
- }, [maskPattern]);
459
- (0, _react.useEffect)(() => {
460
- if (isMaskRendered && !isInitValue || isInitValue && ![getInputValue(), getClearInnerValueAsString()].includes(value) && value !== "") {
461
- setValue(value);
462
- setIsInitValue(true);
463
- }
464
- }, [isMaskRendered, value, isInitValue]);
465
-
466
- // OnChange Observer
467
- (0, _react.useEffect)(() => {
468
- if (isMaskRendered && isInitValue) {
469
- setError(false);
470
- const values = [getClearInnerValueAsString(), getInputValue({
471
- noLastTyppedCharIndexCheck: true
472
- })];
473
- if (returnMaskedValue) values.reverse();
474
- onChangeProp(...values);
475
- //todo Этот функционал ломает логику - инпут начиначиет возвращать промежуточные онченджи с пустым вэлью, при правильной отрисовке форма видит пустое вэлью.
476
- /*if (
416
+ }, [
417
+ isMaskRendered,
418
+ value,
419
+ isInitValue
420
+ ]);
421
+ // OnChange Observer
422
+ (0, _react.useEffect)(()=>{
423
+ if (isMaskRendered && isInitValue) {
424
+ setError(false);
425
+ const values = [
426
+ getClearInnerValueAsString(),
427
+ getInputValue({
428
+ noLastTyppedCharIndexCheck: true
429
+ })
430
+ ];
431
+ if (returnMaskedValue) values.reverse();
432
+ onChangeProp(...values);
433
+ //todo Этот функционал ломает логику - инпут начиначиет возвращать промежуточные онченджи с пустым вэлью, при правильной отрисовке форма видит пустое вэлью.
434
+ /*if (
477
435
  prevValueRef?.current?.[0] !== values[0] &&
478
436
  prevValueRef?.current?.[1] !== values[1] &&
479
437
  value !== values[0] &&
@@ -481,138 +439,157 @@ function InputMask2() {
481
439
  ) {
482
440
  prevValueRef.current = values;
483
441
  onChangeProp(...values);
484
- }*/
485
- }
486
- }, [innerValue, isMaskRendered, isInitValue, value]);
487
-
488
- // Blink Error
489
- (0, _react.useEffect)(() => {
490
- if (blinkError) {
491
- setTimeout(() => {
492
- setBlinkError(false);
493
- }, blinkDuration);
494
- }
495
- }, [blinkError]);
496
- (0, _react.useEffect)(() => {
497
- setError(customError !== "");
498
- setErrorMessage(customError === "" ? errors.default : customError);
499
- }, [customError, isError]);
500
-
501
- /// --- RENDER ---///
502
-
503
- const renderChar = function (obj, i) {
504
- let className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
505
- const {
506
- char,
507
- ref,
508
- maskChar,
509
- isSpecialSymbol
510
- } = obj;
511
- return /*#__PURE__*/_react.default.createElement("span", {
512
- tabIndex: -1,
513
- key: i,
514
- "attr-char-id": i,
515
- className: (0, _classnames.default)("input-mask_value_item", className, {
516
- "input-mask_value_item--digit": (0, _functions.isDigitMaskChar)(obj.maskChar),
517
- "input-mask_value_item--letter": (0, _functions.isLetterMaskChar)(obj.maskChar),
518
- "input-mask_value_item--spec": obj.isSpecialSymbol,
519
- "input-mask_value_item--hidden": i < inputValue.length
520
- }),
521
- ref: ref
522
- }, !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === "" ? getPlaceholderCharByIndex(i) : char);
523
- };
524
- const renderMaskChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_mask-char");
525
- const renderValueChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_value-char");
526
- const renderSpecialChar = (obj, i) => renderChar(obj, i, "input-mask_value_item_spec-char");
527
- const renderInputValue = () => {
528
- return innerValue.map((obj, i) => {
529
- const {
530
- char,
531
- isSpecialSymbol
532
- } = obj;
533
- if (isSpecialSymbol) {
534
- return renderSpecialChar(obj, i);
535
- }
536
- const isMaskItem = (() => char === "")();
537
- return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
538
- });
539
- };
540
- const renderMask = () => {
541
- return /*#__PURE__*/_react.default.createElement("div", {
542
- className: "input-mask_value"
543
- }, renderInputValue());
544
- };
545
- const renderInput = () => {
546
- return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
547
- name: name || fieldKey || id || testId || "",
548
- className: `input-mask_input ${className}`,
549
- ref: inputRef,
550
- value: inputValue,
551
- onChange: onChange,
552
- onKeyDown: onKeyDown,
553
- onKeyUp: onKeyUp,
554
- onBlur: onBlur,
555
- onClick: onClick,
556
- autoComplete: autocomplete,
557
- onFocus: function () {
558
- if (isUseAutoSelect) inputRef.current.select();
559
- if (onFocus) onFocus(...arguments);
560
- },
561
- onDragStart: e => {
562
- e.stopPropagation();
563
- e.preventDefault();
564
- },
565
- onDragEnd: e => {
566
- e.stopPropagation();
567
- e.preventDefault();
568
- },
569
- onSelect: onSelect
570
- }, attributesOfNativeInput));
571
- };
572
- const render = () => {
573
- return /*#__PURE__*/_react.default.createElement("div", {
574
- "data-testid": testId,
575
- className: (0, _classnames.default)("input-mask2_wrapper", className, {
576
- "input-mask_error": isError
577
- }, {
578
- "input-mask_focus": isFocused
579
- }, {
580
- "input-mask_blink-error": blinkError
581
- }, {
582
- disabled: disabled || isLoading
583
- })
584
- }, /*#__PURE__*/_react.default.createElement("div", {
585
- className: `
442
+ }*/ }
443
+ }, [
444
+ innerValue,
445
+ isMaskRendered,
446
+ isInitValue,
447
+ value
448
+ ]);
449
+ // Blink Error
450
+ (0, _react.useEffect)(()=>{
451
+ if (blinkError) {
452
+ setTimeout(()=>{
453
+ setBlinkError(false);
454
+ }, blinkDuration);
455
+ }
456
+ }, [
457
+ blinkError
458
+ ]);
459
+ (0, _react.useEffect)(()=>{
460
+ setError(customError !== "");
461
+ setErrorMessage(customError === "" ? errors.default : customError);
462
+ }, [
463
+ customError,
464
+ isError
465
+ ]);
466
+ /// --- RENDER ---///
467
+ const renderChar = (obj, i, className = "")=>{
468
+ const { char, ref, maskChar, isSpecialSymbol } = obj;
469
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
470
+ tabIndex: -1,
471
+ "attr-char-id": i,
472
+ className: (0, _classnames.default)("input-mask_value_item", className, {
473
+ "input-mask_value_item--digit": (0, _functions.isDigitMaskChar)(obj.maskChar),
474
+ "input-mask_value_item--letter": (0, _functions.isLetterMaskChar)(obj.maskChar),
475
+ "input-mask_value_item--spec": obj.isSpecialSymbol,
476
+ "input-mask_value_item--hidden": i < inputValue.length
477
+ }),
478
+ ref: ref,
479
+ children: !isFocused && hideMaskOnBlur && getClearInnerValueAsString().length === 0 ? _config.SPACE_CHAR : isSpecialSymbol ? maskChar : char === "" ? getPlaceholderCharByIndex(i) : char
480
+ }, i);
481
+ };
482
+ const renderMaskChar = (obj, i)=>renderChar(obj, i, "input-mask_value_item_mask-char");
483
+ const renderValueChar = (obj, i)=>renderChar(obj, i, "input-mask_value_item_value-char");
484
+ const renderSpecialChar = (obj, i)=>renderChar(obj, i, "input-mask_value_item_spec-char");
485
+ const renderInputValue = ()=>{
486
+ return innerValue.map((obj, i)=>{
487
+ const { char, isSpecialSymbol } = obj;
488
+ if (isSpecialSymbol) {
489
+ return renderSpecialChar(obj, i);
490
+ }
491
+ const isMaskItem = (()=>char === "")();
492
+ return isMaskItem ? renderMaskChar(obj, i) : renderValueChar(obj, i);
493
+ });
494
+ };
495
+ const renderMask = ()=>{
496
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
497
+ className: "input-mask_value",
498
+ children: renderInputValue()
499
+ });
500
+ };
501
+ const renderInput = ()=>{
502
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
503
+ name: name || fieldKey || id || testId || "",
504
+ className: `input-mask_input ${className}`,
505
+ ref: inputRef,
506
+ value: inputValue,
507
+ onChange: onChange,
508
+ onKeyDown: onKeyDown,
509
+ onKeyUp: onKeyUp,
510
+ onBlur: onBlur,
511
+ onClick: onClick,
512
+ autoComplete: autocomplete,
513
+ onFocus: (...params)=>{
514
+ if (isUseAutoSelect) inputRef.current.select();
515
+ if (onFocus) onFocus(...params);
516
+ },
517
+ onDragStart: (e)=>{
518
+ e.stopPropagation();
519
+ e.preventDefault();
520
+ },
521
+ onDragEnd: (e)=>{
522
+ e.stopPropagation();
523
+ e.preventDefault();
524
+ },
525
+ onSelect: onSelect,
526
+ ...attributesOfNativeInput
527
+ });
528
+ };
529
+ const render = ()=>{
530
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
531
+ "data-testid": testId,
532
+ className: (0, _classnames.default)("input-mask2_wrapper", className, {
533
+ "input-mask_error": isError
534
+ }, {
535
+ "input-mask_focus": isFocused
536
+ }, {
537
+ "input-mask_blink-error": blinkError
538
+ }, {
539
+ disabled: disabled || isLoading
540
+ }),
541
+ children: [
542
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
543
+ className: `
586
544
  input-mask
587
545
  ${isError ? "input-mask_error" : ""}
588
546
  ${isFocused ? "input-mask_focus" : ""}
589
547
  ${blinkError ? "input-mask_blink-error" : ""}
590
- `
591
- }, showHint && isHintLeft && /*#__PURE__*/_react.default.createElement("div", {
592
- className: "input-mask_hint input-mask_hint--left"
593
- }, /*#__PURE__*/_react.default.createElement(_Hint.default, {
594
- hint: hintText,
595
- className: hintClassName,
596
- side: hintPosition
597
- })), isIconLeft && showIcon && /*#__PURE__*/_react.default.createElement("div", {
598
- className: "input-mask_icon input-mask_icon--left"
599
- }, DynamicIconComponent ?? icon), renderMask(), renderInput(), isClearable && /*#__PURE__*/_react.default.createElement("div", {
600
- className: "input-mask_clear"
601
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
602
- onClick: onClearClick
603
- })), isIconRight && showIcon && /*#__PURE__*/_react.default.createElement("div", {
604
- className: "input-mask_icon input-mask_icon--right"
605
- }, DynamicIconComponent ?? icon), showHint && isHintRight && /*#__PURE__*/_react.default.createElement("div", {
606
- className: "input-mask_hint input-mask_hint--right"
607
- }, /*#__PURE__*/_react.default.createElement(_Hint.default, {
608
- hint: hintText,
609
- className: hintClassName,
610
- side: hintPosition
611
- }))), showErrors && errorMessage && /*#__PURE__*/_react.default.createElement("div", {
612
- className: "input-mask_error-text"
613
- }, errorMessage), isLoading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
614
- size: "small"
615
- }));
616
- };
617
- return render();
618
- }
548
+ `,
549
+ children: [
550
+ showHint && isHintLeft && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
551
+ className: "input-mask_hint input-mask_hint--left",
552
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
553
+ hint: hintText,
554
+ className: hintClassName,
555
+ side: hintPosition
556
+ })
557
+ }),
558
+ isIconLeft && showIcon && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
559
+ className: "input-mask_icon input-mask_icon--left",
560
+ children: DynamicIconComponent !== null && DynamicIconComponent !== void 0 ? DynamicIconComponent : icon
561
+ }),
562
+ renderMask(),
563
+ renderInput(),
564
+ isClearable && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
565
+ className: "input-mask_clear",
566
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {
567
+ onClick: onClearClick
568
+ })
569
+ }),
570
+ isIconRight && showIcon && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
571
+ className: "input-mask_icon input-mask_icon--right",
572
+ children: DynamicIconComponent !== null && DynamicIconComponent !== void 0 ? DynamicIconComponent : icon
573
+ }),
574
+ showHint && isHintRight && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
575
+ className: "input-mask_hint input-mask_hint--right",
576
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
577
+ hint: hintText,
578
+ className: hintClassName,
579
+ side: hintPosition
580
+ })
581
+ })
582
+ ]
583
+ }),
584
+ showErrors && errorMessage && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
585
+ className: "input-mask_error-text",
586
+ children: errorMessage
587
+ }),
588
+ isLoading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, {
589
+ size: "small"
590
+ })
591
+ ]
592
+ });
593
+ };
594
+ return render();
595
+ }