@taiga-ui/core 2.49.2 → 2.50.2
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-data-list.umd.js +2 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +6 -5
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.js +5 -4
- package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.js +5 -5
- package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +18 -19
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +1 -1
- package/bundles/taiga-ui-core-components-root.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +2 -2
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +46 -0
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js +1 -0
- package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +3 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mobile.umd.js +17 -0
- package/bundles/taiga-ui-core-utils-mobile.umd.js.map +1 -0
- package/bundles/taiga-ui-core-utils-mobile.umd.min.js +2 -0
- package/bundles/taiga-ui-core-utils-mobile.umd.min.js.map +1 -0
- package/bundles/taiga-ui-core-utils.umd.js +12 -4
- package/bundles/taiga-ui-core-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils.umd.min.js +1 -1
- package/components/data-list/data-list.component.d.ts +1 -1
- package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
- package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
- package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
- package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
- package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +6 -6
- package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
- package/constants/taiga-ui-core-constants.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/esm2015/components/data-list/data-list.component.js +3 -3
- package/esm2015/components/dialog/dialog.providers.js +4 -2
- package/esm2015/components/dropdown-box/dropdown-box.component.js +7 -6
- package/esm2015/components/hints-host/hint-box/hint-box.component.js +3 -2
- package/esm2015/components/primitive-textfield/primitive-textfield.module.js +2 -4
- package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +17 -19
- package/esm2015/components/root/root.component.js +1 -1
- package/esm2015/constants/version.js +2 -2
- package/esm2015/interfaces/number-format-settings.js +1 -1
- package/esm2015/tokens/is-mobile-resolution.js +4 -3
- package/esm2015/utils/dom/get-viewport-height.js +21 -0
- package/esm2015/utils/dom/get-viewport-width.js +21 -0
- package/esm2015/utils/dom/index.js +3 -1
- package/esm2015/utils/format/format-number.js +2 -1
- package/esm2015/utils/index.js +2 -1
- package/esm2015/utils/mask/create-number-mask.js +4 -2
- package/esm2015/utils/mobile/index.js +2 -0
- package/esm2015/utils/mobile/is-mobile.js +5 -0
- package/esm2015/utils/mobile/taiga-ui-core-utils-mobile.js +5 -0
- package/esm5/components/data-list/data-list.component.js +3 -2
- package/esm5/components/dialog/dialog.providers.js +4 -2
- package/esm5/components/dropdown-box/dropdown-box.component.js +7 -6
- package/esm5/components/hints-host/hint-box/hint-box.component.js +3 -2
- package/esm5/components/primitive-textfield/primitive-textfield.module.js +2 -4
- package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +17 -19
- package/esm5/components/root/root.component.js +1 -1
- package/esm5/constants/version.js +2 -2
- package/esm5/interfaces/number-format-settings.js +1 -1
- package/esm5/tokens/is-mobile-resolution.js +4 -3
- package/esm5/utils/dom/get-viewport-height.js +22 -0
- package/esm5/utils/dom/get-viewport-width.js +22 -0
- package/esm5/utils/dom/index.js +3 -1
- package/esm5/utils/format/format-number.js +2 -1
- package/esm5/utils/index.js +2 -1
- package/esm5/utils/mask/create-number-mask.js +4 -2
- package/esm5/utils/mobile/index.js +2 -0
- package/esm5/utils/mobile/is-mobile.js +6 -0
- package/esm5/utils/mobile/taiga-ui-core-utils-mobile.js +5 -0
- package/fesm2015/taiga-ui-core-components-data-list.js +2 -2
- package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +3 -1
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dropdown-box.js +6 -5
- package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hints-host.js +2 -1
- package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +17 -19
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +3 -3
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +43 -1
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js +1 -0
- package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +3 -1
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mobile.js +12 -0
- package/fesm2015/taiga-ui-core-utils-mobile.js.map +1 -0
- package/fesm2015/taiga-ui-core-utils.js +1 -0
- package/fesm2015/taiga-ui-core-utils.js.map +1 -1
- package/fesm5/taiga-ui-core-components-data-list.js +2 -1
- package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dialog.js +3 -1
- package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dropdown-box.js +6 -5
- package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
- package/fesm5/taiga-ui-core-components-hints-host.js +2 -1
- package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-textfield.js +17 -19
- package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm5/taiga-ui-core-components-root.js +1 -1
- package/fesm5/taiga-ui-core-constants.js +1 -1
- package/fesm5/taiga-ui-core-constants.js.map +1 -1
- package/fesm5/taiga-ui-core-tokens.js +3 -3
- package/fesm5/taiga-ui-core-tokens.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-dom.js +45 -1
- package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-format.js +1 -0
- package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-mask.js +3 -1
- package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-mobile.js +13 -0
- package/fesm5/taiga-ui-core-utils-mobile.js.map +1 -0
- package/fesm5/taiga-ui-core-utils.js +1 -0
- package/fesm5/taiga-ui-core-utils.js.map +1 -1
- package/package.json +4 -4
- package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
- package/utils/dom/get-viewport-height.d.ts +18 -0
- package/utils/dom/get-viewport-width.d.ts +18 -0
- package/utils/dom/index.d.ts +2 -0
- package/utils/dom/taiga-ui-core-utils-dom.metadata.json +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/mobile/index.d.ts +1 -0
- package/utils/mobile/is-mobile.d.ts +2 -0
- package/utils/mobile/package.json +13 -0
- package/utils/mobile/taiga-ui-core-utils-mobile.d.ts +4 -0
- package/utils/mobile/taiga-ui-core-utils-mobile.metadata.json +1 -0
- package/utils/taiga-ui-core-utils.metadata.json +1 -1
|
@@ -2,7 +2,6 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NgModule } from '@angular/core';
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
5
|
-
import { MutationObserverModule } from '@ng-web-apis/mutation-observer';
|
|
6
5
|
import { TuiAutofilledModule, TuiFocusableModule, TuiHoveredModule, TuiInputModeModule, } from '@taiga-ui/cdk';
|
|
7
6
|
import { TuiSvgModule } from '@taiga-ui/core/components/svg';
|
|
8
7
|
import { TuiTooltipModule } from '@taiga-ui/core/components/tooltip';
|
|
@@ -22,17 +21,16 @@ var TuiPrimitiveTextfieldModule = /** @class */ (function () {
|
|
|
22
21
|
imports: [
|
|
23
22
|
CommonModule,
|
|
24
23
|
FormsModule,
|
|
24
|
+
PolymorpheusModule,
|
|
25
25
|
TuiMaskAccessorModule,
|
|
26
26
|
TuiFocusableModule,
|
|
27
27
|
TuiHoveredModule,
|
|
28
28
|
TuiInputModeModule,
|
|
29
|
-
PolymorpheusModule,
|
|
30
29
|
TuiWrapperModule,
|
|
31
30
|
TuiSvgModule,
|
|
32
31
|
TuiTooltipModule,
|
|
33
32
|
TuiAutofilledModule,
|
|
34
33
|
TuiDescribedByModule,
|
|
35
|
-
MutationObserverModule,
|
|
36
34
|
],
|
|
37
35
|
declarations: [
|
|
38
36
|
TuiPrimitiveTextfieldComponent,
|
|
@@ -50,4 +48,4 @@ var TuiPrimitiveTextfieldModule = /** @class */ (function () {
|
|
|
50
48
|
return TuiPrimitiveTextfieldModule;
|
|
51
49
|
}());
|
|
52
50
|
export { TuiPrimitiveTextfieldModule };
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQvIiwic291cmNlcyI6WyJwcmltaXRpdmUtdGV4dGZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBNkIxRjtJQUFBO0lBQTBDLENBQUM7SUFBOUIsMkJBQTJCO1FBM0J2QyxRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixXQUFXO2dCQUNYLGtCQUFrQjtnQkFDbEIscUJBQXFCO2dCQUNyQixrQkFBa0I7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixtQkFBbUI7Z0JBQ25CLG9CQUFvQjthQUN2QjtZQUNELFlBQVksRUFBRTtnQkFDViw4QkFBOEI7Z0JBQzlCLDhCQUE4QjtnQkFDOUIscUJBQXFCO2dCQUNyQiwyQkFBMkI7YUFDOUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ0wsOEJBQThCO2dCQUM5Qiw4QkFBOEI7Z0JBQzlCLHFCQUFxQjthQUN4QjtTQUNKLENBQUM7T0FDVywyQkFBMkIsQ0FBRztJQUFELGtDQUFDO0NBQUEsQUFBM0MsSUFBMkM7U0FBOUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgVHVpQXV0b2ZpbGxlZE1vZHVsZSxcbiAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICBUdWlJbnB1dE1vZGVNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTdmdNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc3ZnJztcbmltcG9ydCB7VHVpVG9vbHRpcE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7VHVpRGVzY3JpYmVkQnlNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZGVzY3JpYmVkLWJ5JztcbmltcG9ydCB7VHVpTWFza0FjY2Vzc29yTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL21hc2stYWNjZXNzb3InO1xuaW1wb3J0IHtUdWlXcmFwcGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3dyYXBwZXInO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkRGlyZWN0aXZlfSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7VHVpVmFsdWVEZWNvcmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL3ZhbHVlLWRlY29yYXRpb24vdmFsdWUtZGVjb3JhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlNYXNrQWNjZXNzb3JNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICAgICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRNb2RlTW9kdWxlLFxuICAgICAgICBUdWlXcmFwcGVyTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aUF1dG9maWxsZWRNb2R1bGUsXG4gICAgICAgIFR1aURlc2NyaWJlZEJ5TW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgIFR1aVZhbHVlRGVjb3JhdGlvbkNvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, ViewChild, } from '@angular/core';
|
|
3
|
-
import { MutationObserverDirective } from '@ng-web-apis/mutation-observer';
|
|
4
|
-
import { TuiResizeService } from '@taiga-ui/cdk';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Inject, ViewChild, } from '@angular/core';
|
|
5
3
|
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiTextfieldController, } from '@taiga-ui/core/directives';
|
|
6
|
-
import {
|
|
7
|
-
import { distinctUntilChanged,
|
|
4
|
+
import { BehaviorSubject } from 'rxjs';
|
|
5
|
+
import { delay, distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
8
6
|
import { TuiPrimitiveTextfieldComponent } from '../primitive-textfield.component';
|
|
9
7
|
var TuiValueDecorationComponent = /** @class */ (function () {
|
|
10
|
-
function TuiValueDecorationComponent(textfield, controller
|
|
8
|
+
function TuiValueDecorationComponent(textfield, controller) {
|
|
11
9
|
var _this = this;
|
|
12
10
|
this.textfield = textfield;
|
|
13
11
|
this.controller = controller;
|
|
14
|
-
this.
|
|
15
|
-
this.pre$ =
|
|
12
|
+
this.prefix$ = new BehaviorSubject('');
|
|
13
|
+
this.pre$ = this.prefix$.pipe(delay(0), filter(function () { var _a; return !!((_a = _this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.isConnected); }), distinctUntilChanged(), map(function () { var _a; return ((_a = _this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.offsetWidth) || 0; }));
|
|
16
14
|
}
|
|
17
15
|
Object.defineProperty(TuiValueDecorationComponent.prototype, "isContextTable", {
|
|
18
16
|
get: function () {
|
|
@@ -53,6 +51,9 @@ var TuiValueDecorationComponent = /** @class */ (function () {
|
|
|
53
51
|
enumerable: true,
|
|
54
52
|
configurable: true
|
|
55
53
|
});
|
|
54
|
+
TuiValueDecorationComponent.prototype.ngDoCheck = function () {
|
|
55
|
+
this.prefix$.next(this.prefix);
|
|
56
|
+
};
|
|
56
57
|
Object.defineProperty(TuiValueDecorationComponent.prototype, "placeholder", {
|
|
57
58
|
get: function () {
|
|
58
59
|
var _a;
|
|
@@ -94,32 +95,29 @@ var TuiValueDecorationComponent = /** @class */ (function () {
|
|
|
94
95
|
});
|
|
95
96
|
TuiValueDecorationComponent.ctorParameters = function () { return [
|
|
96
97
|
{ type: TuiPrimitiveTextfieldComponent, decorators: [{ type: Inject, args: [TuiPrimitiveTextfieldComponent,] }] },
|
|
97
|
-
{ type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] }
|
|
98
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TuiResizeService,] }] }
|
|
98
|
+
{ type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] }
|
|
99
99
|
]; };
|
|
100
100
|
__decorate([
|
|
101
101
|
ViewChild('pre', { read: ElementRef, static: true })
|
|
102
102
|
], TuiValueDecorationComponent.prototype, "pre", void 0);
|
|
103
|
-
__decorate([
|
|
104
|
-
ViewChild(MutationObserverDirective, { static: true })
|
|
105
|
-
], TuiValueDecorationComponent.prototype, "directive", void 0);
|
|
106
103
|
__decorate([
|
|
107
104
|
HostBinding('class._table')
|
|
108
105
|
], TuiValueDecorationComponent.prototype, "isContextTable", null);
|
|
106
|
+
__decorate([
|
|
107
|
+
HostListener('animationstart')
|
|
108
|
+
], TuiValueDecorationComponent.prototype, "ngDoCheck", null);
|
|
109
109
|
TuiValueDecorationComponent = __decorate([
|
|
110
110
|
Component({
|
|
111
111
|
selector: 'tui-value-decoration',
|
|
112
|
-
template: "<span
|
|
113
|
-
providers: [TuiResizeService],
|
|
112
|
+
template: "<span #pre>{{ prefix }}</span>\n<span class=\"t-ghost\">{{ value }}</span>\n<span class=\"t-filler\">{{ filler }}</span>\n{{ postfix }}\n",
|
|
114
113
|
// It follows Change Detection of PrimitiveTextfield
|
|
115
114
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
116
|
-
styles: [":host{position:absolute;display:block;height:1.25rem;
|
|
115
|
+
styles: [":host{position:absolute;display:block;height:1.25rem;width:100%;margin:-1.25rem 0;padding:.625rem 0;box-sizing:content-box;color:var(--tui-text-01);-webkit-animation:1s tuiPresent;animation:1s tuiPresent}:host._table{position:static}:host-context(tui-textfield[data-mode=onDark]) :host{color:var(--tui-text-01-night)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-filler{display:inline-block;overflow:hidden;color:var(--tui-text-03);text-overflow:ellipsis;max-width:100%;white-space:nowrap}:host-context(tui-textfield[data-mode=onDark]) .t-filler{color:var(--tui-text-03-night)}"]
|
|
117
116
|
}),
|
|
118
117
|
__param(0, Inject(TuiPrimitiveTextfieldComponent)),
|
|
119
|
-
__param(1, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER))
|
|
120
|
-
__param(2, Inject(TuiResizeService))
|
|
118
|
+
__param(1, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER))
|
|
121
119
|
], TuiValueDecorationComponent);
|
|
122
120
|
return TuiValueDecorationComponent;
|
|
123
121
|
}());
|
|
124
122
|
export { TuiValueDecorationComponent };
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtZGVjb3JhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQvIiwic291cmNlcyI6WyJ2YWx1ZS1kZWNvcmF0aW9uL3ZhbHVlLWRlY29yYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsc0JBQXNCLEdBQ3pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQVNoRjtJQWFJLHFDQUVxQixTQUF5QyxFQUV6QyxVQUFrQztRQUp2RCxpQkFLSTtRQUhpQixjQUFTLEdBQVQsU0FBUyxDQUFnQztRQUV6QyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQWJ0QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFMUMsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1IsTUFBTSxDQUFDLHNCQUFNLE9BQUEsQ0FBQyxRQUFDLEtBQUksQ0FBQyxHQUFHLDBDQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUEsQ0FBQSxFQUFBLENBQUMsRUFDbkQsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLHNCQUFNLE9BQUEsT0FBQSxLQUFJLENBQUMsR0FBRyww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QVcsQ0FBQyxjQUFjLENBQUM7cUVBRzNCO0lBeUJEO1FBREMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO2dFQUc5QjtJQWxEUSwyQkFBMkI7UUFQdkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxxSkFBNkM7WUFFN0Msb0RBQW9EO1lBQ3BELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPOztTQUNuRCxDQUFDO1FBZU8sV0FBQSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0QyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BaEJwQywyQkFBMkIsQ0EyRXZDO0lBQUQsa0NBQUM7Q0FBQSxBQTNFRCxJQTJFQztTQTNFWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpQXBwZWFyYW5jZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi9wcmltaXRpdmUtdGV4dGZpZWxkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXZhbHVlLWRlY29yYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAndmFsdWUtZGVjb3JhdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsndmFsdWUtZGVjb3JhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgLy8gSXQgZm9sbG93cyBDaGFuZ2UgRGV0ZWN0aW9uIG9mIFByaW1pdGl2ZVRleHRmaWVsZFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVmFsdWVEZWNvcmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gICAgQFZpZXdDaGlsZCgncHJlJywge3JlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmU/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZml4JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG4gICAgcmVhZG9ubHkgcHJlJCA9IHRoaXMucHJlZml4JC5waXBlKFxuICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5wcmU/Lm5hdGl2ZUVsZW1lbnQuaXNDb25uZWN0ZWQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5wcmU/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ6IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICkge31cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3RhYmxlJylcbiAgICBnZXQgaXNDb250ZXh0VGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZC5hcHBlYXJhbmNlID09PSBUdWlBcHBlYXJhbmNlLlRhYmxlO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGxlcigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7Zm9jdXNlZCwgcGxhY2Vob2xkZXIsIGV4YW1wbGVUZXh0LCB2YWx1ZSwgdGV4dGZpZWxkfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHBsYWNlaG9sZGVyICYmIGV4YW1wbGVUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9jdXNlZCA/IGV4YW1wbGVUZXh0IHx8IHRleHRmaWVsZC5maWxsZXIuc2xpY2UodmFsdWUubGVuZ3RoKSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjb3JhdGlvbnNWaXNpYmxlID8gdGhpcy50ZXh0ZmllbGQucHJlZml4IDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IHBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjb3JhdGlvbnNWaXNpYmxlID8gdGhpcy5jb21wdXRlZFBvc3RmaXggOiAnJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdhbmltYXRpb25zdGFydCcpXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZWZpeCQubmV4dCh0aGlzLnByZWZpeCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnBsYWNlaG9sZGVyIHx8ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGV4YW1wbGVUZXh0ID0gdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0IHx8IHRoaXMucGxhY2Vob2xkZXI7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlICYmIHRoaXMuZm9jdXNlZCA/IGV4YW1wbGVUZXh0IDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZGVjb3JhdGlvbnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlIHx8IHRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnRleHRmaWVsZC5yZWFkT25seTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb21wdXRlZFBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkLnBvc3RmaXggJiYgKHRoaXMuZmlsbGVyIHx8IHRoaXMudmFsdWUpXG4gICAgICAgICAgICA/IGAgJHt0aGlzLnRleHRmaWVsZC5wb3N0Zml4fWBcbiAgICAgICAgICAgIDogdGhpcy50ZXh0ZmllbGQucG9zdGZpeDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -46,7 +46,7 @@ var TuiRootComponent = /** @class */ (function () {
|
|
|
46
46
|
'[style.--tui-duration]': 'duration + "ms"',
|
|
47
47
|
'($.class._mobile)': 'isMobileRes$',
|
|
48
48
|
},
|
|
49
|
-
styles: [":host{position:relative;display:block;flex:1}.scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.content{position:relative;z-index:0;height:100%}"]
|
|
49
|
+
styles: ["@-webkit-keyframes tuiPresent{to{content:'1'}}@keyframes tuiPresent{to{content:'1'}}:host{position:relative;display:block;flex:1}.scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.content{position:relative;z-index:0;height:100%}"]
|
|
50
50
|
}),
|
|
51
51
|
__param(0, Inject(TUI_ANIMATIONS_DURATION)),
|
|
52
52
|
__param(1, Inject(ElementRef)),
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var VERSION = '2.
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var VERSION = '2.50.2';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuNTAuMic7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMvIiwic291cmNlcyI6WyJudW1iZXItZm9ybWF0LXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBGb3JtYXR0aW5nIGNvbmZpZ3VyYXRpb24gZm9yIGRpc3BsYXllZCBudW1iZXJzXG4gKiBkZWNpbWFsU2VwYXJhdG9yIC0gZXhhbXBsZTogMTAwLDQ1ICgnLCcgYnkgZGVmYXVsdClcbiAqIHRob3VzYW5kU2VwYXJhdG9yIC0gZXhhbXBsZTogMzYwIDAwMCAoJyAnIGJ5IGRlZmF1bHQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3Mge1xuICAgIHJlYWRvbmx5IGRlY2ltYWxTZXBhcmF0b3I6IFR1aURlY2ltYWxTeW1ib2w7XG4gICAgcmVhZG9ubHkgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZztcbiAgICByZWFkb25seSB6ZXJvUGFkZGluZzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aU51bWJlckZvcm1hdFNldHRpbmdzfVxuICogVE9ETyBkZWxldGUgaW4gdjMuMFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlckZvcm1hdFNldHRpbmdzIGV4dGVuZHMgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3Mge31cbiJdfQ==
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { inject, InjectionToken, NgZone } from '@angular/core';
|
|
2
2
|
import { WINDOW } from '@ng-web-apis/common';
|
|
3
3
|
import { tuiZoneOptimized, typedFromEvent } from '@taiga-ui/cdk';
|
|
4
|
+
import { tuiIsMobile } from '@taiga-ui/core/utils';
|
|
4
5
|
import { distinctUntilChanged, map, share, startWith } from 'rxjs/operators';
|
|
5
6
|
import { TUI_MEDIA } from './media';
|
|
6
7
|
export var TUI_IS_MOBILE_RES = new InjectionToken('Mobile resolution stream for private providers', {
|
|
7
8
|
factory: function () {
|
|
8
9
|
var windowRef = inject(WINDOW);
|
|
9
|
-
var
|
|
10
|
-
return typedFromEvent(windowRef, 'resize').pipe(share(), startWith(null), map(function () { return windowRef
|
|
10
|
+
var media = inject(TUI_MEDIA);
|
|
11
|
+
return typedFromEvent(windowRef, 'resize').pipe(share(), startWith(null), map(function () { return tuiIsMobile(windowRef, media); }), distinctUntilChanged(), tuiZoneOptimized(inject(NgZone)));
|
|
11
12
|
},
|
|
12
13
|
});
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9iaWxlLXJlc29sdXRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS90b2tlbnMvIiwic291cmNlcyI6WyJpcy1tb2JpbGUtcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLGdEQUFnRCxFQUNoRDtJQUNJLE9BQU8sRUFBRTtRQUNMLElBQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEMsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDM0MsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxjQUFNLE9BQUEsV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxFQUN4QyxvQkFBb0IsRUFBRSxFQUN0QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkMsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW4sIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aVpvbmVPcHRpbWl6ZWQsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpSXNNb2JpbGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfTUVESUF9IGZyb20gJy4vbWVkaWEnO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX01PQklMRV9SRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXG4gICAgJ01vYmlsZSByZXNvbHV0aW9uIHN0cmVhbSBmb3IgcHJpdmF0ZSBwcm92aWRlcnMnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgd2luZG93UmVmID0gaW5qZWN0KFdJTkRPVyk7XG4gICAgICAgICAgICBjb25zdCBtZWRpYSA9IGluamVjdChUVUlfTUVESUEpO1xuXG4gICAgICAgICAgICByZXR1cm4gdHlwZWRGcm9tRXZlbnQod2luZG93UmVmLCAncmVzaXplJykucGlwZShcbiAgICAgICAgICAgICAgICBzaGFyZSgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdHVpSXNNb2JpbGUod2luZG93UmVmLCBtZWRpYSkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgdHVpWm9uZU9wdGltaXplZChpbmplY3QoTmdab25lKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgIH0sXG4pO1xuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description:
|
|
3
|
+
* Cross-browser @media (height)
|
|
4
|
+
*
|
|
5
|
+
* 1. window.innerWidth
|
|
6
|
+
* 1.1. gets CSS viewport @media (height) which include scrollbars
|
|
7
|
+
* 1.2. initial-scale and zoom variations may cause mobile values to
|
|
8
|
+
* wrongly scale down to what PPK calls the visual
|
|
9
|
+
* viewport and be smaller than the @media values
|
|
10
|
+
* 1.3. zoom may cause values to be 1px off due to native rounding
|
|
11
|
+
*
|
|
12
|
+
* 2. document.documentElement.clientHeight
|
|
13
|
+
* 2.1. equals CSS viewport width minus scrollbar width
|
|
14
|
+
* 2.2. matches @media (height) when there is no scrollbar
|
|
15
|
+
* 2.3. available cross-browser
|
|
16
|
+
* 2.4. inaccurate if doctype is missing
|
|
17
|
+
*/
|
|
18
|
+
export function tuiGetViewportHeight(_a) {
|
|
19
|
+
var document = _a.document, innerHeight = _a.innerHeight;
|
|
20
|
+
return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZpZXdwb3J0LWhlaWdodC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL2RvbS8iLCJzb3VyY2VzIjpbImdldC12aWV3cG9ydC1oZWlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsRUFBK0I7UUFBOUIsc0JBQVEsRUFBRSw0QkFBVztJQUN2RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb246XG4gKiBDcm9zcy1icm93c2VyIEBtZWRpYSAoaGVpZ2h0KVxuICpcbiAqIDEuIHdpbmRvdy5pbm5lcldpZHRoXG4gKiAxLjEuIGdldHMgQ1NTIHZpZXdwb3J0IEBtZWRpYSAoaGVpZ2h0KSB3aGljaCBpbmNsdWRlIHNjcm9sbGJhcnNcbiAqIDEuMi4gaW5pdGlhbC1zY2FsZSBhbmQgem9vbSB2YXJpYXRpb25zIG1heSBjYXVzZSBtb2JpbGUgdmFsdWVzIHRvXG4gKiAgICAgIHdyb25nbHkgc2NhbGUgZG93biB0byB3aGF0IFBQSyBjYWxscyB0aGUgdmlzdWFsXG4gKiAgICAgIHZpZXdwb3J0IGFuZCBiZSBzbWFsbGVyIHRoYW4gdGhlIEBtZWRpYSB2YWx1ZXNcbiAqICAxLjMuIHpvb20gbWF5IGNhdXNlIHZhbHVlcyB0byBiZSAxcHggb2ZmIGR1ZSB0byBuYXRpdmUgcm91bmRpbmdcbiAqXG4gKiAgMi4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodFxuICogIDIuMS4gZXF1YWxzIENTUyB2aWV3cG9ydCB3aWR0aCBtaW51cyBzY3JvbGxiYXIgd2lkdGhcbiAqICAyLjIuIG1hdGNoZXMgQG1lZGlhIChoZWlnaHQpIHdoZW4gdGhlcmUgaXMgbm8gc2Nyb2xsYmFyXG4gKiAgMi4zLiBhdmFpbGFibGUgY3Jvc3MtYnJvd3NlclxuICogIDIuNC4gaW5hY2N1cmF0ZSBpZiBkb2N0eXBlIGlzIG1pc3NpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldFZpZXdwb3J0SGVpZ2h0KHtkb2N1bWVudCwgaW5uZXJIZWlnaHR9OiBXaW5kb3cpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDAsIGlubmVySGVpZ2h0IHx8IDApO1xufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description:
|
|
3
|
+
* Cross-browser @media (width)
|
|
4
|
+
*
|
|
5
|
+
* 1. window.innerWidth
|
|
6
|
+
* 1.1. gets CSS viewport @media (width) which include scrollbars
|
|
7
|
+
* 1.2. initial-scale and zoom variations may cause mobile values to
|
|
8
|
+
* wrongly scale down to what PPK calls the visual
|
|
9
|
+
* viewport and be smaller than the @media values
|
|
10
|
+
* 1.3. zoom may cause values to be 1px off due to native rounding
|
|
11
|
+
*
|
|
12
|
+
* 2. document.documentElement.clientWidth
|
|
13
|
+
* 2.1. equals CSS viewport width minus scrollbar width
|
|
14
|
+
* 2.2. matches @media (width) when there is no scrollbar
|
|
15
|
+
* 2.3. available cross-browser
|
|
16
|
+
* 2.4. inaccurate if doctype is missing
|
|
17
|
+
*/
|
|
18
|
+
export function tuiGetViewportWidth(_a) {
|
|
19
|
+
var document = _a.document, innerWidth = _a.innerWidth;
|
|
20
|
+
return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZpZXdwb3J0LXdpZHRoLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvZG9tLyIsInNvdXJjZXMiOlsiZ2V0LXZpZXdwb3J0LXdpZHRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQThCO1FBQTdCLHNCQUFRLEVBQUUsMEJBQVU7SUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uOlxuICogQ3Jvc3MtYnJvd3NlciBAbWVkaWEgKHdpZHRoKVxuICpcbiAqIDEuIHdpbmRvdy5pbm5lcldpZHRoXG4gKiAxLjEuIGdldHMgQ1NTIHZpZXdwb3J0IEBtZWRpYSAod2lkdGgpIHdoaWNoIGluY2x1ZGUgc2Nyb2xsYmFyc1xuICogMS4yLiBpbml0aWFsLXNjYWxlIGFuZCB6b29tIHZhcmlhdGlvbnMgbWF5IGNhdXNlIG1vYmlsZSB2YWx1ZXMgdG9cbiAqICAgICAgd3JvbmdseSBzY2FsZSBkb3duIHRvIHdoYXQgUFBLIGNhbGxzIHRoZSB2aXN1YWxcbiAqICAgICAgdmlld3BvcnQgYW5kIGJlIHNtYWxsZXIgdGhhbiB0aGUgQG1lZGlhIHZhbHVlc1xuICogIDEuMy4gem9vbSBtYXkgY2F1c2UgdmFsdWVzIHRvIGJlIDFweCBvZmYgZHVlIHRvIG5hdGl2ZSByb3VuZGluZ1xuICpcbiAqICAyLiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGhcbiAqICAyLjEuIGVxdWFscyBDU1Mgdmlld3BvcnQgd2lkdGggbWludXMgc2Nyb2xsYmFyIHdpZHRoXG4gKiAgMi4yLiBtYXRjaGVzIEBtZWRpYSAod2lkdGgpIHdoZW4gdGhlcmUgaXMgbm8gc2Nyb2xsYmFyXG4gKiAgMi4zLiBhdmFpbGFibGUgY3Jvc3MtYnJvd3NlclxuICogIDIuNC4gaW5hY2N1cmF0ZSBpZiBkb2N0eXBlIGlzIG1pc3NpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUdldFZpZXdwb3J0V2lkdGgoe2RvY3VtZW50LCBpbm5lcldpZHRofTogV2luZG93KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIHx8IDAsIGlubmVyV2lkdGggfHwgMCk7XG59XG4iXX0=
|
package/esm5/utils/dom/index.js
CHANGED
|
@@ -2,5 +2,7 @@ export * from './are-css-vars-supported';
|
|
|
2
2
|
export * from './check-fixed-position';
|
|
3
3
|
export * from './get-safe-area-size';
|
|
4
4
|
export * from './get-screen-width';
|
|
5
|
+
export * from './get-viewport-height';
|
|
6
|
+
export * from './get-viewport-width';
|
|
5
7
|
export * from './process-icon';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9kb20vIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmUtY3NzLXZhcnMtc3VwcG9ydGVkJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2stZml4ZWQtcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2FmZS1hcmVhLXNpemUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2NyZWVuLXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXZpZXdwb3J0LWhlaWdodCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC12aWV3cG9ydC13aWR0aCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3MtaWNvbic7XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CHAR_HYPHEN, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
|
|
2
2
|
import { getFractionPartPadded } from './get-fractional-part-padded';
|
|
3
|
+
// TODO: refactor later to `formatNumber(value: number, options: Partial<AllTheStuff>)`
|
|
3
4
|
/**
|
|
4
5
|
* Formats number adding a thousand separators and correct decimal separator
|
|
5
6
|
* padding decimal part with zeroes to given length
|
|
@@ -39,4 +40,4 @@ export function formatNumber(value, decimalLimit, decimalSeparator, thousandSepa
|
|
|
39
40
|
}
|
|
40
41
|
return fractionPartPadded ? result + decimalSeparator + fractionPartPadded : result;
|
|
41
42
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdC8iLCJzb3VyY2VzIjpbImZvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSx1RkFBdUY7QUFDdkY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQ3hCLEtBQWEsRUFDYixZQUFrQyxFQUNsQyxnQkFBOEIsRUFDOUIsaUJBQStDLEVBQy9DLFdBQTJCO0lBSDNCLDZCQUFBLEVBQUEsbUJBQWtDO0lBQ2xDLGlDQUFBLEVBQUEsc0JBQThCO0lBQzlCLGtDQUFBLEVBQUEsdUNBQStDO0lBQy9DLDRCQUFBLEVBQUEsa0JBQTJCO0lBRTNCLElBQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFOUQsSUFBSSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFcEUsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLElBQUksV0FBVyxFQUFFO1lBQ2IsSUFBTSxlQUFlLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FDcEMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFDeEMsQ0FBQyxDQUNKLENBQUM7WUFDRixJQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRW5ELGtCQUFrQixHQUFHLEtBQUcsa0JBQWtCLEdBQUcsY0FBZ0IsQ0FBQztTQUNqRTthQUFNO1lBQ0gsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5RDtLQUNKO0lBRUQsSUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQztTQUMvQjtRQUVELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN4RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0hZUEhFTiwgQ0hBUl9OT19CUkVBS19TUEFDRX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7Z2V0RnJhY3Rpb25QYXJ0UGFkZGVkfSBmcm9tICcuL2dldC1mcmFjdGlvbmFsLXBhcnQtcGFkZGVkJztcblxuLy8gVE9ETzogcmVmYWN0b3IgbGF0ZXIgdG8gYGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyLCBvcHRpb25zOiBQYXJ0aWFsPEFsbFRoZVN0dWZmPilgXG4vKipcbiAqIEZvcm1hdHMgbnVtYmVyIGFkZGluZyBhIHRob3VzYW5kIHNlcGFyYXRvcnMgYW5kIGNvcnJlY3QgZGVjaW1hbCBzZXBhcmF0b3JcbiAqIHBhZGRpbmcgZGVjaW1hbCBwYXJ0IHdpdGggemVyb2VzIHRvIGdpdmVuIGxlbmd0aFxuICpcbiAqIEBwYXJhbSB2YWx1ZSB0aGUgaW5wdXQgbnVtYmVyXG4gKiBAcGFyYW0gZGVjaW1hbExpbWl0IG51bWJlciBvZiBkaWdpdHMgb2YgZGVjaW1hbCBwYXJ0LCBudWxsIHRvIGtlZXAgdW50b3VjaGVkXG4gKiBAcGFyYW0gZGVjaW1hbFNlcGFyYXRvciBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgaW50ZWdlciBhbmQgdGhlIGRlY2ltYWwgcGFydFxuICogQHBhcmFtIHRob3VzYW5kU2VwYXJhdG9yIHNlcGFyYXRvciBiZXR3ZWVuIHRob3VzYW5kc1xuICogQHBhcmFtIHplcm9QYWRkaW5nIGVuYWJsZSB6ZXJvcyBhdCB0aGUgZW5kIG9mIGRlY2ltYWwgcGFydFxuICogQHJldHVybiB0aGUgZm9ybWF0dGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgZGVjaW1hbExpbWl0OiBudW1iZXIgfCBudWxsID0gbnVsbCxcbiAgICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcsXG4gICAgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9IENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgemVyb1BhZGRpbmc6IGJvb2xlYW4gPSB0cnVlLFxuKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbnRlZ2VyUGFydFN0cmluZyA9IFN0cmluZyhNYXRoLmZsb29yKE1hdGguYWJzKHZhbHVlKSkpO1xuXG4gICAgbGV0IGZyYWN0aW9uUGFydFBhZGRlZCA9IGdldEZyYWN0aW9uUGFydFBhZGRlZCh2YWx1ZSwgZGVjaW1hbExpbWl0KTtcblxuICAgIGlmIChkZWNpbWFsTGltaXQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHplcm9QYWRkaW5nKSB7XG4gICAgICAgICAgICBjb25zdCB6ZXJvUGFkZGluZ1NpemU6IG51bWJlciA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uUGFydFBhZGRlZC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCB6ZXJvUGFydFN0cmluZyA9ICcwJy5yZXBlYXQoemVyb1BhZGRpbmdTaXplKTtcblxuICAgICAgICAgICAgZnJhY3Rpb25QYXJ0UGFkZGVkID0gYCR7ZnJhY3Rpb25QYXJ0UGFkZGVkfSR7emVyb1BhcnRTdHJpbmd9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZyYWN0aW9uUGFydFBhZGRlZCA9IGZyYWN0aW9uUGFydFBhZGRlZC5yZXBsYWNlKC8wKiQvLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5kZXIgPSBpbnRlZ2VyUGFydFN0cmluZy5sZW5ndGggJSAzO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA8IDAgPyBDSEFSX0hZUEhFTiA6ICcnO1xuICAgIGxldCByZXN1bHQgPSBzaWduICsgaW50ZWdlclBhcnRTdHJpbmcuY2hhckF0KDApO1xuXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBpbnRlZ2VyUGFydFN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaSAlIDMgPT09IHJlbWFpbmRlciAmJiBpbnRlZ2VyUGFydFN0cmluZy5sZW5ndGggPiAzKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhvdXNhbmRTZXBhcmF0b3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgKz0gaW50ZWdlclBhcnRTdHJpbmcuY2hhckF0KGkpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFjdGlvblBhcnRQYWRkZWQgPyByZXN1bHQgKyBkZWNpbWFsU2VwYXJhdG9yICsgZnJhY3Rpb25QYXJ0UGFkZGVkIDogcmVzdWx0O1xufVxuIl19
|
package/esm5/utils/index.js
CHANGED
|
@@ -2,5 +2,6 @@ export * from '@taiga-ui/core/utils/dom';
|
|
|
2
2
|
export * from '@taiga-ui/core/utils/format';
|
|
3
3
|
export * from '@taiga-ui/core/utils/mask';
|
|
4
4
|
export * from '@taiga-ui/core/utils/miscellaneous';
|
|
5
|
+
export * from '@taiga-ui/core/utils/mobile';
|
|
5
6
|
export * from '@taiga-ui/core/utils/polyfills';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZG9tJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9tYXNrJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbW9iaWxlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL3BvbHlmaWxscyc7XG4iXX0=
|
|
@@ -117,7 +117,9 @@ function convertToMask(strNumber) {
|
|
|
117
117
|
}
|
|
118
118
|
function addThousandsSeparator(strNumber, thousandSymbol) {
|
|
119
119
|
return strNumber.length > 3
|
|
120
|
-
?
|
|
120
|
+
? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
|
|
121
|
+
// eslint-disable-next-line unicorn/no-unsafe-regex
|
|
122
|
+
strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
|
|
121
123
|
: strNumber;
|
|
122
124
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxJQUFNLGNBQWMsR0FBRyxPQUFPLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFTUjtRQVRRLDRCQVNSLEVBUnhCLG9CQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIscUJBQW1CLEVBQW5CLHdDQUFtQixFQUNuQixzQkFBb0MsRUFBcEMseURBQW9DLEVBQ3BDLGdDQUErQixFQUEvQixvREFBK0IsRUFDL0Isb0JBQWdCLEVBQWhCLHFDQUFnQixFQUNoQixzQkFBc0IsRUFBdEIsMkNBQXNCLEVBQ3RCLHFCQUFxQixFQUFyQiwwQ0FBcUIsRUFDckIsb0JBQWdCLEVBQWhCLHFDQUFnQjtJQUVoQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyxPQUFPLFVBQUMsUUFBUSxF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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUF2RCxDQUF1RCxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfSFlQSEVOLCBDSEFSX05PX0JSRUFLX1NQQUNFLCB0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNQVNLX0NBUkVUX1RSQVAsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgIFRVSV9OT05fRElHSVRTX1JFR0VYUCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyTWFza09wdGlvbnMsIFR1aVRleHRNYXNrTGlzdEhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge290aGVyRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcblxuY29uc3QgTk9OX1pFUk9fRElHSVQgPSAvWzEtOV0vO1xuXG4vKipcbiAqIEFkYXB0YXRpb24gZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGV4dC1tYXNrL3RleHQtbWFzay90cmVlL21hc3Rlci9hZGRvbnMjY3JlYXRlbnVtYmVybWFzayBgY3JlYXRlTnVtYmVyTWFza2B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oJycpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gQ0hBUl9IWVBIRU4gfHwgcmF3VmFsdWVbMF0gPT09IENIQVJfRU5fREFTSCkgJiZcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gWycwJywgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsICdnJykpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbJyddO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgJycpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSBvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09ICcwJztcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoQ0hBUl9IWVBIRU4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmV2ZW50TGVhZGluZ1plcm9lcyhcbiAgICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIGlzT25seVplcm9EaWdpdDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGxlYWRpbmdaZXJvc0Ftb3VudDogbnVtYmVyID0gMCxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGlmIChpc09ubHlaZXJvRGlnaXQgfHwgbGVhZGluZ1plcm9zQW1vdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0RGlnaXRJbmRleCA9IG1hc2suaW5kZXhPZihUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChmaXJzdERpZ2l0SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZE1hc2tEaWdpdCA9IG1hc2tbZmlyc3REaWdpdEluZGV4ICsgMV07XG4gICAgY29uc3QgaXNDYXJldFRyYXAgPSBzZWNvbmRNYXNrRGlnaXQgPT09IE1BU0tfQ0FSRVRfVFJBUDtcblxuICAgIGlmIChpc0NhcmV0VHJhcCAmJiBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKG90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IHN0ck51bWJlci5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZFN5bWJvbClcbiAgICAgICAgOiBzdHJOdW1iZXI7XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxJQUFNLGNBQWMsR0FBRyxPQUFPLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFTUjtRQVRRLDRCQVNSLEVBUnhCLG9CQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIscUJBQW1CLEVBQW5CLHdDQUFtQixFQUNuQixzQkFBb0MsRUFBcEMseURBQW9DLEVBQ3BDLGdDQUErQixFQUEvQixvREFBK0IsRUFDL0Isb0JBQWdCLEVBQWhCLHFDQUFnQixFQUNoQixzQkFBc0IsRUFBdEIsMkNBQXNCLEVBQ3RCLHFCQUFxQixFQUFyQiwwQ0FBcUIsRUFDckIsb0JBQWdCLEVBQWhCLHFDQUFnQjtJQUVoQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyxPQUFPLFVBQUMsUUFBUSxF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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUF2RCxDQUF1RCxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsK0ZBQStGO1lBQy9GLG1EQUFtRDtZQUNuRCxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfRU5fREFTSCwgQ0hBUl9IWVBIRU4sIENIQVJfTk9fQlJFQUtfU1BBQ0UsIHR1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1BU0tfQ0FSRVRfVFJBUCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJNYXNrT3B0aW9ucywgVHVpVGV4dE1hc2tMaXN0SGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7b3RoZXJEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuXG5jb25zdCBOT05fWkVST19ESUdJVCA9IC9bMS05XS87XG5cbi8qKlxuICogQWRhcHRhdGlvbiBmb3Ige0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXh0LW1hc2svdGV4dC1tYXNrL3RyZWUvbWFzdGVyL2FkZG9ucyNjcmVhdGVudW1iZXJtYXNrIGBjcmVhdGVOdW1iZXJNYXNrYH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgIGFsbG93RGVjaW1hbCA9IGZhbHNlLFxuICAgIGRlY2ltYWxTeW1ib2wgPSAnLCcsXG4gICAgdGhvdXNhbmRTeW1ib2wgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCA9IHRydWUsXG4gICAgZGVjaW1hbExpbWl0ID0gMixcbiAgICByZXF1aXJlRGVjaW1hbCA9IGZhbHNlLFxuICAgIGFsbG93TmVnYXRpdmUgPSBmYWxzZSxcbiAgICBpbnRlZ2VyTGltaXQgPSAwLFxufTogVHVpTnVtYmVyTWFza09wdGlvbnMgPSB7fSk6IFR1aVRleHRNYXNrTGlzdEhhbmRsZXIge1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoaW50ZWdlckxpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChpbnRlZ2VyTGltaXQgPj0gMCk7XG5cbiAgICByZXR1cm4gKHJhd1ZhbHVlLCB7cHJldmlvdXNDb25mb3JtZWRWYWx1ZX0pID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgJiYgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPSByYXdWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkuam9pbignJyk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3IgPVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRob3VzYW5kU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KGRlY2ltYWxTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKTtcblxuICAgICAgICAgICAgLy8gRm9yYmlkIHJlbW92YWwgb2YgZGVjaW1hbCBzZXBhcmF0b3IgaWYgZGVjaW1hbCBwYXJ0IGlzIHJlcXVpcmVkXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9PT1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3JcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJhd1ZhbHVlID0gcHJldmlvdXNDb25mb3JtZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPVxuICAgICAgICAgICAgKHJhd1ZhbHVlWzBdID09PSBDSEFSX0hZUEhFTiB8fCByYXdWYWx1ZVswXSA9PT0gQ0hBUl9FTl9EQVNIKSAmJlxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0RlY2ltYWxTeW1ib2wocmF3VmFsdWUsIGRlY2ltYWxTeW1ib2wsIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkgJiZcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbJzAnLCBkZWNpbWFsU3ltYm9sLCBUVUlfRElHSVRfUkVHRVhQXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByYXdWYWx1ZSA9IHJhd1ZhbHVlLnNsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjaW1hbEluZGV4ID0gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgICAgICAgICAgcmF3VmFsdWUsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gZGVjaW1hbEluZGV4ICE9PSAtMTtcbiAgICAgICAgY29uc3QgaW50ZWdlciA9IGhhc0RlY2ltYWwgPyByYXdWYWx1ZS5zbGljZSgwLCBkZWNpbWFsSW5kZXgpIDogcmF3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9ycyA9IGludGVnZXIubWF0Y2gobmV3IFJlZ0V4cCh0aG91c2FuZFN5bWJvbCwgJ2cnKSkgfHwgW107XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWQgPSBpbnRlZ2VyTGltaXRcbiAgICAgICAgICAgID8gaW50ZWdlci5zbGljZSgwLCBpbnRlZ2VyTGltaXQgKyB0aG91c2FuZFNlcGFyYXRvcnMubGVuZ3RoKVxuICAgICAgICAgICAgOiBpbnRlZ2VyO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCAnJyk7XG4gICAgICAgIGNvbnN0IFtsZWFkaW5nWmVyb3NNYXRjaF0gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW4ubWF0Y2goXG4gICAgICAgICAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgICAgICApIHx8IFsnJ107XG4gICAgICAgIGNvbnN0IGxlYWRpbmdaZXJvc0Ftb3VudCA9IGxlYWRpbmdaZXJvc01hdGNoLmxlbmd0aDtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW5cbiAgICAgICAgICAgIC5yZXBsYWNlKC9eMCsoPyFcXC58JCkvLCAnJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIGNvbnN0IHdpdGhTZXBhcmF0b3IgPSBhZGRUaG91c2FuZHNTZXBhcmF0b3IoXG4gICAgICAgICAgICBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXNrID0gY29udmVydFRvTWFzayh3aXRoU2VwYXJhdG9yKTtcblxuICAgICAgICBpZiAoKGhhc0RlY2ltYWwgJiYgYWxsb3dEZWNpbWFsKSB8fCByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBjb252ZXJ0VG9NYXNrKFxuICAgICAgICAgICAgICAgICAgICAgIHJhd1ZhbHVlLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCAnJyksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uQ2FwcGVkID0gZGVjaW1hbExpbWl0XG4gICAgICAgICAgICAgICAgPyBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFsTGltaXQpXG4gICAgICAgICAgICAgICAgOiBmcmFjdGlvbjtcblxuICAgICAgICAgICAgaWYgKHJhd1ZhbHVlW2RlY2ltYWxJbmRleF0gIT09IG90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChNQVNLX0NBUkVUX1RSQVApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnB1c2goZGVjaW1hbFN5bWJvbCwgTUFTS19DQVJFVF9UUkFQLCAuLi5mcmFjdGlvbkNhcHBlZCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25DYXBwZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goVFVJX0RJR0lUX1JFR0VYUCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc09ubHlaZXJvRGlnaXQgPSBtYXNrLmxlbmd0aCA9PT0gMSAmJiBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9PT0gJzAnO1xuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAobWFzay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goVFVJX0RJR0lUX1JFR0VYUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sudW5zaGlmdChDSEFSX0hZUEhFTik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmVudExlYWRpbmdaZXJvZXMobWFzaywgaXNPbmx5WmVyb0RpZ2l0LCBsZWFkaW5nWmVyb3NBbW91bnQpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIHByZXZlbnRMZWFkaW5nWmVyb2VzKFxuICAgIG1hc2s6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4sXG4gICAgaXNPbmx5WmVyb0RpZ2l0OiBib29sZWFuID0gZmFsc2UsXG4gICAgbGVhZGluZ1plcm9zQW1vdW50OiBudW1iZXIgPSAwLFxuKTogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPiB7XG4gICAgaWYgKGlzT25seVplcm9EaWdpdCB8fCBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3REaWdpdEluZGV4ID0gbWFzay5pbmRleE9mKFRVSV9ESUdJVF9SRUdFWFApO1xuXG4gICAgaWYgKGZpcnN0RGlnaXRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3Qgc2Vjb25kTWFza0RpZ2l0ID0gbWFza1tmaXJzdERpZ2l0SW5kZXggKyAxXTtcbiAgICBjb25zdCBpc0NhcmV0VHJhcCA9IHNlY29uZE1hc2tEaWdpdCA9PT0gTUFTS19DQVJFVF9UUkFQO1xuXG4gICAgaWYgKGlzQ2FyZXRUcmFwICYmIGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9IGVsc2UgaWYgKGlzQ2FyZXRUcmFwKSB7XG4gICAgICAgIG1hc2sudW5zaGlmdChOT05fWkVST19ESUdJVCk7XG5cbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgbWFza1tmaXJzdERpZ2l0SW5kZXhdID0gTk9OX1pFUk9fRElHSVQ7XG5cbiAgICByZXR1cm4gbWFzaztcbn1cblxuZnVuY3Rpb24gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogbnVtYmVyIHtcbiAgICBpZiAoIWF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpLFxuICAgICAgICBzdHIubGFzdEluZGV4T2Yob3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSxcbiAgICApO1xufVxuXG5mdW5jdGlvbiBpc0RlY2ltYWxTeW1ib2woXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgICBpZiAoYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiAvXlssLl0kLy50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ciA9PT0gZGVjaW1hbFN5bWJvbDtcbn1cblxuZnVuY3Rpb24gY29udmVydFRvTWFzayhzdHJOdW1iZXI6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIHJldHVybiBzdHJOdW1iZXJcbiAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAubWFwKGNoYXIgPT4gKFRVSV9ESUdJVF9SRUdFWFAudGVzdChjaGFyKSA/IFRVSV9ESUdJVF9SRUdFWFAgOiBjaGFyKSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRob3VzYW5kc1NlcGFyYXRvcihzdHJOdW1iZXI6IHN0cmluZywgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ck51bWJlci5sZW5ndGggPiAzXG4gICAgICAgID8gLy8gVE9ETzogaW52ZXN0aWdhdGUgdG8gZGlzYWxsb3cgcG90ZW50aWFsbHkgY2F0YXN0cm9waGljIGV4cG9uZW50aWFsLXRpbWUgcmVndWxhciBleHByZXNzaW9ucy5cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11bnNhZmUtcmVnZXhcbiAgICAgICAgICBzdHJOdW1iZXIucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgdGhvdXNhbmRTeW1ib2wpXG4gICAgICAgIDogc3RyTnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './is-mobile';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tb2JpbGUvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { tuiGetViewportWidth } from '@taiga-ui/core/utils/dom';
|
|
2
|
+
export function tuiIsMobile(windowRef, _a) {
|
|
3
|
+
var mobile = _a.mobile;
|
|
4
|
+
return tuiGetViewportWidth(windowRef) <= mobile;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9iaWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbW9iaWxlLyIsInNvdXJjZXMiOlsiaXMtbW9iaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTdELE1BQU0sVUFBVSxXQUFXLENBQUMsU0FBaUIsRUFBRSxFQUFrQjtRQUFqQixrQkFBTTtJQUNsRCxPQUFPLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge3R1aUdldFZpZXdwb3J0V2lkdGh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2RvbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc01vYmlsZSh3aW5kb3dSZWY6IFdpbmRvdywge21vYmlsZX06IFR1aU1lZGlhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR1aUdldFZpZXdwb3J0V2lkdGgod2luZG93UmVmKSA8PSBtb2JpbGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY29yZS11dGlscy1tb2JpbGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tb2JpbGUvIiwic291cmNlcyI6WyJ0YWlnYS11aS1jb3JlLXV0aWxzLW1vYmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -126,7 +126,7 @@ let TuiDataListComponent = TuiDataListComponent_1 = class TuiDataListComponent {
|
|
|
126
126
|
moveFocus(elements.indexOf(current), elements, step);
|
|
127
127
|
}
|
|
128
128
|
// TODO: Consider aria-activedescendant for proper accessibility implementation
|
|
129
|
-
handleFocusLossIfNecessary(element) {
|
|
129
|
+
handleFocusLossIfNecessary(element = this.elementRef.nativeElement) {
|
|
130
130
|
if (this.origin && isNativeFocusedIn(element)) {
|
|
131
131
|
setNativeMouseFocused(this.origin, true, true);
|
|
132
132
|
}
|
|
@@ -178,7 +178,7 @@ __decorate([
|
|
|
178
178
|
HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])
|
|
179
179
|
], TuiDataListComponent.prototype, "onKeyDownArrow", null);
|
|
180
180
|
__decorate([
|
|
181
|
-
HostListener('wheel.silent.passive'
|
|
181
|
+
HostListener('wheel.silent.passive'),
|
|
182
182
|
HostListener('mouseleave', ['$event.target'])
|
|
183
183
|
], TuiDataListComponent.prototype, "handleFocusLossIfNecessary", null);
|
|
184
184
|
TuiDataListComponent = TuiDataListComponent_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive', ['$event.currentTarget'])\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: HTMLElement): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\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-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(\n element: HTMLElement = this.elementRef.nativeElement,\n ): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from
|
|
|
7
7
|
import { EMPTY, merge, Observable } from 'rxjs';
|
|
8
8
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
9
9
|
import { WINDOW } from '@ng-web-apis/common';
|
|
10
|
+
import { tuiGetViewportWidth } from '@taiga-ui/core/utils/dom';
|
|
10
11
|
import { filter, switchMapTo, take, takeUntil } from 'rxjs/operators';
|
|
11
12
|
import { TuiIdService } from '@taiga-ui/cdk/services';
|
|
12
13
|
import { TuiButtonModule } from '@taiga-ui/core/components/button';
|
|
@@ -25,7 +26,8 @@ function dialogCloseStreamFactory(documentRef, windowRef, { nativeElement }, clo
|
|
|
25
26
|
nativeElement.contains(target)))), typedFromEvent(documentRef, 'mousedown').pipe(
|
|
26
27
|
// TODO: iframe warning
|
|
27
28
|
filter(({ target, clientX }) => target instanceof Element &&
|
|
28
|
-
windowRef
|
|
29
|
+
tuiGetViewportWidth(windowRef) - clientX >
|
|
30
|
+
SCROLLBAR_PLACEHOLDER &&
|
|
29
31
|
!containsOrAfter(nativeElement, target)), switchMapTo(typedFromEvent(documentRef, 'mouseup').pipe(take(1),
|
|
30
32
|
// TODO: iframe warning
|
|
31
33
|
filter(({ target }) => target instanceof Element &&
|