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.
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -93
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +13 -23
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -43
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +10 -20
- package/dist/Atomic/FormElements/Calendar/Calendar.js +164 -243
- package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -1
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +51 -60
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +15 -25
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +39 -47
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +2 -5
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +308 -410
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +109 -169
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +527 -680
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +59 -61
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +15 -28
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +378 -498
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +32 -36
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +70 -103
- package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +2 -0
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +91 -138
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +55 -109
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +193 -254
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +16 -19
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +140 -156
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +4 -8
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +156 -222
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +114 -158
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +92 -151
- package/dist/Atomic/FormElements/Input/Input.js +330 -340
- package/dist/Atomic/FormElements/Input/Input.scss +1 -1
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +110 -156
- package/dist/Atomic/FormElements/InputColor/InputColor.js +58 -57
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +145 -188
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +228 -294
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -1
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +56 -55
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +536 -645
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +190 -220
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +31 -33
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +169 -247
- package/dist/Atomic/FormElements/InputLink/InputLink.js +71 -118
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +38 -47
- package/dist/Atomic/FormElements/InputMask/InputMask.js +1053 -938
- package/dist/Atomic/FormElements/InputMask/config.js +15 -16
- package/dist/Atomic/FormElements/InputMask/functions.js +51 -77
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +592 -569
- package/dist/Atomic/FormElements/InputMask2/config.js +15 -16
- package/dist/Atomic/FormElements/InputMask2/functions.js +51 -77
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +679 -651
- package/dist/Atomic/FormElements/InputMask3/config.js +15 -16
- package/dist/Atomic/FormElements/InputMask3/functions.js +51 -77
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +88 -127
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +111 -182
- package/dist/Atomic/FormElements/Label/Label.js +55 -82
- package/dist/Atomic/FormElements/Label/Label.scss +8 -18
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +382 -437
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +50 -88
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +264 -314
- package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +51 -93
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +55 -69
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +45 -51
- package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +40 -53
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +120 -169
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +141 -195
- package/dist/Atomic/FormElements/RangeList/RangeList.js +140 -199
- package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
- package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +4 -1
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +44 -57
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +377 -463
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +759 -760
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +31 -36
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +2 -0
- package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +44 -52
- package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +44 -43
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +2 -0
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +36 -37
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +2 -0
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +56 -93
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +2 -0
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +53 -86
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +2 -0
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +54 -46
- package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +102 -172
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +6 -4
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +154 -209
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +56 -59
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +112 -140
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +919 -1035
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +119 -155
- package/dist/Atomic/FormElements/Text/Text.js +97 -88
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -44
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
- package/dist/Atomic/FormElements/Textarea/Textarea.js +64 -102
- package/dist/Atomic/FormElements/Textarea/Textarea.scss +8 -4
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +133 -172
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +49 -48
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +63 -114
- package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +3 -9
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +122 -179
- package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +5 -10
- package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +65 -101
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +12 -4
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +71 -80
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +64 -79
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +3 -1
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +34 -42
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +83 -102
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +3 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +35 -42
- package/dist/Atomic/Layout/Header/Header.js +80 -148
- package/dist/Atomic/Layout/Header/Header.scss +1 -1
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +133 -213
- package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
- package/dist/Atomic/Layout/Spinner/Spinner.js +22 -39
- package/dist/Atomic/Layout/Spinner/Spinner.scss +16 -32
- package/dist/Atomic/UI/Accordion/Accordion.js +52 -102
- package/dist/Atomic/UI/Accordion/Accordion.scss +14 -25
- package/dist/Atomic/UI/Accordion/AccordionItem.js +102 -170
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +167 -251
- package/dist/Atomic/UI/AccordionText/AccordionText.js +54 -105
- package/dist/Atomic/UI/AccordionText/AccordionText.scss +9 -22
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +135 -207
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +46 -100
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
- package/dist/Atomic/UI/Alert/Alert.js +63 -116
- package/dist/Atomic/UI/Alert/Alert.scss +2 -2
- package/dist/Atomic/UI/Arrow/Arrow.js +110 -163
- package/dist/Atomic/UI/Box/Box.js +37 -37
- package/dist/Atomic/UI/Box/Box.scss +11 -11
- package/dist/Atomic/UI/Button/Button.js +41 -43
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +67 -61
- package/dist/Atomic/UI/Chart/Chart.js +96 -170
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +74 -142
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +77 -91
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +117 -120
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +292 -314
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +39 -54
- package/dist/Atomic/UI/Chart/partial/utils.js +33 -56
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +88 -145
- package/dist/Atomic/UI/DateTime/DateTime.js +37 -89
- package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
- package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +31 -93
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +18 -66
- package/dist/Atomic/UI/DoubleString/DoubleString.js +77 -134
- package/dist/Atomic/UI/DoubleString/DoubleString.scss +4 -6
- package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +22 -65
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +170 -251
- package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +84 -109
- package/dist/Atomic/UI/Hint/Hint.js +202 -243
- package/dist/Atomic/UI/Hint/Hint.scss +3 -5
- package/dist/Atomic/UI/Hint/partials/_utils.js +42 -54
- package/dist/Atomic/UI/Modal/Modal.js +172 -171
- package/dist/Atomic/UI/Modal/Modal.scss +69 -91
- package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
- package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
- package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
- package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
- package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
- package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
- package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
- package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
- package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
- package/dist/Atomic/UI/Price/Price.js +20 -27
- package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
- package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
- package/dist/Atomic/UI/Status/Status.js +51 -62
- package/dist/Atomic/UI/Status/Status.scss +29 -48
- package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
- package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
- package/dist/Atomic/UI/Table/Table.js +43 -61
- package/dist/Atomic/UI/Table/Table.scss +3 -0
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
- package/dist/Atomic/UI/Tag/Tag.js +113 -157
- package/dist/Atomic/UI/Tag/Tag.scss +48 -102
- package/dist/Atomic/UI/TagList/TagList.js +179 -223
- package/dist/Atomic/UI/TagList/TagList.scss +9 -13
- package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
- package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
- package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
- package/dist/Atomic/UI/WizardStepper/index.js +6 -14
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
- package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
- package/dist/Classes/AbortableFetch.js +326 -394
- package/dist/Classes/AnimatedHandler.js +44 -31
- package/dist/Classes/RESTAPI/index.js +173 -131
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
- package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
- package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
- package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
- package/dist/Constants/index.constants.js +22 -102
- package/dist/Functions/Portal.js +23 -67
- package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
- package/dist/Functions/customEventListener.js +50 -48
- package/dist/Functions/dateTime.js +177 -130
- package/dist/Functions/fieldValueFormatters.js +346 -275
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
- package/dist/Functions/locale/createTranslator.js +27 -29
- package/dist/Functions/operations.js +102 -129
- package/dist/Functions/presets/inputMaskPresets.js +99 -88
- package/dist/Functions/presets/inputPresets.js +35 -41
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
- package/dist/Functions/schemas.js +20 -78
- package/dist/Functions/useBodyScrollLock.js +15 -21
- package/dist/Functions/useClickOutside.js +16 -21
- package/dist/Functions/useDebounce.js +21 -62
- package/dist/Functions/useFieldFocus.js +79 -83
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
- package/dist/Functions/useFormTools/functions/General.js +129 -117
- package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
- package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
- package/dist/Functions/useFormTools/index.js +709 -647
- package/dist/Functions/useInputHighlightError.js +53 -104
- package/dist/Functions/useIsMobile.js +26 -0
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
- package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
- package/dist/Functions/useLocalStorage.js +31 -38
- package/dist/Functions/useLocationParams.js +24 -31
- package/dist/Functions/useMediaQuery.js +10 -14
- package/dist/Functions/useMetaInfo.js +35 -45
- package/dist/Functions/useMouseUpOutside.js +15 -21
- package/dist/Functions/useOnlineStatus.js +21 -25
- package/dist/Functions/usePasswordChecker.js +111 -183
- package/dist/Functions/usePrevious.js +10 -16
- package/dist/Functions/useResize.js +28 -32
- package/dist/Functions/useScrollTo.js +16 -26
- package/dist/Functions/useToggle.js +16 -20
- package/dist/Functions/utils.js +469 -493
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
- package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
- package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
- package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
- package/dist/Molecular/CustomIcons/components/Button.js +18 -61
- package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
- package/dist/Molecular/CustomIcons/components/Check.js +19 -62
- package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
- package/dist/Molecular/CustomIcons/components/Close.js +20 -64
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
- package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
- package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
- package/dist/Molecular/CustomIcons/components/Email.js +36 -87
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
- package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
- package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
- package/dist/Molecular/CustomIcons/components/Home.js +21 -67
- package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
- package/dist/Molecular/CustomIcons/components/Key.js +26 -69
- package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
- package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
- package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
- package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
- package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
- package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
- package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
- package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
- package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
- package/dist/Molecular/CustomIcons/components/Play.js +31 -79
- package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
- package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
- package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
- package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
- package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
- package/dist/Molecular/CustomIcons/components/Star.js +17 -60
- package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
- package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
- package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
- package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
- package/dist/Molecular/CustomIcons/components/User.js +23 -71
- package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
- package/dist/Molecular/CustomIcons/components/X.js +18 -61
- package/dist/Molecular/CustomIcons/index.js +674 -76
- package/dist/Molecular/FormElement/FormElement.js +41 -44
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
- package/dist/Molecular/InputAddress/InputAddress.js +421 -496
- package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
- package/dist/Molecular/InputPassword/InputPassword.js +47 -99
- package/dist/index.js +8 -11
- package/dist/scss/_fonts.scss +60 -48
- package/dist/scss/_mixins.scss +2 -2
- package/dist/scss/_vars.scss +5 -4
- package/dist/scss/main.scss +4 -5
- package/package.json +21 -18
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.interface.js +0 -4
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.stories.js +0 -89
- package/dist/Atomic/FormElements/ActionAlert/ActionAlert.test.js +0 -130
- package/dist/Atomic/FormElements/ActionAlert/index.js +0 -17
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.interface.js +0 -4
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +0 -81
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.test.js +0 -104
- package/dist/Atomic/FormElements/AdvancedStatus/index.js +0 -17
- package/dist/Atomic/FormElements/Calendar/Calendar.props.js +0 -4
- package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +0 -108
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.interface.js +0 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -100
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.test.js +0 -143
- package/dist/Atomic/FormElements/CheckboxInput/index.js +0 -17
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.interface.js +0 -4
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +0 -94
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.test.js +0 -177
- package/dist/Atomic/FormElements/CheckboxesLine/index.js +0 -17
- package/dist/Atomic/FormElements/Datepicker/Datepicker.stories.js +0 -51
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -596
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.stories.js +0 -272
- package/dist/Atomic/FormElements/FileLoader/FileLoader.stories.js +0 -182
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.stories.js +0 -327
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.stories.js +0 -186
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.stories.js +0 -84
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.stories.js +0 -107
- package/dist/Atomic/FormElements/Input/Input.stories.js +0 -251
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -115
- package/dist/Atomic/FormElements/InputColor/InputColor.stories.js +0 -119
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.interface.js +0 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.stories.js +0 -178
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.test.js +0 -129
- package/dist/Atomic/FormElements/InputCurrency/index.js +0 -16
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -123
- package/dist/Atomic/FormElements/InputLink/InputLink.stories.js +0 -140
- package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +0 -303
- package/dist/Atomic/FormElements/InputMask2/InputMask2.stories.js +0 -314
- package/dist/Atomic/FormElements/InputMask3/InputMask3.stories.js +0 -335
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.stories.js +0 -276
- package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -56
- package/dist/Atomic/FormElements/Label/Label.interface.js +0 -4
- package/dist/Atomic/FormElements/Label/Label.stories.js +0 -47
- package/dist/Atomic/FormElements/Label/Label.test.js +0 -167
- package/dist/Atomic/FormElements/Label/index.js +0 -17
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +0 -172
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -121
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -184
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.stories.js +0 -79
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.stories.js +0 -151
- package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -67
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.stories.js +0 -116
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -107
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -92
- package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +0 -169
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.stories.js +0 -401
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.stories.js +0 -314
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.stories.js +0 -137
- package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -91
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.stories.js +0 -104
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.stories.js +0 -96
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.stories.js +0 -140
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.stories.js +0 -112
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.stories.js +0 -145
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +0 -158
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.stories.js +0 -101
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.stories.js +0 -131
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -357
- package/dist/Atomic/FormElements/Text/Text.stories.js +0 -80
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -106
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.test.js +0 -93
- package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -103
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -174
- package/dist/Atomic/FormElements/TimeRange/TimeRange.interface.js +0 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -40
- package/dist/Atomic/FormElements/TimeRange/TimeRange.test.js +0 -163
- package/dist/Atomic/FormElements/TimeRange/index.js +0 -17
- package/dist/Atomic/FormElements/UserContacts/UserContact.test.js +0 -381
- package/dist/Atomic/FormElements/UserContacts/UserContacts.interface.js +0 -4
- package/dist/Atomic/FormElements/UserContacts/UserContacts.stories.js +0 -74
- package/dist/Atomic/FormElements/UserContacts/index.js +0 -17
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.stories.js +0 -193
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.stories.js +0 -147
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.stories.js +0 -151
- package/dist/Atomic/Layout/Header/Header.stories.js +0 -71
- package/dist/Atomic/Layout/MainMenu/MainMenu.stories.js +0 -115
- package/dist/Atomic/Layout/Spinner/Spinner.interface.js +0 -4
- package/dist/Atomic/Layout/Spinner/Spinner.stories.js +0 -46
- package/dist/Atomic/Layout/Spinner/Spinner.test.js +0 -54
- package/dist/Atomic/Layout/Spinner/index.js +0 -17
- package/dist/Atomic/UI/Accordion/Accordion.interface.js +0 -4
- package/dist/Atomic/UI/Accordion/Accordion.stories.js +0 -168
- package/dist/Atomic/UI/Accordion/Accordion.test.js +0 -54
- package/dist/Atomic/UI/Accordion/AccordionItem.test.js +0 -50
- package/dist/Atomic/UI/Accordion/index.js +0 -17
- package/dist/Atomic/UI/AccordionTable/AccordionTable.stories.js +0 -268
- package/dist/Atomic/UI/AccordionText/AccordionText.stories.js +0 -125
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -115
- package/dist/Atomic/UI/Alert/Alert.stories.js +0 -81
- package/dist/Atomic/UI/Arrow/Arrow.stories.js +0 -62
- package/dist/Atomic/UI/Box/Box.stories.js +0 -114
- package/dist/Atomic/UI/Button/Button.stories.js +0 -105
- package/dist/Atomic/UI/Button/Button.test.js +0 -147
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.stories.js +0 -129
- package/dist/Atomic/UI/Chart/Chart.stories.js +0 -93
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.stories.js +0 -85
- package/dist/Atomic/UI/DateTime/DateTime.stories.js +0 -50
- package/dist/Atomic/UI/DoubleString/DoubleString.stories.js +0 -79
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.js +0 -4
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.stories.js +0 -98
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.test.js +0 -51
- package/dist/Atomic/UI/DynamicIcon/index.js +0 -17
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.stories.js +0 -98
- package/dist/Atomic/UI/Hint/Hint.stories.js +0 -101
- package/dist/Atomic/UI/Hint/index.js +0 -16
- package/dist/Atomic/UI/Modal/Modal.interface.js +0 -4
- package/dist/Atomic/UI/Modal/Modal.stories.js +0 -370
- package/dist/Atomic/UI/Modal/ModalHOC.stories.js +0 -191
- package/dist/Atomic/UI/Modal/ModalHOC.test.js +0 -187
- package/dist/Atomic/UI/Modal/index.js +0 -26
- package/dist/Atomic/UI/Modal/partials/ModalFooter.test.js +0 -118
- package/dist/Atomic/UI/Modal/partials/ModalTitle.test.js +0 -126
- package/dist/Atomic/UI/Modal/partials/useMobileModal.test.js +0 -133
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.interface.js +0 -4
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.stories.js +0 -513
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.test.js +0 -84
- package/dist/Atomic/UI/MonoAccordion/index.js +0 -17
- package/dist/Atomic/UI/NavLine/NavLine.interface.js +0 -4
- package/dist/Atomic/UI/NavLine/NavLine.stories.js +0 -434
- package/dist/Atomic/UI/NavLine/NavLine.test.js +0 -311
- package/dist/Atomic/UI/NavLine/index.js +0 -17
- package/dist/Atomic/UI/PageTitle/PageTitle.interface.js +0 -4
- package/dist/Atomic/UI/PageTitle/PageTitle.stories.js +0 -62
- package/dist/Atomic/UI/PageTitle/PageTitle.test.js +0 -181
- package/dist/Atomic/UI/PageTitle/index.js +0 -17
- package/dist/Atomic/UI/PieChart/PieChar.interface.js +0 -4
- package/dist/Atomic/UI/PieChart/PieChart.stories.js +0 -82
- package/dist/Atomic/UI/PieChart/PieChart.test.js +0 -142
- package/dist/Atomic/UI/PieChart/index.js +0 -26
- package/dist/Atomic/UI/Price/Price.interface.js +0 -4
- package/dist/Atomic/UI/Price/Price.stories.js +0 -52
- package/dist/Atomic/UI/Price/Price.test.js +0 -83
- package/dist/Atomic/UI/Price/index.js +0 -17
- package/dist/Atomic/UI/PriceRange/PriceRange.interface.js +0 -4
- package/dist/Atomic/UI/PriceRange/PriceRange.stories.js +0 -51
- package/dist/Atomic/UI/PriceRange/PriceRange.test.js +0 -72
- package/dist/Atomic/UI/PriceRange/index.js +0 -17
- package/dist/Atomic/UI/ProgressLine/ProgressLine.interface.js +0 -4
- package/dist/Atomic/UI/ProgressLine/ProgressLine.stories.js +0 -163
- package/dist/Atomic/UI/ProgressLine/ProgressLine.test.js +0 -60
- package/dist/Atomic/UI/ProgressLine/index.js +0 -17
- package/dist/Atomic/UI/Status/Status.interface.js +0 -4
- package/dist/Atomic/UI/Status/Status.stories.js +0 -79
- package/dist/Atomic/UI/Status/Status.test.js +0 -103
- package/dist/Atomic/UI/Status/index.js +0 -17
- package/dist/Atomic/UI/Table/Table.stories.js +0 -250
- package/dist/Atomic/UI/Tag/Tag.interface.js +0 -4
- package/dist/Atomic/UI/Tag/Tag.stories.js +0 -108
- package/dist/Atomic/UI/Tag/Tag.test.js +0 -75
- package/dist/Atomic/UI/Tag/index.js +0 -17
- package/dist/Atomic/UI/TagList/TagList.stories.js +0 -169
- package/dist/Atomic/UI/UserBox/UserBox.interface.js +0 -4
- package/dist/Atomic/UI/UserBox/UserBox.stories.js +0 -57
- package/dist/Atomic/UI/UserBox/UserBox.test.js +0 -136
- package/dist/Atomic/UI/UserBox/index.js +0 -17
- package/dist/Atomic/UI/WizardStepper/WizardStepper.stories.js +0 -70
- package/dist/Functions/useIsMobile/index.js +0 -17
- package/dist/Functions/useIsMobile/useIsMobile.js +0 -33
- package/dist/Functions/useIsMobile/useIsMobile.test.js +0 -104
- package/dist/Functions/useKeyPress/useHandleKeyPress.test.js +0 -96
- package/dist/Functions/useKeyPress/useKeyPress.test.js +0 -87
- package/dist/Molecular/FormElement/FormElement.stories.js +0 -92
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.stories.js +0 -301
- package/dist/Molecular/InputAddress/InputAddress.stories.js +0 -541
- package/dist/Molecular/InputPassword/InputPassword.stories.js +0 -86
- package/dist/types/base.interface.js +0 -4
- package/dist/types/base.types.js +0 -4
|
@@ -1,299 +1,370 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
+
value: true
|
|
4
5
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
},
|
|
42
|
-
|
|
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 = {}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
176
|
-
|
|
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
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
-
|
|
217
|
-
|
|
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
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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
|
-
|
|
249
|
-
|
|
291
|
+
const value = getSafelyValue(str);
|
|
292
|
+
return value.replace(/\s+/g, "");
|
|
250
293
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
-
|
|
342
|
+
}
|
|
343
|
+
return replaser(output);
|
|
282
344
|
};
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
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
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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;
|