infinity-forge 0.36.0 → 0.36.4
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/sites/components/brands-carousel/styles.d.ts +1 -1
- package/dist/sites/components/counter/versions/version-01/box/styles.d.ts +1 -1
- package/dist/sites/components/counter/versions/version-01/styles.d.ts +1 -1
- package/dist/sites/components/header-link/versions/version-01/styles.d.ts +1 -1
- package/dist/sites/components/mvv/versions/version-01/styles.d.ts +1 -1
- package/dist/sites/context/configs/scripts/acept-cookies/styles.d.ts +1 -1
- package/dist/sites/context/configs/scripts/acept-ratedr/styles.d.ts +1 -1
- package/dist/sites/context/configs/scripts/whatsapp-fixed/styles.d.ts +1 -1
- package/dist/system/presentation/components/data/avatar/styles.d.ts +1 -1
- package/dist/system/presentation/components/data/buttons/sidebar-button/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/chat/card-message/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/chat/loader/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/chat/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/detail-card/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/highlight-icon/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/highlight-text/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/input-search/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/logo/styles.d.ts +1 -1
- package/dist/system/presentation/components/data/overlay/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/page-wrapper/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/profile-infos/profile/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/profile-infos/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/select-workspace/styles.d.ts +1 -1
- package/dist/system/presentation/components/data/sign-up/styles.d.ts +2 -2
- package/dist/system/presentation/components/data/tab/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/header/components/menu-right/messages/content/card/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/header/components/menu-right/messages/content/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/menu-right/messages/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/menu-right/notifications/card/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/header/components/menu-right/notifications/styles.d.ts +4 -4
- package/dist/system/presentation/components/layout/header/components/menu-right/profile/content/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/menu-right/profile/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/menu-right/settings/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/menu-right/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/header/components/search-modal/search-list/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/search-modal/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/header/components/search-modal/trigger/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/header/version-01/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/menu/components/menu/styles.d.ts +2 -2
- package/dist/system/presentation/components/layout/menu/version-01/styles.d.ts +1 -1
- package/dist/system/presentation/components/layout/styles.d.ts +2 -2
- package/dist/system/presentation/components/pages/menus/table/icon/style.d.ts +2 -2
- package/dist/system/presentation/context/auth/login/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/actions/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/create/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/export/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/filters/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/pagination/styles.d.ts +1 -1
- package/dist/system/presentation/hooks/ui/use-table/components/table/skeleton-table/styles.d.ts +2 -2
- package/dist/system/presentation/hooks/ui/use-table/components/table/styles.d.ts +6 -6
- package/dist/system/presentation/hooks/ui/use-table/components/table/thead-item/styles.d.ts +2 -2
- package/dist/ui/components/accordion/styles.d.ts +1 -1
- package/dist/ui/components/breadcrumb/styles.d.ts +2 -2
- package/dist/ui/components/button/styles.d.ts +1 -1
- package/dist/ui/components/form/checkbox/styles.d.ts +2 -2
- package/dist/ui/components/form/handler/dynamic_form_handler/styles.d.ts +2 -2
- package/dist/ui/components/form/handler/styles.d.ts +2 -2
- package/dist/ui/components/form/input-control/error/styles.d.ts +2 -2
- package/dist/ui/components/form/input-control/label/styles.d.ts +2 -2
- package/dist/ui/components/form/input-control/loader-input/styles.d.ts +2 -2
- package/dist/ui/components/form/input-control/styles.d.ts +2 -2
- package/dist/ui/components/form/input-cpf-cnpj/index.js +13 -13
- package/dist/ui/components/form/input-cpf-cnpj/index.js.map +1 -1
- package/dist/ui/components/form/input-date/styles.d.ts +2 -2
- package/dist/ui/components/form/input-date-picker/date_picket_lib_css.d.ts +2 -2
- package/dist/ui/components/form/input-date-picker/styles.d.ts +2 -2
- package/dist/ui/components/form/input-date-range/styles.d.ts +2 -2
- package/dist/ui/components/form/input-file/file-card/styles.d.ts +2 -2
- package/dist/ui/components/form/input-file/styles.d.ts +2 -2
- package/dist/ui/components/form/input-mask/index.js +14 -12
- package/dist/ui/components/form/input-mask/index.js.map +1 -1
- package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.d.ts +14 -0
- package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js +34 -0
- package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.d.ts +7 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js +21 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.d.ts +16 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js +255 -0
- package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/core/index.d.ts +5 -0
- package/dist/ui/components/form/input-mask/lib/core/index.js +15 -0
- package/dist/ui/components/form/input-mask/lib/core/index.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/core/types.d.ts +48 -0
- package/dist/{system/presentation/context/system-configs/interfaces.js → ui/components/form/input-mask/lib/core/types.js} +1 -1
- package/dist/ui/components/form/input-mask/lib/core/types.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.d.ts +2 -0
- package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js +15 -0
- package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/InputMask.d.ts +6 -0
- package/dist/ui/components/form/input-mask/lib/mask/InputMask.js +44 -0
- package/dist/ui/components/form/input-mask/lib/mask/InputMask.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/index.d.ts +5 -0
- package/dist/ui/{contexts/theme → components/form/input-mask/lib/mask}/index.js +9 -2
- package/dist/ui/components/form/input-mask/lib/mask/index.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/types.d.ts +61 -0
- package/dist/ui/components/form/input-mask/lib/mask/types.js +3 -0
- package/dist/ui/components/form/input-mask/lib/mask/types.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/useMask.d.ts +3 -0
- package/dist/ui/components/form/input-mask/lib/mask/useMask.js +182 -0
- package/dist/ui/components/form/input-mask/lib/mask/useMask.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/filter.d.ts +14 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js +26 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/format.d.ts +14 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/format.js +29 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/format.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.d.ts +17 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js +30 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.d.ts +2 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js +8 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.d.ts +14 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js +25 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.d.ts +18 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js +47 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.d.ts +16 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js +26 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/validate.d.ts +13 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js +41 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils.d.ts +63 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils.js +114 -0
- package/dist/ui/components/form/input-mask/lib/mask/utils.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.d.ts +6 -0
- package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js +58 -0
- package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/index.d.ts +4 -0
- package/dist/ui/components/form/input-mask/lib/number-format/index.js +11 -0
- package/dist/ui/components/form/input-mask/lib/number-format/index.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/types.d.ts +26 -0
- package/dist/ui/components/form/input-mask/lib/number-format/types.js +3 -0
- package/dist/ui/components/form/input-mask/lib/number-format/types.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.d.ts +3 -0
- package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js +208 -0
- package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.d.ts +7 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js +32 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.d.ts +20 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js +123 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.d.ts +11 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js +28 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.d.ts +5 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js +53 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js.map +1 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.d.ts +24 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js +161 -0
- package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js.map +1 -0
- package/dist/ui/components/form/input-password/styles.d.ts +2 -2
- package/dist/ui/components/form/radio/styles.d.ts +2 -2
- package/dist/ui/components/form/select/styles.d.ts +2 -2
- package/dist/ui/components/loading-screen/styles.d.ts +2 -2
- package/dist/ui/components/menu-mobile/components/nav-links/styles.d.ts +1 -1
- package/dist/ui/components/menu-mobile/styles.d.ts +1 -1
- package/dist/ui/components/menu-mobile/top/styles.d.ts +1 -1
- package/dist/ui/components/next-image/styles.d.ts +1 -1
- package/dist/ui/components/sidebar/styles.d.ts +2 -2
- package/dist/ui/contexts/toast/styles.d.ts +2 -2
- package/dist/ui/contexts/toast/toast-item/styles.d.ts +2 -2
- package/package.json +86 -86
- package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.d.ts +0 -2
- package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.js +0 -26
- package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.js.map +0 -1
- package/dist/system/presentation/components/layout/menu/components/select-workspace/index.d.ts +0 -17
- package/dist/system/presentation/components/layout/menu/components/select-workspace/index.js +0 -66
- package/dist/system/presentation/components/layout/menu/components/select-workspace/index.js.map +0 -1
- package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.d.ts +0 -2
- package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.js +0 -14
- package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.js.map +0 -1
- package/dist/system/presentation/context/system-configs/context.d.ts +0 -7
- package/dist/system/presentation/context/system-configs/context.js +0 -32
- package/dist/system/presentation/context/system-configs/context.js.map +0 -1
- package/dist/system/presentation/context/system-configs/index.d.ts +0 -2
- package/dist/system/presentation/context/system-configs/index.js +0 -19
- package/dist/system/presentation/context/system-configs/index.js.map +0 -1
- package/dist/system/presentation/context/system-configs/interfaces.d.ts +0 -4
- package/dist/system/presentation/context/system-configs/interfaces.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/ui/contexts/theme/context.d.ts +0 -10
- package/dist/ui/contexts/theme/context.js +0 -21
- package/dist/ui/contexts/theme/context.js.map +0 -1
- package/dist/ui/contexts/theme/index.d.ts +0 -2
- package/dist/ui/contexts/theme/index.js.map +0 -1
- package/dist/ui/contexts/theme/interfaces.d.ts +0 -10
- package/dist/ui/contexts/theme/interfaces.js +0 -9
- package/dist/ui/contexts/theme/interfaces.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var core_1 = require("../core/index.js");
|
|
8
|
+
var localizeValues_1 = __importDefault(require("./utils/localizeValues.js"));
|
|
9
|
+
var resolveDetail_1 = __importDefault(require("./utils/resolveDetail.js"));
|
|
10
|
+
var resolveMinimumFractionDigits_1 = __importDefault(require("./utils/resolveMinimumFractionDigits.js"));
|
|
11
|
+
var resolveOptions_1 = __importDefault(require("./utils/resolveOptions.js"));
|
|
12
|
+
var resolveSelection_1 = __importDefault(require("./utils/resolveSelection.js"));
|
|
13
|
+
function useNumberFormat(_a) {
|
|
14
|
+
var _b = _a === void 0 ? {} : _a, locales = _b.locales, format = _b.format, currency = _b.currency, currencyDisplay = _b.currencyDisplay, unit = _b.unit, unitDisplay = _b.unitDisplay, signDisplay = _b.signDisplay, groupDisplay = _b.groupDisplay, minimumIntegerDigits = _b.minimumIntegerDigits, maximumIntegerDigits = _b.maximumIntegerDigits, minimumFractionDigits = _b.minimumFractionDigits, maximumFractionDigits = _b.maximumFractionDigits,
|
|
15
|
+
// minimumSignificantDigits,
|
|
16
|
+
// maximumSignificantDigits,
|
|
17
|
+
onNumberFormat = _b.onNumberFormat;
|
|
18
|
+
var options = {
|
|
19
|
+
format: format,
|
|
20
|
+
currency: currency,
|
|
21
|
+
currencyDisplay: currencyDisplay,
|
|
22
|
+
unit: unit,
|
|
23
|
+
unitDisplay: unitDisplay,
|
|
24
|
+
signDisplay: signDisplay,
|
|
25
|
+
groupDisplay: groupDisplay,
|
|
26
|
+
minimumIntegerDigits: minimumIntegerDigits,
|
|
27
|
+
maximumIntegerDigits: maximumIntegerDigits,
|
|
28
|
+
minimumFractionDigits: minimumFractionDigits,
|
|
29
|
+
maximumFractionDigits: maximumFractionDigits,
|
|
30
|
+
// minimumSignificantDigits,
|
|
31
|
+
// maximumSignificantDigits,
|
|
32
|
+
};
|
|
33
|
+
var cache = (0, react_1.useRef)(null);
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* Init
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
var init = function (_a) {
|
|
40
|
+
var initialValue = _a.initialValue;
|
|
41
|
+
var _b = (0, resolveOptions_1.default)(locales, options), current = _b.current, resolved = _b.resolved;
|
|
42
|
+
var invalidType = current.maximumIntegerDigits !== undefined && typeof current.maximumIntegerDigits !== 'number';
|
|
43
|
+
var invalidRange = typeof current.maximumIntegerDigits === 'number' && current.maximumIntegerDigits < resolved.minimumIntegerDigits;
|
|
44
|
+
if (invalidType || invalidRange) {
|
|
45
|
+
throw new RangeError('maximumIntegerDigits value is out of range.');
|
|
46
|
+
}
|
|
47
|
+
var cachedProps = { locales: locales, options: options };
|
|
48
|
+
cache.current = { value: initialValue, props: cachedProps, fallbackProps: cachedProps };
|
|
49
|
+
return { value: initialValue };
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* Tracking
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
var tracking = function (_a) {
|
|
57
|
+
var inputType = _a.inputType, previousValue = _a.previousValue, addedValue = _a.addedValue, changeStart = _a.changeStart, changeEnd = _a.changeEnd;
|
|
58
|
+
if (cache.current === null) {
|
|
59
|
+
throw new core_1.SyntheticChangeError('The state has not been initialized.');
|
|
60
|
+
}
|
|
61
|
+
// Предыдущее значение всегда должно соответствовать маскированному значению из кэша. Обратная ситуация может
|
|
62
|
+
// возникнуть при контроле значения, если значение не было изменено после ввода. Для предотвращения подобных
|
|
63
|
+
// ситуаций, нам важно синхронизировать предыдущее значение с кэшированным значением, если они различаются
|
|
64
|
+
if (cache.current.value !== previousValue) {
|
|
65
|
+
cache.current.props = cache.current.fallbackProps;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
cache.current.fallbackProps = cache.current.props;
|
|
69
|
+
}
|
|
70
|
+
var previousLocalizedValues = (0, localizeValues_1.default)(cache.current.props.locales);
|
|
71
|
+
var localizedValues = (0, localizeValues_1.default)(locales);
|
|
72
|
+
var _b = (0, resolveOptions_1.default)(locales, options), current = _b.current, resolved = _b.resolved;
|
|
73
|
+
// Удаляем неразрешённые символы
|
|
74
|
+
var filter = function (value) {
|
|
75
|
+
var p$1 = "\\-\\".concat(localizedValues.minusSign);
|
|
76
|
+
var p$2 = ".,".concat(localizedValues.decimal);
|
|
77
|
+
var p$3 = "\\d".concat(localizedValues.digits);
|
|
78
|
+
var p$4 = "[^".concat(p$1).concat(p$2).concat(p$3, "]|[").concat(p$2, "](?=.*[").concat(p$2, "])");
|
|
79
|
+
var _value = value.replace(RegExp(p$4, 'g'), '');
|
|
80
|
+
if (localizedValues.signBackwards) {
|
|
81
|
+
return _value.replace(RegExp("[".concat(p$1, "](?=.*[").concat(p$1).concat(p$2).concat(p$3, "])"), 'g'), '');
|
|
82
|
+
}
|
|
83
|
+
var firstMinusSignIndex = _value.search(RegExp("[".concat(p$1, "]")));
|
|
84
|
+
var firstDecimalIndex = _value.search(RegExp("[".concat(p$2, "]")));
|
|
85
|
+
var firstDigitIndex = _value.search(RegExp("[".concat(p$3, "]")));
|
|
86
|
+
return _value.replace(RegExp("[".concat(p$1, "]"), 'g'), function (match, offset) {
|
|
87
|
+
var isMoreMinusSignIndex = firstMinusSignIndex !== -1 && offset > firstMinusSignIndex;
|
|
88
|
+
var isMoreDecimalIndex = firstDecimalIndex !== -1 && offset > firstDecimalIndex;
|
|
89
|
+
var isMoreDigitIndex = firstDigitIndex !== -1 && offset > firstDigitIndex;
|
|
90
|
+
return isMoreMinusSignIndex || isMoreDecimalIndex || isMoreDigitIndex ? '' : match;
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
addedValue = filter(addedValue);
|
|
94
|
+
if (inputType === 'insert' && !addedValue) {
|
|
95
|
+
throw new core_1.SyntheticChangeError('The added value does not contain allowed characters.');
|
|
96
|
+
}
|
|
97
|
+
var regExp$1 = RegExp("[^\\".concat(previousLocalizedValues.minusSign).concat(previousLocalizedValues.decimal).concat(previousLocalizedValues.digits, "]"), 'g');
|
|
98
|
+
// Нам важно удалить ненужные символы перед преобразованием в число, так
|
|
99
|
+
// как символ группы и символ десятичного разделителя могут пересекаться
|
|
100
|
+
var beforeChangeValue = previousValue.slice(0, changeStart).replace(regExp$1, '');
|
|
101
|
+
var afterChangeValue = previousValue.slice(changeEnd).replace(regExp$1, '');
|
|
102
|
+
var normalizedValue = beforeChangeValue + addedValue + afterChangeValue;
|
|
103
|
+
// Фильтруем значение для преобразование в число
|
|
104
|
+
normalizedValue = filter(normalizedValue)
|
|
105
|
+
// Нормализуем десятичный разделитель
|
|
106
|
+
.replace(RegExp("[,".concat(localizedValues.decimal, "]"), 'g'), '.')
|
|
107
|
+
// Нормализуем знак минуса
|
|
108
|
+
.replace(RegExp(localizedValues.minusSign, 'g'), '-')
|
|
109
|
+
// Нормализуем цифры
|
|
110
|
+
.replace(RegExp("[".concat(localizedValues.digits, "]"), 'g'), function (localeDigit) {
|
|
111
|
+
var digit = localizedValues.digits.indexOf(localeDigit);
|
|
112
|
+
return digit !== -1 ? digit.toString() : localeDigit;
|
|
113
|
+
});
|
|
114
|
+
// В случае ввода знака минуса нам нужно его удалить если
|
|
115
|
+
// оно присутствует, в противном случае добавить, тем самым
|
|
116
|
+
// создав автоматическую вставку при любой позиции каретки
|
|
117
|
+
{
|
|
118
|
+
var isReflectMinusSign = RegExp("^[\\-\\".concat(localizedValues.minusSign, "]$")).test(addedValue) && changeStart === changeEnd;
|
|
119
|
+
var hasPreviousValueMinusSign = previousValue.includes(previousLocalizedValues.minusSign);
|
|
120
|
+
var hasNormalizedValueMinusSign = normalizedValue.includes('-');
|
|
121
|
+
if (isReflectMinusSign && hasPreviousValueMinusSign && hasNormalizedValueMinusSign) {
|
|
122
|
+
normalizedValue = normalizedValue.replace('-', '');
|
|
123
|
+
}
|
|
124
|
+
if (isReflectMinusSign && !hasPreviousValueMinusSign && !hasNormalizedValueMinusSign) {
|
|
125
|
+
normalizedValue = "-".concat(normalizedValue);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Для нормализации значения, ставим минус слева.
|
|
129
|
+
// В случае арабской локали он может находиться справа
|
|
130
|
+
if (normalizedValue.endsWith('-')) {
|
|
131
|
+
normalizedValue = "-".concat(normalizedValue.slice(0, -1));
|
|
132
|
+
}
|
|
133
|
+
// Если изменения происходят в области `minimumFractionDigits`, очищаем дробную часть
|
|
134
|
+
// для замены значения, чтобы заменить "0" на вводимое значение,
|
|
135
|
+
// например, при вводе "1", получим "0.00" -> "0.1" -> "0.10" (не "0.100")
|
|
136
|
+
if (/\..*0$/.test(normalizedValue)) {
|
|
137
|
+
// let previousInteger = '';
|
|
138
|
+
var previousFraction = '';
|
|
139
|
+
var previousFractionIndex = -1;
|
|
140
|
+
for (var i = 0, decimal = false; i < previousValue.length; i++) {
|
|
141
|
+
var isDigit = previousLocalizedValues.digits.includes(previousValue[i]);
|
|
142
|
+
var isDecimal = previousValue[i] === previousLocalizedValues.decimal;
|
|
143
|
+
if (!decimal) {
|
|
144
|
+
if (isDecimal)
|
|
145
|
+
decimal = true;
|
|
146
|
+
// if (isDigit) previousInteger += previousValue[i];
|
|
147
|
+
}
|
|
148
|
+
else if (isDigit) {
|
|
149
|
+
previousFraction += previousValue[i];
|
|
150
|
+
if (previousFractionIndex === -1)
|
|
151
|
+
previousFractionIndex = i;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (previousFractionIndex !== -1) {
|
|
155
|
+
var previousMinimumFractionDigits = (0, resolveMinimumFractionDigits_1.default)({
|
|
156
|
+
// integer: previousInteger,
|
|
157
|
+
// fraction: previousFraction,
|
|
158
|
+
resolvedOptions: (0, resolveOptions_1.default)(cache.current.props.locales, cache.current.props.options).resolved,
|
|
159
|
+
});
|
|
160
|
+
// Если изменения происходят в области `minimumFractionDigits`
|
|
161
|
+
var isRange = changeStart >= previousFractionIndex &&
|
|
162
|
+
changeEnd < previousFractionIndex + (previousMinimumFractionDigits || 1);
|
|
163
|
+
if (isRange && previousFraction.length <= (previousMinimumFractionDigits || 1)) {
|
|
164
|
+
normalizedValue = normalizedValue.replace(/0+$/g, '');
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
var detail = (0, resolveDetail_1.default)(normalizedValue, {
|
|
169
|
+
inputType: inputType,
|
|
170
|
+
locales: locales,
|
|
171
|
+
localizedValues: localizedValues,
|
|
172
|
+
currentOptions: current,
|
|
173
|
+
resolvedOptions: resolved,
|
|
174
|
+
});
|
|
175
|
+
var selection = (0, resolveSelection_1.default)({
|
|
176
|
+
localizedValues: localizedValues,
|
|
177
|
+
previousLocalizedValues: previousLocalizedValues,
|
|
178
|
+
resolvedOptions: resolved,
|
|
179
|
+
inputType: inputType,
|
|
180
|
+
previousValue: previousValue,
|
|
181
|
+
addedValue: addedValue,
|
|
182
|
+
nextValue: detail.value,
|
|
183
|
+
changeStart: changeStart,
|
|
184
|
+
changeEnd: changeEnd,
|
|
185
|
+
});
|
|
186
|
+
cache.current.value = detail.value;
|
|
187
|
+
cache.current.props = { locales: locales, options: options };
|
|
188
|
+
return {
|
|
189
|
+
value: detail.value,
|
|
190
|
+
selectionStart: selection.start,
|
|
191
|
+
selectionEnd: selection.end,
|
|
192
|
+
__detail: detail,
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
*
|
|
197
|
+
* Use input
|
|
198
|
+
*
|
|
199
|
+
*/
|
|
200
|
+
return (0, core_1.useInput)({
|
|
201
|
+
init: init,
|
|
202
|
+
tracking: tracking,
|
|
203
|
+
eventType: 'input-number-format',
|
|
204
|
+
eventHandler: onNumberFormat,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
exports.default = useNumberFormat;
|
|
208
|
+
//# sourceMappingURL=useNumberFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNumberFormat.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-mask/lib/number-format/useNumberFormat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LocalizedNumberFormatValues } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Возвращает применяемые значения по заданной локали
|
|
4
|
+
* @param locales
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export default function localizeValues(locales: string | string[] | undefined): LocalizedNumberFormatValues;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает применяемые значения по заданной локали
|
|
5
|
+
* @param locales
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
function localizeValues(locales) {
|
|
9
|
+
var value = Intl.NumberFormat(locales, {
|
|
10
|
+
useGrouping: false,
|
|
11
|
+
signDisplay: 'always',
|
|
12
|
+
minimumIntegerDigits: 10,
|
|
13
|
+
minimumFractionDigits: 1,
|
|
14
|
+
maximumFractionDigits: 1,
|
|
15
|
+
// minimumSignificantDigits: 10,
|
|
16
|
+
// maximumSignificantDigits: 10,
|
|
17
|
+
}).format(-1234567890.1);
|
|
18
|
+
// При, например, арабской локали, минус устанавливается
|
|
19
|
+
// справа от чисел, поэтому нам важно определить положение
|
|
20
|
+
// минуса. Если минус расположен справа, то на первой
|
|
21
|
+
// позиции будет юникод `U+061C` (char code 1564)
|
|
22
|
+
var signBackwards = value.startsWith('') || value.startsWith('');
|
|
23
|
+
var minusSign = signBackwards ? value[1] : value[0];
|
|
24
|
+
var decimal = value[value.length - 2];
|
|
25
|
+
// Получаем все цифры в заданной локали (возможны варианты
|
|
26
|
+
// с китайской десятичной системой или арабскими цифрами)
|
|
27
|
+
var digits = value.slice(signBackwards ? 2 : 1, -2);
|
|
28
|
+
digits = digits[9] + digits.slice(0, -1);
|
|
29
|
+
return { signBackwards: signBackwards, minusSign: minusSign, decimal: decimal, digits: digits };
|
|
30
|
+
}
|
|
31
|
+
exports.default = localizeValues;
|
|
32
|
+
//# sourceMappingURL=localizeValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localizeValues.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/localizeValues.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;AACH,SAAwB,cAAc,CAAC,OAAsC;IAC3E,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACvC,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,QAAQ;QACrB,oBAAoB,EAAE,EAAE;QACxB,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;QACxB,gCAAgC;QAChC,gCAAgC;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAEzB,wDAAwD;IACxD,0DAA0D;IAC1D,qDAAqD;IACrD,iDAAiD;IACjD,IAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrE,IAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExC,0DAA0D;IAC1D,yDAAyD;IACzD,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,EAAE,aAAa,eAAA,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,MAAM,QAAA,EAAE,CAAC;AACvD,CAAC;AAzBD,iCAyBC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LocalizedNumberFormatValues, NumberFormatOptions, ResolvedNumberFormatOptions } from '../types.js';
|
|
2
|
+
import type { InputType } from '../../core/index.js';
|
|
3
|
+
interface Options {
|
|
4
|
+
inputType: InputType;
|
|
5
|
+
locales: string | string[] | undefined;
|
|
6
|
+
localizedValues: LocalizedNumberFormatValues;
|
|
7
|
+
currentOptions: NumberFormatOptions | undefined;
|
|
8
|
+
resolvedOptions: ResolvedNumberFormatOptions;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param value
|
|
13
|
+
* @param options
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export default function resolveDetail(value: string, { inputType, locales, localizedValues, currentOptions, resolvedOptions }: Options): {
|
|
17
|
+
value: string;
|
|
18
|
+
number: number;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
var resolveMinimumFractionDigits_1 = __importDefault(require("./resolveMinimumFractionDigits.js"));
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param value
|
|
32
|
+
* @param options
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
function resolveDetail(value, _a) {
|
|
36
|
+
var inputType = _a.inputType, locales = _a.locales, localizedValues = _a.localizedValues, currentOptions = _a.currentOptions, resolvedOptions = _a.resolvedOptions;
|
|
37
|
+
if ((inputType === 'deleteBackward' || inputType === 'deleteForward') &&
|
|
38
|
+
(value === '' || value === '-' || /^-?\.?0*$/.test(value))) {
|
|
39
|
+
return { value: '', number: 0 };
|
|
40
|
+
}
|
|
41
|
+
var isNegative = value.startsWith('-');
|
|
42
|
+
var absValue = isNegative ? value.slice(1) : value;
|
|
43
|
+
// При `fraction` равном `undefined` - разделитель не был введён
|
|
44
|
+
var _b = absValue.split('.'), integer = _b[0], _c = _b[1], fraction = _c === void 0 ? undefined : _c;
|
|
45
|
+
// Определяем настройки для применения в `Intl.NumberFormat`
|
|
46
|
+
var currentMinimumFractionDigits = resolvedOptions.minimumFractionDigits;
|
|
47
|
+
var currentMaximumFractionDigits = resolvedOptions.maximumFractionDigits;
|
|
48
|
+
// let currentMinimumSignificantDigits = resolvedOptions.minimumSignificantDigits;
|
|
49
|
+
// Поскольку состояние ввода хранит последний введенный символ,
|
|
50
|
+
// при форматировании может произойти округление, поэтому нам важно
|
|
51
|
+
// заранее обрезать символ не соответствующий максимальному количеству символов
|
|
52
|
+
// - `replace` - Учитываем `minimumSignificantDigits` и `minimumIntegerDigits`.
|
|
53
|
+
// Так, при `addedValue` "2": "000 001" -> "000 0012" -> "12" -> "000 012"
|
|
54
|
+
integer = integer.replace(/^0+/g, '').slice(0, resolvedOptions.maximumIntegerDigits);
|
|
55
|
+
// if (fraction !== undefined && resolvedOptions.maximumSignificantDigits !== undefined) {
|
|
56
|
+
// currentMaximumFractionDigits = resolvedOptions.maximumSignificantDigits - integer.length;
|
|
57
|
+
// if (/^0*$/.test(integer) && /^0*$/.test(fraction)) {
|
|
58
|
+
// currentMaximumFractionDigits -= 1;
|
|
59
|
+
// } else if (/^0*$/.test(integer) && /^0*[1-9]+/.test(fraction)) {
|
|
60
|
+
// currentMaximumFractionDigits += fraction.match(/^0+/g)?.[0].length ?? 0;
|
|
61
|
+
// }
|
|
62
|
+
// }
|
|
63
|
+
fraction = fraction === null || fraction === void 0 ? void 0 : fraction.slice(0, currentMaximumFractionDigits);
|
|
64
|
+
var number = Number((isNegative ? '-' : '') + (integer || '0') + (fraction ? ".".concat(fraction) : ''));
|
|
65
|
+
// Чтобы иметь возможность прописывать "0" и сохранять его с каждой итерацией,
|
|
66
|
+
// переопределяем `minimumFractionDigits` и `minimumSignificantDigits`
|
|
67
|
+
currentMinimumFractionDigits = (0, resolveMinimumFractionDigits_1.default)({
|
|
68
|
+
// integer,
|
|
69
|
+
// fraction: fraction ?? '',
|
|
70
|
+
resolvedOptions: resolvedOptions,
|
|
71
|
+
});
|
|
72
|
+
// Если `currentMinimumFractionDigits` равен нулю, дробная часть будет округлена
|
|
73
|
+
if (inputType === 'insert' &&
|
|
74
|
+
fraction === '' &&
|
|
75
|
+
currentMinimumFractionDigits === 0 &&
|
|
76
|
+
currentMaximumFractionDigits > 0) {
|
|
77
|
+
currentMinimumFractionDigits = 1;
|
|
78
|
+
// if (currentMinimumSignificantDigits !== undefined) {
|
|
79
|
+
// currentMinimumSignificantDigits = (integer.length || 1) + 1;
|
|
80
|
+
// }
|
|
81
|
+
}
|
|
82
|
+
if (fraction !== undefined && fraction.length > currentMinimumFractionDigits) {
|
|
83
|
+
currentMinimumFractionDigits = fraction.length;
|
|
84
|
+
// `minimumFractionDigits` игнорируется при указанном `minimumSignificantDigits` или
|
|
85
|
+
// `maximumSignificantDigits`, поэтому указываем правило для `minimumSignificantDigits`
|
|
86
|
+
// if (currentMinimumSignificantDigits !== undefined) {
|
|
87
|
+
// if (/^0*$/.test(integer) && /^0*$/.test(fraction)) {
|
|
88
|
+
// currentMinimumSignificantDigits = fraction.length + 1;
|
|
89
|
+
// } else if (/^0*$/.test(integer) && /^0*[1-9]+/.test(fraction)) {
|
|
90
|
+
// currentMinimumSignificantDigits = fraction.replace(/^0+/g, '').length;
|
|
91
|
+
// } else if (/^0*[1-9]+/.test(integer)) {
|
|
92
|
+
// currentMinimumSignificantDigits = integer.length + fraction.length;
|
|
93
|
+
// }
|
|
94
|
+
// }
|
|
95
|
+
}
|
|
96
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
97
|
+
var _d = currentOptions !== null && currentOptions !== void 0 ? currentOptions : {}, format = _d.format, groupDisplay = _d.groupDisplay, maximumIntegerDigits = _d.maximumIntegerDigits, options = __rest(_d, ["format", "groupDisplay", "maximumIntegerDigits"]);
|
|
98
|
+
var nextValue = Intl.NumberFormat(locales, __assign(__assign({}, options), { style: format, useGrouping: groupDisplay, minimumFractionDigits: currentMinimumFractionDigits })).format(number);
|
|
99
|
+
// В значении может встречаться юникод, нам важно заменить
|
|
100
|
+
// такие символы для соответствия стандартному значению
|
|
101
|
+
nextValue = nextValue.replace(/\s/g, ' ');
|
|
102
|
+
var sign = nextValue.includes('+')
|
|
103
|
+
? '+'
|
|
104
|
+
: nextValue.includes(localizedValues.minusSign)
|
|
105
|
+
? localizedValues.minusSign
|
|
106
|
+
: undefined;
|
|
107
|
+
// Арабская локаль содержит юникод, что приводит к неожидаемому
|
|
108
|
+
// сдвигу курсора при смещении через клавиатуру, для предотвращения
|
|
109
|
+
// устанавливаем знак в конец числа с удалением нежелательного юникода
|
|
110
|
+
if (sign !== undefined && localizedValues.signBackwards) {
|
|
111
|
+
nextValue = nextValue.replace(RegExp("[\u200E\u061C\\".concat(sign, "]"), 'g'), '');
|
|
112
|
+
var lastDigitIndex = nextValue.search(RegExp("[".concat(localizedValues.digits, "](?!.*[").concat(localizedValues.digits, "])")));
|
|
113
|
+
if (lastDigitIndex !== -1) {
|
|
114
|
+
nextValue = nextValue.slice(0, lastDigitIndex + 1) + sign + nextValue.slice(lastDigitIndex + 1);
|
|
115
|
+
if (!nextValue.startsWith('')) {
|
|
116
|
+
nextValue = "\u200F".concat(nextValue);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return { value: nextValue, number: number };
|
|
121
|
+
}
|
|
122
|
+
exports.default = resolveDetail;
|
|
123
|
+
//# sourceMappingURL=resolveDetail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveDetail.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResolvedNumberFormatOptions } from '../types.js';
|
|
2
|
+
interface ResolveMinimumFractionDigitsParam {
|
|
3
|
+
resolvedOptions: ResolvedNumberFormatOptions;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Высчитываем фактический `minimumFractionDigits`
|
|
7
|
+
* @param param
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export default function resolveMinimumFractionDigits({ resolvedOptions, }: ResolveMinimumFractionDigitsParam): number;
|
|
11
|
+
export {};
|
package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Высчитываем фактический `minimumFractionDigits`
|
|
5
|
+
* @param param
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
function resolveMinimumFractionDigits(_a) {
|
|
9
|
+
var
|
|
10
|
+
// integer,
|
|
11
|
+
// fraction,
|
|
12
|
+
resolvedOptions = _a.resolvedOptions;
|
|
13
|
+
var _b = resolvedOptions.minimumFractionDigits, minimumFractionDigits = _b === void 0 ? 0 : _b;
|
|
14
|
+
// if (resolvedOptions.minimumSignificantDigits !== undefined) {
|
|
15
|
+
// minimumFractionDigits =
|
|
16
|
+
// resolvedOptions.minimumSignificantDigits - integer.replace(/^0+/g, '').length;
|
|
17
|
+
// if (/^0*$/.test(integer)) {
|
|
18
|
+
// if (/^0*$/.test(fraction)) {
|
|
19
|
+
// minimumFractionDigits -= 1;
|
|
20
|
+
// } else if (/^0*[1-9]+/.test(fraction)) {
|
|
21
|
+
// minimumFractionDigits += fraction.match(/^0+/g)?.[0].length ?? 0;
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
// }
|
|
25
|
+
return minimumFractionDigits < 0 ? 0 : minimumFractionDigits;
|
|
26
|
+
}
|
|
27
|
+
exports.default = resolveMinimumFractionDigits;
|
|
28
|
+
//# sourceMappingURL=resolveMinimumFractionDigits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveMinimumFractionDigits.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.ts"],"names":[],"mappings":";;AAQA;;;;GAIG;AACH,SAAwB,4BAA4B,CAAC,EAIjB;;IAHlC,WAAW;IACX,YAAY;IACZ,eAAe,qBAAA;IAEP,IAAA,KAA8B,eAAe,sBAApB,EAAzB,qBAAqB,mBAAG,CAAC,KAAA,CAAqB;IAEtD,gEAAgE;IAChE,4BAA4B;IAC5B,qFAAqF;IAErF,gCAAgC;IAChC,mCAAmC;IACnC,oCAAoC;IACpC,+CAA+C;IAC/C,0EAA0E;IAC1E,QAAQ;IACR,MAAM;IACN,IAAI;IAEJ,OAAO,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC/D,CAAC;AArBD,+CAqBC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { NumberFormatOptions, ResolvedNumberFormatOptions } from '../types.js';
|
|
2
|
+
export default function resolveOptions(locales: string | string[] | undefined, options?: NumberFormatOptions | undefined): {
|
|
3
|
+
current: NumberFormatOptions;
|
|
4
|
+
resolved: ResolvedNumberFormatOptions;
|
|
5
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
function resolveOptions(locales, options) {
|
|
26
|
+
if (options === void 0) { options = {}; }
|
|
27
|
+
var format = options.format, groupDisplay = options.groupDisplay, _a = options.maximumIntegerDigits, maximumIntegerDigits = _a === void 0 ? 21 : _a, current = __rest(options, ["format", "groupDisplay", "maximumIntegerDigits"]);
|
|
28
|
+
var resolved = Intl.NumberFormat(locales, __assign(__assign({}, current), { style: format, useGrouping: groupDisplay })).resolvedOptions();
|
|
29
|
+
resolved.format = resolved.style;
|
|
30
|
+
resolved.groupDisplay = resolved.useGrouping;
|
|
31
|
+
resolved.maximumIntegerDigits = maximumIntegerDigits;
|
|
32
|
+
if (resolved.maximumIntegerDigits < resolved.minimumIntegerDigits) {
|
|
33
|
+
resolved.maximumIntegerDigits = resolved.minimumIntegerDigits;
|
|
34
|
+
}
|
|
35
|
+
// Удаляем из `resolved` неиспользуемые свойства
|
|
36
|
+
var tempResolved = resolved;
|
|
37
|
+
delete tempResolved.style;
|
|
38
|
+
delete tempResolved.currencySign;
|
|
39
|
+
delete tempResolved.useGrouping;
|
|
40
|
+
delete tempResolved.minimumSignificantDigits;
|
|
41
|
+
delete tempResolved.maximumSignificantDigits;
|
|
42
|
+
delete tempResolved.compactDisplay;
|
|
43
|
+
delete tempResolved.notation;
|
|
44
|
+
delete tempResolved.numberingSystem;
|
|
45
|
+
delete tempResolved.localeMatcher;
|
|
46
|
+
delete tempResolved.roundingIncrement;
|
|
47
|
+
delete tempResolved.roundingMode;
|
|
48
|
+
delete tempResolved.roundingPriority;
|
|
49
|
+
delete tempResolved.trailingZeroDisplay;
|
|
50
|
+
return { current: options, resolved: resolved };
|
|
51
|
+
}
|
|
52
|
+
exports.default = resolveOptions;
|
|
53
|
+
//# sourceMappingURL=resolveOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOptions.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAAwB,cAAc,CACpC,OAAsC,EACtC,OAA6C;IAA7C,wBAAA,EAAA,YAA6C;IAErC,IAAA,MAAM,GAA0D,OAAO,OAAjE,EAAE,YAAY,GAA4C,OAAO,aAAnD,EAAE,KAA0C,OAAO,qBAAxB,EAAzB,oBAAoB,mBAAG,EAAE,KAAA,EAAK,OAAO,UAAK,OAAO,EAAzE,kDAA+D,CAAF,CAAa;IAEhF,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,wBACrC,OAAO,KACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,YAAY,IACzB,CAAC,eAAe,EAA4C,CAAC;IAE/D,QAAQ,CAAC,MAAM,GAAI,QAAwD,CAAC,KAAK,CAAC;IAClF,QAAQ,CAAC,YAAY,GAAI,QAAwD,CAAC,WAAW,CAAC;IAC9F,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAErD,IAAI,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClE,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,gDAAgD;IAChD,IAAM,YAAY,GAAG,QAAmC,CAAC;IAEzD,OAAO,YAAY,CAAC,KAAK,CAAC;IAC1B,OAAO,YAAY,CAAC,YAAY,CAAC;IACjC,OAAO,YAAY,CAAC,WAAW,CAAC;IAChC,OAAO,YAAY,CAAC,wBAAwB,CAAC;IAC7C,OAAO,YAAY,CAAC,wBAAwB,CAAC;IAC7C,OAAO,YAAY,CAAC,cAAc,CAAC;IACnC,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC7B,OAAO,YAAY,CAAC,eAAe,CAAC;IACpC,OAAO,YAAY,CAAC,aAAa,CAAC;IAClC,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACtC,OAAO,YAAY,CAAC,YAAY,CAAC;IACjC,OAAO,YAAY,CAAC,gBAAgB,CAAC;IACrC,OAAO,YAAY,CAAC,mBAAmB,CAAC;IAExC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACxC,CAAC;AAtCD,iCAsCC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { LocalizedNumberFormatValues, ResolvedNumberFormatOptions } from '../types.js';
|
|
2
|
+
import type { InputType } from '../../core/index.js';
|
|
3
|
+
interface ResolveSelectionParam {
|
|
4
|
+
localizedValues: LocalizedNumberFormatValues;
|
|
5
|
+
previousLocalizedValues: LocalizedNumberFormatValues;
|
|
6
|
+
resolvedOptions: ResolvedNumberFormatOptions;
|
|
7
|
+
inputType: InputType;
|
|
8
|
+
addedValue: string;
|
|
9
|
+
previousValue: string;
|
|
10
|
+
nextValue: string;
|
|
11
|
+
changeStart: number;
|
|
12
|
+
changeEnd: number;
|
|
13
|
+
}
|
|
14
|
+
interface ResolveSelectionReturn {
|
|
15
|
+
start: number;
|
|
16
|
+
end: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Определяет позицию каретки для последующей установки
|
|
20
|
+
* @param param
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export default function resolveSelection({ localizedValues, previousLocalizedValues, resolvedOptions, inputType, previousValue, addedValue, nextValue, changeStart, changeEnd, }: ResolveSelectionParam): ResolveSelectionReturn;
|
|
24
|
+
export {};
|