@taiga-ui/core 3.54.0 → 3.55.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-components-button.umd.js +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +3 -3
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-link.umd.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +10 -10
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js +0 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +6 -6
- package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +0 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +92 -93
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/constants/cache-basting-payload.d.ts +1 -1
- package/enums/interactive-state.d.ts +1 -0
- package/esm2015/components/button/button.component.js +1 -1
- package/esm2015/components/data-list/option/option.component.js +1 -1
- package/esm2015/components/dialog/dialog.component.js +4 -4
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +2 -2
- package/esm2015/components/link/link.component.js +1 -1
- package/esm2015/components/notification/notification.component.js +1 -1
- package/esm2015/components/root/root.component.js +1 -1
- package/esm2015/components/scroll-controls/scrollbar.directive.js +7 -7
- package/esm2015/directives/hint/hint-position.directive.js +1 -2
- package/esm2015/directives/hint/hint.directive.js +1 -2
- package/esm2015/directives/hint/hint.providers.js +1 -2
- package/esm2015/enums/interactive-state.js +1 -1
- package/esm2015/pipes/order-week-days/order-week-days.pipe.js +8 -8
- package/esm2015/tokens/common-icon.js +1 -1
- package/esm2015/tokens/ordered-short-week-days.js +1 -1
- package/esm2015/utils/dom/get-word-range.js +1 -2
- package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +43 -43
- package/esm2015/utils/mask/create-number-mask.js +45 -46
- package/fesm2015/taiga-ui-core-components-button.js +1 -1
- package/fesm2015/taiga-ui-core-components-data-list.js +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +4 -4
- 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-link.js +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +1 -1
- package/fesm2015/taiga-ui-core-components-scroll-controls.js +6 -6
- package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-hint.js +0 -1
- package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-enums.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-order-week-days.js +7 -7
- package/fesm2015/taiga-ui-core-pipes-order-week-days.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +0 -1
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +86 -87
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/package.json +4 -4
- package/styles/mixins/appearance.less +50 -0
- package/styles/mixins/appearance.scss +50 -0
- package/styles/mixins/mixins.less +1 -0
- package/styles/taiga-ui-local.less +1 -0
- package/styles/taiga-ui-local.scss +1 -0
- package/styles/taiga-ui-theme.less +1 -0
- package/styles/theme/appearance/accent.less +14 -0
- package/styles/theme/appearance/base.less +18 -0
- package/styles/theme/appearance/floating.less +16 -0
- package/styles/theme/appearance/glass.less +30 -0
- package/styles/theme/appearance/icon.less +13 -0
- package/styles/theme/appearance/opposite.less +31 -0
- package/styles/theme/appearance/outline.less +29 -0
- package/styles/theme/appearance/primary.less +14 -0
- package/styles/theme/appearance/secondary.less +24 -0
- package/styles/theme/appearance/status.less +66 -0
- package/styles/theme/appearance.less +10 -0
- package/styles/theme/variables.less +51 -0
|
@@ -24,4 +24,4 @@ export const TUI_ORDERED_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(() => {
|
|
|
24
24
|
...weekDays.slice(0, firstDayOfWeekIndex),
|
|
25
25
|
]));
|
|
26
26
|
});
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJlZC1zaG9ydC13ZWVrLWRheXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9vcmRlcmVkLXNob3J0LXdlZWstZGF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFM0MsTUFBTSw4QkFBOEIsR0FBRyxDQUNuQyxhQUE4QixFQUNmLEVBQUU7SUFDakIsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFN0MsT0FBTztRQUNILGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDMUIsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUM7S0FDdEIsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFRRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUU7SUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUxRCxPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDbkMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLEVBQ25DLEdBQUcsQ0FDQyxRQUFRLENBQUMsRUFBRSxDQUNQO1FBQ0ksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDO1FBQ3RDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLENBQUM7S0FDekIsQ0FDM0IsQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRPRE86IHY0LjAgZGVsZXRlIHRoZSB3aG9sZSBmaWxlXG4gKi9cbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9GSVJTVF9EQVlfT0ZfV0VFS30gZnJvbSAnLi9maXJzdC1kYXktb2Ytd2Vlayc7XG5pbXBvcnQge1RVSV9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJy4vaTE4bic7XG5cbmNvbnN0IGNvbnZlcnRUb1N1bmRheUZpcnN0V2Vla0Zvcm1hdCA9IChcbiAgICB3ZWVrRGF5c05hbWVzOiBXRUVLX0RBWVNfTkFNRVMsXG4pOiBXRUVLX0RBWVNfTkFNRVMgPT4ge1xuICAgIGNvbnN0IHN1bmRheUluZGV4ID0gd2Vla0RheXNOYW1lcy5sZW5ndGggLSAxO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgd2Vla0RheXNOYW1lc1tzdW5kYXlJbmRleF0sXG4gICAgICAgIC4uLndlZWtEYXlzTmFtZXMuc2xpY2UoMCwgc3VuZGF5SW5kZXgpLFxuICAgIF0gYXMgV0VFS19EQVlTX05BTUVTO1xufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgdHlwZSBXRUVLX0RBWVNfTkFNRVMgPSBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nXTtcblxuLyoqXG4gKiBPcmRlcmVkIGNhbGVuZGFycyBpMThuIHRleHRzXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgVFVJX09SREVSRURfU0hPUlRfV0VFS19EQVlTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiB7XG4gICAgY29uc3QgZmlyc3REYXlPZldlZWtJbmRleCA9IGluamVjdChUVUlfRklSU1RfREFZX09GX1dFRUspO1xuXG4gICAgcmV0dXJuIGluamVjdChUVUlfU0hPUlRfV0VFS19EQVlTKS5waXBlKFxuICAgICAgICBtYXAoY29udmVydFRvU3VuZGF5Rmlyc3RXZWVrRm9ybWF0KSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgd2Vla0RheXMgPT5cbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIC4uLndlZWtEYXlzLnNsaWNlKGZpcnN0RGF5T2ZXZWVrSW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAuLi53ZWVrRGF5cy5zbGljZSgwLCBmaXJzdERheU9mV2Vla0luZGV4KSxcbiAgICAgICAgICAgICAgICBdIGFzIFdFRUtfREFZU19OQU1FUyxcbiAgICAgICAgKSxcbiAgICApO1xufSk7XG4iXX0=
|
|
@@ -5,7 +5,6 @@ import { CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter } from '@taig
|
|
|
5
5
|
* @param currentRange a range to clone
|
|
6
6
|
* @return modified range
|
|
7
7
|
*/
|
|
8
|
-
// eslint-disable-next-line max-statements
|
|
9
8
|
export function tuiGetWordRange(currentRange) {
|
|
10
9
|
const range = currentRange.cloneRange();
|
|
11
10
|
const { startContainer, startOffset, endContainer, endOffset } = range;
|
|
@@ -48,4 +47,4 @@ export function tuiGetWordRange(currentRange) {
|
|
|
48
47
|
} while (treeWalker.nextNode());
|
|
49
48
|
return range;
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdvcmQtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2RvbS9nZXQtd29yZC1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxZQUFtQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTSxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQztJQUNyRSxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsY0FBYyxDQUFDO0lBRXZDLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDaEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQzdDLGFBQWEsQ0FBQyxJQUFJLEVBQ2xCLFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLGFBQWEsQ0FDaEIsQ0FBQztJQUVGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBRXhDLEdBQUc7UUFDQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUNULFNBQVMsS0FBSyxjQUFjO1lBQ3hCLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsR0FBRyxDQUNKLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQ3hCLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsRUFDeEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUM3QyxHQUFHLENBQUMsQ0FBQztRQUVWLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdCLElBQUksTUFBTSxFQUFFO1lBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEMsTUFBTTtTQUNUO0tBQ0osUUFBUSxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFFcEMsVUFBVSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFFdEMsR0FBRztRQUNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDekMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQ1QsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoRixNQUFNLE1BQU0sR0FBRztZQUNYLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztTQUN6QyxDQUFDLE1BQU0sQ0FDSixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNiLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE1BQU07U0FDVDtLQUNKLFFBQVEsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO0lBRWhDLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0UsIENIQVJfWkVST19XSURUSF9TUEFDRSwgc3ZnTm9kZUZpbHRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNsb25lZCByYW5nZSB3aXRoIGl0cyBib3VuZGFyaWVzIHNldCBhdCB3b3JkIGJvdW5kYXJpZXNcbiAqXG4gKiBAcGFyYW0gY3VycmVudFJhbmdlIGEgcmFuZ2UgdG8gY2xvbmVcbiAqIEByZXR1cm4gbW9kaWZpZWQgcmFuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldFdvcmRSYW5nZShjdXJyZW50UmFuZ2U6IFJhbmdlKTogUmFuZ2Uge1xuICAgIGNvbnN0IHJhbmdlID0gY3VycmVudFJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0LCBlbmRDb250YWluZXIsIGVuZE9mZnNldH0gPSByYW5nZTtcbiAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBzdGFydENvbnRhaW5lcjtcblxuICAgIGlmICghb3duZXJEb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHJlZVdhbGtlciA9IG93bmVyRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihcbiAgICAgICAgb3duZXJEb2N1bWVudC5ib2R5LFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfVEVYVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICApO1xuXG4gICAgdHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IHN0YXJ0Q29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IHN0YXJ0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPyB0ZXh0Q29udGVudC5zbGljZSgwLCBNYXRoLm1heCgwLCBzdGFydE9mZnNldCArIDEpKVxuICAgICAgICAgICAgICAgIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKGAgYCksXG4gICAgICAgICAgICAgICAgY29udGVudC5sYXN0SW5kZXhPZihDSEFSX05PX0JSRUFLX1NQQUNFKSxcbiAgICAgICAgICAgICAgICBjb250ZW50Lmxhc3RJbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgICAgICApICsgMTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChjb250YWluZXIsIDApO1xuXG4gICAgICAgIGlmIChvZmZzZXQpIHtcbiAgICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGNvbnRhaW5lciwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSB3aGlsZSAodHJlZVdhbGtlci5wcmV2aW91c05vZGUoKSk7XG5cbiAgICB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlID0gZW5kQ29udGFpbmVyO1xuXG4gICAgZG8ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGNvbnRhaW5lci50ZXh0Q29udGVudCB8fCBgYDtcbiAgICAgICAgY29uc3QgY29udGVudCA9XG4gICAgICAgICAgICBjb250YWluZXIgPT09IGVuZENvbnRhaW5lciA/IHRleHRDb250ZW50LnNsaWNlKGVuZE9mZnNldCArIDEpIDogdGV4dENvbnRlbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IFtcbiAgICAgICAgICAgIGNvbnRlbnQuaW5kZXhPZihgIGApLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfTk9fQlJFQUtfU1BBQ0UpLFxuICAgICAgICAgICAgY29udGVudC5pbmRleE9mKENIQVJfWkVST19XSURUSF9TUEFDRSksXG4gICAgICAgIF0ucmVkdWNlKFxuICAgICAgICAgICAgKHJlc3VsdCwgaXRlbSkgPT5cbiAgICAgICAgICAgICAgICByZXN1bHQgPT09IC0xIHx8IGl0ZW0gPT09IC0xXG4gICAgICAgICAgICAgICAgICAgID8gTWF0aC5tYXgocmVzdWx0LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICA6IE1hdGgubWluKHJlc3VsdCwgaXRlbSksXG4gICAgICAgICAgICAtMSxcbiAgICAgICAgKTtcblxuICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCB0ZXh0Q29udGVudC5sZW5ndGgpO1xuXG4gICAgICAgIGlmIChvZmZzZXQgIT09IC0xKSB7XG4gICAgICAgICAgICByYW5nZS5zZXRFbmQoY29udGFpbmVyLCBvZmZzZXQgKyB0ZXh0Q29udGVudC5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gd2hpbGUgKHRyZWVXYWxrZXIubmV4dE5vZGUoKSk7XG5cbiAgICByZXR1cm4gcmFuZ2U7XG59XG4iXX0=
|
|
@@ -1,4 +1,46 @@
|
|
|
1
1
|
import { CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsNativeFocused, tuiIsSafari, } from '@taiga-ui/cdk';
|
|
2
|
+
function addDecimalSymbolIfNeeded(value, decimalSymbol = `,`) {
|
|
3
|
+
return !value.includes(decimalSymbol) ? value + decimalSymbol : value;
|
|
4
|
+
}
|
|
5
|
+
function calculateSafariCaret(previousValue = ``, current, previousCaret, decimalSymbol = `,`) {
|
|
6
|
+
const tailRegex = new RegExp(`${decimalSymbol}.+`);
|
|
7
|
+
const previousWithoutTail = previousValue.replace(tailRegex, ``);
|
|
8
|
+
const currentWithoutTail = current.replace(tailRegex, ``);
|
|
9
|
+
const pasteOrCutOperation = Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;
|
|
10
|
+
if (pasteOrCutOperation) {
|
|
11
|
+
return current.length;
|
|
12
|
+
}
|
|
13
|
+
if (previousValue.length === current.length) {
|
|
14
|
+
if (previousValue.indexOf(decimalSymbol) <= previousCaret) {
|
|
15
|
+
return calculateChangedTailIndex(previousValue, current);
|
|
16
|
+
}
|
|
17
|
+
return previousWithoutTail === currentWithoutTail
|
|
18
|
+
? previousCaret - 1
|
|
19
|
+
: previousCaret + 1;
|
|
20
|
+
}
|
|
21
|
+
if (previousValue.length === 0) {
|
|
22
|
+
return 1;
|
|
23
|
+
}
|
|
24
|
+
const changeLength = current.length - previousValue.length;
|
|
25
|
+
return previousCaret + changeLength;
|
|
26
|
+
}
|
|
27
|
+
function calculateChangedTailIndex(previous, current) {
|
|
28
|
+
for (let i = 0; i < current.length; i++) {
|
|
29
|
+
if (previous[i] !== current[i]) {
|
|
30
|
+
return current[i] === `0` ? i : i + 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return current.length;
|
|
34
|
+
}
|
|
35
|
+
function calculateCaretGap(previousValue = ``, current, thousandSymbol) {
|
|
36
|
+
const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;
|
|
37
|
+
if (pasteOrCutOperation) {
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
const wereSpaces = previousValue.split(thousandSymbol).length;
|
|
41
|
+
const nowSpaces = current.split(thousandSymbol).length;
|
|
42
|
+
return nowSpaces - wereSpaces;
|
|
43
|
+
}
|
|
2
44
|
/**
|
|
3
45
|
* TODO: delete in v4.0
|
|
4
46
|
* @deprecated Use {@link https://maskito.dev/kit/number Number} from {@link https://github.com/taiga-family/maskito Maskito} instead <br/>
|
|
@@ -47,46 +89,4 @@ export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol
|
|
|
47
89
|
};
|
|
48
90
|
};
|
|
49
91
|
}
|
|
50
|
-
function addDecimalSymbolIfNeeded(value, decimalSymbol = `,`) {
|
|
51
|
-
return !value.includes(decimalSymbol) ? value + decimalSymbol : value;
|
|
52
|
-
}
|
|
53
|
-
function calculateSafariCaret(previousValue = ``, current, previousCaret, decimalSymbol = `,`) {
|
|
54
|
-
const tailRegex = new RegExp(`${decimalSymbol}.+`);
|
|
55
|
-
const previousWithoutTail = previousValue.replace(tailRegex, ``);
|
|
56
|
-
const currentWithoutTail = current.replace(tailRegex, ``);
|
|
57
|
-
const pasteOrCutOperation = Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;
|
|
58
|
-
if (pasteOrCutOperation) {
|
|
59
|
-
return current.length;
|
|
60
|
-
}
|
|
61
|
-
if (previousValue.length === current.length) {
|
|
62
|
-
if (previousValue.indexOf(decimalSymbol) <= previousCaret) {
|
|
63
|
-
return calculateChangedTailIndex(previousValue, current);
|
|
64
|
-
}
|
|
65
|
-
return previousWithoutTail === currentWithoutTail
|
|
66
|
-
? previousCaret - 1
|
|
67
|
-
: previousCaret + 1;
|
|
68
|
-
}
|
|
69
|
-
if (previousValue.length === 0) {
|
|
70
|
-
return 1;
|
|
71
|
-
}
|
|
72
|
-
const changeLength = current.length - previousValue.length;
|
|
73
|
-
return previousCaret + changeLength;
|
|
74
|
-
}
|
|
75
|
-
function calculateChangedTailIndex(previous, current) {
|
|
76
|
-
for (let i = 0; i < current.length; i++) {
|
|
77
|
-
if (previous[i] !== current[i]) {
|
|
78
|
-
return current[i] === `0` ? i : i + 1;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return current.length;
|
|
82
|
-
}
|
|
83
|
-
function calculateCaretGap(previousValue = ``, current, thousandSymbol) {
|
|
84
|
-
const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;
|
|
85
|
-
if (pasteOrCutOperation) {
|
|
86
|
-
return 0;
|
|
87
|
-
}
|
|
88
|
-
const wereSpaces = previousValue.split(thousandSymbol).length;
|
|
89
|
-
const nowSpaces = current.split(thousandSymbol).length;
|
|
90
|
-
return nowSpaces - wereSpaces;
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLGVBQXVCLENBQUMsRUFDeEIsZ0JBQWtDLEdBQUcsRUFDckMsaUJBQXlCLG1CQUFtQixFQUM1QyxXQUFxQyxFQUNyQyxhQUF1QixFQUN2QixLQUFLLEdBQUcsS0FBSztJQUViLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVqRCx5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUVyRSxJQUFJLFdBQVcsSUFBSSxPQUFPLEVBQUU7UUFDeEIsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDN0MsYUFBYSxHQUFHLFdBQVcsQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzlCLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVyxJQUFJLGFBQWEsRUFBRTtZQUNyRSxPQUFPLFdB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TUFBTSxDQUFDO0lBRXZELE9BQU8sU0FBUyxHQUFHLFVBQVUsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX0hZUEhFTixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTYWZhcmksXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFRPRE86IGRlbGV0ZSBpbiB2NC4wXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGh0dHBzOi8vbWFza2l0by5kZXYva2l0L251bWJlciBOdW1iZXJ9IGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlnYS1mYW1pbHkvbWFza2l0byBNYXNraXRvfSBpbnN0ZWFkIDxici8+XG4gKiBVc2VkIHRvIGZpbmlzaCBhIG51bWJlciB3aXRoIHplcm9zIHRvIGEgZ2l2ZW4gcHJlY2lzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICBkZWNpbWFsTGltaXQ6IG51bWJlciA9IDAsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCA9IGAsYCxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBuYXRpdmVJbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsLFxuICAgIGFsbG93TmVnYXRpdmU/OiBib29sZWFuLFxuICAgIGlzSU9TID0gZmFsc2UsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG5cbiAgICAvLyBHdWVzcyBmb3Igd2hpY2ggYnJvd3NlciBJIG5lZWQgdGhpcyA6KVxuICAgIGxldCBwcmV2aW91c0NhcmV0ID0gLTE7XG4gICAgY29uc3QgdW5sdWNreSA9ICghIW5hdGl2ZUlucHV0ICYmIHR1aUlzU2FmYXJpKG5hdGl2ZUlucHV0KSkgfHwgaXNJT1M7XG5cbiAgICBpZiAobmF0aXZlSW5wdXQgJiYgdW5sdWNreSkge1xuICAgICAgICBuYXRpdmVJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBiZWZvcmVpbnB1dGAsICgpID0+IHtcbiAgICAgICAgICAgIHByZXZpb3VzQ2FyZXQgPSBuYXRpdmVJbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGNvbmZvcm1lZFZhbHVlLCBjb25maWcpID0+IHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgZXZlcnl0aGluZyBieSBzZWxlY3RpbmcgYW5kIHByZXNzaW5nICctJ1xuICAgICAgICBpZiAoIWNvbmZvcm1lZFZhbHVlICYmIGNvbmZpZy5yYXdWYWx1ZSA9PT0gQ0hBUl9IWVBIRU4gJiYgYWxsb3dOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfSFlQSEVOO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZXNlIGhhY2tzIGFmdGVyIHRleHQgbWFzayBsaWJyYXJ5IGhhcyBjaGFuZ2VkXG4gICAgICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5ICYmIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmV0ID0gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNDYXJldCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKGNhcmV0LCBjYXJldCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0ICYmXG4gICAgICAgICAgICBuYXRpdmVJbnB1dC5vd25lckRvY3VtZW50ICE9PSB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxDYXJldFBvc2l0aW9uID1cbiAgICAgICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb24gK1xuICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgICAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKHJlYWxDYXJldFBvc2l0aW9uLCByZWFsQ2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25mb3JtZWRWYWx1ZSA9PT0gYGAgfHwgIWRlY2ltYWxMaW1pdCB8fCAhTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBjb25mb3JtZWRWYWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3aXRoRGVjaW1hbFN5bWJvbCA9IGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChjb25mb3JtZWRWYWx1ZSwgZGVjaW1hbFN5bWJvbCk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gd2l0aERlY2ltYWxTeW1ib2wuc3BsaXQoZGVjaW1hbFN5bWJvbClbMV07XG4gICAgICAgIGNvbnN0IHplcm9QYWRkaW5nU2l6ZSA9IGRlY2ltYWxMaW1pdCAtIGRlY2ltYWxQYXJ0Lmxlbmd0aDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHdpdGhEZWNpbWFsU3ltYm9sICsgYDBgLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpLFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSBgLGAsXG4pOiBzdHJpbmcge1xuICAgIHJldHVybiAhdmFsdWUuaW5jbHVkZXMoZGVjaW1hbFN5bWJvbCkgPyB2YWx1ZSArIGRlY2ltYWxTeW1ib2wgOiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gYGAsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHByZXZpb3VzQ2FyZXQ6IG51bWJlcixcbiAgICBkZWNpbWFsU3ltYm9sOiBzdHJpbmcgPSBgLGAsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHRhaWxSZWdleCA9IG5ldyBSZWdFeHAoYCR7ZGVjaW1hbFN5bWJvbH0uK2ApO1xuICAgIGNvbnN0IHByZXZpb3VzV2l0aG91dFRhaWwgPSBwcmV2aW91c1ZhbHVlLnJlcGxhY2UodGFpbFJlZ2V4LCBgYCk7XG4gICAgY29uc3QgY3VycmVudFdpdGhvdXRUYWlsID0gY3VycmVudC5yZXBsYWNlKHRhaWxSZWdleCwgYGApO1xuXG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9XG4gICAgICAgIE1hdGguYWJzKHByZXZpb3VzV2l0aG91dFRhaWwubGVuZ3RoIC0gY3VycmVudFdpdGhvdXRUYWlsLmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gY3VycmVudC5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUuaW5kZXhPZihkZWNpbWFsU3ltYm9sKSA8PSBwcmV2aW91c0NhcmV0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91c1ZhbHVlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1dpdGhvdXRUYWlsID09PSBjdXJyZW50V2l0aG91dFRhaWxcbiAgICAgICAgICAgID8gcHJldmlvdXNDYXJldCAtIDFcbiAgICAgICAgICAgIDogcHJldmlvdXNDYXJldCArIDE7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUxlbmd0aCA9IGN1cnJlbnQubGVuZ3RoIC0gcHJldmlvdXNWYWx1ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXJldCArIGNoYW5nZUxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91czogc3RyaW5nLCBjdXJyZW50OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocHJldmlvdXNbaV0gIT09IGN1cnJlbnRbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50W2ldID09PSBgMGAgPyBpIDogaSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9IGBgLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID0gTWF0aC5hYnMocHJldmlvdXNWYWx1ZS5sZW5ndGggLSBjdXJyZW50Lmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgd2VyZVNwYWNlcyA9IHByZXZpb3VzVmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcbiAgICBjb25zdCBub3dTcGFjZXMgPSBjdXJyZW50LnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbm93U3BhY2VzIC0gd2VyZVNwYWNlcztcbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL21hc2svY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBSXZCLFNBQVMsd0JBQXdCLENBQzdCLEtBQWEsRUFDYixnQkFBa0MsR0FBRztJQUVyQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzFFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUN6QixnQkFBd0IsRUFBRSxFQUMxQixPQUFlLEVBQ2YsYUFBcUIsRUFDckIsZ0JBQXdCLEdBQUc7SUFFM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxhQUFhLElBQUksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRCxNQUFNLG1CQUFtQixHQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekUsSUFBSSxtQkFBbUIsRUFBRTtRQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDekI7SUFFRCxJQUFJLGFBQWEsQ0FBQyxN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LENBQUMsZUFBZSxDQUFDO1NBQ3pELENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX0hZUEhFTixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTYWZhcmksXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5mdW5jdGlvbiBhZGREZWNpbWFsU3ltYm9sSWZOZWVkZWQoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gYCxgLFxuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXZhbHVlLmluY2x1ZGVzKGRlY2ltYWxTeW1ib2wpID8gdmFsdWUgKyBkZWNpbWFsU3ltYm9sIDogdmFsdWU7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZVNhZmFyaUNhcmV0KFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9IGBgLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICBwcmV2aW91c0NhcmV0OiBudW1iZXIsXG4gICAgZGVjaW1hbFN5bWJvbDogc3RyaW5nID0gYCxgLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWlsUmVnZXggPSBuZXcgUmVnRXhwKGAke2RlY2ltYWxTeW1ib2x9LitgKTtcbiAgICBjb25zdCBwcmV2aW91c1dpdGhvdXRUYWlsID0gcHJldmlvdXNWYWx1ZS5yZXBsYWNlKHRhaWxSZWdleCwgYGApO1xuICAgIGNvbnN0IGN1cnJlbnRXaXRob3V0VGFpbCA9IGN1cnJlbnQucmVwbGFjZSh0YWlsUmVnZXgsIGBgKTtcblxuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPVxuICAgICAgICBNYXRoLmFicyhwcmV2aW91c1dpdGhvdXRUYWlsLmxlbmd0aCAtIGN1cnJlbnRXaXRob3V0VGFpbC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IGN1cnJlbnQubGVuZ3RoKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlLmluZGV4T2YoZGVjaW1hbFN5bWJvbCkgPD0gcHJldmlvdXNDYXJldCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXNWYWx1ZSwgY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmlvdXNXaXRob3V0VGFpbCA9PT0gY3VycmVudFdpdGhvdXRUYWlsXG4gICAgICAgICAgICA/IHByZXZpb3VzQ2FyZXQgLSAxXG4gICAgICAgICAgICA6IHByZXZpb3VzQ2FyZXQgKyAxO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VMZW5ndGggPSBjdXJyZW50Lmxlbmd0aCAtIHByZXZpb3VzVmFsdWUubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2FyZXQgKyBjaGFuZ2VMZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNoYW5nZWRUYWlsSW5kZXgocHJldmlvdXM6IHN0cmluZywgY3VycmVudDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1cnJlbnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZpb3VzW2ldICE9PSBjdXJyZW50W2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFtpXSA9PT0gYDBgID8gaSA6IGkgKyAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDYXJldEdhcChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSBgYCxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9IE1hdGguYWJzKHByZXZpb3VzVmFsdWUubGVuZ3RoIC0gY3VycmVudC5sZW5ndGgpID4gMjtcblxuICAgIGlmIChwYXN0ZU9yQ3V0T3BlcmF0aW9uKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHdlcmVTcGFjZXMgPSBwcmV2aW91c1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG4gICAgY29uc3Qgbm93U3BhY2VzID0gY3VycmVudC5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIG5vd1NwYWNlcyAtIHdlcmVTcGFjZXM7XG59XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly9tYXNraXRvLmRldi9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvIE1hc2tpdG99IGluc3RlYWQgPGJyLz5cbiAqIFVzZWQgdG8gZmluaXNoIGEgbnVtYmVyIHdpdGggemVyb3MgdG8gYSBnaXZlbiBwcmVjaXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyID0gMCxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIG5hdGl2ZUlucHV0PzogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgYWxsb3dOZWdhdGl2ZT86IGJvb2xlYW4sXG4gICAgaXNJT1MgPSBmYWxzZSxcbik6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcblxuICAgIC8vIEd1ZXNzIGZvciB3aGljaCBicm93c2VyIEkgbmVlZCB0aGlzIDopXG4gICAgbGV0IHByZXZpb3VzQ2FyZXQgPSAtMTtcbiAgICBjb25zdCB1bmx1Y2t5ID0gKCEhbmF0aXZlSW5wdXQgJiYgdHVpSXNTYWZhcmkobmF0aXZlSW5wdXQpKSB8fCBpc0lPUztcblxuICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5KSB7XG4gICAgICAgIG5hdGl2ZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZWlucHV0YCwgKCkgPT4ge1xuICAgICAgICAgICAgcHJldmlvdXNDYXJldCA9IG5hdGl2ZUlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIGNvbmZpZykgPT4ge1xuICAgICAgICAvLyBSZW1vdmluZyBldmVyeXRoaW5nIGJ5IHNlbGVjdGluZyBhbmQgcHJlc3NpbmcgJy0nXG4gICAgICAgIGlmICghY29uZm9ybWVkVmFsdWUgJiYgY29uZmlnLnJhd1ZhbHVlID09PSBDSEFSX0hZUEhFTiAmJiBhbGxvd05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gQ0hBUl9IWVBIRU47XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZW1vdmUgdGhlc2UgaGFja3MgYWZ0ZXIgdGV4dCBtYXNrIGxpYnJhcnkgaGFzIGNoYW5nZWRcbiAgICAgICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSkge1xuICAgICAgICAgICAgY29uc3QgY2FyZXQgPSBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0NhcmV0LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXQsIGNhcmV0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbmF0aXZlSW5wdXQgJiZcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0Lm93bmVyRG9jdW1lbnQgIT09IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcmVhbENhcmV0UG9zaXRpb24gPVxuICAgICAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvbiArXG4gICAgICAgICAgICAgICAgY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocmVhbENhcmV0UG9zaXRpb24sIHJlYWxDYXJldFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZvcm1lZFZhbHVlID09PSBgYCB8fCAhZGVjaW1hbExpbWl0IHx8ICFOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGNvbmZvcm1lZFZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpdGhEZWNpbWFsU3ltYm9sID0gYWRkRGVjaW1hbFN5bWJvbElmTmVlZGVkKGNvbmZvcm1lZFZhbHVlLCBkZWNpbWFsU3ltYm9sKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB3aXRoRGVjaW1hbFN5bWJvbC5zcGxpdChkZWNpbWFsU3ltYm9sKVsxXTtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplID0gZGVjaW1hbExpbWl0IC0gZGVjaW1hbFBhcnQubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlY2ltYWxTeW1ib2wgKyBgMGAucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSksXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -2,6 +2,50 @@ import { CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert } from '@taig
|
|
|
2
2
|
import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_NON_DIGITS_REGEXP, } from '@taiga-ui/core/constants';
|
|
3
3
|
import { tuiOtherDecimalSymbol } from '@taiga-ui/core/utils/format';
|
|
4
4
|
const NON_ZERO_DIGIT = /[1-9]/;
|
|
5
|
+
function preventLeadingZeroes(mask, isOnlyZeroDigit = false, leadingZerosAmount = 0) {
|
|
6
|
+
if (isOnlyZeroDigit || leadingZerosAmount === 0) {
|
|
7
|
+
return mask;
|
|
8
|
+
}
|
|
9
|
+
const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);
|
|
10
|
+
if (firstDigitIndex === -1) {
|
|
11
|
+
return mask;
|
|
12
|
+
}
|
|
13
|
+
const secondMaskDigit = mask[firstDigitIndex + 1];
|
|
14
|
+
const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;
|
|
15
|
+
if (isCaretTrap && leadingZerosAmount === 1) {
|
|
16
|
+
return mask;
|
|
17
|
+
}
|
|
18
|
+
if (isCaretTrap) {
|
|
19
|
+
mask.unshift(NON_ZERO_DIGIT);
|
|
20
|
+
return mask;
|
|
21
|
+
}
|
|
22
|
+
mask[firstDigitIndex] = NON_ZERO_DIGIT;
|
|
23
|
+
return mask;
|
|
24
|
+
}
|
|
25
|
+
function getDecimalSymbolIndex(str, decimalSymbol, autoCorrectDecimalSymbol) {
|
|
26
|
+
if (!autoCorrectDecimalSymbol) {
|
|
27
|
+
return str.lastIndexOf(decimalSymbol);
|
|
28
|
+
}
|
|
29
|
+
return Math.max(str.lastIndexOf(decimalSymbol), str.lastIndexOf(tuiOtherDecimalSymbol(decimalSymbol)));
|
|
30
|
+
}
|
|
31
|
+
function isDecimalSymbol(str, decimalSymbol, autoCorrectDecimalSymbol) {
|
|
32
|
+
if (autoCorrectDecimalSymbol) {
|
|
33
|
+
return /^[,.]$/.test(str);
|
|
34
|
+
}
|
|
35
|
+
return str === decimalSymbol;
|
|
36
|
+
}
|
|
37
|
+
function convertToMask(strNumber) {
|
|
38
|
+
return strNumber
|
|
39
|
+
.split(``)
|
|
40
|
+
.map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));
|
|
41
|
+
}
|
|
42
|
+
function addThousandsSeparator(strNumber, thousandSymbol) {
|
|
43
|
+
return strNumber.length > 3
|
|
44
|
+
? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
|
|
45
|
+
// eslint-disable-next-line unicorn/no-unsafe-regex
|
|
46
|
+
strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
|
|
47
|
+
: strNumber;
|
|
48
|
+
}
|
|
5
49
|
/**
|
|
6
50
|
* TODO: delete in v4.0
|
|
7
51
|
* @deprecated Use {@link https://maskito.dev/kit/number Number} from {@link https://github.com/taiga-family/maskito Maskito} instead <br/>
|
|
@@ -11,7 +55,6 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
11
55
|
ngDevMode && tuiAssert.assert(decimalLimit >= 0);
|
|
12
56
|
ngDevMode && tuiAssert.assert(Number.isInteger(integerLimit));
|
|
13
57
|
ngDevMode && tuiAssert.assert(integerLimit >= 0);
|
|
14
|
-
// eslint-disable-next-line max-statements
|
|
15
58
|
return (rawValue, { previousConformedValue }) => {
|
|
16
59
|
if (previousConformedValue && requireDecimal) {
|
|
17
60
|
const conformedWithoutSeparator = rawValue.split(thousandSymbol).join(``);
|
|
@@ -75,48 +118,4 @@ export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`,
|
|
|
75
118
|
return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);
|
|
76
119
|
};
|
|
77
120
|
}
|
|
78
|
-
function preventLeadingZeroes(mask, isOnlyZeroDigit = false, leadingZerosAmount = 0) {
|
|
79
|
-
if (isOnlyZeroDigit || leadingZerosAmount === 0) {
|
|
80
|
-
return mask;
|
|
81
|
-
}
|
|
82
|
-
const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);
|
|
83
|
-
if (firstDigitIndex === -1) {
|
|
84
|
-
return mask;
|
|
85
|
-
}
|
|
86
|
-
const secondMaskDigit = mask[firstDigitIndex + 1];
|
|
87
|
-
const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;
|
|
88
|
-
if (isCaretTrap && leadingZerosAmount === 1) {
|
|
89
|
-
return mask;
|
|
90
|
-
}
|
|
91
|
-
if (isCaretTrap) {
|
|
92
|
-
mask.unshift(NON_ZERO_DIGIT);
|
|
93
|
-
return mask;
|
|
94
|
-
}
|
|
95
|
-
mask[firstDigitIndex] = NON_ZERO_DIGIT;
|
|
96
|
-
return mask;
|
|
97
|
-
}
|
|
98
|
-
function getDecimalSymbolIndex(str, decimalSymbol, autoCorrectDecimalSymbol) {
|
|
99
|
-
if (!autoCorrectDecimalSymbol) {
|
|
100
|
-
return str.lastIndexOf(decimalSymbol);
|
|
101
|
-
}
|
|
102
|
-
return Math.max(str.lastIndexOf(decimalSymbol), str.lastIndexOf(tuiOtherDecimalSymbol(decimalSymbol)));
|
|
103
|
-
}
|
|
104
|
-
function isDecimalSymbol(str, decimalSymbol, autoCorrectDecimalSymbol) {
|
|
105
|
-
if (autoCorrectDecimalSymbol) {
|
|
106
|
-
return /^[,.]$/.test(str);
|
|
107
|
-
}
|
|
108
|
-
return str === decimalSymbol;
|
|
109
|
-
}
|
|
110
|
-
function convertToMask(strNumber) {
|
|
111
|
-
return strNumber
|
|
112
|
-
.split(``)
|
|
113
|
-
.map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));
|
|
114
|
-
}
|
|
115
|
-
function addThousandsSeparator(strNumber, thousandSymbol) {
|
|
116
|
-
return strNumber.length > 3
|
|
117
|
-
? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
|
|
118
|
-
// eslint-disable-next-line unicorn/no-unsafe-regex
|
|
119
|
-
strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
|
|
120
|
-
: strNumber;
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9tYXNrL2NyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQ2hDLFlBQVksR0FBRyxLQUFLLEVBQ3BCLGFBQWEsR0FBRyxHQUFHLEVBQ25CLGNBQWMsR0FBRyxtQkFBbUIsRUFDcEMsd0JBQXdCLEdBQUcsSUFBSSxFQUMvQixZQUFZLEdBQUcsQ0FBQyxFQUNoQixjQUFjLEdBQUcsS0FBSyxFQUN0QixhQUFhLEdBQUcsS0FBSyxFQUNyQixZQUFZLEdBQUcsQ0FBQyxNQUNNLEVBQUU7SUFDeEIsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM5RCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFakQsMENBQTBDO0lBQzFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUU7UUFDMUMsSUFBSSxzQkFBc0IsSUFBSSxj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QUFFLENBQUM7U0FDVCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsK0ZBQStGO1lBQy9GLG1EQUFtRDtZQUNuRCxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfRU5fREFTSCwgQ0hBUl9IWVBIRU4sIENIQVJfTk9fQlJFQUtfU1BBQ0UsIHR1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1BU0tfQ0FSRVRfVFJBUCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJNYXNrT3B0aW9ucywgVHVpVGV4dE1hc2tMaXN0SGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpT3RoZXJEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuXG5jb25zdCBOT05fWkVST19ESUdJVCA9IC9bMS05XS87XG5cbi8qKlxuICogVE9ETzogZGVsZXRlIGluIHY0LjBcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgaHR0cHM6Ly9tYXNraXRvLmRldi9raXQvbnVtYmVyIE51bWJlcn0gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvIE1hc2tpdG99IGluc3RlYWQgPGJyLz5cbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gYCxgLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihpbnRlZ2VyTGltaXQpKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChpbnRlZ2VyTGltaXQgPj0gMCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LXN0YXRlbWVudHNcbiAgICByZXR1cm4gKHJhd1ZhbHVlLCB7cHJldmlvdXNDb25mb3JtZWRWYWx1ZX0pID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgJiYgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPSByYXdWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkuam9pbihgYCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3IgPVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRob3VzYW5kU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihgYClcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KGRlY2ltYWxTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKGBgKTtcblxuICAgICAgICAgICAgLy8gRm9yYmlkIHJlbW92YWwgb2YgZGVjaW1hbCBzZXBhcmF0b3IgaWYgZGVjaW1hbCBwYXJ0IGlzIHJlcXVpcmVkXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9PT1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3JcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJhd1ZhbHVlID0gcHJldmlvdXNDb25mb3JtZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPVxuICAgICAgICAgICAgKHJhd1ZhbHVlPy5zdGFydHNXaXRoKENIQVJfSFlQSEVOKSB8fCByYXdWYWx1ZT8uc3RhcnRzV2l0aChDSEFSX0VOX0RBU0gpKSAmJlxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0RlY2ltYWxTeW1ib2wocmF3VmFsdWUsIGRlY2ltYWxTeW1ib2wsIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkgJiZcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbYDBgLCBkZWNpbWFsU3ltYm9sLCBUVUlfRElHSVRfUkVHRVhQXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByYXdWYWx1ZSA9IHJhd1ZhbHVlLnNsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjaW1hbEluZGV4ID0gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgICAgICAgICAgcmF3VmFsdWUsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gZGVjaW1hbEluZGV4ICE9PSAtMTtcbiAgICAgICAgY29uc3QgaW50ZWdlciA9IGhhc0RlY2ltYWwgPyByYXdWYWx1ZS5zbGljZSgwLCBkZWNpbWFsSW5kZXgpIDogcmF3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9ycyA9IGludGVnZXIubWF0Y2gobmV3IFJlZ0V4cCh0aG91c2FuZFN5bWJvbCwgYGdgKSkgfHwgW107XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWQgPSBpbnRlZ2VyTGltaXRcbiAgICAgICAgICAgID8gaW50ZWdlci5zbGljZSgwLCBpbnRlZ2VyTGltaXQgKyB0aG91c2FuZFNlcGFyYXRvcnMubGVuZ3RoKVxuICAgICAgICAgICAgOiBpbnRlZ2VyO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCk7XG4gICAgICAgIGNvbnN0IFtsZWFkaW5nWmVyb3NNYXRjaF0gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW4ubWF0Y2goXG4gICAgICAgICAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgICAgICApIHx8IFtgYF07XG4gICAgICAgIGNvbnN0IGxlYWRpbmdaZXJvc0Ftb3VudCA9IGxlYWRpbmdaZXJvc01hdGNoLmxlbmd0aDtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW5cbiAgICAgICAgICAgIC5yZXBsYWNlKC9eMCsoPyFcXC58JCkvLCBgYClcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIGNvbnN0IHdpdGhTZXBhcmF0b3IgPSBhZGRUaG91c2FuZHNTZXBhcmF0b3IoXG4gICAgICAgICAgICBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXNrID0gY29udmVydFRvTWFzayh3aXRoU2VwYXJhdG9yKTtcblxuICAgICAgICBpZiAoKGhhc0RlY2ltYWwgJiYgYWxsb3dEZWNpbWFsKSB8fCByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBjb252ZXJ0VG9NYXNrKFxuICAgICAgICAgICAgICAgICAgICAgIHJhd1ZhbHVlLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCBgYCksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uQ2FwcGVkID0gZGVjaW1hbExpbWl0XG4gICAgICAgICAgICAgICAgPyBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFsTGltaXQpXG4gICAgICAgICAgICAgICAgOiBmcmFjdGlvbjtcblxuICAgICAgICAgICAgaWYgKHJhd1ZhbHVlW2RlY2ltYWxJbmRleF0gIT09IHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChNQVNLX0NBUkVUX1RSQVApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnB1c2goZGVjaW1hbFN5bWJvbCwgTUFTS19DQVJFVF9UUkFQLCAuLi5mcmFjdGlvbkNhcHBlZCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5taW4oZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25DYXBwZWQubGVuZ3RoLCAyMCk7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT25seVplcm9EaWdpdCA9IG1hc2subGVuZ3RoID09PSAxICYmIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID09PSBgMGA7XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIGlmIChtYXNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay51bnNoaWZ0KENIQVJfSFlQSEVOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2ZW50TGVhZGluZ1plcm9lcyhtYXNrLCBpc09ubHlaZXJvRGlnaXQsIGxlYWRpbmdaZXJvc0Ftb3VudCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8UmVnRXhwIHwgc3RyaW5nPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKHR1aU90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IC8vIFRPRE86IGludmVzdGlnYXRlIHRvIGRpc2FsbG93IHBvdGVudGlhbGx5IGNhdGFzdHJvcGhpYyBleHBvbmVudGlhbC10aW1lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdW5zYWZlLXJlZ2V4XG4gICAgICAgICAgc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
|
|
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
|
|
@@ -69,7 +69,7 @@ class TuiButtonComponent extends AbstractTuiInteractive {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
TuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonComponent, deps: [{ token: TuiModeDirective, optional: true }, { token: ElementRef }, { token: TUI_BUTTON_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
TuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: { appearance: "appearance", disabled: "disabled", icon: "icon", iconRight: "iconRight", shape: "shape", showLoader: "showLoader", size: "size" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-shape": "this.shape", "class._loading": "this.showLoader", "attr.data-size": "this.size", "attr.data-appearance": "this.computedAppearance", "attr.disabled": "this.nativeDisabled", "tabIndex": "this.tabIndex" } }, providers: [tuiAsFocusableItemAccessor(TuiButtonComponent), TuiDestroyService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appearance$ | async\"></ng-container>\n<div\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"computedAppearance\"\n [disabled]=\"computedDisabled\"\n [hover]=\"pseudoHover\"\n>\n <span class=\"t-content\">\n <span\n *ngIf=\"icon\"\n class=\"t-left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconRight as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n</div>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:inline-block;flex-shrink:0;vertical-align:top;border-radius:var(--tui-radius-m);-webkit-user-select:none;-moz-user-select:none;user-select:none;
|
|
72
|
+
TuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: { appearance: "appearance", disabled: "disabled", icon: "icon", iconRight: "iconRight", shape: "shape", showLoader: "showLoader", size: "size" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-shape": "this.shape", "class._loading": "this.showLoader", "attr.data-size": "this.size", "attr.data-appearance": "this.computedAppearance", "attr.disabled": "this.nativeDisabled", "tabIndex": "this.tabIndex" } }, providers: [tuiAsFocusableItemAccessor(TuiButtonComponent), TuiDestroyService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appearance$ | async\"></ng-container>\n<div\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"computedAppearance\"\n [disabled]=\"computedDisabled\"\n [hover]=\"pseudoHover\"\n>\n <span class=\"t-content\">\n <span\n *ngIf=\"icon\"\n class=\"t-left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconRight as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n</div>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:inline-block;flex-shrink:0;vertical-align:top;border-radius:var(--tui-radius-m);-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;color:inherit}:host[data-shape=rounded]{border-radius:6.25rem}:host[data-size=xs]{height:var(--tui-height-xs);font-weight:normal}:host[data-size=xs][data-shape=square],:host[data-size=xs][tuiIconButton]{width:var(--tui-height-xs)}:host[data-size=s]{height:var(--tui-height-s);font-weight:normal}:host[data-size=s][data-shape=square],:host[data-size=s][tuiIconButton]{width:var(--tui-height-s)}:host[data-size=m]{height:var(--tui-height-m);font:var(--tui-font-text-m);font-weight:bold}:host[data-size=m][data-shape=square],:host[data-size=m][tuiIconButton]{width:var(--tui-height-m)}:host[data-size=l]{height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l][data-shape=square],:host[data-size=l][tuiIconButton]{width:var(--tui-height-l)}:host[data-size=xl]{height:3.75rem;font:var(--tui-font-text-m);font-weight:bold}:host[data-size=xl][data-shape=square],:host[data-size=xl][tuiIconButton]{width:3.75rem}:host[tuiIconButton]{font-size:0!important}:host[tuiIconButton] .t-left,:host[tuiIconButton] .t-right{margin:0!important}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%;cursor:default}.t-left{margin-right:.5rem}:host[data-size=s] .t-left{margin-right:.375rem}:host[data-size=xs] .t-left{margin-right:.25rem}.t-right{margin:0 -.25rem 0 .25rem}:host[data-size=s] .t-right{margin:0 -.25rem 0 .375rem}:host[data-size=xs] .t-right{margin:0 -.125rem 0 .25rem}.t-icon{display:flex;max-width:100%;max-height:100%;align-items:center;justify-content:center}.t-left,.t-right{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}:host[data-size=s] .t-left,:host[data-size=s] .t-right,:host[data-size=xs] .t-left,:host[data-size=xs] .t-right{width:1rem;height:1rem}:host[tuiIconButton][data-appearance=icon][data-size=s] .t-left,:host[tuiIconButton][data-appearance=icon][data-size=s] .t-right{width:1.5rem;height:1.5rem}.t-wrapper{box-sizing:border-box;cursor:pointer;isolation:isolate}:host[data-size=xs] .t-wrapper{padding:0 var(--tui-padding, .375rem)}:host[data-size=xs] .t-wrapper:after{border-width:1px}:host[data-size=s] .t-wrapper{padding:0 var(--tui-padding, .75rem)}:host[data-size=m] .t-wrapper{padding:0 var(--tui-padding, 1.5rem)}:host[data-size=l] .t-wrapper{padding:0 var(--tui-padding, 2.25rem)}:host[data-size=xl] .t-wrapper{padding:0 var(--tui-padding, 2.5rem)}:host[data-shape=square] .t-wrapper,:host[tuiIconButton] .t-wrapper{padding:0}.t-content{display:flex;height:100%;align-items:center;justify-content:center;text-align:center}:host._loading .t-content{opacity:0}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{
|
|
@@ -53,7 +53,7 @@ class TuiOptionComponent {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent), optional: true }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n class=\"t-arrow\"\n [src]=\"icons.more\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;justify-content:space-between;text-align:left;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;
|
|
56
|
+
TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n class=\"t-arrow\"\n [src]=\"icons.more\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;justify-content:space-between;text-align:left;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;cursor:pointer;background-clip:padding-box}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
57
57
|
__decorate([
|
|
58
58
|
shouldCall(shouldFocus)
|
|
59
59
|
], TuiOptionComponent.prototype, "onMouseMove", null);
|
|
@@ -7,7 +7,7 @@ import { TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taig
|
|
|
7
7
|
import * as i3 from '@tinkoff/ng-polymorpheus';
|
|
8
8
|
import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
9
9
|
import * as i5 from 'rxjs';
|
|
10
|
-
import { EMPTY, Observable, merge,
|
|
10
|
+
import { EMPTY, Observable, merge, isObservable, of, Subject } from 'rxjs';
|
|
11
11
|
import { filter, switchMap, take, map, takeUntil } from 'rxjs/operators';
|
|
12
12
|
import * as i2 from '@angular/common';
|
|
13
13
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
@@ -76,6 +76,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
76
76
|
}] }]; } });
|
|
77
77
|
|
|
78
78
|
const REQUIRED_ERROR = new Error('Required dialog was dismissed');
|
|
79
|
+
function toObservable(valueOrStream) {
|
|
80
|
+
return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
|
|
81
|
+
}
|
|
79
82
|
class TuiDialogComponent {
|
|
80
83
|
constructor(duration, isMobile, context, destroy$, dialogClose$, close$, closeWord$, icons) {
|
|
81
84
|
this.duration = duration;
|
|
@@ -183,9 +186,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
183
186
|
type: HostBinding,
|
|
184
187
|
args: ['@tuiFadeIn']
|
|
185
188
|
}] } });
|
|
186
|
-
function toObservable(valueOrStream) {
|
|
187
|
-
return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
|
|
188
|
-
}
|
|
189
189
|
|
|
190
190
|
const DIALOG = new PolymorpheusComponent(TuiDialogComponent);
|
|
191
191
|
class TuiDialogService extends AbstractTuiDialogService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog-close.service.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/components/dialog/dialog.directive.ts","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Observable} from 'rxjs';\n\ntype TuiDialogDefaultOptions = Omit<TuiDialogOptions<unknown>, 'data'>;\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogDefaultOptions = {\n size: `m`,\n required: false,\n closeable: true,\n dismissible: true,\n label: ``,\n header: ``,\n};\n\n/**\n * A stream to close dialogs\n */\nexport const TUI_DIALOGS_CLOSE = tuiCreateToken<Observable<unknown>>(EMPTY);\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = tuiCreateToken(TUI_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogDefaultOptions>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiIsElement,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, switchMap, take} from 'rxjs/operators';\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n@Injectable()\nexport class TuiDialogCloseService extends Observable<unknown> {\n private readonly esc$ = tuiTypedFromEvent(this.doc, `keydown`).pipe(\n filter(event => {\n const target = tuiGetActualTarget(event);\n\n return (\n event.key === `Escape` &&\n !event.defaultPrevented &&\n (this.element.contains(target) || this.isOutside(target))\n );\n }),\n );\n\n private readonly mousedown$ = tuiTypedFromEvent(this.doc, `mousedown`).pipe(\n filter(\n event =>\n tuiGetViewportWidth(this.win) - event.clientX > SCROLLBAR_PLACEHOLDER &&\n this.isOutside(tuiGetActualTarget(event)),\n ),\n switchMap(() =>\n tuiTypedFromEvent(this.doc, `mouseup`).pipe(\n take(1),\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n ),\n ),\n );\n\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => merge(this.esc$, this.mousedown$).subscribe(subscriber));\n }\n\n private get element(): HTMLElement {\n return this.el.nativeElement;\n }\n\n private isOutside(target: EventTarget): boolean {\n return (\n tuiIsElement(target) &&\n (!tuiContainsOrAfter(this.element, target) || target === this.element)\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n TUI_IS_MOBILE,\n TuiDestroyService,\n TuiDialog,\n} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TuiCommonIcons,\n} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, merge, Observable, of, Subject} from 'rxjs';\nimport {filter, map, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DIALOGS_CLOSE} from './dialog.tokens';\nimport {TuiDialogCloseService} from './dialog-close.service';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiDialogCloseService],\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n },\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n readonly close$ = new Subject();\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TuiDestroyService) @Self() destroy$: Observable<void>,\n @Inject(TuiDialogCloseService) dialogClose$: Observable<unknown>,\n @Inject(TUI_DIALOGS_CLOSE) close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n merge(\n this.close$.pipe(switchMap(() => toObservable(context.closeable))),\n dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))),\n close$.pipe(map(ALWAYS_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntil(destroy$))\n .subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent<TuiDialog<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.fullscreen || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n get fullscreen(): boolean {\n return !this.isMobile && (this.size === 'fullscreen' || this.size === 'page');\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n","<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = {\n ...inject(TUI_DIALOG_OPTIONS),\n data: undefined,\n };\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog, TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiAutoFocusModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n providers: [tuiAsDialog(TuiDialogService)],\n exports: [TuiDialogComponent, TuiDialogDirective],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog-close.service.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/components/dialog/dialog.directive.ts","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Observable} from 'rxjs';\n\ntype TuiDialogDefaultOptions = Omit<TuiDialogOptions<unknown>, 'data'>;\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogDefaultOptions = {\n size: `m`,\n required: false,\n closeable: true,\n dismissible: true,\n label: ``,\n header: ``,\n};\n\n/**\n * A stream to close dialogs\n */\nexport const TUI_DIALOGS_CLOSE = tuiCreateToken<Observable<unknown>>(EMPTY);\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = tuiCreateToken(TUI_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogDefaultOptions>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiIsElement,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, switchMap, take} from 'rxjs/operators';\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n@Injectable()\nexport class TuiDialogCloseService extends Observable<unknown> {\n private readonly esc$ = tuiTypedFromEvent(this.doc, `keydown`).pipe(\n filter(event => {\n const target = tuiGetActualTarget(event);\n\n return (\n event.key === `Escape` &&\n !event.defaultPrevented &&\n (this.element.contains(target) || this.isOutside(target))\n );\n }),\n );\n\n private readonly mousedown$ = tuiTypedFromEvent(this.doc, `mousedown`).pipe(\n filter(\n event =>\n tuiGetViewportWidth(this.win) - event.clientX > SCROLLBAR_PLACEHOLDER &&\n this.isOutside(tuiGetActualTarget(event)),\n ),\n switchMap(() =>\n tuiTypedFromEvent(this.doc, `mouseup`).pipe(\n take(1),\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n ),\n ),\n );\n\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => merge(this.esc$, this.mousedown$).subscribe(subscriber));\n }\n\n private get element(): HTMLElement {\n return this.el.nativeElement;\n }\n\n private isOutside(target: EventTarget): boolean {\n return (\n tuiIsElement(target) &&\n (!tuiContainsOrAfter(this.element, target) || target === this.element)\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n TUI_IS_MOBILE,\n TuiDestroyService,\n TuiDialog,\n} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TuiCommonIcons,\n} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, merge, Observable, of, Subject} from 'rxjs';\nimport {filter, map, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DIALOGS_CLOSE} from './dialog.tokens';\nimport {TuiDialogCloseService} from './dialog-close.service';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiDialogCloseService],\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n },\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n readonly close$ = new Subject();\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TuiDestroyService) @Self() destroy$: Observable<void>,\n @Inject(TuiDialogCloseService) dialogClose$: Observable<unknown>,\n @Inject(TUI_DIALOGS_CLOSE) close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n merge(\n this.close$.pipe(switchMap(() => toObservable(context.closeable))),\n dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))),\n close$.pipe(map(ALWAYS_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntil(destroy$))\n .subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent<TuiDialog<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.fullscreen || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n get fullscreen(): boolean {\n return !this.isMobile && (this.size === 'fullscreen' || this.size === 'page');\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = {\n ...inject(TUI_DIALOG_OPTIONS),\n data: undefined,\n };\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog, TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiAutoFocusModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n providers: [tuiAsDialog(TuiDialogService)],\n exports: [TuiDialogComponent, TuiDialogDirective],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -281,7 +281,7 @@ TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
281
281
|
provide: TUI_HOSTED_DROPDOWN_COMPONENT,
|
|
282
282
|
useExisting: TuiHostedDropdownComponent,
|
|
283
283
|
},
|
|
284
|
-
], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective$1, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiDropdownSided]=\"sided\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiObscured)=\"onHostObscured($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n class=\"t-dropdown\"\n (keydown)=\"onKeydown($event)\"\n >\n <
|
|
284
|
+
], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective$1, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiDropdownSided]=\"sided\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiObscured)=\"onHostObscured($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n class=\"t-dropdown\"\n (keydown)=\"onKeydown($event)\"\n >\n <div\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}.t-dropdown{height:100%}.t-primitive{padding:1rem}\n"], directives: [{ type: i1$1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: TuiAccessorProxyDirective, selector: "[tuiAccessorProxy]" }, { type: TuiDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i4.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i4.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i4.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i1$1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1$1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i5.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
285
285
|
__decorate([
|
|
286
286
|
shouldCall(shouldClose)
|
|
287
287
|
], TuiHostedDropdownComponent.prototype, "onKeyDownEsc", null);
|