intelicoreact 1.5.38 → 1.5.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -93
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +13 -23
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -43
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +10 -20
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +164 -243
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -1
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +51 -60
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +15 -25
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +39 -47
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +2 -5
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +308 -410
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +109 -169
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +527 -680
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +59 -61
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +15 -28
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +378 -498
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +32 -36
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +70 -103
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +2 -0
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +91 -138
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +55 -109
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +193 -254
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +16 -19
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +140 -156
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +4 -8
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +156 -222
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +114 -158
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +92 -151
  29. package/dist/Atomic/FormElements/Input/Input.js +330 -340
  30. package/dist/Atomic/FormElements/Input/Input.scss +1 -1
  31. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +110 -156
  32. package/dist/Atomic/FormElements/InputColor/InputColor.js +58 -57
  33. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +145 -188
  34. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +228 -294
  35. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -1
  36. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +56 -55
  37. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +536 -645
  38. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +190 -220
  39. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +31 -33
  40. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +169 -247
  41. package/dist/Atomic/FormElements/InputLink/InputLink.js +71 -118
  42. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +38 -47
  43. package/dist/Atomic/FormElements/InputMask/InputMask.js +1053 -938
  44. package/dist/Atomic/FormElements/InputMask/config.js +15 -16
  45. package/dist/Atomic/FormElements/InputMask/functions.js +51 -77
  46. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +592 -569
  47. package/dist/Atomic/FormElements/InputMask2/config.js +15 -16
  48. package/dist/Atomic/FormElements/InputMask2/functions.js +51 -77
  49. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +679 -651
  50. package/dist/Atomic/FormElements/InputMask3/config.js +15 -16
  51. package/dist/Atomic/FormElements/InputMask3/functions.js +51 -77
  52. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +88 -127
  53. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
  54. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +111 -182
  55. package/dist/Atomic/FormElements/Label/Label.js +55 -82
  56. package/dist/Atomic/FormElements/Label/Label.scss +8 -18
  57. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +382 -437
  58. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
  59. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +50 -88
  60. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +264 -314
  61. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
  62. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +51 -93
  63. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +55 -69
  64. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +45 -51
  65. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  66. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +40 -53
  67. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +120 -169
  68. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +141 -195
  69. package/dist/Atomic/FormElements/RangeList/RangeList.js +140 -199
  70. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  71. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +4 -1
  72. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +44 -57
  73. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +377 -463
  74. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
  75. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +759 -760
  76. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
  77. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +31 -36
  78. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +2 -0
  79. package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
  80. package/dist/Atomic/FormElements/Switcher/Switcher.js +44 -52
  81. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  82. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +44 -43
  83. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +2 -0
  84. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +36 -37
  85. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +2 -0
  86. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +56 -93
  87. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +2 -0
  88. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +53 -86
  89. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +2 -0
  90. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +54 -46
  91. package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
  92. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +102 -172
  93. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +6 -4
  94. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +154 -209
  95. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +56 -59
  96. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  97. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +112 -140
  98. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +919 -1035
  99. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +119 -155
  100. package/dist/Atomic/FormElements/Text/Text.js +97 -88
  101. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -44
  102. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  103. package/dist/Atomic/FormElements/Textarea/Textarea.js +64 -102
  104. package/dist/Atomic/FormElements/Textarea/Textarea.scss +8 -4
  105. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +133 -172
  106. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +49 -48
  107. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +63 -114
  108. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +3 -9
  109. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +122 -179
  110. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +5 -10
  111. package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
  112. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +65 -101
  113. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +12 -4
  114. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +71 -80
  115. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +64 -79
  116. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +3 -1
  117. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
  118. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +34 -42
  119. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +83 -102
  120. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +3 -1
  121. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
  122. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +35 -42
  123. package/dist/Atomic/Layout/Header/Header.js +80 -148
  124. package/dist/Atomic/Layout/Header/Header.scss +1 -1
  125. package/dist/Atomic/Layout/MainMenu/MainMenu.js +133 -213
  126. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
  127. package/dist/Atomic/Layout/Spinner/Spinner.js +22 -39
  128. package/dist/Atomic/Layout/Spinner/Spinner.scss +16 -32
  129. package/dist/Atomic/UI/Accordion/Accordion.js +52 -102
  130. package/dist/Atomic/UI/Accordion/Accordion.scss +14 -25
  131. package/dist/Atomic/UI/Accordion/AccordionItem.js +102 -170
  132. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +167 -251
  133. package/dist/Atomic/UI/AccordionText/AccordionText.js +54 -105
  134. package/dist/Atomic/UI/AccordionText/AccordionText.scss +9 -22
  135. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +135 -207
  136. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +46 -100
  137. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
  138. package/dist/Atomic/UI/Alert/Alert.js +63 -116
  139. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  140. package/dist/Atomic/UI/Arrow/Arrow.js +110 -163
  141. package/dist/Atomic/UI/Box/Box.js +37 -37
  142. package/dist/Atomic/UI/Box/Box.scss +11 -11
  143. package/dist/Atomic/UI/Button/Button.js +41 -43
  144. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +67 -61
  145. package/dist/Atomic/UI/Chart/Chart.js +96 -170
  146. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +74 -142
  147. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +77 -91
  148. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +117 -120
  149. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +292 -314
  150. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +39 -54
  151. package/dist/Atomic/UI/Chart/partial/utils.js +33 -56
  152. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +88 -145
  153. package/dist/Atomic/UI/DateTime/DateTime.js +37 -89
  154. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  155. package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
  156. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +31 -93
  157. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +18 -66
  158. package/dist/Atomic/UI/DoubleString/DoubleString.js +77 -134
  159. package/dist/Atomic/UI/DoubleString/DoubleString.scss +4 -6
  160. package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
  161. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +22 -65
  162. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +170 -251
  163. package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
  164. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +84 -109
  165. package/dist/Atomic/UI/Hint/Hint.js +202 -243
  166. package/dist/Atomic/UI/Hint/Hint.scss +3 -5
  167. package/dist/Atomic/UI/Hint/partials/_utils.js +42 -54
  168. package/dist/Atomic/UI/Modal/Modal.js +172 -171
  169. package/dist/Atomic/UI/Modal/Modal.scss +69 -91
  170. package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
  171. package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
  172. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
  173. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
  174. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
  175. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
  176. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
  177. package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
  178. package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
  179. package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
  180. package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
  181. package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
  182. package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
  183. package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
  184. package/dist/Atomic/UI/Price/Price.js +20 -27
  185. package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
  186. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
  187. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
  188. package/dist/Atomic/UI/Status/Status.js +51 -62
  189. package/dist/Atomic/UI/Status/Status.scss +29 -48
  190. package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
  191. package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
  192. package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
  193. package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
  194. package/dist/Atomic/UI/Table/Table.js +43 -61
  195. package/dist/Atomic/UI/Table/Table.scss +3 -0
  196. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
  197. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
  198. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
  199. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
  200. package/dist/Atomic/UI/Tag/Tag.js +113 -157
  201. package/dist/Atomic/UI/Tag/Tag.scss +48 -102
  202. package/dist/Atomic/UI/TagList/TagList.js +179 -223
  203. package/dist/Atomic/UI/TagList/TagList.scss +9 -13
  204. package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
  205. package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
  206. package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
  207. package/dist/Atomic/UI/WizardStepper/index.js +6 -14
  208. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
  209. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
  210. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
  211. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
  212. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
  213. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
  214. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
  215. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
  216. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
  217. package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
  218. package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
  219. package/dist/Classes/AbortableFetch.js +326 -394
  220. package/dist/Classes/AnimatedHandler.js +44 -31
  221. package/dist/Classes/RESTAPI/index.js +173 -131
  222. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
  223. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  224. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
  225. package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
  226. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
  227. package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
  228. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
  229. package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
  230. package/dist/Constants/index.constants.js +22 -102
  231. package/dist/Functions/Portal.js +23 -67
  232. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  233. package/dist/Functions/customEventListener.js +50 -48
  234. package/dist/Functions/dateTime.js +177 -130
  235. package/dist/Functions/fieldValueFormatters.js +346 -275
  236. package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
  237. package/dist/Functions/locale/createTranslator.js +27 -29
  238. package/dist/Functions/operations.js +102 -129
  239. package/dist/Functions/presets/inputMaskPresets.js +99 -88
  240. package/dist/Functions/presets/inputPresets.js +35 -41
  241. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
  242. package/dist/Functions/schemas.js +20 -78
  243. package/dist/Functions/useBodyScrollLock.js +15 -21
  244. package/dist/Functions/useClickOutside.js +16 -21
  245. package/dist/Functions/useDebounce.js +21 -62
  246. package/dist/Functions/useFieldFocus.js +79 -83
  247. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
  248. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
  249. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
  250. package/dist/Functions/useFormTools/functions/General.js +129 -117
  251. package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
  252. package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
  253. package/dist/Functions/useFormTools/index.js +709 -647
  254. package/dist/Functions/useInputHighlightError.js +53 -104
  255. package/dist/Functions/useIsMobile.js +26 -0
  256. package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
  257. package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
  258. package/dist/Functions/useLocalStorage.js +31 -38
  259. package/dist/Functions/useLocationParams.js +24 -31
  260. package/dist/Functions/useMediaQuery.js +10 -14
  261. package/dist/Functions/useMetaInfo.js +35 -45
  262. package/dist/Functions/useMouseUpOutside.js +15 -21
  263. package/dist/Functions/useOnlineStatus.js +21 -25
  264. package/dist/Functions/usePasswordChecker.js +111 -183
  265. package/dist/Functions/usePrevious.js +10 -16
  266. package/dist/Functions/useResize.js +28 -32
  267. package/dist/Functions/useScrollTo.js +16 -26
  268. package/dist/Functions/useToggle.js +16 -20
  269. package/dist/Functions/utils.js +469 -493
  270. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
  271. package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
  272. package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
  273. package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
  274. package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
  275. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
  276. package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
  277. package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
  278. package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
  279. package/dist/Molecular/CustomIcons/components/Button.js +18 -61
  280. package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
  281. package/dist/Molecular/CustomIcons/components/Check.js +19 -62
  282. package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
  283. package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
  284. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
  285. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
  286. package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
  287. package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
  288. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
  289. package/dist/Molecular/CustomIcons/components/Close.js +20 -64
  290. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
  291. package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
  292. package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
  293. package/dist/Molecular/CustomIcons/components/Email.js +36 -87
  294. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
  295. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
  296. package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
  297. package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
  298. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
  299. package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
  300. package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
  301. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
  302. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
  303. package/dist/Molecular/CustomIcons/components/Home.js +21 -67
  304. package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
  305. package/dist/Molecular/CustomIcons/components/Key.js +26 -69
  306. package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
  307. package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
  308. package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
  309. package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
  310. package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
  311. package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
  312. package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
  313. package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
  314. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
  315. package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
  316. package/dist/Molecular/CustomIcons/components/Play.js +31 -79
  317. package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
  318. package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
  319. package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
  320. package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
  321. package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
  322. package/dist/Molecular/CustomIcons/components/Star.js +17 -60
  323. package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
  324. package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
  325. package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
  326. package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
  327. package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
  328. package/dist/Molecular/CustomIcons/components/User.js +23 -71
  329. package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
  330. package/dist/Molecular/CustomIcons/components/X.js +18 -61
  331. package/dist/Molecular/CustomIcons/index.js +674 -76
  332. package/dist/Molecular/FormElement/FormElement.js +41 -44
  333. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
  334. package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
  335. package/dist/Molecular/InputAddress/InputAddress.js +421 -496
  336. package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
  337. package/dist/Molecular/InputPassword/InputPassword.js +47 -99
  338. package/dist/index.js +8 -11
  339. package/dist/scss/_fonts.scss +60 -48
  340. package/dist/scss/_mixins.scss +2 -2
  341. package/dist/scss/_vars.scss +5 -4
  342. package/dist/scss/main.scss +4 -5
  343. package/package.json +21 -18
  344. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.interface.js +0 -4
  345. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.stories.js +0 -89
  346. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.test.js +0 -130
  347. package/dist/Atomic/FormElements/ActionAlert/index.js +0 -17
  348. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.interface.js +0 -4
  349. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +0 -81
  350. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.test.js +0 -104
  351. package/dist/Atomic/FormElements/AdvancedStatus/index.js +0 -17
  352. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +0 -4
  353. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +0 -108
  354. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.interface.js +0 -4
  355. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -100
  356. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.test.js +0 -143
  357. package/dist/Atomic/FormElements/CheckboxInput/index.js +0 -17
  358. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.interface.js +0 -4
  359. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +0 -94
  360. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.test.js +0 -177
  361. package/dist/Atomic/FormElements/CheckboxesLine/index.js +0 -17
  362. package/dist/Atomic/FormElements/Datepicker/Datepicker.stories.js +0 -51
  363. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -596
  364. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.stories.js +0 -272
  365. package/dist/Atomic/FormElements/FileLoader/FileLoader.stories.js +0 -182
  366. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.stories.js +0 -327
  367. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.stories.js +0 -186
  368. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.stories.js +0 -84
  369. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.stories.js +0 -107
  370. package/dist/Atomic/FormElements/Input/Input.stories.js +0 -251
  371. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -115
  372. package/dist/Atomic/FormElements/InputColor/InputColor.stories.js +0 -119
  373. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.interface.js +0 -4
  374. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.stories.js +0 -178
  375. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.test.js +0 -129
  376. package/dist/Atomic/FormElements/InputCurrency/index.js +0 -16
  377. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -123
  378. package/dist/Atomic/FormElements/InputLink/InputLink.stories.js +0 -140
  379. package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +0 -303
  380. package/dist/Atomic/FormElements/InputMask2/InputMask2.stories.js +0 -314
  381. package/dist/Atomic/FormElements/InputMask3/InputMask3.stories.js +0 -335
  382. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.stories.js +0 -276
  383. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -56
  384. package/dist/Atomic/FormElements/Label/Label.interface.js +0 -4
  385. package/dist/Atomic/FormElements/Label/Label.stories.js +0 -47
  386. package/dist/Atomic/FormElements/Label/Label.test.js +0 -167
  387. package/dist/Atomic/FormElements/Label/index.js +0 -17
  388. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +0 -172
  389. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -121
  390. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -184
  391. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.stories.js +0 -79
  392. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.stories.js +0 -151
  393. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -67
  394. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.stories.js +0 -116
  395. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -107
  396. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -92
  397. package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +0 -169
  398. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.stories.js +0 -401
  399. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.stories.js +0 -314
  400. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.stories.js +0 -137
  401. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -91
  402. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.stories.js +0 -104
  403. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.stories.js +0 -96
  404. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.stories.js +0 -140
  405. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.stories.js +0 -112
  406. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.stories.js +0 -145
  407. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +0 -158
  408. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.stories.js +0 -101
  409. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.stories.js +0 -131
  410. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -357
  411. package/dist/Atomic/FormElements/Text/Text.stories.js +0 -80
  412. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -106
  413. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.test.js +0 -93
  414. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -103
  415. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -174
  416. package/dist/Atomic/FormElements/TimeRange/TimeRange.interface.js +0 -4
  417. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -40
  418. package/dist/Atomic/FormElements/TimeRange/TimeRange.test.js +0 -163
  419. package/dist/Atomic/FormElements/TimeRange/index.js +0 -17
  420. package/dist/Atomic/FormElements/UserContacts/UserContact.test.js +0 -381
  421. package/dist/Atomic/FormElements/UserContacts/UserContacts.interface.js +0 -4
  422. package/dist/Atomic/FormElements/UserContacts/UserContacts.stories.js +0 -74
  423. package/dist/Atomic/FormElements/UserContacts/index.js +0 -17
  424. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.stories.js +0 -193
  425. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.stories.js +0 -147
  426. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.stories.js +0 -151
  427. package/dist/Atomic/Layout/Header/Header.stories.js +0 -71
  428. package/dist/Atomic/Layout/MainMenu/MainMenu.stories.js +0 -115
  429. package/dist/Atomic/Layout/Spinner/Spinner.interface.js +0 -4
  430. package/dist/Atomic/Layout/Spinner/Spinner.stories.js +0 -46
  431. package/dist/Atomic/Layout/Spinner/Spinner.test.js +0 -54
  432. package/dist/Atomic/Layout/Spinner/index.js +0 -17
  433. package/dist/Atomic/UI/Accordion/Accordion.interface.js +0 -4
  434. package/dist/Atomic/UI/Accordion/Accordion.stories.js +0 -168
  435. package/dist/Atomic/UI/Accordion/Accordion.test.js +0 -54
  436. package/dist/Atomic/UI/Accordion/AccordionItem.test.js +0 -50
  437. package/dist/Atomic/UI/Accordion/index.js +0 -17
  438. package/dist/Atomic/UI/AccordionTable/AccordionTable.stories.js +0 -268
  439. package/dist/Atomic/UI/AccordionText/AccordionText.stories.js +0 -125
  440. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -115
  441. package/dist/Atomic/UI/Alert/Alert.stories.js +0 -81
  442. package/dist/Atomic/UI/Arrow/Arrow.stories.js +0 -62
  443. package/dist/Atomic/UI/Box/Box.stories.js +0 -114
  444. package/dist/Atomic/UI/Button/Button.stories.js +0 -105
  445. package/dist/Atomic/UI/Button/Button.test.js +0 -147
  446. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.stories.js +0 -129
  447. package/dist/Atomic/UI/Chart/Chart.stories.js +0 -93
  448. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.stories.js +0 -85
  449. package/dist/Atomic/UI/DateTime/DateTime.stories.js +0 -50
  450. package/dist/Atomic/UI/DoubleString/DoubleString.stories.js +0 -79
  451. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.js +0 -4
  452. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.stories.js +0 -98
  453. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.test.js +0 -51
  454. package/dist/Atomic/UI/DynamicIcon/index.js +0 -17
  455. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.stories.js +0 -98
  456. package/dist/Atomic/UI/Hint/Hint.stories.js +0 -101
  457. package/dist/Atomic/UI/Hint/index.js +0 -16
  458. package/dist/Atomic/UI/Modal/Modal.interface.js +0 -4
  459. package/dist/Atomic/UI/Modal/Modal.stories.js +0 -370
  460. package/dist/Atomic/UI/Modal/ModalHOC.stories.js +0 -191
  461. package/dist/Atomic/UI/Modal/ModalHOC.test.js +0 -187
  462. package/dist/Atomic/UI/Modal/index.js +0 -26
  463. package/dist/Atomic/UI/Modal/partials/ModalFooter.test.js +0 -118
  464. package/dist/Atomic/UI/Modal/partials/ModalTitle.test.js +0 -126
  465. package/dist/Atomic/UI/Modal/partials/useMobileModal.test.js +0 -133
  466. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.interface.js +0 -4
  467. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.stories.js +0 -513
  468. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.test.js +0 -84
  469. package/dist/Atomic/UI/MonoAccordion/index.js +0 -17
  470. package/dist/Atomic/UI/NavLine/NavLine.interface.js +0 -4
  471. package/dist/Atomic/UI/NavLine/NavLine.stories.js +0 -434
  472. package/dist/Atomic/UI/NavLine/NavLine.test.js +0 -311
  473. package/dist/Atomic/UI/NavLine/index.js +0 -17
  474. package/dist/Atomic/UI/PageTitle/PageTitle.interface.js +0 -4
  475. package/dist/Atomic/UI/PageTitle/PageTitle.stories.js +0 -62
  476. package/dist/Atomic/UI/PageTitle/PageTitle.test.js +0 -181
  477. package/dist/Atomic/UI/PageTitle/index.js +0 -17
  478. package/dist/Atomic/UI/PieChart/PieChar.interface.js +0 -4
  479. package/dist/Atomic/UI/PieChart/PieChart.stories.js +0 -82
  480. package/dist/Atomic/UI/PieChart/PieChart.test.js +0 -142
  481. package/dist/Atomic/UI/PieChart/index.js +0 -26
  482. package/dist/Atomic/UI/Price/Price.interface.js +0 -4
  483. package/dist/Atomic/UI/Price/Price.stories.js +0 -52
  484. package/dist/Atomic/UI/Price/Price.test.js +0 -83
  485. package/dist/Atomic/UI/Price/index.js +0 -17
  486. package/dist/Atomic/UI/PriceRange/PriceRange.interface.js +0 -4
  487. package/dist/Atomic/UI/PriceRange/PriceRange.stories.js +0 -51
  488. package/dist/Atomic/UI/PriceRange/PriceRange.test.js +0 -72
  489. package/dist/Atomic/UI/PriceRange/index.js +0 -17
  490. package/dist/Atomic/UI/ProgressLine/ProgressLine.interface.js +0 -4
  491. package/dist/Atomic/UI/ProgressLine/ProgressLine.stories.js +0 -163
  492. package/dist/Atomic/UI/ProgressLine/ProgressLine.test.js +0 -60
  493. package/dist/Atomic/UI/ProgressLine/index.js +0 -17
  494. package/dist/Atomic/UI/Status/Status.interface.js +0 -4
  495. package/dist/Atomic/UI/Status/Status.stories.js +0 -79
  496. package/dist/Atomic/UI/Status/Status.test.js +0 -103
  497. package/dist/Atomic/UI/Status/index.js +0 -17
  498. package/dist/Atomic/UI/Table/Table.stories.js +0 -250
  499. package/dist/Atomic/UI/Tag/Tag.interface.js +0 -4
  500. package/dist/Atomic/UI/Tag/Tag.stories.js +0 -108
  501. package/dist/Atomic/UI/Tag/Tag.test.js +0 -75
  502. package/dist/Atomic/UI/Tag/index.js +0 -17
  503. package/dist/Atomic/UI/TagList/TagList.stories.js +0 -169
  504. package/dist/Atomic/UI/UserBox/UserBox.interface.js +0 -4
  505. package/dist/Atomic/UI/UserBox/UserBox.stories.js +0 -57
  506. package/dist/Atomic/UI/UserBox/UserBox.test.js +0 -136
  507. package/dist/Atomic/UI/UserBox/index.js +0 -17
  508. package/dist/Atomic/UI/WizardStepper/WizardStepper.stories.js +0 -70
  509. package/dist/Functions/useIsMobile/index.js +0 -17
  510. package/dist/Functions/useIsMobile/useIsMobile.js +0 -33
  511. package/dist/Functions/useIsMobile/useIsMobile.test.js +0 -104
  512. package/dist/Functions/useKeyPress/useHandleKeyPress.test.js +0 -96
  513. package/dist/Functions/useKeyPress/useKeyPress.test.js +0 -87
  514. package/dist/Molecular/FormElement/FormElement.stories.js +0 -92
  515. package/dist/Molecular/FormWithDependOn/FormWithDependOn.stories.js +0 -301
  516. package/dist/Molecular/InputAddress/InputAddress.stories.js +0 -541
  517. package/dist/Molecular/InputPassword/InputPassword.stories.js +0 -86
  518. package/dist/types/base.interface.js +0 -4
  519. package/dist/types/base.types.js +0 -4
@@ -1,299 +1,370 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", {
3
- value: true
4
+ value: true
4
5
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- filterFloat: function() {
13
- return filterFloat;
14
- },
15
- filterNumeric: function() {
16
- return filterNumeric;
17
- },
18
- formatAsPercentage: function() {
19
- return formatAsPercentage;
20
- },
21
- formatNumberValueToMask: function() {
22
- return formatNumberValueToMask;
23
- },
24
- formatOnlyNumbers: function() {
25
- return formatOnlyNumbers;
26
- },
27
- formatToAddBitDepthPoints: function() {
28
- return formatToAddBitDepthPoints;
29
- },
30
- formatToHex: function() {
31
- return formatToHex;
32
- },
33
- formatToHideValuePartially: function() {
34
- return formatToHideValuePartially;
35
- },
36
- formatToLimitLength: function() {
37
- return formatToLimitLength;
38
- },
39
- formatToOnlyASCIICodeText: function() {
40
- return formatToOnlyASCIICodeText;
41
- },
42
- formatToPriceWithCurrency: function() {
43
- return formatToPriceWithCurrency;
44
- },
45
- formatToPriceWithUSD: function() {
46
- return formatToPriceWithUSD;
47
- },
48
- formatToRemoveComa: function() {
49
- return formatToRemoveComa;
50
- },
51
- formatToReplaceAllWhiteSpace: function() {
52
- return formatToReplaceAllWhiteSpace;
53
- },
54
- getSafelyValue: function() {
55
- return getSafelyValue;
56
- },
57
- intlNumbersFormatter: function() {
58
- return intlNumbersFormatter;
59
- }
60
- });
61
- const _utils = require("./utils");
62
- const getSafelyValue = (value)=>{
63
- var _value_toString;
64
- return value !== undefined && value !== null ? (value === null || value === void 0 ? void 0 : (_value_toString = value.toString) === null || _value_toString === void 0 ? void 0 : _value_toString.call(value)) || "" : "";
65
- };
66
- const intlNumbersFormatter = (inputValue, settings = {})=>{
67
- const safelyInputValue = getSafelyValue(inputValue);
68
- const previousValue = safelyInputValue.slice(0, -1);
69
- const lastSym = safelyInputValue.slice(-1);
70
- const value = lastSym === "." ? previousValue : safelyInputValue;
71
- if (Number.isNaN(Number(value)) || !getSafelyValue(value)) return "";
72
- const { // локаль, даже региональная, влияет на отображение знаков и формата.
73
- locale = "en-US", // percent || currency(default case) || decimal(просто число) влияет на ТИП обработки.
74
- withSymbol, //группировка запятыми поразрядно.
75
- useGrouping = true, //!!работает только при withSymbol: 'currency' !! влияет на то, как именно будет выглядет формат валюты.
76
- currency = {}, //сколько знаков после точки, и всегда ли они будут.
6
+ exports.formatToRemoveComa = exports.formatToPriceWithUSD = exports.formatToPriceWithCurrency = exports.formatToOnlyASCIICodeText = exports.formatToLimitLength = exports.formatToHideValuePartially = exports.formatToHex = exports.formatToAddBitDepthPoints = exports.formatOnlyNumbers = exports.formatNumberValueToMask = exports.formatAsPercentage = exports.filterNumeric = exports.filterFloat = void 0;
7
+ exports.formatToReplaceAllWhiteSpace = formatToReplaceAllWhiteSpace;
8
+ exports.intlNumbersFormatter = exports.getSafelyValue = void 0;
9
+ var _utils = require("./utils");
10
+ //? The first word "format" in the function name means a logic
11
+ //? in which the function transforms the incoming value in any case.
12
+
13
+ //? The first word "transform" in the function name means a logic
14
+ //? in which the function converts the whole value, but this is not suitable for sequential input
15
+
16
+ //? The first word "filter" in the function name means a logic
17
+ //? in which the function works as a changer for sequential input
18
+
19
+ // ****************************
20
+ // Base utils
21
+ // ****************************
22
+
23
+ const getSafelyValue = value => value !== undefined && value !== null ? value?.toString?.() || "" : "";
24
+
25
+ // базовая реализация
26
+ exports.getSafelyValue = getSafelyValue;
27
+ const intlNumbersFormatter = function (inputValue) {
28
+ let settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ const safelyInputValue = getSafelyValue(inputValue);
30
+ const previousValue = safelyInputValue.slice(0, -1);
31
+ const lastSym = safelyInputValue.slice(-1);
32
+ const value = lastSym === "." ? previousValue : safelyInputValue;
33
+ if (Number.isNaN(Number(value)) || !getSafelyValue(value)) return "";
34
+ const {
35
+ // локаль, даже региональная, влияет на отображение знаков и формата.
36
+ locale = "en-US",
37
+ // percent || currency(default case) || decimal(просто число) влияет на ТИП обработки.
38
+ withSymbol,
39
+ //группировка запятыми поразрядно.
40
+ useGrouping = true,
41
+ //!!работает только при withSymbol: 'currency' !! влияет на то, как именно будет выглядет формат валюты.
42
+ currency = {},
43
+ //сколько знаков после точки, и всегда ли они будут.
77
44
  // !!если поставить isAlwaysRender: true, но не дать центов, то будет 100.00
78
- fractionDigits = {} } = settings;
79
- const { currencyType = "USD", currencyDisplay: inputCurrencyDisplay } = currency;
80
- let currencyDisplay;
81
- switch(inputCurrencyDisplay){
82
- case "name":
83
- currencyDisplay = "name";
84
- break;
85
- case "code":
86
- currencyDisplay = "code";
87
- break;
88
- case "narrowSymbol":
89
- currencyDisplay = "narrowSymbol";
90
- break;
91
- default:
92
- currencyDisplay = "symbol";
93
- }
94
- let numberStyle;
95
- switch(withSymbol){
96
- case "percent":
97
- numberStyle = "percent";
98
- break;
99
- case "currency":
100
- numberStyle = "currency";
101
- break;
102
- default:
103
- numberStyle = "decimal";
104
- break;
105
- }
106
- const { quantity, isRenderAlways = false, minimumFractionDigits: inputMinimumFractionDigits, maximumFractionDigits: inputMaximumFractionDigits, conditionallyMinimumFractionDigits } = fractionDigits;
107
- const dotIndex = safelyInputValue === null || safelyInputValue === void 0 ? void 0 : safelyInputValue.indexOf(".");
108
- const afterDot = dotIndex !== -1 ? safelyInputValue.slice(dotIndex + 1) : "";
109
- const minimumFractionDigits = (()=>{
110
- //? Безусловное минимальное количество. Всегда отрендерит дробную часть, в количестве символов сколько указано
111
- if (typeof inputMinimumFractionDigits === "number") return inputMinimumFractionDigits;
112
- //? Условное минимальное количество. Если есть дробная часть, то отрендерит дробных символов сколько указано
113
- if (typeof conditionallyMinimumFractionDigits === "number") {
114
- return afterDot && lastSym !== "." ? conditionallyMinimumFractionDigits : 0;
115
- }
116
- //? Дефолтное минимальное количество. Если есть дробная часть, то отрендерит дробных символов столько, сколько есть
117
- //? Флаг isRenderAlways превращает дефолтный кейс в безусловное минимальное количество
118
- return afterDot && lastSym !== "." ? safelyInputValue.slice(dotIndex).length - 1 : isRenderAlways ? quantity : 0;
119
- })();
120
- const priceSettings = {
121
- useGrouping,
122
- style: numberStyle,
123
- currency: currencyType,
124
- currencyDisplay,
125
- //минимально не надо отображать центы, если их нет, иначе всегда будет .00
126
- minimumFractionDigits,
127
- //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
128
- //! чем указано в (inputMaximumFractionDigits ?? quantity) - округлит по правилам округления
129
- //максимально отображать 2 цифры после запятой, если центы всё же есть
130
- maximumFractionDigits: inputMaximumFractionDigits !== null && inputMaximumFractionDigits !== void 0 ? inputMaximumFractionDigits : quantity
131
- };
132
- let output;
133
- try {
134
- output = new Intl.NumberFormat(locale, priceSettings).format(value);
135
- } catch (e) {
136
- output = value;
137
- // eslint-disable-next-line no-console
138
- console.warn("Intl.NumberFormat error", e);
45
+ fractionDigits = {}
46
+ } = settings;
47
+ const {
48
+ currencyType = "USD",
49
+ currencyDisplay: inputCurrencyDisplay
50
+ } = currency;
51
+ let currencyDisplay;
52
+ switch (inputCurrencyDisplay) {
53
+ case "name":
54
+ currencyDisplay = "name";
55
+ break;
56
+ case "code":
57
+ currencyDisplay = "code";
58
+ break;
59
+ case "narrowSymbol":
60
+ currencyDisplay = "narrowSymbol";
61
+ break;
62
+ default:
63
+ currencyDisplay = "symbol";
64
+ }
65
+ let numberStyle;
66
+ switch (withSymbol) {
67
+ case "percent":
68
+ numberStyle = "percent";
69
+ break;
70
+ case "currency":
71
+ numberStyle = "currency";
72
+ break;
73
+ default:
74
+ numberStyle = "decimal";
75
+ break;
76
+ }
77
+ const {
78
+ quantity,
79
+ isRenderAlways = false,
80
+ minimumFractionDigits: inputMinimumFractionDigits,
81
+ maximumFractionDigits: inputMaximumFractionDigits,
82
+ conditionallyMinimumFractionDigits
83
+ } = fractionDigits;
84
+ const dotIndex = safelyInputValue?.indexOf(".");
85
+ const afterDot = dotIndex !== -1 ? safelyInputValue.slice(dotIndex + 1) : "";
86
+ const minimumFractionDigits = (() => {
87
+ //? Безусловное минимальное количество. Всегда отрендерит дробную часть, в количестве символов сколько указано
88
+ if (typeof inputMinimumFractionDigits === "number") return inputMinimumFractionDigits;
89
+ //? Условное минимальное количество. Если есть дробная часть, то отрендерит дробных символов сколько указано
90
+ if (typeof conditionallyMinimumFractionDigits === "number") {
91
+ return afterDot && lastSym !== "." ? conditionallyMinimumFractionDigits : 0;
139
92
  }
140
- return lastSym === "." ? output + lastSym : output;
93
+ //? Дефолтное минимальное количество. Если есть дробная часть, то отрендерит дробных символов столько, сколько есть
94
+ //? Флаг isRenderAlways превращает дефолтный кейс в безусловное минимальное количество
95
+ return afterDot && lastSym !== "." ? safelyInputValue.slice(dotIndex).length - 1 : isRenderAlways ? quantity : 0;
96
+ })();
97
+ const priceSettings = {
98
+ useGrouping,
99
+ //группировка разрядов
100
+ style: numberStyle,
101
+ //тип форматирования (валюта или число). decimal - без знака валюты
102
+ currency: currencyType,
103
+ //валюта
104
+ currencyDisplay,
105
+ //валюта в виде символа
106
+ //минимально не надо отображать центы, если их нет, иначе всегда будет .00
107
+ minimumFractionDigits,
108
+ //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
109
+ //! чем указано в (inputMaximumFractionDigits ?? quantity) - округлит по правилам округления
110
+ //максимально отображать 2 цифры после запятой, если центы всё же есть
111
+ maximumFractionDigits: inputMaximumFractionDigits ?? quantity
112
+ };
113
+ let output;
114
+ try {
115
+ output = new Intl.NumberFormat(locale, priceSettings).format(value);
116
+ } catch (e) {
117
+ output = value;
118
+ // eslint-disable-next-line no-console
119
+ console.warn("Intl.NumberFormat error", e);
120
+ }
121
+ return lastSym === "." ? output + lastSym : output;
141
122
  };
142
- const formatOnlyNumbers = (value)=>getSafelyValue(value).replace(/\D/g, "");
143
- const formatToRemoveComa = (value)=>getSafelyValue(value).replace(/,/g, "");
144
- const formatToAddBitDepthPoints = (value, settings)=>intlNumbersFormatter(getSafelyValue(value), {
145
- fractionDigits: {
146
- quantity: (settings === null || settings === void 0 ? void 0 : settings.type) === "int" ? 0 : settings === null || settings === void 0 ? void 0 : settings.decimalPlaces
147
- }
148
- });
149
- const formatToPriceWithUSD = (value)=>{
150
- if (isNaN(Number(value))) return value;
151
- return intlNumbersFormatter(getSafelyValue(value), {
152
- withSymbol: "currency",
153
- currency: {
154
- currencyType: "USD"
155
- },
156
- fractionDigits: {
157
- quantity: 2,
158
- conditionallyMinimumFractionDigits: 2
159
- }
160
- });
123
+
124
+ // ****************************
125
+ // format
126
+ // ****************************
127
+ exports.intlNumbersFormatter = intlNumbersFormatter;
128
+ const formatOnlyNumbers = value => getSafelyValue(value).replace(/\D/g, "");
129
+ exports.formatOnlyNumbers = formatOnlyNumbers;
130
+ const formatToRemoveComa = value => getSafelyValue(value).replace(/,/g, "");
131
+ exports.formatToRemoveComa = formatToRemoveComa;
132
+ const formatToAddBitDepthPoints = (value, settings) => intlNumbersFormatter(getSafelyValue(value), {
133
+ fractionDigits: {
134
+ quantity: settings?.type === "int" ? 0 : settings?.decimalPlaces
135
+ }
136
+ });
137
+
138
+ //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
139
+ //! чем указано в quantity - округлит по правилам округления
140
+ exports.formatToAddBitDepthPoints = formatToAddBitDepthPoints;
141
+ const formatToPriceWithUSD = value => {
142
+ if (isNaN(Number(value))) return value;
143
+ return intlNumbersFormatter(getSafelyValue(value), {
144
+ withSymbol: "currency",
145
+ currency: {
146
+ currencyType: "USD"
147
+ },
148
+ fractionDigits: {
149
+ quantity: 2,
150
+ conditionallyMinimumFractionDigits: 2
151
+ }
152
+ });
161
153
  };
162
- const formatToPriceWithCurrency = (value, currencyCode, symbolPosition = "before")=>{
163
- if (isNaN(Number(value))) return value;
164
- return intlNumbersFormatter(getSafelyValue(value), {
165
- withSymbol: "currency",
166
- currency: {
167
- currencyType: currencyCode
168
- },
169
- fractionDigits: {
170
- quantity: 2,
171
- conditionallyMinimumFractionDigits: 2
172
- }
173
- });
154
+
155
+ //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
156
+ //! чем указано в quantity - округлит по правилам округления
157
+
158
+ // ToDo - symbolPosition временно не реализовано
159
+ exports.formatToPriceWithUSD = formatToPriceWithUSD;
160
+ const formatToPriceWithCurrency = function (value, currencyCode) {
161
+ let symbolPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "before";
162
+ if (isNaN(Number(value))) return value;
163
+ return intlNumbersFormatter(getSafelyValue(value), {
164
+ withSymbol: "currency",
165
+ currency: {
166
+ currencyType: currencyCode
167
+ },
168
+ fractionDigits: {
169
+ quantity: 2,
170
+ conditionallyMinimumFractionDigits: 2
171
+ }
172
+ });
174
173
  };
175
- const formatAsPercentage = (value, settings)=>{
176
- const { isCommonPercentageSymbol = true, decimalPlaces = 2, beforeValueSymbol = "", afterValueSymbol = "", isGlueSameRangesTogether = false, // ? Тут удобный ф-л, поэтому иной раз удобно обработать обычный диапазан (НЕ проценты).
174
+
175
+ //? Добавляет в конец знак %. Работает как с одиночными значениями, так и с диапазонами.
176
+
177
+ //? value может быть любое, но ожидается что будет
178
+ //? - числом
179
+ //? - строкой в формате "значение"
180
+ //? - строкой в формате "значение - значение" (значение_пробел_тире_пробел_значение)
181
+ //? - объект в формате { from: значение, to: значение }
182
+
183
+ //? Предполагается, что "значение" может быть приведено к числу операторм + (пример: +значение приводится к числу).
184
+ //? Если не может быть приведено, то "значение" вернется как есть, к результату добавится %
185
+
186
+ //? Если "значение" пустое (getSafelyValue(значение) вернет пустую строку),
187
+ //? то это воспринимается как 0, приводится к 0.00%
188
+
189
+ //? Одиноково работает как для ".", так и "," в качестве разделителя дробных разрядов
190
+
191
+ //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
192
+ //! чем указано в decimalPlaces - округлит по правилам округления
193
+ exports.formatToPriceWithCurrency = formatToPriceWithCurrency;
194
+ const formatAsPercentage = (value, settings) => {
195
+ const {
196
+ isCommonPercentageSymbol = true,
197
+ decimalPlaces = 2,
198
+ beforeValueSymbol = "",
199
+ afterValueSymbol = "",
200
+ isGlueSameRangesTogether = false,
201
+ // ? Тут удобный ф-л, поэтому иной раз удобно обработать обычный диапазан (НЕ проценты).
177
202
  // ? Добавил возможность выпиливать значек процентов.
178
203
  // todo(VL) - вообще правильно заренеймить (formatAsDiapason), а добавление процентов сделать как опцию,
179
204
  // todo(VL) - но как обычно нет времени, нужно будет перечекать по всем проектам где тянется со старым неймингом
180
- isUseAsSimpleDiapason = false } = (0, _utils.getIsOnlyAnObject)(settings) ? settings : {};
181
- let safelyInputValue;
182
- const checkValue = (value)=>getSafelyValue(value) || "0";
183
- const transform = (valueAsSting)=>{
184
- const processedValue = valueAsSting.replace(/,/g, ".");
185
- if (Number.isNaN(Number(processedValue))) return processedValue;
186
- return `${intlNumbersFormatter(getSafelyValue(Number(processedValue)), {
187
- fractionDigits: {
188
- quantity: decimalPlaces,
189
- minimumFractionDigits: decimalPlaces
190
- }
191
- })}`;
205
+ isUseAsSimpleDiapason = false
206
+ } = (0, _utils.getIsOnlyAnObject)(settings) ? settings : {};
207
+ let safelyInputValue;
208
+ const checkValue = value => getSafelyValue(value) || "0";
209
+ const transform = valueAsSting => {
210
+ const processedValue = valueAsSting.replace(/,/g, ".");
211
+ if (Number.isNaN(Number(processedValue))) return processedValue;
212
+ return `${intlNumbersFormatter(getSafelyValue(Number(processedValue)), {
213
+ fractionDigits: {
214
+ quantity: decimalPlaces,
215
+ minimumFractionDigits: decimalPlaces
216
+ }
217
+ })}`;
218
+ };
219
+ if ((0, _utils.getIsOnlyAnObject)(value)) {
220
+ safelyInputValue = {
221
+ from: checkValue(value.from),
222
+ to: checkValue(value.to)
192
223
  };
193
- if ((0, _utils.getIsOnlyAnObject)(value)) {
194
- safelyInputValue = {
195
- from: checkValue(value.from),
196
- to: checkValue(value.to)
197
- };
224
+ } else {
225
+ safelyInputValue = checkValue(value);
226
+ if (safelyInputValue.includes(" - ")) {
227
+ const valuesArr = safelyInputValue.split(" - ").map(partOfValue => partOfValue.trim());
228
+ safelyInputValue = {
229
+ from: checkValue(valuesArr[0]),
230
+ to: checkValue(valuesArr[1])
231
+ };
198
232
  } else {
199
- safelyInputValue = checkValue(value);
200
- if (safelyInputValue.includes(" - ")) {
201
- const valuesArr = safelyInputValue.split(" - ").map((partOfValue)=>partOfValue.trim());
202
- safelyInputValue = {
203
- from: checkValue(valuesArr[0]),
204
- to: checkValue(valuesArr[1])
205
- };
206
- } else {
207
- // Вариант когда велью передано строкой (НЕ объектом) и оно не содержит сепаратора " - "
208
- // - одиночные велью
209
- // - некорректный диапазон
210
- return `${beforeValueSymbol}${transform(safelyInputValue)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;
211
- }
212
- }
213
- if (safelyInputValue.from === safelyInputValue.to && !!isGlueSameRangesTogether) {
214
- return `${beforeValueSymbol}${transform(safelyInputValue.from)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;
233
+ // Вариант когда велью передано строкой (НЕ объектом) и оно не содержит сепаратора " - "
234
+ // - одиночные велью
235
+ // - некорректный диапазон
236
+ return `${beforeValueSymbol}${transform(safelyInputValue)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;
215
237
  }
216
- if (isCommonPercentageSymbol) return `${beforeValueSymbol}${transform(safelyInputValue.from)} - ${transform(safelyInputValue.to)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;
217
- else return `${beforeValueSymbol}${transform(safelyInputValue.from)}${isUseAsSimpleDiapason ? '' : '%'} - ${transform(safelyInputValue.to)}${isUseAsSimpleDiapason ? '' : '%'}${afterValueSymbol}`;
238
+ }
239
+ if (safelyInputValue.from === safelyInputValue.to && !!isGlueSameRangesTogether) {
240
+ return `${beforeValueSymbol}${transform(safelyInputValue.from)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;
241
+ }
242
+ if (isCommonPercentageSymbol) return `${beforeValueSymbol}${transform(safelyInputValue.from)} - ${transform(safelyInputValue.to)}${afterValueSymbol}${isUseAsSimpleDiapason ? '' : '%'}`;else return `${beforeValueSymbol}${transform(safelyInputValue.from)}${isUseAsSimpleDiapason ? '' : '%'} - ${transform(safelyInputValue.to)}${isUseAsSimpleDiapason ? '' : '%'}${afterValueSymbol}`;
218
243
  };
219
- const formatToOnlyASCIICodeText = (text)=>getSafelyValue(text).replace(/[^\x00-\x7F]+/g, "");
220
- const formatNumberValueToMask = (inputValue, settings)=>{
221
- const safelyInputValue = getSafelyValue(inputValue);
222
- // default valueSymbol === 'n', default mask === 'nnn-nnn-nnnn'
223
- const { mask = "XXX-XXX-XXXX", valueSymbol = "X", isReturnAdvanced = false } = settings || {};
224
- const processing = mask.split("").reduce((acc, item)=>{
225
- if (acc.value.length) ++acc.cursorPosition;
226
- acc.newValue.push(item === valueSymbol && acc.value.length ? acc.value.shift() : item);
227
- return acc;
228
- }, {
229
- value: safelyInputValue.split("").filter((sym)=>/[0-9]/g.test(sym)),
230
- newValue: [],
231
- cursorPosition: 0
232
- });
233
- return isReturnAdvanced ? {
234
- value: processing.newValue.join(""),
235
- cursorPosition: processing.cursorPosition
236
- } : processing.newValue.join("");
244
+
245
+ // eslint-disable-next-line no-control-regex
246
+ exports.formatAsPercentage = formatAsPercentage;
247
+ const formatToOnlyASCIICodeText = text => getSafelyValue(text).replace(/[^\x00-\x7F]+/g, "");
248
+
249
+ // eslint-disable-next-line default-param-last
250
+ exports.formatToOnlyASCIICodeText = formatToOnlyASCIICodeText;
251
+ const formatNumberValueToMask = (inputValue, settings) => {
252
+ const safelyInputValue = getSafelyValue(inputValue);
253
+
254
+ // default valueSymbol === 'n', default mask === 'nnn-nnn-nnnn'
255
+ const {
256
+ mask = "XXX-XXX-XXXX",
257
+ valueSymbol = "X",
258
+ isReturnAdvanced = false
259
+ } = settings || {};
260
+ const processing = mask.split("").reduce((acc, item) => {
261
+ if (acc.value.length) ++acc.cursorPosition;
262
+ acc.newValue.push(item === valueSymbol && acc.value.length ? acc.value.shift() : item);
263
+ return acc;
264
+ }, {
265
+ value: safelyInputValue.split("").filter(sym => /[0-9]/g.test(sym)),
266
+ newValue: [],
267
+ cursorPosition: 0
268
+ });
269
+ return isReturnAdvanced ? {
270
+ value: processing.newValue.join(""),
271
+ cursorPosition: processing.cursorPosition
272
+ } : processing.newValue.join("");
237
273
  };
238
- const formatToLimitLength = (inputValue, limit)=>{
239
- const value = getSafelyValue(inputValue);
240
- return limit && typeof limit === "number" && !Number.isNaN(limit) && (value === null || value === void 0 ? void 0 : value.length) > limit ? value.substr(0, limit) : value;
274
+ exports.formatNumberValueToMask = formatNumberValueToMask;
275
+ const formatToLimitLength = (inputValue, limit) => {
276
+ const value = getSafelyValue(inputValue);
277
+ return limit && typeof limit === "number" && !Number.isNaN(limit) && value?.length > limit ? value.substr(0, limit) : value;
241
278
  };
242
- const formatToHex = ({ inputValue, withSharp })=>{
243
- const value = getSafelyValue(inputValue);
244
- if (withSharp) return `#${value.replace(/[^a-f0-9]/gi, "")}`;
245
- return `${value.replace(/[^#a-f0-9]/gi, "")}`;
279
+ exports.formatToLimitLength = formatToLimitLength;
280
+ const formatToHex = _ref => {
281
+ let {
282
+ inputValue,
283
+ withSharp
284
+ } = _ref;
285
+ const value = getSafelyValue(inputValue);
286
+ if (withSharp) return `#${value.replace(/[^a-f0-9]/gi, "")}`;
287
+ return `${value.replace(/[^#a-f0-9]/gi, "")}`;
246
288
  };
289
+ exports.formatToHex = formatToHex;
247
290
  function formatToReplaceAllWhiteSpace(str) {
248
- const value = getSafelyValue(str);
249
- return value.replace(/\s+/g, "");
291
+ const value = getSafelyValue(str);
292
+ return value.replace(/\s+/g, "");
250
293
  }
251
- const filterFloat = (inputValue, decimalPlaces)=>{
252
- var _this;
253
- const replaser = (input)=>('' + input).replace(/[^\.\d]/g, '');
254
- const value = getSafelyValue(inputValue);
255
- //? safelyDecimalPlaces ТОЧНО либо null, либо целое число
256
- const safelyDecimalPlaces = (()=>{
257
- if (decimalPlaces === null) return decimalPlaces;
258
- const DEFAULT_VALUE = 2;
259
- const isNumber = typeof decimalPlaces === 'number' || typeof decimalPlaces === 'string' && !Number.isNaN(+decimalPlaces);
260
- //? защита от дробного значения decimalPlaces
261
- return isNumber ? Number((+decimalPlaces).toFixed()) : DEFAULT_VALUE;
262
- })();
263
- // Обработка кейса если первым символом нажата точка
264
- if (value.length === 1 && (value[0] === '.' || value[0] === ',')) return '0.';
265
- // Приводим запятые к корректному разделителю, но не выпиливаем
266
- let output = (_this = '' + value) === null || _this === void 0 ? void 0 : _this.replace(/,/g, '.');
267
- // Выпилить первый ноль, если это не дробь
268
- if (value.length > 1 && value[0] === '0' && value[1] !== '.' && value[0] !== ',') output = value.slice(1);
269
- const previousValue = '' + output.slice(0, -1);
270
- const lastSym = '' + output.slice(-1);
271
- // Обработка кейса второй точки в дроби
272
- if (lastSym === '.' && previousValue.includes('.')) output = previousValue;
273
- // if (localStorage.getItem('useDeb')) debugger;
274
- // Логика ограничения по decimalPlaces
275
- if (typeof safelyDecimalPlaces === 'number') {
276
- if (!safelyDecimalPlaces && lastSym === '.') return replaser(previousValue);
277
- if (previousValue.includes('.') && previousValue.indexOf('.') + 1 + safelyDecimalPlaces === (previousValue === null || previousValue === void 0 ? void 0 : previousValue.length)) {
278
- return replaser(previousValue);
279
- }
294
+
295
+ // ****************************
296
+ // transform
297
+ // ****************************
298
+
299
+ // ...
300
+
301
+ // ****************************
302
+ // filter
303
+ // ****************************
304
+ //? Намерянно выпилил определение дефолтного значение на уровне параметров, чтобы сделать null рабочим значением
305
+ //? decimalPlaces === null теперь точно определяет режим ввода БЕЗ ограничей десятичных знаков
306
+ const filterFloat = (inputValue, decimalPlaces) => {
307
+ const replaser = input => ('' + input).replace(/[^\.\d]/g, '');
308
+ const value = getSafelyValue(inputValue);
309
+
310
+ //? safelyDecimalPlaces ТОЧНО либо null, либо целое число
311
+ const safelyDecimalPlaces = (() => {
312
+ if (decimalPlaces === null) return decimalPlaces;
313
+ const DEFAULT_VALUE = 2;
314
+ const isNumber = typeof decimalPlaces === 'number' || typeof decimalPlaces === 'string' && !Number.isNaN(+decimalPlaces);
315
+
316
+ //? защита от дробного значения decimalPlaces
317
+ return isNumber ? Number((+decimalPlaces).toFixed()) : DEFAULT_VALUE;
318
+ })();
319
+
320
+ // Обработка кейса если первым символом нажата точка
321
+ if (value.length === 1 && (value[0] === '.' || value[0] === ',')) return '0.';
322
+
323
+ // Приводим запятые к корректному разделителю, но не выпиливаем
324
+ let output = ('' + value)?.replace(/,/g, '.');
325
+
326
+ // Выпилить первый ноль, если это не дробь
327
+ if (value.length > 1 && value[0] === '0' && value[1] !== '.' && value[0] !== ',') output = value.slice(1);
328
+ const previousValue = '' + output.slice(0, -1);
329
+ const lastSym = '' + output.slice(-1);
330
+
331
+ // Обработка кейса второй точки в дроби
332
+ if (lastSym === '.' && previousValue.includes('.')) output = previousValue;
333
+
334
+ // if (localStorage.getItem('useDeb')) debugger;
335
+
336
+ // Логика ограничения по decimalPlaces
337
+ if (typeof safelyDecimalPlaces === 'number') {
338
+ if (!safelyDecimalPlaces && lastSym === '.') return replaser(previousValue);
339
+ if (previousValue.includes('.') && previousValue.indexOf('.') + 1 + safelyDecimalPlaces === previousValue?.length) {
340
+ return replaser(previousValue);
280
341
  }
281
- return replaser(output);
342
+ }
343
+ return replaser(output);
282
344
  };
283
- const filterNumeric = (value, settings)=>{
284
- var _getSafelyValue;
285
- value = (_getSafelyValue = getSafelyValue(value)) === null || _getSafelyValue === void 0 ? void 0 : _getSafelyValue.replace(/,/g, "");
286
- const { type = "float", decimalPlaces } = settings || {};
287
- const executor = type === "float" ? filterFloat : formatOnlyNumbers;
288
- return executor(getSafelyValue(value), decimalPlaces);
345
+ exports.filterFloat = filterFloat;
346
+ const filterNumeric = (value, settings) => {
347
+ value = getSafelyValue(value)?.replace(/,/g, "");
348
+ const {
349
+ type = "float",
350
+ decimalPlaces
351
+ } = settings || {};
352
+ const executor = type === "float" ? filterFloat : formatOnlyNumbers;
353
+ return executor(getSafelyValue(value), decimalPlaces);
289
354
  };
290
- const formatToHideValuePartially = (value, settings)=>{
291
- const { showSymbolsCount = 4, isVisibleFromFront = false, isCutOutWhiteSpaces = true } = settings || {};
292
- const safelyValue = getSafelyValue(value);
293
- const newValue = isCutOutWhiteSpaces ? safelyValue.replace(/\s/g, "") : safelyValue;
294
- if (newValue.length <= showSymbolsCount) return newValue;
295
- const hide = (val)=>val.split("").map(()=>"*").join("");
296
- const visiblePart = isVisibleFromFront ? newValue.slice(0, showSymbolsCount) : newValue.slice(-1 * showSymbolsCount);
297
- const hiddenPart = isVisibleFromFront ? newValue.slice(showSymbolsCount) : newValue.slice(0, -1 * showSymbolsCount);
298
- return isVisibleFromFront ? `${visiblePart}${hide(hiddenPart)}` : `${hide(hiddenPart)}${visiblePart}`;
355
+ exports.filterNumeric = filterNumeric;
356
+ const formatToHideValuePartially = (value, settings) => {
357
+ const {
358
+ showSymbolsCount = 4,
359
+ isVisibleFromFront = false,
360
+ isCutOutWhiteSpaces = true
361
+ } = settings || {};
362
+ const safelyValue = getSafelyValue(value);
363
+ const newValue = isCutOutWhiteSpaces ? safelyValue.replace(/\s/g, "") : safelyValue;
364
+ if (newValue.length <= showSymbolsCount) return newValue;
365
+ const hide = val => val.split("").map(() => "*").join("");
366
+ const visiblePart = isVisibleFromFront ? newValue.slice(0, showSymbolsCount) : newValue.slice(-1 * showSymbolsCount);
367
+ const hiddenPart = isVisibleFromFront ? newValue.slice(showSymbolsCount) : newValue.slice(0, -1 * showSymbolsCount);
368
+ return isVisibleFromFront ? `${visiblePart}${hide(hiddenPart)}` : `${hide(hiddenPart)}${visiblePart}`;
299
369
  };
370
+ exports.formatToHideValuePartially = formatToHideValuePartially;