intelicoreact 1.6.25 → 1.6.26

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