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