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,25 +1,69 @@
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 = 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"));
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"));
16
19
  require("./Input.scss");
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.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
-
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
+ }
21
66
  const HIDE_SYMBOL = "\u2022";
22
-
23
67
  /**
24
68
  * Input компонент.
25
69
  *
@@ -54,319 +98,285 @@ const HIDE_SYMBOL = "\u2022";
54
98
  * @param {boolean} props.isFocusDefault - Определяет, будет ли элемент получать фокус при загрузке страницы.
55
99
  * @param {boolean} props.isNotValidateASCII - Отключает проверку ASCII для вводимых символов.
56
100
  * @param {boolean} props.isNumericMobileKeyboard - Отображает цифровую клавиатуру на мобильных устройствах.
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;
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);
150
292
  }
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;
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
264
341
  }, {
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
- }));
342
+ [`input__wrap_error`]: error || isToHighlightError
343
+ }, {
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
+ });
371
381
  });
372
- var _default = exports.default = Input;
382
+ const _default = Input;