intelicoreact 1.5.36 → 1.5.40

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 (346) 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/Modal.stories.js +1 -1
  171. package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
  172. package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
  173. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
  174. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
  175. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
  176. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
  177. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
  178. package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
  179. package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
  180. package/dist/Atomic/UI/NavLine/NavLine.test.js +1 -1
  181. package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
  182. package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
  183. package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
  184. package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
  185. package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
  186. package/dist/Atomic/UI/Price/Price.js +20 -27
  187. package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
  188. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
  189. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
  190. package/dist/Atomic/UI/Status/Status.js +51 -62
  191. package/dist/Atomic/UI/Status/Status.scss +29 -48
  192. package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
  193. package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
  194. package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
  195. package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
  196. package/dist/Atomic/UI/Table/Table.js +43 -61
  197. package/dist/Atomic/UI/Table/Table.scss +3 -0
  198. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
  199. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
  200. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
  201. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
  202. package/dist/Atomic/UI/Tag/Tag.js +113 -157
  203. package/dist/Atomic/UI/Tag/Tag.scss +48 -102
  204. package/dist/Atomic/UI/TagList/TagList.js +179 -223
  205. package/dist/Atomic/UI/TagList/TagList.scss +9 -13
  206. package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
  207. package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
  208. package/dist/Atomic/UI/UserBox/UserBox.test.js +2 -2
  209. package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
  210. package/dist/Atomic/UI/WizardStepper/index.js +6 -14
  211. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
  212. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
  213. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
  214. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
  215. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
  216. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
  217. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
  218. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
  219. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
  220. package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
  221. package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
  222. package/dist/Classes/AbortableFetch.js +326 -394
  223. package/dist/Classes/AnimatedHandler.js +44 -31
  224. package/dist/Classes/RESTAPI/index.js +173 -131
  225. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
  226. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  227. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
  228. package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
  229. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
  230. package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
  231. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
  232. package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
  233. package/dist/Constants/index.constants.js +22 -102
  234. package/dist/Functions/Portal.js +23 -67
  235. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  236. package/dist/Functions/customEventListener.js +50 -48
  237. package/dist/Functions/dateTime.js +177 -130
  238. package/dist/Functions/fieldValueFormatters.js +346 -275
  239. package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
  240. package/dist/Functions/locale/createTranslator.js +27 -29
  241. package/dist/Functions/operations.js +102 -129
  242. package/dist/Functions/presets/inputMaskPresets.js +99 -88
  243. package/dist/Functions/presets/inputPresets.js +35 -41
  244. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
  245. package/dist/Functions/schemas.js +20 -78
  246. package/dist/Functions/useBodyScrollLock.js +15 -21
  247. package/dist/Functions/useClickOutside.js +16 -21
  248. package/dist/Functions/useDebounce.js +21 -62
  249. package/dist/Functions/useFieldFocus.js +79 -83
  250. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
  251. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
  252. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
  253. package/dist/Functions/useFormTools/functions/General.js +129 -117
  254. package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
  255. package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
  256. package/dist/Functions/useFormTools/index.js +709 -647
  257. package/dist/Functions/useInputHighlightError.js +53 -104
  258. package/dist/Functions/useIsMobile.js +26 -0
  259. package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
  260. package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
  261. package/dist/Functions/useLocalStorage.js +31 -38
  262. package/dist/Functions/useLocationParams.js +24 -31
  263. package/dist/Functions/useMediaQuery.js +10 -14
  264. package/dist/Functions/useMetaInfo.js +35 -45
  265. package/dist/Functions/useMouseUpOutside.js +15 -21
  266. package/dist/Functions/useOnlineStatus.js +21 -25
  267. package/dist/Functions/usePasswordChecker.js +111 -183
  268. package/dist/Functions/usePrevious.js +10 -16
  269. package/dist/Functions/useResize.js +28 -32
  270. package/dist/Functions/useScrollTo.js +16 -26
  271. package/dist/Functions/useToggle.js +16 -20
  272. package/dist/Functions/utils.js +469 -493
  273. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
  274. package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
  275. package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
  276. package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
  277. package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
  278. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
  279. package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
  280. package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
  281. package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
  282. package/dist/Molecular/CustomIcons/components/Button.js +18 -61
  283. package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
  284. package/dist/Molecular/CustomIcons/components/Check.js +19 -62
  285. package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
  286. package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
  287. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
  288. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
  289. package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
  290. package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
  291. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
  292. package/dist/Molecular/CustomIcons/components/Close.js +20 -64
  293. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
  294. package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
  295. package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
  296. package/dist/Molecular/CustomIcons/components/Email.js +36 -87
  297. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
  298. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
  299. package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
  300. package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
  301. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
  302. package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
  303. package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
  304. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
  305. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
  306. package/dist/Molecular/CustomIcons/components/Home.js +21 -67
  307. package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
  308. package/dist/Molecular/CustomIcons/components/Key.js +26 -69
  309. package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
  310. package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
  311. package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
  312. package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
  313. package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
  314. package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
  315. package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
  316. package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
  317. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
  318. package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
  319. package/dist/Molecular/CustomIcons/components/Play.js +31 -79
  320. package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
  321. package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
  322. package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
  323. package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
  324. package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
  325. package/dist/Molecular/CustomIcons/components/Star.js +17 -60
  326. package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
  327. package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
  328. package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
  329. package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
  330. package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
  331. package/dist/Molecular/CustomIcons/components/User.js +23 -71
  332. package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
  333. package/dist/Molecular/CustomIcons/components/X.js +18 -61
  334. package/dist/Molecular/CustomIcons/index.js +674 -76
  335. package/dist/Molecular/FormElement/FormElement.js +41 -44
  336. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
  337. package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
  338. package/dist/Molecular/InputAddress/InputAddress.js +421 -496
  339. package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
  340. package/dist/Molecular/InputPassword/InputPassword.js +47 -99
  341. package/dist/index.js +8 -11
  342. package/dist/scss/_fonts.scss +60 -48
  343. package/dist/scss/_mixins.scss +2 -2
  344. package/dist/scss/_vars.scss +5 -4
  345. package/dist/scss/main.scss +4 -5
  346. package/package.json +21 -17
@@ -1,69 +1,25 @@
1
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 _default;
9
- }
10
- });
11
- const _jsxruntime = require("react/jsx-runtime");
12
- const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
13
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
- const _indexconstants = require("../../../Constants/index.constants");
15
- const _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
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"));
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _index = require("../../../Constants/index.constants");
12
+ var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
13
+ var _utils = require("../../../Functions/utils");
14
+ var _Spinner = _interopRequireDefault(require("../../Layout/Spinner/Spinner"));
15
+ var _DynamicIcon = _interopRequireDefault(require("../../UI/DynamicIcon/DynamicIcon"));
19
16
  require("./Input.scss");
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- function _getRequireWildcardCache(nodeInterop) {
26
- if (typeof WeakMap !== "function") return null;
27
- var cacheBabelInterop = new WeakMap();
28
- var cacheNodeInterop = new WeakMap();
29
- return (_getRequireWildcardCache = function(nodeInterop) {
30
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
- })(nodeInterop);
32
- }
33
- function _interop_require_wildcard(obj, nodeInterop) {
34
- if (!nodeInterop && obj && obj.__esModule) {
35
- return obj;
36
- }
37
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
- return {
39
- default: obj
40
- };
41
- }
42
- var cache = _getRequireWildcardCache(nodeInterop);
43
- if (cache && cache.has(obj)) {
44
- return cache.get(obj);
45
- }
46
- var newObj = {
47
- __proto__: null
48
- };
49
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
50
- for(var key in obj){
51
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
52
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
53
- if (desc && (desc.get || desc.set)) {
54
- Object.defineProperty(newObj, key, desc);
55
- } else {
56
- newObj[key] = obj[key];
57
- }
58
- }
59
- }
60
- newObj.default = obj;
61
- if (cache) {
62
- cache.set(obj, newObj);
63
- }
64
- return newObj;
65
- }
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
+ // import InputMask from 'react-input-mask';
20
+
66
21
  const HIDE_SYMBOL = "\u2022";
22
+
67
23
  /**
68
24
  * Input компонент.
69
25
  *
@@ -98,285 +54,319 @@ const HIDE_SYMBOL = "\u2022";
98
54
  * @param {boolean} props.isFocusDefault - Определяет, будет ли элемент получать фокус при загрузке страницы.
99
55
  * @param {boolean} props.isNotValidateASCII - Отключает проверку ASCII для вводимых символов.
100
56
  * @param {boolean} props.isNumericMobileKeyboard - Отображает цифровую клавиатуру на мобильных устройствах.
101
- */ const Input = /*#__PURE__*/ _react.default.forwardRef(({ blurTrim, autocomplete = "off", isSelect, onChange = ()=>{}, onBlur = ()=>{}, onFocus = ()=>{}, onKeyUp = ()=>{}, onKeyDown = ()=>{}, isNotBlinkErrors, isPriceInput, onlyNumbers, disabled, withDelete, value, placeholder, className, type = "text", mask, maskChar, formatChars, error, icon, iconDynamicKey, iconDynamicProps = {}, symbolsLimit, blinkTime, isFocusDefault = false, isNotValidateASCII = false, isNumericMobileKeyboard = false, isCropFirstNool = false, testId = "input", action, isUseAutoSelect = true, isReadOnly = false, isLoading = false, name, fieldKey, id, attributesOfNativeInput = {} }, ref)=>{
102
- const { trimStart, trimEnd, characters } = blurTrim || {};
103
- const DynamicIconComponent = iconDynamicKey && !icon ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_DynamicIcon.default, {
104
- iconKey: iconDynamicKey,
105
- ...iconDynamicProps
106
- }) : null;
107
- const DEFAULT_BLINK_TIME = 100;
108
- // STATES
109
- const [isFocused, setIsFocused] = (0, _react.useState)(false);
110
- const [isEditing, setEditing] = (0, _react.useState)(false);
111
- const inputInnerRef = (0, _react.useRef)(null);
112
- const inputRef = (0, _react.useMemo)(()=>ref || inputInnerRef, [
113
- ref
114
- ]);
115
- // const previousValueRef = useRef(value);
116
- const [isAttemptToChange, setIsAttemptToChange] = (0, _react.useState)(false);
117
- const [isToHighlightError, setIsToHighlightError] = (0, _react.useState)(false);
118
- const [onInputHover, setOnInputHover] = (0, _react.useState)(false);
119
- const [prevValue, setPreviousValue] = (0, _react.useState)(value);
120
- const [keyDownData, setKeyDownData] = (0, _react.useState)({
121
- start: null,
122
- end: null,
123
- keyCode: null
124
- });
125
- const isUseBitDepthPoints = Boolean(onlyNumbers) && isPriceInput;
126
- const isUseErrorsBlink = !isNotBlinkErrors && !mask;
127
- const inputName = name || fieldKey || id;
128
- const isPseudoPasswordMode = type === "pseudoPassword";
129
- // HANDLES
130
- const handle = {
131
- correctMinMax: (value, correctionType)=>{
132
- if (!onlyNumbers) return value;
133
- const { min, max, isOnlyPositive, isNoEmptyValues } = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {};
134
- const minimum = !Number.isNaN(Number(min)) && min !== null && (min >= 0 || !isOnlyPositive) ? min : undefined;
135
- const maximum = !Number.isNaN(Number(max)) && max !== null && (max >= 0 || !isOnlyPositive) ? max : undefined;
136
- let minusSymbol;
137
- let inputValue = (0, _fieldValueFormatters.getSafelyValue)(value);
138
- const checkMin = ()=>{
139
- if (!inputValue && isNoEmptyValues) inputValue = minimum !== undefined ? minimum : "0";
140
- else if (inputValue && !Number.isNaN(Number(minimum)) && Number(minimum) > Number((minusSymbol !== null && minusSymbol !== void 0 ? minusSymbol : "") + inputValue)) inputValue = minimum;
141
- };
142
- const checkMax = ()=>{
143
- if (!Number.isNaN(Number(maximum)) && Number(maximum) < Number((minusSymbol !== null && minusSymbol !== void 0 ? minusSymbol : "") + inputValue)) {
144
- inputValue = maximum;
145
- minusSymbol = null;
146
- }
147
- };
148
- if (isUseBitDepthPoints) inputValue = (0, _fieldValueFormatters.formatToRemoveComa)(inputValue);
149
- if (!isOnlyPositive && inputValue[0] === "-") {
150
- minusSymbol = "-";
151
- inputValue = inputValue.slice(1);
152
- }
153
- inputValue = (0, _fieldValueFormatters.filterNumeric)(inputValue, onlyNumbers);
154
- switch(correctionType){
155
- case "min":
156
- checkMin();
157
- break;
158
- case "max":
159
- checkMax();
160
- break;
161
- default:
162
- checkMin();
163
- checkMax();
164
- break;
165
- }
166
- return inputValue;
167
- },
168
- processPseudoValue: (newValue, oldValue)=>{
169
- const insertedPart = newValue.replace(new RegExp(HIDE_SYMBOL, "g"), "");
170
- // ? Если insertedPart.length > 1, то это точно копи-паст
171
- // ? По договоренности любой копипаст заменяет текущее велью
172
- if (insertedPart.length > 1) return insertedPart;
173
- const isOldValueHasBeenReduced = newValue.replace(new RegExp(/^HIDE_SYMBOL/g), "").length < oldValue.length;
174
- const oldValueArr = oldValue.split("");
175
- const getIsInclude = (idx)=>{
176
- const BACKSPACE_CODE = 8;
177
- // ? Если позиции не равны, значит была выделена область, значит будем воспринимать как копи-паст
178
- if (keyDownData.start !== keyDownData.end) return false;
179
- // ? Если позиции равны и есть вставляемое значение - обрезаем "хвост"
180
- if (insertedPart) return idx < keyDownData.start;
181
- // ? Если позиции равны и нет вставляемого значения - значит симвовол удалили
182
- return keyDownData.keyCode === BACKSPACE_CODE ? idx < keyDownData.start - 1 || idx > keyDownData.end - 1 : idx < keyDownData.start || idx > keyDownData.end;
183
- };
184
- if (!insertedPart) return oldValueArr.reduce((acc, sym, idx)=>getIsInclude(idx) ? `${acc}${sym}` : acc, "");
185
- const outputStructure = oldValueArr.reduce((acc, sym, idx)=>{
186
- if (getIsInclude(idx)) acc.result = `${acc.result}${sym}`;
187
- else if (!acc.position) acc.position = insertedPart ? idx : idx - 1;
188
- return acc;
189
- }, {
190
- result: "",
191
- position: !isOldValueHasBeenReduced ? keyDownData.start : null
192
- });
193
- const output = `${outputStructure.result.slice(0, outputStructure.position)}${insertedPart}${outputStructure.result.slice(outputStructure.position)}`;
194
- return output;
195
- },
196
- change: (e)=>{
197
- const { isOnlyPositive } = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {};
198
- let minusSymbol;
199
- let inputValue = e.target ? e.target.value : e;
200
- if (isPseudoPasswordMode) inputValue = inputValue.includes(HIDE_SYMBOL) ? handle.processPseudoValue(inputValue, value, e) : inputValue;
201
- // If user typed comma(',') replace it to dot('.') for float value typing
202
- if (isPriceInput && inputValue.charAt(inputValue.length - 1) === ',') inputValue = inputValue.substring(0, inputValue.length - 1).concat('.');
203
- if (isUseBitDepthPoints) inputValue = (0, _fieldValueFormatters.formatToRemoveComa)(inputValue);
204
- if (onlyNumbers) inputValue = inputValue.replace(/,/g, ".");
205
- if (onlyNumbers && !isOnlyPositive && inputValue[0] === "-") {
206
- minusSymbol = "-";
207
- inputValue = inputValue.slice(1);
208
- }
209
- if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
210
- if (symbolsLimit && inputValue.length > Number(symbolsLimit)) inputValue = inputValue.substring(0, Number(symbolsLimit));
211
- if (isCropFirstNool && inputValue[0] == 0) return "";
212
- else if (onlyNumbers) inputValue = handle.correctMinMax(inputValue, "max");
213
- onChange(((minusSymbol !== null && minusSymbol !== void 0 ? minusSymbol : "") + inputValue).toString());
214
- },
215
- toggleEdit: ()=>{
216
- setEditing(!isEditing);
217
- onChange("");
218
- },
219
- focus: (e)=>{
220
- setIsFocused(true);
221
- onFocus(e);
222
- },
223
- blur: (e)=>{
224
- let inputValue = handle.correctMinMax((0, _fieldValueFormatters.getSafelyValue)(value), "min");
225
- if (trimStart) inputValue = inputValue.replace(new RegExp(`^[${characters}]+`), "");
226
- if (trimEnd) inputValue = inputValue.replace(new RegExp(`[${characters}]+$`), "");
227
- if (value !== inputValue) onChange(inputValue);
228
- setIsFocused(false);
229
- setEditing(false);
230
- // использую setTimeout для того чтоб прошли переназначения велью, если они есть,
231
- // для того, чтоб верхний onBlur при обращении к e.target.value получал обновленное велью
232
- if (onBlur) setTimeout(()=>onBlur(e), 0);
233
- },
234
- keyDown: (e)=>{
235
- var _e_target;
236
- setPreviousValue(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.value);
237
- setKeyDownData({
238
- start: e.target.selectionStart,
239
- end: e.target.selectionEnd,
240
- keyCode: e.keyCode
241
- });
242
- onKeyDown(e.keyCode, e);
243
- },
244
- keyUp: (e)=>{
245
- if (isUseErrorsBlink) {
246
- const changedValue = `${value !== null && value !== void 0 ? value : ""}`;
247
- const previousValue = `${prevValue}`;
248
- const short = previousValue.length <= changedValue.length ? previousValue : changedValue;
249
- const long = previousValue.length > changedValue.length ? previousValue : changedValue;
250
- const infoAboutDifferencesSameness = short.split("").reduce((acc, symbol, idx)=>{
251
- if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);
252
- else {
253
- acc.countOn = false;
254
- acc.differences.push([
255
- idx,
256
- symbol
257
- ]);
258
- }
259
- return acc;
260
- }, {
261
- same: [],
262
- countOn: true,
263
- differences: []
264
- });
265
- const samePart = infoAboutDifferencesSameness.same.join("");
266
- const differencesLength = infoAboutDifferencesSameness.differences.length;
267
- const currentSet = changedValue === null || changedValue === void 0 ? void 0 : changedValue.replace(samePart, "");
268
- if (!_indexconstants.KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) setIsAttemptToChange(!(!differencesLength && e.key === currentSet));
269
- }
270
- onKeyUp(e.keyCode, e);
271
- }
272
- };
273
- (0, _react.useEffect)(()=>{
274
- var _inputRef_current_focus, _inputRef_current;
275
- if (isEditing) inputRef === null || inputRef === void 0 ? void 0 : (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : (_inputRef_current_focus = _inputRef_current.focus) === null || _inputRef_current_focus === void 0 ? void 0 : _inputRef_current_focus.call(_inputRef_current);
276
- }, [
277
- isEditing,
278
- isFocused
279
- ]);
280
- (0, _react.useEffect)(()=>{
281
- setEditing(isSelect !== null && isSelect !== void 0 ? isSelect : false);
282
- }, [
283
- isSelect
284
- ]);
285
- (0, _react.useEffect)(()=>{
286
- if (isUseErrorsBlink && isAttemptToChange) {
287
- setIsAttemptToChange(null);
288
- setIsToHighlightError(true);
289
- setTimeout(()=>{
290
- setIsToHighlightError(false);
291
- }, blinkTime || DEFAULT_BLINK_TIME);
57
+ */
58
+ const Input = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
59
+ let {
60
+ blurTrim,
61
+ autocomplete = "off",
62
+ isSelect,
63
+ onChange = () => {},
64
+ onBlur = () => {},
65
+ onFocus = () => {},
66
+ onKeyUp = () => {},
67
+ onKeyDown = () => {},
68
+ isNotBlinkErrors,
69
+ isPriceInput,
70
+ onlyNumbers,
71
+ disabled,
72
+ withDelete,
73
+ value,
74
+ placeholder,
75
+ className,
76
+ type = "text",
77
+ mask,
78
+ maskChar,
79
+ formatChars,
80
+ error,
81
+ icon,
82
+ iconDynamicKey,
83
+ iconDynamicProps = {},
84
+ symbolsLimit,
85
+ blinkTime,
86
+ isFocusDefault = false,
87
+ isNotValidateASCII = false,
88
+ isNumericMobileKeyboard = false,
89
+ isCropFirstNool = false,
90
+ testId = "input",
91
+ action,
92
+ isUseAutoSelect = true,
93
+ isReadOnly = false,
94
+ isLoading = false,
95
+ name,
96
+ fieldKey,
97
+ id,
98
+ attributesOfNativeInput = {}
99
+ } = _ref;
100
+ const {
101
+ trimStart,
102
+ trimEnd,
103
+ characters
104
+ } = blurTrim || {};
105
+ const DynamicIconComponent = iconDynamicKey && !icon ? /*#__PURE__*/_react.default.createElement(_DynamicIcon.default, (0, _extends2.default)({
106
+ iconKey: iconDynamicKey
107
+ }, iconDynamicProps)) : null;
108
+ const DEFAULT_BLINK_TIME = 100;
109
+ // STATES
110
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
111
+ const [isEditing, setEditing] = (0, _react.useState)(false);
112
+ const inputInnerRef = (0, _react.useRef)(null);
113
+ const inputRef = (0, _react.useMemo)(() => ref || inputInnerRef, [ref]);
114
+ // const previousValueRef = useRef(value);
115
+ const [isAttemptToChange, setIsAttemptToChange] = (0, _react.useState)(false);
116
+ const [isToHighlightError, setIsToHighlightError] = (0, _react.useState)(false);
117
+ const [onInputHover, setOnInputHover] = (0, _react.useState)(false);
118
+ const [prevValue, setPreviousValue] = (0, _react.useState)(value);
119
+ const [keyDownData, setKeyDownData] = (0, _react.useState)({
120
+ start: null,
121
+ end: null,
122
+ keyCode: null
123
+ });
124
+ const isUseBitDepthPoints = Boolean(onlyNumbers) && isPriceInput;
125
+ const isUseErrorsBlink = !isNotBlinkErrors && !mask;
126
+ const inputName = name || fieldKey || id;
127
+ const isPseudoPasswordMode = type === "pseudoPassword";
128
+
129
+ // HANDLES
130
+ const handle = {
131
+ correctMinMax: (value, correctionType) => {
132
+ if (!onlyNumbers) return value;
133
+ const {
134
+ min,
135
+ max,
136
+ isOnlyPositive,
137
+ isNoEmptyValues
138
+ } = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {};
139
+ const minimum = !Number.isNaN(Number(min)) && min !== null && (min >= 0 || !isOnlyPositive) ? min : undefined;
140
+ const maximum = !Number.isNaN(Number(max)) && max !== null && (max >= 0 || !isOnlyPositive) ? max : undefined;
141
+ let minusSymbol;
142
+ let inputValue = (0, _fieldValueFormatters.getSafelyValue)(value);
143
+ const checkMin = () => {
144
+ if (!inputValue && isNoEmptyValues) inputValue = minimum !== undefined ? minimum : "0";else if (inputValue && !Number.isNaN(Number(minimum)) && Number(minimum) > Number((minusSymbol ?? "") + inputValue)) inputValue = minimum;
145
+ };
146
+ const checkMax = () => {
147
+ if (!Number.isNaN(Number(maximum)) && Number(maximum) < Number((minusSymbol ?? "") + inputValue)) {
148
+ inputValue = maximum;
149
+ minusSymbol = null;
292
150
  }
293
- }, [
294
- isAttemptToChange
295
- ]);
296
- (0, _react.useEffect)(()=>{
297
- if ((inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && typeof isFocusDefault === "boolean") setIsFocused(isFocusDefault);
298
- setEditing(isFocusDefault);
299
- }, [
300
- inputRef,
301
- isFocusDefault
302
- ]);
303
- const getInputType = ()=>{
304
- if (isPriceInput || isPseudoPasswordMode) return "text";
305
- return type;
306
- };
307
- const formatedValue = (()=>{
308
- let safelyValue = (0, _fieldValueFormatters.getSafelyValue)(value);
309
- const hideSymbols = ()=>safelyValue.split("").map(()=>HIDE_SYMBOL).join("");
310
- if (isPseudoPasswordMode) return hideSymbols();
311
- if (onlyNumbers === null || onlyNumbers === void 0 ? void 0 : onlyNumbers.isNoEmptyValues) safelyValue = handle.correctMinMax(safelyValue, "min");
312
- if (isUseBitDepthPoints) safelyValue = (0, _fieldValueFormatters.formatToAddBitDepthPoints)(safelyValue, onlyNumbers);
313
- return safelyValue;
314
- })();
315
- const uniProps = {
316
- name: inputName,
317
- className: (0, _classnames.default)("input", className, {
318
- "input--with-icon": icon,
319
- "input--with-delete": withDelete
320
- }),
321
- placeholder,
322
- value: formatedValue,
323
- inputMode: isNumericMobileKeyboard ? "decimal" : "text",
324
- disabled,
325
- onChange: handle.change,
326
- onFocus: handle.focus,
327
- onBlur: handle.blur,
328
- onKeyUp: handle.keyUp,
329
- onKeyDown: handle.keyDown,
330
- ...maskChar ? {
331
- maskChar
332
- } : {},
333
- ...formatChars ? {
334
- formatChars
335
- } : {}
336
- };
337
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
338
- "data-testid": testId,
339
- className: (0, _classnames.default)(`input__wrap`, {
340
- [`input__wrap_focus`]: isFocused
341
- }, {
342
- [`input__wrap_error`]: error || isToHighlightError
151
+ };
152
+ if (isUseBitDepthPoints) inputValue = (0, _fieldValueFormatters.formatToRemoveComa)(inputValue);
153
+ if (!isOnlyPositive && inputValue[0] === "-") {
154
+ minusSymbol = "-";
155
+ inputValue = inputValue.slice(1);
156
+ }
157
+ inputValue = (0, _fieldValueFormatters.filterNumeric)(inputValue, onlyNumbers);
158
+ switch (correctionType) {
159
+ case "min":
160
+ checkMin();
161
+ break;
162
+ case "max":
163
+ checkMax();
164
+ break;
165
+ default:
166
+ checkMin();
167
+ checkMax();
168
+ break;
169
+ }
170
+ return inputValue;
171
+ },
172
+ processPseudoValue: (newValue, oldValue) => {
173
+ const insertedPart = newValue.replace(new RegExp(HIDE_SYMBOL, "g"), "");
174
+
175
+ //? Если insertedPart.length > 1, то это точно копи-паст
176
+ //? По договоренности любой копипаст заменяет текущее велью
177
+ if (insertedPart.length > 1) return insertedPart;
178
+ const isOldValueHasBeenReduced = newValue.replace(new RegExp(/^HIDE_SYMBOL/g), "").length < oldValue.length;
179
+ const oldValueArr = oldValue.split("");
180
+ const getIsInclude = idx => {
181
+ const BACKSPACE_CODE = 8;
182
+
183
+ //? Если позиции не равны, значит была выделена область, значит будем воспринимать как копи-паст
184
+ if (keyDownData.start !== keyDownData.end) return false;
185
+
186
+ //? Если позиции равны и есть вставляемое значение - обрезаем "хвост"
187
+ if (insertedPart) return idx < keyDownData.start;
188
+
189
+ //? Если позиции равны и нет вставляемого значения - значит симвовол удалили
190
+ return keyDownData.keyCode === BACKSPACE_CODE ? idx < keyDownData.start - 1 || idx > keyDownData.end - 1 : idx < keyDownData.start || idx > keyDownData.end;
191
+ };
192
+ if (!insertedPart) return oldValueArr.reduce((acc, sym, idx) => getIsInclude(idx) ? `${acc}${sym}` : acc, "");
193
+ const outputStructure = oldValueArr.reduce((acc, sym, idx) => {
194
+ if (getIsInclude(idx)) acc.result = `${acc.result}${sym}`;else if (!acc.position) acc.position = insertedPart ? idx : idx - 1;
195
+ return acc;
196
+ }, {
197
+ result: "",
198
+ position: !isOldValueHasBeenReduced ? keyDownData.start : null
199
+ });
200
+ const output = `${outputStructure.result.slice(0, outputStructure.position)}${insertedPart}${outputStructure.result.slice(outputStructure.position)}`;
201
+ return output;
202
+ },
203
+ change: e => {
204
+ const {
205
+ isOnlyPositive
206
+ } = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {};
207
+ let minusSymbol;
208
+ let inputValue = e.target ? e.target.value : e;
209
+ if (isPseudoPasswordMode) inputValue = inputValue.includes(HIDE_SYMBOL) ? handle.processPseudoValue(inputValue, value, e) : inputValue;
210
+
211
+ // If user typed comma(',') replace it to dot('.') for float value typing
212
+ if (isPriceInput && inputValue.charAt(inputValue.length - 1) === ',') inputValue = inputValue.substring(0, inputValue.length - 1).concat('.');
213
+ if (isUseBitDepthPoints) inputValue = (0, _fieldValueFormatters.formatToRemoveComa)(inputValue);
214
+ if (onlyNumbers) inputValue = inputValue.replace(/,/g, ".");
215
+ if (onlyNumbers && !isOnlyPositive && inputValue[0] === "-") {
216
+ minusSymbol = "-";
217
+ inputValue = inputValue.slice(1);
218
+ }
219
+ if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
220
+ if (symbolsLimit && inputValue.length > Number(symbolsLimit)) inputValue = inputValue.substring(0, Number(symbolsLimit));
221
+ if (isCropFirstNool && inputValue[0] == 0) return "";else if (onlyNumbers) inputValue = handle.correctMinMax(inputValue, "max");
222
+ onChange(((minusSymbol ?? "") + inputValue).toString());
223
+ },
224
+ toggleEdit: () => {
225
+ setEditing(!isEditing);
226
+ onChange("");
227
+ },
228
+ focus: e => {
229
+ setIsFocused(true);
230
+ onFocus(e);
231
+ },
232
+ blur: e => {
233
+ let inputValue = handle.correctMinMax((0, _fieldValueFormatters.getSafelyValue)(value), "min");
234
+ if (trimStart) inputValue = inputValue.replace(new RegExp(`^[${characters}]+`), "");
235
+ if (trimEnd) inputValue = inputValue.replace(new RegExp(`[${characters}]+$`), "");
236
+ if (value !== inputValue) onChange(inputValue);
237
+ setIsFocused(false);
238
+ setEditing(false);
239
+ // использую setTimeout для того чтоб прошли переназначения велью, если они есть,
240
+ // для того, чтоб верхний onBlur при обращении к e.target.value получал обновленное велью
241
+ if (onBlur) setTimeout(() => onBlur(e), 0);
242
+ },
243
+ keyDown: e => {
244
+ setPreviousValue(e?.target?.value);
245
+ setKeyDownData({
246
+ start: e.target.selectionStart,
247
+ end: e.target.selectionEnd,
248
+ keyCode: e.keyCode
249
+ });
250
+ onKeyDown(e.keyCode, e);
251
+ },
252
+ keyUp: e => {
253
+ if (isUseErrorsBlink) {
254
+ const changedValue = `${value ?? ""}`;
255
+ const previousValue = `${prevValue}`;
256
+ const short = previousValue.length <= changedValue.length ? previousValue : changedValue;
257
+ const long = previousValue.length > changedValue.length ? previousValue : changedValue;
258
+ const infoAboutDifferencesSameness = short.split("").reduce((acc, symbol, idx) => {
259
+ if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);else {
260
+ acc.countOn = false;
261
+ acc.differences.push([idx, symbol]);
262
+ }
263
+ return acc;
343
264
  }, {
344
- [`input__wrap--disabled`]: disabled || isLoading
345
- }),
346
- onMouseEnter: ()=>setOnInputHover(true),
347
- onMouseLeave: ()=>setOnInputHover(false),
348
- children: [
349
- /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
350
- readOnly: isReadOnly,
351
- ...uniProps,
352
- ref: inputRef,
353
- type: getInputType(),
354
- autoComplete: isPseudoPasswordMode ? "off" : autocomplete,
355
- ...attributesOfNativeInput,
356
- onFocus: (...params)=>{
357
- var _attributesOfNativeInput_onFocus;
358
- attributesOfNativeInput === null || attributesOfNativeInput === void 0 ? void 0 : (_attributesOfNativeInput_onFocus = attributesOfNativeInput.onFocus) === null || _attributesOfNativeInput_onFocus === void 0 ? void 0 : _attributesOfNativeInput_onFocus.call(attributesOfNativeInput, ...params);
359
- if (isUseAutoSelect) inputRef.current.select();
360
- if (uniProps.onFocus) uniProps.onFocus(...params);
361
- },
362
- onBlur: (...params)=>{
363
- var _attributesOfNativeInput_onBlur;
364
- attributesOfNativeInput === null || attributesOfNativeInput === void 0 ? void 0 : (_attributesOfNativeInput_onBlur = attributesOfNativeInput.onBlur) === null || _attributesOfNativeInput_onBlur === void 0 ? void 0 : _attributesOfNativeInput_onBlur.call(attributesOfNativeInput, ...params);
365
- if (uniProps.onBlur) uniProps.onBlur(...params);
366
- }
367
- }),
368
- DynamicIconComponent !== null && DynamicIconComponent !== void 0 ? DynamicIconComponent : icon,
369
- action,
370
- withDelete && onInputHover && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
371
- className: (0, _classnames.default)(`input__close`, {
372
- hidden: !(0, _fieldValueFormatters.getSafelyValue)(value)
373
- }),
374
- onClick: handle.toggleEdit
375
- }),
376
- isLoading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, {
377
- size: "small"
378
- })
379
- ]
380
- });
265
+ same: [],
266
+ countOn: true,
267
+ differences: []
268
+ });
269
+ const samePart = infoAboutDifferencesSameness.same.join("");
270
+ const differencesLength = infoAboutDifferencesSameness.differences.length;
271
+ const currentSet = changedValue?.replace(samePart, "");
272
+ if (!_index.KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) setIsAttemptToChange(!(!differencesLength && e.key === currentSet));
273
+ }
274
+ onKeyUp(e.keyCode, e);
275
+ }
276
+ };
277
+ (0, _react.useEffect)(() => {
278
+ if (isEditing) inputRef?.current?.focus?.();
279
+ }, [isEditing, isFocused]);
280
+ (0, _react.useEffect)(() => {
281
+ setEditing(isSelect ?? false);
282
+ }, [isSelect]);
283
+ (0, _react.useEffect)(() => {
284
+ if (isUseErrorsBlink && isAttemptToChange) {
285
+ setIsAttemptToChange(null);
286
+ setIsToHighlightError(true);
287
+ setTimeout(() => {
288
+ setIsToHighlightError(false);
289
+ }, blinkTime || DEFAULT_BLINK_TIME);
290
+ }
291
+ }, [isAttemptToChange]);
292
+ (0, _react.useEffect)(() => {
293
+ if (inputRef?.current && typeof isFocusDefault === "boolean") setIsFocused(isFocusDefault);
294
+ setEditing(isFocusDefault);
295
+ }, [inputRef, isFocusDefault]);
296
+ const getInputType = () => {
297
+ if (isPriceInput || isPseudoPasswordMode) return "text";
298
+ return type;
299
+ };
300
+ const formatedValue = (() => {
301
+ let safelyValue = (0, _fieldValueFormatters.getSafelyValue)(value);
302
+ const hideSymbols = () => safelyValue.split("").map(() => HIDE_SYMBOL).join("");
303
+ if (isPseudoPasswordMode) return hideSymbols();
304
+ if (onlyNumbers?.isNoEmptyValues) safelyValue = handle.correctMinMax(safelyValue, "min");
305
+ if (isUseBitDepthPoints) safelyValue = (0, _fieldValueFormatters.formatToAddBitDepthPoints)(safelyValue, onlyNumbers);
306
+ return safelyValue;
307
+ })();
308
+ const uniProps = {
309
+ name: inputName,
310
+ className: (0, _classnames.default)("input", className, {
311
+ "input--with-icon": icon,
312
+ "input--with-delete": withDelete
313
+ }),
314
+ placeholder,
315
+ value: formatedValue,
316
+ inputMode: isNumericMobileKeyboard ? "decimal" : "text",
317
+ disabled,
318
+ onChange: handle.change,
319
+ onFocus: handle.focus,
320
+ onBlur: handle.blur,
321
+ onKeyUp: handle.keyUp,
322
+ onKeyDown: handle.keyDown,
323
+ ...(maskChar ? {
324
+ maskChar
325
+ } : {}),
326
+ ...(formatChars ? {
327
+ formatChars
328
+ } : {})
329
+ };
330
+ return /*#__PURE__*/_react.default.createElement("div", {
331
+ "data-testid": testId,
332
+ className: (0, _classnames.default)(`input__wrap`, {
333
+ [`input__wrap_focus`]: isFocused
334
+ }, {
335
+ [`input__wrap_error`]: error || isToHighlightError
336
+ }, {
337
+ [`input__wrap--disabled`]: disabled || isLoading
338
+ }),
339
+ onMouseEnter: () => setOnInputHover(true),
340
+ onMouseLeave: () => setOnInputHover(false)
341
+ }, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
342
+ readOnly: isReadOnly
343
+ }, uniProps, {
344
+ ref: inputRef,
345
+ type: getInputType(),
346
+ autoComplete: isPseudoPasswordMode ? "off" : autocomplete
347
+ }, attributesOfNativeInput, {
348
+ onFocus: function () {
349
+ for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
350
+ params[_key] = arguments[_key];
351
+ }
352
+ attributesOfNativeInput?.onFocus?.(...params);
353
+ if (isUseAutoSelect) inputRef.current.select();
354
+ if (uniProps.onFocus) uniProps.onFocus(...params);
355
+ },
356
+ onBlur: function () {
357
+ for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
358
+ params[_key2] = arguments[_key2];
359
+ }
360
+ attributesOfNativeInput?.onBlur?.(...params);
361
+ if (uniProps.onBlur) uniProps.onBlur(...params);
362
+ }
363
+ })), DynamicIconComponent ?? icon, action, withDelete && onInputHover && /*#__PURE__*/_react.default.createElement("span", {
364
+ className: (0, _classnames.default)(`input__close`, {
365
+ hidden: !(0, _fieldValueFormatters.getSafelyValue)(value)
366
+ }),
367
+ onClick: handle.toggleEdit
368
+ }), isLoading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
369
+ size: "small"
370
+ }));
381
371
  });
382
- const _default = Input;
372
+ var _default = exports.default = Input;