@taiga-ui/core 3.60.0 → 3.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-core-abstract.umd.js +525 -671
- package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-core-animations.umd.js +146 -146
- package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-alert.umd.js +9 -155
- package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +522 -668
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js +673 -819
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +15 -161
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +787 -933
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +3 -3
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +459 -605
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1029 -1175
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +459 -605
- package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +6 -152
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-svg.umd.js +65 -211
- package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-theme-night.umd.js +374 -520
- package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-tooltip.umd.js +449 -595
- package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +31 -31
- package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-dropdown.umd.js +1360 -1506
- package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js +1141 -1287
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-mode.umd.js +375 -521
- package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-number-format.umd.js +397 -543
- package/bundles/taiga-ui-core-directives-number-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -155
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
- package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-core-observables.umd.js +2 -2
- package/bundles/taiga-ui-core-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-flag.umd.js +4 -4
- package/bundles/taiga-ui-core-pipes-flag.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-date.umd.js +1 -1
- package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-number.umd.js +1 -1
- package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js +3 -3
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-month.umd.js +1 -1
- package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +384 -530
- package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
- package/bundles/taiga-ui-core-providers.umd.js +2 -2
- package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
- package/bundles/taiga-ui-core-services.umd.js +634 -780
- package/bundles/taiga-ui-core-services.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +44 -190
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +19 -19
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js +21 -167
- package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +34 -180
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +7 -7
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
- package/constants/cache-basting-payload.d.ts +1 -1
- package/esm2015/abstract/abstract-textfield-host.js +3 -3
- package/esm2015/animations/animations.js +148 -148
- package/esm2015/components/alert/alert.providers.js +2 -2
- package/esm2015/components/alert/alert.service.js +3 -3
- package/esm2015/components/button/button.options.js +2 -2
- package/esm2015/components/dialog/dialog-close.service.js +5 -5
- package/esm2015/components/dialog/dialog.service.js +3 -3
- package/esm2015/components/dialog/dialog.tokens.js +4 -4
- package/esm2015/components/hosted-dropdown/hosted-dropdown.token.js +2 -2
- package/esm2015/components/loader/loader.options.js +2 -2
- package/esm2015/components/primitive-checkbox/checkbox.options.js +4 -4
- package/esm2015/components/root/root.component.js +1 -1
- package/esm2015/components/svg/deprecated-icons.js +57 -57
- package/esm2015/components/svg/svg-options.js +4 -4
- package/esm2015/constants/decimal-symbols.js +2 -2
- package/esm2015/constants/default-icons-path.js +2 -2
- package/esm2015/constants/default-number-format.js +4 -4
- package/esm2015/constants/editing-keys.js +10 -10
- package/esm2015/constants/events.js +5 -5
- package/esm2015/constants/hint-directions.js +13 -13
- package/esm2015/constants/mask-caret-trap.js +2 -2
- package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
- package/esm2015/directives/textfield-controller/textfield.controller.js +2 -2
- package/esm2015/directives/textfield-controller/textfield.options.js +2 -2
- package/esm2015/enums/appearance.js +1 -1
- package/esm2015/enums/dropdown-animation.js +1 -1
- package/esm2015/enums/interactive-state.js +1 -1
- package/esm2015/enums/notification.js +1 -1
- package/esm2015/enums/range-state.js +1 -1
- package/esm2015/observables/smart-search.js +3 -3
- package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +2 -2
- package/esm2015/pipes/flag/flag.pipe.js +5 -5
- package/esm2015/pipes/format-date/format-date.pipe.js +2 -2
- package/esm2015/pipes/format-number/format-number.pipe.js +2 -2
- package/esm2015/pipes/format-phone/format-phone.pipe.js +4 -4
- package/esm2015/pipes/month/month.pipe.js +2 -2
- package/esm2015/pipes/order-week-days/order-week-days.pipe.js +2 -2
- package/esm2015/providers/is-mobile-resolution.provider.js +2 -2
- package/esm2015/providers/mode.provider.js +2 -2
- package/esm2015/services/breakpoint.service.js +3 -3
- package/esm2015/services/format-date.service.js +5 -5
- package/esm2015/services/hint.service.js +3 -3
- package/esm2015/services/night-theme.service.js +5 -5
- package/esm2015/services/svg.service.js +5 -5
- package/esm2015/services/visual-viewport.service.js +3 -3
- package/esm2015/tokens/animation-options.js +2 -2
- package/esm2015/tokens/common-icon.js +5 -5
- package/esm2015/tokens/data-list-accessor.js +2 -2
- package/esm2015/tokens/data-list-host.js +2 -2
- package/esm2015/tokens/day-type-handler.js +2 -2
- package/esm2015/tokens/document-or-shadow-root.js +2 -2
- package/esm2015/tokens/element-ref.js +2 -2
- package/esm2015/tokens/i18n.js +7 -7
- package/esm2015/tokens/icon-place.js +2 -2
- package/esm2015/tokens/is-mobile-resolution.js +2 -2
- package/esm2015/tokens/legacy-mask.js +2 -2
- package/esm2015/tokens/mode.js +2 -2
- package/esm2015/tokens/notification-options.js +9 -9
- package/esm2015/tokens/option-content.js +2 -2
- package/esm2015/tokens/reduced-motion.js +2 -2
- package/esm2015/tokens/sanitizer.js +2 -2
- package/esm2015/tokens/selection-stream.js +2 -2
- package/esm2015/tokens/spin-icons.js +3 -3
- package/esm2015/tokens/textfield-host.js +2 -2
- package/esm2015/tokens/theme.js +2 -2
- package/esm2015/tokens/value-accessor.js +2 -2
- package/esm2015/tokens/viewport.js +2 -2
- package/esm2015/utils/dom/check-fixed-position.js +3 -3
- package/esm2015/utils/dom/get-safe-area-size.js +4 -4
- package/esm2015/utils/dom/get-word-range.js +5 -5
- package/esm2015/utils/dom/process-icon.js +11 -11
- package/esm2015/utils/format/format-number.js +4 -4
- package/esm2015/utils/format/format-phone.js +9 -9
- package/esm2015/utils/format/get-fractional-part-padded.js +2 -2
- package/esm2015/utils/format/number-to-string-without-exp.js +3 -3
- package/esm2015/utils/format/other-decimal-symbol.js +2 -2
- package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +11 -11
- package/esm2015/utils/mask/create-correction-mask.js +3 -3
- package/esm2015/utils/mask/create-number-mask.js +13 -13
- package/esm2015/utils/mask/masked-money-value-is-empty.js +3 -3
- package/esm2015/utils/mask/masked-number-string-to-number.js +2 -2
- package/esm2015/utils/miscellaneous/get-border.js +3 -3
- package/esm2015/utils/miscellaneous/icons-path-factory.js +3 -3
- package/esm2015/utils/miscellaneous/is-obscured.js +2 -2
- package/esm2015/utils/miscellaneous/is-presumed-html-string.js +2 -2
- package/esm2015/utils/miscellaneous/size-bigger.js +2 -2
- package/fesm2015/taiga-ui-core-abstract.js +2 -2
- package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-core-animations.js +146 -146
- package/fesm2015/taiga-ui-core-animations.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-alert.js +3 -3
- package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +1 -1
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +9 -9
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +3 -3
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +1 -1
- package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-svg.js +59 -59
- package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
- package/fesm2015/taiga-ui-core-constants.js +31 -31
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js +3 -3
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
- package/fesm2015/taiga-ui-core-enums.js.map +1 -1
- package/fesm2015/taiga-ui-core-observables.js +2 -2
- package/fesm2015/taiga-ui-core-observables.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-flag.js +4 -4
- package/fesm2015/taiga-ui-core-pipes-flag.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-date.js +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-number.js +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-phone.js +3 -3
- package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-month.js +1 -1
- package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-order-week-days.js +1 -1
- package/fesm2015/taiga-ui-core-pipes-order-week-days.js.map +1 -1
- package/fesm2015/taiga-ui-core-providers.js +2 -2
- package/fesm2015/taiga-ui-core-providers.js.map +1 -1
- package/fesm2015/taiga-ui-core-services.js +18 -18
- package/fesm2015/taiga-ui-core-services.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +38 -38
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +19 -19
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js +15 -15
- package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +27 -27
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js +7 -7
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const WIDTH_SEARCH =
|
|
2
|
-
const HEIGHT_SEARCH =
|
|
3
|
-
const START =
|
|
1
|
+
const WIDTH_SEARCH = 'width="';
|
|
2
|
+
const HEIGHT_SEARCH = 'height="';
|
|
3
|
+
const START = '<svg';
|
|
4
4
|
export function tuiProcessIcon(source, name) {
|
|
5
5
|
if (source.includes(`id="${name}"`)) {
|
|
6
6
|
return source;
|
|
7
7
|
}
|
|
8
8
|
const src = source.slice(Math.max(0, source.indexOf(START)));
|
|
9
|
-
const attributes = src.slice(0, Math.max(0, src.indexOf(
|
|
9
|
+
const attributes = src.slice(0, Math.max(0, src.indexOf('>')));
|
|
10
10
|
if (!(attributes === null || attributes === void 0 ? void 0 : attributes.includes(WIDTH_SEARCH)) || !attributes.includes(HEIGHT_SEARCH)) {
|
|
11
11
|
return `${src.replace(START, `<svg xmlns="http://www.w3.org/2000/svg"><g id="${name}" xmlns="http://www.w3.org/2000/svg"><svg`)}</g></svg>`;
|
|
12
12
|
}
|
|
@@ -14,18 +14,18 @@ export function tuiProcessIcon(source, name) {
|
|
|
14
14
|
const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
|
|
15
15
|
const widthOffset = indexOfWidth + WIDTH_SEARCH.length;
|
|
16
16
|
const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
|
|
17
|
-
const widthString = attributes.slice(widthOffset, attributes.indexOf(
|
|
18
|
-
const heightString = attributes.slice(heightOffset, attributes.indexOf(
|
|
17
|
+
const widthString = attributes.slice(widthOffset, attributes.indexOf('"', widthOffset));
|
|
18
|
+
const heightString = attributes.slice(heightOffset, attributes.indexOf('"', heightOffset));
|
|
19
19
|
if (!heightString ||
|
|
20
20
|
!widthString ||
|
|
21
|
-
widthString.includes(
|
|
22
|
-
heightString.includes(
|
|
23
|
-
widthString.includes(
|
|
24
|
-
heightString.includes(
|
|
21
|
+
widthString.includes('%') ||
|
|
22
|
+
heightString.includes('%') ||
|
|
23
|
+
widthString.includes('em') ||
|
|
24
|
+
heightString.includes('em')) {
|
|
25
25
|
return src.replace(START, `<svg id="${name}"`);
|
|
26
26
|
}
|
|
27
27
|
const width = parseInt(widthString, 10);
|
|
28
28
|
const height = parseInt(heightString, 10);
|
|
29
29
|
return `<g id="${name}" xmlns="http://www.w3.org/2000/svg"><svg x="50%" y="50%" width="${width / 16}em" height="${height / 16}em" overflow="visible" viewBox="0 0 ${width} ${height}"><svg x="${-width / 2}" y="${-height / 2}">${src}</svg></svg></g>`;
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9kb20vcHJvY2Vzcy1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUMvQixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUM7QUFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBRXJCLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDdkQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsRUFBRTtRQUNqQyxPQUFPLE1BQU0sQ0FBQztLQUNqQjtJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUM1RSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FDakIsS0FBSyxFQUNMLGtEQUFrRCxJQUFJLDJDQUEyQyxDQUNwRyxZQUFZLENBQUM7S0FDakI7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsTUFBTSxXQUFXLEdBQUcsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FDaEMsV0FBVyxFQUNYLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUN2QyxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FDakMsWUFBWSxFQUNaLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUN4QyxDQUFDO0lBRUYsSUFDSSxDQUFDLFlBQVk7UUFDYixDQUFDLFdBQVc7UUFDWixXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN6QixZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUMxQixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMxQixZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM3QjtRQUNFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sVUFBVSxJQUFJLHFFQUNqQixLQUFLLEdBQUcsRUFDWixlQUNJLE1BQU0sR0FBRyxFQUNiLHVDQUF1QyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsUUFDekUsQ0FBQyxNQUFNLEdBQUcsQ0FDZCxLQUFLLEdBQUcsa0JBQWtCLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFdJRFRIX1NFQVJDSCA9ICd3aWR0aD1cIic7XG5jb25zdCBIRUlHSFRfU0VBUkNIID0gJ2hlaWdodD1cIic7XG5jb25zdCBTVEFSVCA9ICc8c3ZnJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVByb2Nlc3NJY29uKHNvdXJjZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChzb3VyY2UuaW5jbHVkZXMoYGlkPVwiJHtuYW1lfVwiYCkpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9XG5cbiAgICBjb25zdCBzcmMgPSBzb3VyY2Uuc2xpY2UoTWF0aC5tYXgoMCwgc291cmNlLmluZGV4T2YoU1RBUlQpKSk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHNyYy5zbGljZSgwLCBNYXRoLm1heCgwLCBzcmMuaW5kZXhPZignPicpKSk7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZXM/LmluY2x1ZGVzKFdJRFRIX1NFQVJDSCkgfHwgIWF0dHJpYnV0ZXMuaW5jbHVkZXMoSEVJR0hUX1NFQVJDSCkpIHtcbiAgICAgICAgcmV0dXJuIGAke3NyYy5yZXBsYWNlKFxuICAgICAgICAgICAgU1RBUlQsXG4gICAgICAgICAgICBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgaWQ9XCIke25hbWV9XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxzdmdgLFxuICAgICAgICApfTwvZz48L3N2Zz5gO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4T2ZXaWR0aCA9IGF0dHJpYnV0ZXMuaW5kZXhPZihXSURUSF9TRUFSQ0gpO1xuICAgIGNvbnN0IGluZGV4T2ZIZWlnaHQgPSBhdHRyaWJ1dGVzLmluZGV4T2YoSEVJR0hUX1NFQVJDSCk7XG4gICAgY29uc3Qgd2lkdGhPZmZzZXQgPSBpbmRleE9mV2lkdGggKyBXSURUSF9TRUFSQ0gubGVuZ3RoO1xuICAgIGNvbnN0IGhlaWdodE9mZnNldCA9IGluZGV4T2ZIZWlnaHQgKyBIRUlHSFRfU0VBUkNILmxlbmd0aDtcbiAgICBjb25zdCB3aWR0aFN0cmluZyA9IGF0dHJpYnV0ZXMuc2xpY2UoXG4gICAgICAgIHdpZHRoT2Zmc2V0LFxuICAgICAgICBhdHRyaWJ1dGVzLmluZGV4T2YoJ1wiJywgd2lkdGhPZmZzZXQpLFxuICAgICk7XG4gICAgY29uc3QgaGVpZ2h0U3RyaW5nID0gYXR0cmlidXRlcy5zbGljZShcbiAgICAgICAgaGVpZ2h0T2Zmc2V0LFxuICAgICAgICBhdHRyaWJ1dGVzLmluZGV4T2YoJ1wiJywgaGVpZ2h0T2Zmc2V0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgICAhaGVpZ2h0U3RyaW5nIHx8XG4gICAgICAgICF3aWR0aFN0cmluZyB8fFxuICAgICAgICB3aWR0aFN0cmluZy5pbmNsdWRlcygnJScpIHx8XG4gICAgICAgIGhlaWdodFN0cmluZy5pbmNsdWRlcygnJScpIHx8XG4gICAgICAgIHdpZHRoU3RyaW5nLmluY2x1ZGVzKCdlbScpIHx8XG4gICAgICAgIGhlaWdodFN0cmluZy5pbmNsdWRlcygnZW0nKVxuICAgICkge1xuICAgICAgICByZXR1cm4gc3JjLnJlcGxhY2UoU1RBUlQsIGA8c3ZnIGlkPVwiJHtuYW1lfVwiYCk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCh3aWR0aFN0cmluZywgMTApO1xuICAgIGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KGhlaWdodFN0cmluZywgMTApO1xuXG4gICAgcmV0dXJuIGA8ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHN2ZyAgeD1cIjUwJVwiIHk9XCI1MCVcIiB3aWR0aD1cIiR7XG4gICAgICAgIHdpZHRoIC8gMTZcbiAgICB9ZW1cIiBoZWlnaHQ9XCIke1xuICAgICAgICBoZWlnaHQgLyAxNlxuICAgIH1lbVwiIG92ZXJmbG93PVwidmlzaWJsZVwiIHZpZXdCb3g9XCIwIDAgJHt3aWR0aH0gJHtoZWlnaHR9XCI+PHN2ZyB4PVwiJHstd2lkdGggLyAyfVwiIHk9XCIke1xuICAgICAgICAtaGVpZ2h0IC8gMlxuICAgIH1cIj4ke3NyY308L3N2Zz48L3N2Zz48L2c+YDtcbn1cbiJdfQ==
|
|
@@ -19,15 +19,15 @@ export function tuiFormatNumber(value, settings = {}) {
|
|
|
19
19
|
if (Number.isFinite(decimalLimit)) {
|
|
20
20
|
if (zeroPadding) {
|
|
21
21
|
const zeroPaddingSize = Math.max(decimalLimit - fractionPartPadded.length, 0);
|
|
22
|
-
const zeroPartString =
|
|
22
|
+
const zeroPartString = '0'.repeat(zeroPaddingSize);
|
|
23
23
|
fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
fractionPartPadded = fractionPartPadded.replace(/0*$/,
|
|
26
|
+
fractionPartPadded = fractionPartPadded.replace(/0*$/, '');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
const remainder = integerPartString.length % 3;
|
|
30
|
-
const sign = value < 0 ? CHAR_HYPHEN :
|
|
30
|
+
const sign = value < 0 ? CHAR_HYPHEN : '';
|
|
31
31
|
let result = sign + integerPartString.charAt(0);
|
|
32
32
|
for (let i = 1; i < integerPartString.length; i++) {
|
|
33
33
|
if (i % 3 === remainder && integerPartString.length > 3) {
|
|
@@ -37,4 +37,4 @@ export function tuiFormatNumber(value, settings = {}) {
|
|
|
37
37
|
}
|
|
38
38
|
return fractionPartPadded ? result + decimalSeparator + fractionPartPadded : result;
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvZm9ybWF0L2Zvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFdEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLEtBQWEsRUFDYixXQUE2QyxFQUFFO0lBRS9DLE1BQU0sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxtQ0FDekUseUJBQXlCLEdBQ3pCLFFBQVEsQ0FDZCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDekMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1osTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRSxJQUFJLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDL0IsSUFBSSxXQUFXLEVBQUU7WUFDYixNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUNwQyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUN4QyxDQUFDLENBQ0osQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFbkQsa0JBQWtCLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztTQUNqRTthQUFNO1lBQ0gsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5RDtLQUNKO0lBRUQsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQztTQUMvQjtRQUVELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN4RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0hZUEhFTiwgdHVpUm91bmRXaXRofSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge3R1aUdldEZyYWN0aW9uUGFydFBhZGRlZH0gZnJvbSAnLi9nZXQtZnJhY3Rpb25hbC1wYXJ0LXBhZGRlZCc7XG5cbi8qKlxuICogRm9ybWF0cyBudW1iZXIgYWRkaW5nIGEgdGhvdXNhbmQgc2VwYXJhdG9ycyBhbmQgY29ycmVjdCBkZWNpbWFsIHNlcGFyYXRvclxuICogcGFkZGluZyBkZWNpbWFsIHBhcnQgd2l0aCB6ZXJvZXMgdG8gZ2l2ZW4gbGVuZ3RoXG4gKlxuICogQHBhcmFtIHZhbHVlIHRoZSBpbnB1dCBudW1iZXJcbiAqIEBwYXJhbSBzZXR0aW5ncyBTZWUge0BsaW5rIFR1aU51bWJlckZvcm1hdFNldHRpbmdzfVxuICogQHJldHVybiB0aGUgZm9ybWF0dGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpRm9ybWF0TnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgc2V0dGluZ3M6IFBhcnRpYWw8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvZm9ybWF0L2Zvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFdEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLEtBQWEsRUFDYixXQUE2QyxFQUFFO0lBRS9DLE1BQU0sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxtQ0FDekUseUJBQXlCLEdBQ3pCLFFBQVEsQ0FDZCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDekMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1osTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRSxJQUFJLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDL0IsSUFBSSxXQUFXLEVBQUU7WUFDYixNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUNwQyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUN4QyxDQUFDLENBQ0osQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFbkQsa0JBQWtCLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztTQUNqRTthQUFNO1lBQ0gsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5RDtLQUNKO0lBRUQsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQztTQUMvQjtRQUVELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN4RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0hZUEhFTiwgdHVpUm91bmRXaXRofSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge3R1aUdldEZyYWN0aW9uUGFydFBhZGRlZH0gZnJvbSAnLi9nZXQtZnJhY3Rpb25hbC1wYXJ0LXBhZGRlZCc7XG5cbi8qKlxuICogRm9ybWF0cyBudW1iZXIgYWRkaW5nIGEgdGhvdXNhbmQgc2VwYXJhdG9ycyBhbmQgY29ycmVjdCBkZWNpbWFsIHNlcGFyYXRvclxuICogcGFkZGluZyBkZWNpbWFsIHBhcnQgd2l0aCB6ZXJvZXMgdG8gZ2l2ZW4gbGVuZ3RoXG4gKlxuICogQHBhcmFtIHZhbHVlIHRoZSBpbnB1dCBudW1iZXJcbiAqIEBwYXJhbSBzZXR0aW5ncyBTZWUge0BsaW5rIFR1aU51bWJlckZvcm1hdFNldHRpbmdzfVxuICogQHJldHVybiB0aGUgZm9ybWF0dGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpRm9ybWF0TnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgc2V0dGluZ3M6IFBhcnRpYWw8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+ID0ge30sXG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IHtkZWNpbWFsTGltaXQsIGRlY2ltYWxTZXBhcmF0b3IsIHRob3VzYW5kU2VwYXJhdG9yLCB6ZXJvUGFkZGluZywgcm91bmRpbmd9ID0ge1xuICAgICAgICAuLi5UVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgICAgICAuLi5zZXR0aW5ncyxcbiAgICB9O1xuXG4gICAgY29uc3Qgcm91bmRlZCA9IE51bWJlci5pc0Zpbml0ZShkZWNpbWFsTGltaXQpXG4gICAgICAgID8gdHVpUm91bmRXaXRoKHt2YWx1ZSwgcHJlY2lzaW9uOiBkZWNpbWFsTGltaXQsIG1ldGhvZDogcm91bmRpbmd9KVxuICAgICAgICA6IHZhbHVlO1xuICAgIGNvbnN0IGludGVnZXJQYXJ0U3RyaW5nID0gU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5hYnMocm91bmRlZCkpKTtcblxuICAgIGxldCBmcmFjdGlvblBhcnRQYWRkZWQgPSB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQocm91bmRlZCwgZGVjaW1hbExpbWl0KTtcblxuICAgIGlmIChOdW1iZXIuaXNGaW5pdGUoZGVjaW1hbExpbWl0KSkge1xuICAgICAgICBpZiAoemVyb1BhZGRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IHplcm9QYWRkaW5nU2l6ZTogbnVtYmVyID0gTWF0aC5tYXgoXG4gICAgICAgICAgICAgICAgZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25QYXJ0UGFkZGVkLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHplcm9QYXJ0U3RyaW5nID0gJzAnLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpO1xuXG4gICAgICAgICAgICBmcmFjdGlvblBhcnRQYWRkZWQgPSBgJHtmcmFjdGlvblBhcnRQYWRkZWR9JHt6ZXJvUGFydFN0cmluZ31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZnJhY3Rpb25QYXJ0UGFkZGVkID0gZnJhY3Rpb25QYXJ0UGFkZGVkLnJlcGxhY2UoLzAqJC8sICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlbWFpbmRlciA9IGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aCAlIDM7XG4gICAgY29uc3Qgc2lnbiA9IHZhbHVlIDwgMCA/IENIQVJfSFlQSEVOIDogJyc7XG4gICAgbGV0IHJlc3VsdCA9IHNpZ24gKyBpbnRlZ2VyUGFydFN0cmluZy5jaGFyQXQoMCk7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpICUgMyA9PT0gcmVtYWluZGVyICYmIGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aCA+IDMpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aG91c2FuZFNlcGFyYXRvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCArPSBpbnRlZ2VyUGFydFN0cmluZy5jaGFyQXQoaSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYWN0aW9uUGFydFBhZGRlZCA/IHJlc3VsdCArIGRlY2ltYWxTZXBhcmF0b3IgKyBmcmFjdGlvblBhcnRQYWRkZWQgOiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -20,16 +20,16 @@ import { CHAR_PLUS } from '@taiga-ui/cdk';
|
|
|
20
20
|
*/
|
|
21
21
|
export function tuiFormatPhone(value, countryCode, phoneMask) {
|
|
22
22
|
if (!value) {
|
|
23
|
-
return
|
|
23
|
+
return '';
|
|
24
24
|
}
|
|
25
25
|
let result = countryCode;
|
|
26
|
-
countryCode = countryCode.replace(/[()]/g,
|
|
26
|
+
countryCode = countryCode.replace(/[()]/g, '');
|
|
27
27
|
if (!value.startsWith(countryCode)) {
|
|
28
|
-
value = countryCode + value.replace(CHAR_PLUS,
|
|
28
|
+
value = countryCode + value.replace(CHAR_PLUS, '');
|
|
29
29
|
}
|
|
30
|
-
const splitPhoneMask = phoneMask.split(
|
|
31
|
-
const splitValue = value.slice(countryCode.length).split(
|
|
32
|
-
result +=
|
|
30
|
+
const splitPhoneMask = phoneMask.split('');
|
|
31
|
+
const splitValue = value.slice(countryCode.length).split('');
|
|
32
|
+
result += ' ';
|
|
33
33
|
if (splitValue.length === 0) {
|
|
34
34
|
return result;
|
|
35
35
|
}
|
|
@@ -37,8 +37,8 @@ export function tuiFormatPhone(value, countryCode, phoneMask) {
|
|
|
37
37
|
if (splitValue.length === 0) {
|
|
38
38
|
break;
|
|
39
39
|
}
|
|
40
|
-
if (mask ===
|
|
41
|
-
result += splitValue[0] ||
|
|
40
|
+
if (mask === '#') {
|
|
41
|
+
result += splitValue[0] || '';
|
|
42
42
|
splitValue.splice(0, 1);
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
@@ -47,4 +47,4 @@ export function tuiFormatPhone(value, countryCode, phoneMask) {
|
|
|
47
47
|
}
|
|
48
48
|
return result;
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9mb3JtYXQvZm9ybWF0LXBob25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzFCLEtBQWEsRUFDYixXQUFtQixFQUNuQixTQUFpQjtJQUVqQixJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztJQUV6QixXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEMsS0FBSyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN0RDtJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTdELE1BQU0sSUFBSSxHQUFHLENBQUM7SUFFZCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxjQUFjLEVBQUU7UUFDL0IsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixNQUFNO1NBQ1Q7UUFFRCxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0gsTUFBTSxJQUFJLElBQUksQ0FBQztTQUNsQjtLQUNKO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9QTFVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBodHRwczovL21hc2tpdG8uZGV2L2NvcmUtY29uY2VwdHMvdHJhbnNmb3JtZXIgbWFza2l0b1RyYW5zZm9ybX0gaW5zdGVhZDxici8+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9mb3JtYXQvZm9ybWF0LXBob25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzFCLEtBQWEsRUFDYixXQUFtQixFQUNuQixTQUFpQjtJQUVqQixJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztJQUV6QixXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEMsS0FBSyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN0RDtJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTdELE1BQU0sSUFBSSxHQUFHLENBQUM7SUFFZCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxjQUFjLEVBQUU7UUFDL0IsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixNQUFNO1NBQ1Q7UUFFRCxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0gsTUFBTSxJQUFJLElBQUksQ0FBQztTQUNsQjtLQUNKO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9QTFVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBodHRwczovL21hc2tpdG8uZGV2L2NvcmUtY29uY2VwdHMvdHJhbnNmb3JtZXIgbWFza2l0b1RyYW5zZm9ybX0gaW5zdGVhZDxici8+XG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHttYXNraXRvVHJhbnNmb3JtfSBmcm9tICdAbWFza2l0by9jb3JlJztcbiAqXG4gKiBjb25zdCBtYXNrID0ge1xuICogICAgIG1hc2s6IFsnKycsICcxJywgJyAnLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnKScsICcgJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL10sXG4gKiB9O1xuICogbWFza2l0b1RyYW5zZm9ybSgnMTIxMjU1NTIzNjgnLCBtYXNrKTsgLy8gKzEgKDIxMikgNTU1LTIzNjhcbiAqIF9fX1xuICogRm9ybWF0cyBhIHN0cmluZyB3aXRoIHRoZSBwaG9uZSBmb3JtYXQgKzdYWFhYWFhYWFhYWFggb3IgWFhYWFhYWFhYWFhYLFxuICogYWRkaW5nIHBhcmVudGhlc2VzIGFuZCBoeXBoZW5zLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSB0aGUgaW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0gY291bnRyeUNvZGUgYSBjb3VudHJ5IGNvZGVcbiAqIEBwYXJhbSBwaG9uZU1hc2sgYSBwaG9uZSBudW1iZXIgbWFza1xuICogQHJldHVybiB0aGUgZm9ybWF0dGVkIHBob25lIHN0cmluZyBvZiB0aGUgZm9ybSArNyBYWFggWFhYLVhYLVhYXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlGb3JtYXRQaG9uZShcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmcsXG4gICAgcGhvbmVNYXNrOiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQgPSBjb3VudHJ5Q29kZTtcblxuICAgIGNvdW50cnlDb2RlID0gY291bnRyeUNvZGUucmVwbGFjZSgvWygpXS9nLCAnJyk7XG5cbiAgICBpZiAoIXZhbHVlLnN0YXJ0c1dpdGgoY291bnRyeUNvZGUpKSB7XG4gICAgICAgIHZhbHVlID0gY291bnRyeUNvZGUgKyB2YWx1ZS5yZXBsYWNlKENIQVJfUExVUywgJycpO1xuICAgIH1cblxuICAgIGNvbnN0IHNwbGl0UGhvbmVNYXNrID0gcGhvbmVNYXNrLnNwbGl0KCcnKTtcbiAgICBjb25zdCBzcGxpdFZhbHVlID0gdmFsdWUuc2xpY2UoY291bnRyeUNvZGUubGVuZ3RoKS5zcGxpdCgnJyk7XG5cbiAgICByZXN1bHQgKz0gJyAnO1xuXG4gICAgaWYgKHNwbGl0VmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBtYXNrIG9mIHNwbGl0UGhvbmVNYXNrKSB7XG4gICAgICAgIGlmIChzcGxpdFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWFzayA9PT0gJyMnKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gc3BsaXRWYWx1ZVswXSB8fCAnJztcbiAgICAgICAgICAgIHNwbGl0VmFsdWUuc3BsaWNlKDAsIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ICs9IG1hc2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -8,9 +8,9 @@ import { tuiNumberToStringWithoutExp } from './number-to-string-without-exp';
|
|
|
8
8
|
* @return the fractional part of number
|
|
9
9
|
*/
|
|
10
10
|
export function tuiGetFractionPartPadded(value, precision) {
|
|
11
|
-
const [, fractionPartPadded =
|
|
11
|
+
const [, fractionPartPadded = ''] = tuiNumberToStringWithoutExp(value).split('.');
|
|
12
12
|
return tuiIsNumber(precision)
|
|
13
13
|
? fractionPartPadded.slice(0, Math.max(0, precision))
|
|
14
14
|
: fractionPartPadded;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZyYWN0aW9uYWwtcGFydC1wYWRkZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2Zvcm1hdC9nZXQtZnJhY3Rpb25hbC1wYXJ0LXBhZGRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDcEMsS0FBYSxFQUNiLFNBQXlCO0lBRXpCLE1BQU0sQ0FBQyxFQUFFLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVsRixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDekIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUlzTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHt0dWlOdW1iZXJUb1N0cmluZ1dpdGhvdXRFeHB9IGZyb20gJy4vbnVtYmVyLXRvLXN0cmluZy13aXRob3V0LWV4cCc7XG5cbi8qKlxuICogUmV0dXJuIGZyYWN0aW9uYWwgcGFydCBvZiBudW1iZXJcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG51bWJlclxuICogQHBhcmFtIHByZWNpc2lvbiBudW1iZXIgb2YgZGlnaXRzIG9mIGRlY2ltYWwgcGFydCwgbnVsbCB0byBrZWVwIHVudG91Y2hlZFxuICogQHJldHVybiB0aGUgZnJhY3Rpb25hbCBwYXJ0IG9mIG51bWJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgcHJlY2lzaW9uPzogbnVtYmVyIHwgbnVsbCxcbik6IHN0cmluZyB7XG4gICAgY29uc3QgWywgZnJhY3Rpb25QYXJ0UGFkZGVkID0gJyddID0gdHVpTnVtYmVyVG9TdHJpbmdXaXRob3V0RXhwKHZhbHVlKS5zcGxpdCgnLicpO1xuXG4gICAgcmV0dXJuIHR1aUlzTnVtYmVyKHByZWNpc2lvbilcbiAgICAgICAgPyBmcmFjdGlvblBhcnRQYWRkZWQuc2xpY2UoMCwgTWF0aC5tYXgoMCwgcHJlY2lzaW9uKSlcbiAgICAgICAgOiBmcmFjdGlvblBhcnRQYWRkZWQ7XG59XG4iXX0=
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export function tuiNumberToStringWithoutExp(value) {
|
|
8
8
|
const valueAsString = String(value);
|
|
9
|
-
const [numberPart, expPart] = valueAsString.split(
|
|
9
|
+
const [numberPart, expPart] = valueAsString.split('e-');
|
|
10
10
|
let valueWithoutExp = valueAsString;
|
|
11
11
|
if (expPart) {
|
|
12
|
-
const [, fractionalPart] = numberPart.split(
|
|
12
|
+
const [, fractionalPart] = numberPart.split('.');
|
|
13
13
|
const decimalDigits = Number(expPart) + ((fractionalPart === null || fractionalPart === void 0 ? void 0 : fractionalPart.length) || 0);
|
|
14
14
|
valueWithoutExp = value.toFixed(decimalDigits);
|
|
15
15
|
}
|
|
16
16
|
return valueWithoutExp;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXRvLXN0cmluZy13aXRob3V0LWV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvZm9ybWF0L251bWJlci10by1zdHJpbmctd2l0aG91dC1leHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBYTtJQUNyRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhELElBQUksZUFBZSxHQUFHLGFBQWEsQ0FBQztJQUVwQyxJQUFJLE9BQU8sRUFBRTtRQUNULE1BQU0sQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxlQUFlLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydCBudW1iZXIgdG8gc3RyaW5nIHdpdGggcmVwbGFjaW5nIGV4cG9uZW50IHBhcnQgb24gZGVjaW1hbHNcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG51bWJlclxuICogQHJldHVybiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aU51bWJlclRvU3RyaW5nV2l0aG91dEV4cCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZUFzU3RyaW5nID0gU3RyaW5nKHZhbHVlKTtcbiAgICBjb25zdCBbbnVtYmVyUGFydCwgZXhwUGFydF0gPSB2YWx1ZUFzU3RyaW5nLnNwbGl0KCdlLScpO1xuXG4gICAgbGV0IHZhbHVlV2l0aG91dEV4cCA9IHZhbHVlQXNTdHJpbmc7XG5cbiAgICBpZiAoZXhwUGFydCkge1xuICAgICAgICBjb25zdCBbLCBmcmFjdGlvbmFsUGFydF0gPSBudW1iZXJQYXJ0LnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxEaWdpdHMgPSBOdW1iZXIoZXhwUGFydCkgKyAoZnJhY3Rpb25hbFBhcnQ/Lmxlbmd0aCB8fCAwKTtcblxuICAgICAgICB2YWx1ZVdpdGhvdXRFeHAgPSB2YWx1ZS50b0ZpeGVkKGRlY2ltYWxEaWdpdHMpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVdpdGhvdXRFeHA7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export function tuiOtherDecimalSymbol(symbol) {
|
|
2
|
-
return symbol ===
|
|
2
|
+
return symbol === '.' ? ',' : '.';
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItZGVjaW1hbC1zeW1ib2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2Zvcm1hdC9vdGhlci1kZWNpbWFsLXN5bWJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBd0I7SUFDMUQsT0FBTyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlPdGhlckRlY2ltYWxTeW1ib2woc3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sKTogVHVpRGVjaW1hbFN5bWJvbCB7XG4gICAgcmV0dXJuIHN5bWJvbCA9PT0gJy4nID8gJywnIDogJy4nO1xufVxuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsNativeFocused, tuiIsSafari, } from '@taiga-ui/cdk';
|
|
2
|
-
function addDecimalSymbolIfNeeded(value, decimalSymbol =
|
|
2
|
+
function addDecimalSymbolIfNeeded(value, decimalSymbol = ',') {
|
|
3
3
|
return !value.includes(decimalSymbol) ? value + decimalSymbol : value;
|
|
4
4
|
}
|
|
5
|
-
function calculateSafariCaret(previousValue =
|
|
5
|
+
function calculateSafariCaret(previousValue = '', current, previousCaret, decimalSymbol = ',') {
|
|
6
6
|
const tailRegex = new RegExp(`${decimalSymbol}.+`);
|
|
7
|
-
const previousWithoutTail = previousValue.replace(tailRegex,
|
|
8
|
-
const currentWithoutTail = current.replace(tailRegex,
|
|
7
|
+
const previousWithoutTail = previousValue.replace(tailRegex, '');
|
|
8
|
+
const currentWithoutTail = current.replace(tailRegex, '');
|
|
9
9
|
const pasteOrCutOperation = Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;
|
|
10
10
|
if (pasteOrCutOperation) {
|
|
11
11
|
return current.length;
|
|
@@ -27,12 +27,12 @@ function calculateSafariCaret(previousValue = ``, current, previousCaret, decima
|
|
|
27
27
|
function calculateChangedTailIndex(previous, current) {
|
|
28
28
|
for (let i = 0; i < current.length; i++) {
|
|
29
29
|
if (previous[i] !== current[i]) {
|
|
30
|
-
return current[i] ===
|
|
30
|
+
return current[i] === '0' ? i : i + 1;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
return current.length;
|
|
34
34
|
}
|
|
35
|
-
function calculateCaretGap(previousValue =
|
|
35
|
+
function calculateCaretGap(previousValue = '', current, thousandSymbol) {
|
|
36
36
|
const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;
|
|
37
37
|
if (pasteOrCutOperation) {
|
|
38
38
|
return 0;
|
|
@@ -46,13 +46,13 @@ function calculateCaretGap(previousValue = ``, current, thousandSymbol) {
|
|
|
46
46
|
* @deprecated Use {@link https://maskito.dev/kit/number Number} from {@link https://github.com/taiga-family/maskito Maskito} instead <br/>
|
|
47
47
|
* Used to finish a number with zeros to a given precision
|
|
48
48
|
*/
|
|
49
|
-
export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol =
|
|
49
|
+
export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, nativeInput, allowNegative, isIOS = false) {
|
|
50
50
|
ngDevMode && tuiAssert.assert(decimalLimit >= 0);
|
|
51
51
|
// Guess for which browser I need this :)
|
|
52
52
|
let previousCaret = -1;
|
|
53
53
|
const unlucky = (!!nativeInput && tuiIsSafari(nativeInput)) || isIOS;
|
|
54
54
|
if (nativeInput && unlucky) {
|
|
55
|
-
nativeInput.addEventListener(
|
|
55
|
+
nativeInput.addEventListener('beforeinput', () => {
|
|
56
56
|
previousCaret = nativeInput.selectionStart || 0;
|
|
57
57
|
});
|
|
58
58
|
}
|
|
@@ -78,15 +78,15 @@ export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol
|
|
|
78
78
|
nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
-
if (conformedValue ===
|
|
81
|
+
if (conformedValue === '' || !decimalLimit || !Number.isInteger(decimalLimit)) {
|
|
82
82
|
return { value: conformedValue };
|
|
83
83
|
}
|
|
84
84
|
const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);
|
|
85
85
|
const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];
|
|
86
86
|
const zeroPaddingSize = decimalLimit - decimalPart.length;
|
|
87
87
|
return {
|
|
88
|
-
value: withDecimalSymbol +
|
|
88
|
+
value: withDecimalSymbol + '0'.repeat(zeroPaddingSize),
|
|
89
89
|
};
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCLFNBQVMsd0JBQXdCLENBQzdCLEtBQWEsRUFDYixnQkFBa0MsR0FBRztJQUVyQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzFFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUN6QixnQkFBd0IsRUFBRSxFQUMxQixPQUFlLEVBQ2YsYUFBcUIsRUFDckIsZ0JBQXdCLEdBQUc7SUFFM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxhQUFhLElBQUksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRCxNQUFNLG1CQUFtQixHQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekUsSUFBSSxtQkFBbUIsRUFBRTtRQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDekI7SUFFRCxJQUFJLGFBQWEsQ0FBQyxN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LENBQUMsZUFBZSxDQUFDO1NBQ3pELENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX0hZUEhFTixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTYWZhcmksXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5mdW5jdGlvbiBhZGREZWNpbWFsU3ltYm9sSWZOZWVkZWQoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gYCxgLFxuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXZhbHVlLmluY2x1ZGVzKGRlY2ltYWxTeW1ib2wpID8gdmFsdWUgKyBkZWNpbWFsU3ltYm9sIDogdmFsdWU7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZVNhZmFyaUNhcmV0KFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9IGBgLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICBwcmV2aW91c0NhcmV0OiBudW1iZXIsXG4gICAgZGVjaW1hbFN5bWJvbDogc3RyaW5nID0gYCxgLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWlsUmVnZXggPSBuZXcgUmVnRXhwKGAke2RlY2ltYWxTeW1ib2x9LitgKTtcbiAgICBjb25zdCBwcmV2aW91c1dpdGhvdXRUYWlsID0gcHJldmlvdXNWYWx1ZS5yZXBsYWNlKHRhaWxSZWdleCwgYGApO1xuICAgIGNvbnN0IGN1cnJlbnRXaXRob3V0VGFpbCA9IGN1cnJlbnQucmVwbGFjZSh0YWlsUmVnZXgsIGBgKTtcblxuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPVxuICAgICAgICBNYXRoLmFicyhwcmV2aW91c1dpdGhvdXRUYWlsLmxlbmd0aCAtIGN1cnJlbnRXaXRob3V0VGFpbC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IGN1cnJlbnQubGVuZ3RoKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlLmluZGV4T2YoZGVjaW1hbFN5bWJvbCkgPD0gcHJldmlvdXNDYXJldCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXNWYWx1ZSwgY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmlvdXNXaXRob3V0VGFpbCA9PT0gY3VycmVudFdpdGhvdXRUYWlsXG4gICAgICAgICAgICA/IHByZXZpb3VzQ2FyZXQgLSAxXG4gICAgICAgICAgICA6IHByZXZpb3VzQ2FyZXQgKyAxO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VMZW5ndGggPSBjdXJyZW50Lmxlbmd0aCAtIHByZXZpb3VzVmFsdWUubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2FyZXQgKyBjaGFuZ2VMZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXM6IHN0cmluZywgY3VycmVudDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1cnJlbnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZpb3VzW2ldICE9PSBjdXJyZW50W2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFtpXSA9PT0gYDBgID8gaSA6IGkgKyAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDYXJldEdhcChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSBgYCxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9IE1hdGguYWJzKHByZXZpb3VzVmFsdWUubGVuZ3RoIC0gY3VycmVudC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHdlcmVTcGFjZXMgPSBwcmV2aW91c1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG4gICAgY29uc3Qgbm93U3BhY2VzID0gY3VycmVudC5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIG5vd1NwYWNlcyAtIHdlcmVTcGFjZXM7XG59XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly9tYXNraXRvLmRldi9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvIE1hc2tpdG99IGluc3RlYWQgPGJyLz5cbiAqIFVzZWQgdG8gZmluaXNoIGEgbnVtYmVyIHdpdGggemVyb3MgdG8gYSBnaXZlbiBwcmVjaXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyID0gMCxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIG5hdGl2ZUlucHV0PzogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgYWxsb3dOZWdhdGl2ZT86IGJvb2xlYW4sXG4gICAgaXNJT1MgPSBmYWxzZSxcbik6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcblxuICAgIC8vIEd1ZXNzIGZvciB3aGljaCBicm93c2VyIEkgbmVlZCB0aGlzIDopXG4gICAgbGV0IHByZXZpb3VzQ2FyZXQgPSAtMTtcbiAgICBjb25zdCB1bmx1Y2t5ID0gKCEhbmF0aXZlSW5wdXQgJiYgdHVpSXNTYWZhcmkobmF0aXZlSW5wdXQpKSB8fCBpc0lPUztcblxuICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5KSB7XG4gICAgICAgIG5hdGl2ZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZWlucHV0YCwgKCkgPT4ge1xuICAgICAgICAgICAgcHJldmlvdXNDYXJldCA9IG5hdGl2ZUlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIGNvbmZpZykgPT4ge1xuICAgICAgICAvLyBSZW1vdmluZyBldmVyeXRoaW5nIGJ5IHNlbGVjdGluZyBhbmQgcHJlc3NpbmcgJy0nXG4gICAgICAgIGlmICghY29uZm9ybWVkVmFsdWUgJiYgY29uZmlnLnJhd1ZhbHVlID09PSBDSEFSX0hZUEhFTiAmJiBhbGxvd05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gQ0hBUl9IWVBIRU47XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZW1vdmUgdGhlc2UgaGFja3MgYWZ0ZXIgdGV4dCBtYXNrIGxpYnJhcnkgaGFzIGNoYW5nZWRcbiAgICAgICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSkge1xuICAgICAgICAgICAgY29uc3QgY2FyZXQgPSBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0NhcmV0LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXQsIGNhcmV0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbmF0aXZlSW5wdXQgJiZcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0Lm93bmVyRG9jdW1lbnQgIT09IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcmVhbENhcmV0UG9zaXRpb24gPVxuICAgICAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvbiArXG4gICAgICAgICAgICAgICAgY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocmVhbENhcmV0UG9zaXRpb24sIHJlYWxDYXJldFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZvcm1lZFZhbHVlID09PSBgYCB8fCAhZGVjaW1hbExpbWl0IHx8ICFOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGNvbmZvcm1lZFZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpdGhEZWNpbWFsU3ltYm9sID0gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKGNvbmZvcm1lZFZhbHVlLCBkZWNpbWFsU3ltYm9sKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB3aXRoRGVjaW1hbFN5bWJvbC5zcGxpdChkZWNpbWFsU3ltYm9sKVsxXTtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplID0gZGVjaW1hbExpbWl0IC0gZGVjaW1hbFBhcnQubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlY2ltYWxTeW1ib2wgKyBgMGAucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSksXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCLFNBQVMsd0JBQXdCLENBQzdCLEtBQWEsRUFDYixnQkFBa0MsR0FBRztJQUVyQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzFFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUN6QixnQkFBd0IsRUFBRSxFQUMxQixPQUFlLEVBQ2YsYUFBcUIsRUFDckIsZ0JBQXdCLEdBQUc7SUFFM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxhQUFhLElBQUksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRCxNQUFNLG1CQUFtQixHQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekUsSUFBSSxtQkFBbUIsRUFBRTtRQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDekI7SUFFRCxJQUFJLGFBQWEsQ0FBQyxN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LENBQUMsZUFBZSxDQUFDO1NBQ3pELENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX0hZUEhFTixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTYWZhcmksXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5mdW5jdGlvbiBhZGREZWNpbWFsU3ltYm9sSWZOZWVkZWQoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gJywnLFxuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXZhbHVlLmluY2x1ZGVzKGRlY2ltYWxTeW1ib2wpID8gdmFsdWUgKyBkZWNpbWFsU3ltYm9sIDogdmFsdWU7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZVNhZmFyaUNhcmV0KFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9ICcnLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICBwcmV2aW91c0NhcmV0OiBudW1iZXIsXG4gICAgZGVjaW1hbFN5bWJvbDogc3RyaW5nID0gJywnLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWlsUmVnZXggPSBuZXcgUmVnRXhwKGAke2RlY2ltYWxTeW1ib2x9LitgKTtcbiAgICBjb25zdCBwcmV2aW91c1dpdGhvdXRUYWlsID0gcHJldmlvdXNWYWx1ZS5yZXBsYWNlKHRhaWxSZWdleCwgJycpO1xuICAgIGNvbnN0IGN1cnJlbnRXaXRob3V0VGFpbCA9IGN1cnJlbnQucmVwbGFjZSh0YWlsUmVnZXgsICcnKTtcblxuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPVxuICAgICAgICBNYXRoLmFicyhwcmV2aW91c1dpdGhvdXRUYWlsLmxlbmd0aCAtIGN1cnJlbnRXaXRob3V0VGFpbC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IGN1cnJlbnQubGVuZ3RoKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlLmluZGV4T2YoZGVjaW1hbFN5bWJvbCkgPD0gcHJldmlvdXNDYXJldCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXNWYWx1ZSwgY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmlvdXNXaXRob3V0VGFpbCA9PT0gY3VycmVudFdpdGhvdXRUYWlsXG4gICAgICAgICAgICA/IHByZXZpb3VzQ2FyZXQgLSAxXG4gICAgICAgICAgICA6IHByZXZpb3VzQ2FyZXQgKyAxO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VMZW5ndGggPSBjdXJyZW50Lmxlbmd0aCAtIHByZXZpb3VzVmFsdWUubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2FyZXQgKyBjaGFuZ2VMZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXM6IHN0cmluZywgY3VycmVudDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1cnJlbnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZpb3VzW2ldICE9PSBjdXJyZW50W2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFtpXSA9PT0gJzAnID8gaSA6IGkgKyAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDYXJldEdhcChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSAnJyxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9IE1hdGguYWJzKHByZXZpb3VzVmFsdWUubGVuZ3RoIC0gY3VycmVudC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHdlcmVTcGFjZXMgPSBwcmV2aW91c1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG4gICAgY29uc3Qgbm93U3BhY2VzID0gY3VycmVudC5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIG5vd1NwYWNlcyAtIHdlcmVTcGFjZXM7XG59XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly9tYXNraXRvLmRldi9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvIE1hc2tpdG99IGluc3RlYWQgPGJyLz5cbiAqIFVzZWQgdG8gZmluaXNoIGEgbnVtYmVyIHdpdGggemVyb3MgdG8gYSBnaXZlbiBwcmVjaXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyID0gMCxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIG5hdGl2ZUlucHV0PzogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgYWxsb3dOZWdhdGl2ZT86IGJvb2xlYW4sXG4gICAgaXNJT1MgPSBmYWxzZSxcbik6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcblxuICAgIC8vIEd1ZXNzIGZvciB3aGljaCBicm93c2VyIEkgbmVlZCB0aGlzIDopXG4gICAgbGV0IHByZXZpb3VzQ2FyZXQgPSAtMTtcbiAgICBjb25zdCB1bmx1Y2t5ID0gKCEhbmF0aXZlSW5wdXQgJiYgdHVpSXNTYWZhcmkobmF0aXZlSW5wdXQpKSB8fCBpc0lPUztcblxuICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5KSB7XG4gICAgICAgIG5hdGl2ZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZWlucHV0JywgKCkgPT4ge1xuICAgICAgICAgICAgcHJldmlvdXNDYXJldCA9IG5hdGl2ZUlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIGNvbmZpZykgPT4ge1xuICAgICAgICAvLyBSZW1vdmluZyBldmVyeXRoaW5nIGJ5IHNlbGVjdGluZyBhbmQgcHJlc3NpbmcgJy0nXG4gICAgICAgIGlmICghY29uZm9ybWVkVmFsdWUgJiYgY29uZmlnLnJhd1ZhbHVlID09PSBDSEFSX0hZUEhFTiAmJiBhbGxvd05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gQ0hBUl9IWVBIRU47XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZW1vdmUgdGhlc2UgaGFja3MgYWZ0ZXIgdGV4dCBtYXNrIGxpYnJhcnkgaGFzIGNoYW5nZWRcbiAgICAgICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSkge1xuICAgICAgICAgICAgY29uc3QgY2FyZXQgPSBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0NhcmV0LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXQsIGNhcmV0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbmF0aXZlSW5wdXQgJiZcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0Lm93bmVyRG9jdW1lbnQgIT09IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcmVhbENhcmV0UG9zaXRpb24gPVxuICAgICAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvbiArXG4gICAgICAgICAgICAgICAgY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocmVhbENhcmV0UG9zaXRpb24sIHJlYWxDYXJldFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZvcm1lZFZhbHVlID09PSAnJyB8fCAhZGVjaW1hbExpbWl0IHx8ICFOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGNvbmZvcm1lZFZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpdGhEZWNpbWFsU3ltYm9sID0gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKGNvbmZvcm1lZFZhbHVlLCBkZWNpbWFsU3ltYm9sKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB3aXRoRGVjaW1hbFN5bWJvbC5zcGxpdChkZWNpbWFsU3ltYm9sKVsxXTtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplID0gZGVjaW1hbExpbWl0IC0gZGVjaW1hbFBhcnQubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlY2ltYWxTeW1ib2wgKyAnMCcucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSksXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { tuiAssert } from '@taiga-ui/cdk';
|
|
2
2
|
import { MASK_CARET_TRAP } from '@taiga-ui/core/constants';
|
|
3
|
-
const ASSERTION =
|
|
3
|
+
const ASSERTION = 'Correction function must return single char or null';
|
|
4
4
|
/**
|
|
5
5
|
* TODO: delete in v4.0
|
|
6
6
|
* @deprecated Use {@link https://maskito.dev/core-concepts/processors processors} from {@link https://github.com/taiga-family/maskito Maskito}
|
|
7
7
|
*/
|
|
8
8
|
export function tuiCreateCorrectionMask(allowed, correctionHandler) {
|
|
9
9
|
return rawValue => {
|
|
10
|
-
const mask = rawValue.split(
|
|
10
|
+
const mask = rawValue.split('').reduce((result, char, index) => {
|
|
11
11
|
const corrected = correctionHandler(char, index);
|
|
12
12
|
ngDevMode &&
|
|
13
13
|
tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);
|
|
@@ -29,4 +29,4 @@ export function tuiCreateCorrectionMask(allowed, correctionHandler) {
|
|
|
29
29
|
: filtered;
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvcnJlY3Rpb24tbWFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvbWFzay9jcmVhdGUtY29ycmVjdGlvbi1tYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBT3pELE1BQU0sU0FBUyxHQUFHLHFEQUFxRCxDQUFDO0FBRXhFOzs7R0FHRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsT0FBZSxFQUNmLGlCQUErQztJQUUvQyxPQUFPLFFBQVEsQ0FBQyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1RSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFakQsU0FBUztnQkFDTCxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFOUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ25DLE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNwQixPQUFPLENBQUMsR0FBRyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDL0I7WUFFRCxJQUFJLFNBQVMsRUFBRTtnQkFDWCxPQUFPLENBQUMsR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQ2xEO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUN4QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FDbkUsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7TUFTS19DQVJFVF9UUkFQfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0TWFza0NvcnJlY3Rpb25IYW5kbGVyLFxuICAgIFR1aVRleHRNYXNrTGlzdCxcbiAgICBUdWlUZXh0TWFza0xpc3RIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcblxuY29uc3QgQVNTRVJUSU9OID0gJ0NvcnJlY3Rpb24gZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIGNoYXIgb3IgbnVsbCc7XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly9tYXNraXRvLmRldi9jb3JlLWNvbmNlcHRzL3Byb2Nlc3NvcnMgcHJvY2Vzc29yc30gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvIE1hc2tpdG99XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVDb3JyZWN0aW9uTWFzayhcbiAgICBhbGxvd2VkOiBSZWdFeHAsXG4gICAgY29ycmVjdGlvbkhhbmRsZXI6IFR1aVRleHRNYXNrQ29ycmVjdGlvbkhhbmRsZXIsXG4pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICByZXR1cm4gcmF3VmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBtYXNrID0gcmF3VmFsdWUuc3BsaXQoJycpLnJlZHVjZTxUdWlUZXh0TWFza0xpc3Q+KChyZXN1bHQsIGNoYXIsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3JyZWN0ZWQgPSBjb3JyZWN0aW9uSGFuZGxlcihjaGFyLCBpbmRleCk7XG5cbiAgICAgICAgICAgIG5nRGV2TW9kZSAmJlxuICAgICAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoY29ycmVjdGVkID09PSBudWxsIHx8IGNvcnJlY3RlZC5sZW5ndGggPT09IDEsIEFTU0VSVElPTik7XG5cbiAgICAgICAgICAgIGlmICghYWxsb3dlZC50ZXN0KGNoYXIpICYmICFjb3JyZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYWxsb3dlZC50ZXN0KGNoYXIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5yZXN1bHQsIGFsbG93ZWRdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY29ycmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5yZXN1bHQsIGNvcnJlY3RlZCwgTUFTS19DQVJFVF9UUkFQXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSwgW10pO1xuICAgICAgICBjb25zdCBsYXN0SW5kZXggPSBtYXNrLmxhc3RJbmRleE9mKE1BU0tfQ0FSRVRfVFJBUCk7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkID0gbWFzay5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSwgaW5kZXgpID0+IGl0ZW0gIT09IE1BU0tfQ0FSRVRfVFJBUCB8fCBpbmRleCA9PT0gbGFzdEluZGV4LFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZC5zb21lKGl0ZW0gPT4gaXRlbSAhPT0gYWxsb3dlZClcbiAgICAgICAgICAgID8gWy4uLmZpbHRlcmVkLCBhbGxvd2VkXVxuICAgICAgICAgICAgOiBmaWx0ZXJlZDtcbiAgICB9O1xufVxuIl19
|
|
@@ -36,7 +36,7 @@ function isDecimalSymbol(str, decimalSymbol, autoCorrectDecimalSymbol) {
|
|
|
36
36
|
}
|
|
37
37
|
function convertToMask(strNumber) {
|
|
38
38
|
return strNumber
|
|
39
|
-
.split(
|
|
39
|
+
.split('')
|
|
40
40
|
.map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));
|
|
41
41
|
}
|
|
42
42
|
function addThousandsSeparator(strNumber, thousandSymbol) {
|
|
@@ -51,18 +51,18 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
|
|
|
51
51
|
* @deprecated Use {@link https://maskito.dev/kit/number Number} from {@link https://github.com/taiga-family/maskito Maskito} instead <br/>
|
|
52
52
|
* Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}
|
|
53
53
|
*/
|
|
54
|
-
export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol =
|
|
54
|
+
export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, autoCorrectDecimalSymbol = true, decimalLimit = 2, requireDecimal = false, allowNegative = false, integerLimit = 0, } = {}) {
|
|
55
55
|
ngDevMode && tuiAssert.assert(decimalLimit >= 0);
|
|
56
56
|
ngDevMode && tuiAssert.assert(Number.isInteger(integerLimit));
|
|
57
57
|
ngDevMode && tuiAssert.assert(integerLimit >= 0);
|
|
58
58
|
return (rawValue, { previousConformedValue }) => {
|
|
59
59
|
if (previousConformedValue && requireDecimal) {
|
|
60
|
-
const conformedWithoutSeparator = rawValue.split(thousandSymbol).join(
|
|
60
|
+
const conformedWithoutSeparator = rawValue.split(thousandSymbol).join('');
|
|
61
61
|
const previousConformedValueWithoutDecimalSymbolAndSeparator = previousConformedValue
|
|
62
62
|
.split(thousandSymbol)
|
|
63
|
-
.join(
|
|
63
|
+
.join('')
|
|
64
64
|
.split(decimalSymbol)
|
|
65
|
-
.join(
|
|
65
|
+
.join('');
|
|
66
66
|
// Forbid removal of decimal separator if decimal part is required
|
|
67
67
|
if (conformedWithoutSeparator ===
|
|
68
68
|
previousConformedValueWithoutDecimalSymbolAndSeparator) {
|
|
@@ -73,7 +73,7 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
73
73
|
allowNegative;
|
|
74
74
|
if (isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&
|
|
75
75
|
allowDecimal) {
|
|
76
|
-
return [
|
|
76
|
+
return ['0', decimalSymbol, TUI_DIGIT_REGEXP];
|
|
77
77
|
}
|
|
78
78
|
if (isNegative) {
|
|
79
79
|
rawValue = rawValue.slice(1);
|
|
@@ -81,21 +81,21 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
81
81
|
const decimalIndex = getDecimalSymbolIndex(rawValue, decimalSymbol, autoCorrectDecimalSymbol);
|
|
82
82
|
const hasDecimal = decimalIndex !== -1;
|
|
83
83
|
const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;
|
|
84
|
-
const thousandSeparators = integer.match(new RegExp(thousandSymbol,
|
|
84
|
+
const thousandSeparators = integer.match(new RegExp(thousandSymbol, 'g')) || [];
|
|
85
85
|
const integerCapped = integerLimit
|
|
86
86
|
? integer.slice(0, integerLimit + thousandSeparators.length)
|
|
87
87
|
: integer;
|
|
88
|
-
const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP,
|
|
89
|
-
const [leadingZerosMatch] = integerCappedClean.match(TUI_LEADING_ZEROES_REGEXP) || [
|
|
88
|
+
const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');
|
|
89
|
+
const [leadingZerosMatch] = integerCappedClean.match(TUI_LEADING_ZEROES_REGEXP) || [''];
|
|
90
90
|
const leadingZerosAmount = leadingZerosMatch.length;
|
|
91
91
|
const integerCappedZerosClean = integerCappedClean
|
|
92
|
-
.replace(/^0+(?!\.|$)/,
|
|
92
|
+
.replace(/^0+(?!\.|$)/, '')
|
|
93
93
|
.trim();
|
|
94
94
|
const withSeparator = addThousandsSeparator(integerCappedZerosClean, thousandSymbol);
|
|
95
95
|
const mask = convertToMask(withSeparator);
|
|
96
96
|
if ((hasDecimal && allowDecimal) || requireDecimal) {
|
|
97
97
|
const fraction = hasDecimal
|
|
98
|
-
? convertToMask(rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP,
|
|
98
|
+
? convertToMask(rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ''))
|
|
99
99
|
: [];
|
|
100
100
|
const fractionCapped = decimalLimit
|
|
101
101
|
? fraction.slice(0, decimalLimit)
|
|
@@ -108,7 +108,7 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
108
108
|
mask.push(TUI_DIGIT_REGEXP);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean ===
|
|
111
|
+
const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';
|
|
112
112
|
if (isNegative) {
|
|
113
113
|
if (mask.length === 0) {
|
|
114
114
|
mask.push(TUI_DIGIT_REGEXP);
|
|
@@ -118,4 +118,4 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
118
118
|
return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQixTQUFTLG9CQUFvQixDQUN6QixJQUE0QixFQUM1QixrQkFBMkIsS0FBSyxFQUNoQyxxQkFBNkIsQ0FBQztJQUU5QixJQUFJLGVBQWUsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLEVBQUU7UUFDN0MsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RCxJQUFJLGVBQWUsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxlQUFlLEtBQUssZUFBZSxDQUFDO0lBRXhELElBQUksV0FBVyxJQUFJLGtCQUFrQixLQUFLLENBQUMsRUFBRTtRQUN6QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsSUFBSSxXQUFXLEVBQUU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJ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QyxDQUFDO2FBQy9CO1NBQ0o7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSx1QkFBdUIsS0FBSyxHQUFHLENBQUM7UUFFN0UsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDL0I7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9FTl9EQVNILCBDSEFSX0hZUEhFTiwgQ0hBUl9OT19CUkVBS19TUEFDRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTUFTS19DQVJFVF9UUkFQLFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICBUVUlfTk9OX0RJR0lUU19SRUdFWFAsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aU51bWJlck1hc2tPcHRpb25zLCBUdWlUZXh0TWFza0xpc3RIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlPdGhlckRlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5cbmNvbnN0IE5PTl9aRVJPX0RJR0lUID0gL1sxLTldLztcblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8UmVnRXhwIHwgc3RyaW5nPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBodHRwczovL21hc2tpdG8uZGV2L2tpdC9udW1iZXIgTnVtYmVyfSBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L21hc2tpdG8gTWFza2l0b30gaW5zdGVhZCA8YnIvPlxuICogQWRhcHRhdGlvbiBmb3Ige0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXh0LW1hc2svdGV4dC1tYXNrL3RyZWUvbWFzdGVyL2FkZG9ucyNjcmVhdGVudW1iZXJtYXNrIGBjcmVhdGVOdW1iZXJNYXNrYH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgIGFsbG93RGVjaW1hbCA9IGZhbHNlLFxuICAgIGRlY2ltYWxTeW1ib2wgPSBgLGAsXG4gICAgdGhvdXNhbmRTeW1ib2wgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCA9IHRydWUsXG4gICAgZGVjaW1hbExpbWl0ID0gMixcbiAgICByZXF1aXJlRGVjaW1hbCA9IGZhbHNlLFxuICAgIGFsbG93TmVnYXRpdmUgPSBmYWxzZSxcbiAgICBpbnRlZ2VyTGltaXQgPSAwLFxufTogVHVpTnVtYmVyTWFza09wdGlvbnMgPSB7fSk6IFR1aVRleHRNYXNrTGlzdEhhbmRsZXIge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGludGVnZXJMaW1pdCA+PSAwKTtcblxuICAgIHJldHVybiAocmF3VmFsdWUsIHtwcmV2aW91c0NvbmZvcm1lZFZhbHVlfSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDb25mb3JtZWRWYWx1ZSAmJiByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9IHJhd1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5qb2luKGBgKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvciA9XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhvdXNhbmRTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKGBgKVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoZGVjaW1hbFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oYGApO1xuXG4gICAgICAgICAgICAvLyBGb3JiaWQgcmVtb3ZhbCBvZiBkZWNpbWFsIHNlcGFyYXRvciBpZiBkZWNpbWFsIHBhcnQgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID09PVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvclxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmF3VmFsdWUgPSBwcmV2aW91c0NvbmZvcm1lZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNOZWdhdGl2ZSA9XG4gICAgICAgICAgICAocmF3VmFsdWU/LnN0YXJ0c1dpdGgoQ0hBUl9IWVBIRU4pIHx8IHJhd1ZhbHVlPy5zdGFydHNXaXRoKENIQVJfRU5fREFTSCkpICYmXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGlzRGVjaW1hbFN5bWJvbChyYXdWYWx1ZSwgZGVjaW1hbFN5bWJvbCwgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSAmJlxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtgMGAsIGRlY2ltYWxTeW1ib2wsIFRVSV9ESUdJVF9SRUdFWFBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIHJhd1ZhbHVlID0gcmF3VmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNpbWFsSW5kZXggPSBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2wsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSBkZWNpbWFsSW5kZXggIT09IC0xO1xuICAgICAgICBjb25zdCBpbnRlZ2VyID0gaGFzRGVjaW1hbCA/IHJhd1ZhbHVlLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiByYXdWYWx1ZTtcbiAgICAgICAgY29uc3QgdGhvdXNhbmRTZXBhcmF0b3JzID0gaW50ZWdlci5tYXRjaChuZXcgUmVnRXhwKHRob3VzYW5kU3ltYm9sLCBgZ2ApKSB8fCBbXTtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZCA9IGludGVnZXJMaW1pdFxuICAgICAgICAgICAgPyBpbnRlZ2VyLnNsaWNlKDAsIGludGVnZXJMaW1pdCArIHRob3VzYW5kU2VwYXJhdG9ycy5sZW5ndGgpXG4gICAgICAgICAgICA6IGludGVnZXI7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRDbGVhbiA9IGludGVnZXJDYXBwZWQucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsIGBgKTtcbiAgICAgICAgY29uc3QgW2xlYWRpbmdaZXJvc01hdGNoXSA9IGludGVnZXJDYXBwZWRDbGVhbi5tYXRjaChcbiAgICAgICAgICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgICAgICkgfHwgW2BgXTtcbiAgICAgICAgY29uc3QgbGVhZGluZ1plcm9zQW1vdW50ID0gbGVhZGluZ1plcm9zTWF0Y2gubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9IGludGVnZXJDYXBwZWRDbGVhblxuICAgICAgICAgICAgLnJlcGxhY2UoL14wKyg/IVxcLnwkKS8sIGBgKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICAgICAgY29uc3Qgd2l0aFNlcGFyYXRvciA9IGFkZFRob3VzYW5kc1NlcGFyYXRvcihcbiAgICAgICAgICAgIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1hc2sgPSBjb252ZXJ0VG9NYXNrKHdpdGhTZXBhcmF0b3IpO1xuXG4gICAgICAgIGlmICgoaGFzRGVjaW1hbCAmJiBhbGxvd0RlY2ltYWwpIHx8IHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGhhc0RlY2ltYWxcbiAgICAgICAgICAgICAgICA/IGNvbnZlcnRUb01hc2soXG4gICAgICAgICAgICAgICAgICAgICAgcmF3VmFsdWUuc2xpY2UoZGVjaW1hbEluZGV4ICsgMSkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsIGBgKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25DYXBwZWQgPSBkZWNpbWFsTGltaXRcbiAgICAgICAgICAgICAgICA/IGZyYWN0aW9uLnNsaWNlKDAsIGRlY2ltYWxMaW1pdClcbiAgICAgICAgICAgICAgICA6IGZyYWN0aW9uO1xuXG4gICAgICAgICAgICBpZiAocmF3VmFsdWVbZGVjaW1hbEluZGV4XSAhPT0gdHVpT3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKE1BU0tfQ0FSRVRfVFJBUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sucHVzaChkZWNpbWFsU3ltYm9sLCBNQVNLX0NBUkVUX1RSQVAsIC4uLmZyYWN0aW9uQ2FwcGVkKTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLm1pbihkZWNpbWFsTGltaXQgLSBmcmFjdGlvbkNhcHBlZC5sZW5ndGgsIDIwKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09IGAwYDtcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuIl19
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQixTQUFTLG9CQUFvQixDQUN6QixJQUE0QixFQUM1QixrQkFBMkIsS0FBSyxFQUNoQyxxQkFBNkIsQ0FBQztJQUU5QixJQUFJLGVBQWUsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLEVBQUU7UUFDN0MsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RCxJQUFJLGVBQWUsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxlQUFlLEtBQUssZUFBZSxDQUFDO0lBRXhELElBQUksV0FBVyxJQUFJLGtCQUFrQixLQUFLLENBQUMsRUFBRTtRQUN6QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsSUFBSSxXQUFXLEVBQUU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJ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QyxDQUFDO2FBQy9CO1NBQ0o7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSx1QkFBdUIsS0FBSyxHQUFHLENBQUM7UUFFN0UsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDL0I7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9FTl9EQVNILCBDSEFSX0hZUEhFTiwgQ0hBUl9OT19CUkVBS19TUEFDRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTUFTS19DQVJFVF9UUkFQLFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICBUVUlfTk9OX0RJR0lUU19SRUdFWFAsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aU51bWJlck1hc2tPcHRpb25zLCBUdWlUZXh0TWFza0xpc3RIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlPdGhlckRlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5cbmNvbnN0IE5PTl9aRVJPX0RJR0lUID0gL1sxLTldLztcblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8UmVnRXhwIHwgc3RyaW5nPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBodHRwczovL21hc2tpdG8uZGV2L2tpdC9udW1iZXIgTnVtYmVyfSBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L21hc2tpdG8gTWFza2l0b30gaW5zdGVhZCA8YnIvPlxuICogQWRhcHRhdGlvbiBmb3Ige0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXh0LW1hc2svdGV4dC1tYXNrL3RyZWUvbWFzdGVyL2FkZG9ucyNjcmVhdGVudW1iZXJtYXNrIGBjcmVhdGVOdW1iZXJNYXNrYH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgIGFsbG93RGVjaW1hbCA9IGZhbHNlLFxuICAgIGRlY2ltYWxTeW1ib2wgPSAnLCcsXG4gICAgdGhvdXNhbmRTeW1ib2wgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCA9IHRydWUsXG4gICAgZGVjaW1hbExpbWl0ID0gMixcbiAgICByZXF1aXJlRGVjaW1hbCA9IGZhbHNlLFxuICAgIGFsbG93TmVnYXRpdmUgPSBmYWxzZSxcbiAgICBpbnRlZ2VyTGltaXQgPSAwLFxufTogVHVpTnVtYmVyTWFza09wdGlvbnMgPSB7fSk6IFR1aVRleHRNYXNrTGlzdEhhbmRsZXIge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGludGVnZXJMaW1pdCA+PSAwKTtcblxuICAgIHJldHVybiAocmF3VmFsdWUsIHtwcmV2aW91c0NvbmZvcm1lZFZhbHVlfSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDb25mb3JtZWRWYWx1ZSAmJiByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9IHJhd1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5qb2luKCcnKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvciA9XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhvdXNhbmRTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoZGVjaW1hbFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpO1xuXG4gICAgICAgICAgICAvLyBGb3JiaWQgcmVtb3ZhbCBvZiBkZWNpbWFsIHNlcGFyYXRvciBpZiBkZWNpbWFsIHBhcnQgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID09PVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvclxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmF3VmFsdWUgPSBwcmV2aW91c0NvbmZvcm1lZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNOZWdhdGl2ZSA9XG4gICAgICAgICAgICAocmF3VmFsdWU/LnN0YXJ0c1dpdGgoQ0hBUl9IWVBIRU4pIHx8IHJhd1ZhbHVlPy5zdGFydHNXaXRoKENIQVJfRU5fREFTSCkpICYmXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGlzRGVjaW1hbFN5bWJvbChyYXdWYWx1ZSwgZGVjaW1hbFN5bWJvbCwgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSAmJlxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFsnMCcsIGRlY2ltYWxTeW1ib2wsIFRVSV9ESUdJVF9SRUdFWFBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIHJhd1ZhbHVlID0gcmF3VmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNpbWFsSW5kZXggPSBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2wsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSBkZWNpbWFsSW5kZXggIT09IC0xO1xuICAgICAgICBjb25zdCBpbnRlZ2VyID0gaGFzRGVjaW1hbCA/IHJhd1ZhbHVlLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiByYXdWYWx1ZTtcbiAgICAgICAgY29uc3QgdGhvdXNhbmRTZXBhcmF0b3JzID0gaW50ZWdlci5tYXRjaChuZXcgUmVnRXhwKHRob3VzYW5kU3ltYm9sLCAnZycpKSB8fCBbXTtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZCA9IGludGVnZXJMaW1pdFxuICAgICAgICAgICAgPyBpbnRlZ2VyLnNsaWNlKDAsIGludGVnZXJMaW1pdCArIHRob3VzYW5kU2VwYXJhdG9ycy5sZW5ndGgpXG4gICAgICAgICAgICA6IGludGVnZXI7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRDbGVhbiA9IGludGVnZXJDYXBwZWQucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKTtcbiAgICAgICAgY29uc3QgW2xlYWRpbmdaZXJvc01hdGNoXSA9IGludGVnZXJDYXBwZWRDbGVhbi5tYXRjaChcbiAgICAgICAgICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgICAgICkgfHwgWycnXTtcbiAgICAgICAgY29uc3QgbGVhZGluZ1plcm9zQW1vdW50ID0gbGVhZGluZ1plcm9zTWF0Y2gubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9IGludGVnZXJDYXBwZWRDbGVhblxuICAgICAgICAgICAgLnJlcGxhY2UoL14wKyg/IVxcLnwkKS8sICcnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICAgICAgY29uc3Qgd2l0aFNlcGFyYXRvciA9IGFkZFRob3VzYW5kc1NlcGFyYXRvcihcbiAgICAgICAgICAgIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1hc2sgPSBjb252ZXJ0VG9NYXNrKHdpdGhTZXBhcmF0b3IpO1xuXG4gICAgICAgIGlmICgoaGFzRGVjaW1hbCAmJiBhbGxvd0RlY2ltYWwpIHx8IHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGhhc0RlY2ltYWxcbiAgICAgICAgICAgICAgICA/IGNvbnZlcnRUb01hc2soXG4gICAgICAgICAgICAgICAgICAgICAgcmF3VmFsdWUuc2xpY2UoZGVjaW1hbEluZGV4ICsgMSkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25DYXBwZWQgPSBkZWNpbWFsTGltaXRcbiAgICAgICAgICAgICAgICA/IGZyYWN0aW9uLnNsaWNlKDAsIGRlY2ltYWxMaW1pdClcbiAgICAgICAgICAgICAgICA6IGZyYWN0aW9uO1xuXG4gICAgICAgICAgICBpZiAocmF3VmFsdWVbZGVjaW1hbEluZGV4XSAhPT0gdHVpT3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKE1BU0tfQ0FSRVRfVFJBUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sucHVzaChkZWNpbWFsU3ltYm9sLCBNQVNLX0NBUkVUX1RSQVAsIC4uLmZyYWN0aW9uQ2FwcGVkKTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLm1pbihkZWNpbWFsTGltaXQgLSBmcmFjdGlvbkNhcHBlZC5sZW5ndGgsIDIwKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09ICcwJztcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuIl19
|
|
@@ -8,13 +8,13 @@ import { CHAR_HYPHEN } from '@taiga-ui/cdk';
|
|
|
8
8
|
*/
|
|
9
9
|
export function tuiMaskedMoneyValueIsEmpty(value) {
|
|
10
10
|
switch (value) {
|
|
11
|
-
case
|
|
11
|
+
case '':
|
|
12
12
|
case CHAR_HYPHEN:
|
|
13
|
-
case
|
|
13
|
+
case ',':
|
|
14
14
|
case `${CHAR_HYPHEN},`:
|
|
15
15
|
return true;
|
|
16
16
|
default:
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW1vbmV5LXZhbHVlLWlzLWVtcHR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1tb25leS12YWx1ZS1pcy1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFhO0lBQ3BELFFBQVEsS0FBSyxFQUFFO1FBQ1gsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssR0FBRyxXQUFXLEdBQUc7WUFDbEIsT0FBTyxJQUFJLENBQUM7UUFDaEI7WUFDSSxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfSFlQSEVOfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBUT0RPOiBkZWxldGUgaW4gdjQuMFxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBodHRwczovL21hc2tpdG8uZGV2L2tpdC9udW1iZXIgbWFza2l0b1BhcnNlTnVtYmVyfSBpbnN0ZWFkXG4gKiBgYGB0c1xuICogTnVtYmVyLmlzTmFOKG1hc2tpdG9QYXJzZU51bWJlcih2YWx1ZSwgZGVjaW1hbFNlcGFyYXRvcikpXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aU1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgIGNhc2UgJyc6XG4gICAgICAgIGNhc2UgQ0hBUl9IWVBIRU46XG4gICAgICAgIGNhc2UgJywnOlxuICAgICAgICBjYXNlIGAke0NIQVJfSFlQSEVOfSxgOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* @deprecated use {@link https://maskito.dev/kit/number maskitoParseNumber} instead
|
|
4
4
|
*/
|
|
5
5
|
export function tuiMaskedNumberStringToNumber(value, decimalsSymbol, thousandSymbol) {
|
|
6
|
-
return parseFloat(value.split(thousandSymbol).join(
|
|
6
|
+
return parseFloat(value.split(thousandSymbol).join('').split(decimalsSymbol).join('.'));
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLW51bWJlci1zdHJpbmctdG8tbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL21hc2tlZC1udW1iZXItc3RyaW5nLXRvLW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLEtBQWEsRUFDYixjQUFnQyxFQUNoQyxjQUFzQjtJQUV0QixPQUFPLFVBQVUsQ0FDYixLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUN2RSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFRPRE86IGRlbGV0ZSBpbiB2NC4wXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIGh0dHBzOi8vbWFza2l0by5kZXYva2l0L251bWJlciBtYXNraXRvUGFyc2VOdW1iZXJ9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aU1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZGVjaW1hbHNTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyxcbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoXG4gICAgICAgIHZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5qb2luKCcnKS5zcGxpdChkZWNpbWFsc1N5bWJvbCkuam9pbignLicpLFxuICAgICk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const ITEM_SIZE = 1.5;
|
|
2
2
|
const CONTENT_SIZE = 2.5;
|
|
3
|
-
export function tuiGetBorder(hasIcon, hasCleaner = false, hasTooltip = false, hasContent = false, size =
|
|
4
|
-
const offset = size ===
|
|
3
|
+
export function tuiGetBorder(hasIcon, hasCleaner = false, hasTooltip = false, hasContent = false, size = 'm') {
|
|
4
|
+
const offset = size === 's' ? 0 : 0.25;
|
|
5
5
|
let border = 0;
|
|
6
6
|
if (hasIcon) {
|
|
7
7
|
border += ITEM_SIZE + offset;
|
|
@@ -17,4 +17,4 @@ export function tuiGetBorder(hasIcon, hasCleaner = false, hasTooltip = false, ha
|
|
|
17
17
|
}
|
|
18
18
|
return border;
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJvcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cy9nZXQtYm9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7QUFFekIsTUFBTSxVQUFVLFlBQVksQ0FDeEIsT0FBZ0IsRUFDaEIsYUFBc0IsS0FBSyxFQUMzQixhQUFzQixLQUFLLEVBQzNCLGFBQXNCLEtBQUssRUFDM0IsT0FBNEIsR0FBRztJQUUvQixNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFZixJQUFJLE9BQU8sRUFBRTtRQUNULE1BQU0sSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDO0tBQ2hDO0lBRUQsSUFBSSxVQUFVLEVBQUU7UUFDWixNQUFNLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQztLQUNoQztJQUVELElBQUksVUFBVSxFQUFFO1FBQ1osTUFBTSxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUM7S0FDaEM7SUFFRCxJQUFJLFVBQVUsRUFBRTtRQUNaLE1BQU0sSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDO0tBQ25DO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmNvbnN0IElURU1fU0laRSA9IDEuNTtcbmNvbnN0IENPTlRFTlRfU0laRSA9IDIuNTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldEJvcmRlcihcbiAgICBoYXNJY29uOiBib29sZWFuLFxuICAgIGhhc0NsZWFuZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBoYXNUb29sdGlwOiBib29sZWFuID0gZmFsc2UsXG4gICAgaGFzQ29udGVudDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZVMgPSAnbScsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IG9mZnNldCA9IHNpemUgPT09ICdzJyA/IDAgOiAwLjI1O1xuICAgIGxldCBib3JkZXIgPSAwO1xuXG4gICAgaWYgKGhhc0ljb24pIHtcbiAgICAgICAgYm9yZGVyICs9IElURU1fU0laRSArIG9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaGFzQ2xlYW5lcikge1xuICAgICAgICBib3JkZXIgKz0gSVRFTV9TSVpFICsgb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChoYXNUb29sdGlwKSB7XG4gICAgICAgIGJvcmRlciArPSBJVEVNX1NJWkUgKyBvZmZzZXQ7XG4gICAgfVxuXG4gICAgaWYgKGhhc0NvbnRlbnQpIHtcbiAgICAgICAgYm9yZGVyICs9IENPTlRFTlRfU0laRSArIG9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9yZGVyO1xufVxuIl19
|