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