@taiga-ui/cdk 2.27.0 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +97 -17
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +2 -2
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +6 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +4 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
- package/date-time/date-format.d.ts +0 -3
- package/date-time/date-separator.d.ts +3 -0
- package/date-time/day-range.d.ts +13 -1
- package/date-time/day.d.ts +16 -3
- package/date-time/index.d.ts +1 -0
- package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
- package/esm2015/abstract/interactive.js +2 -2
- package/esm2015/components/dialog-host/dialog-host.component.js +1 -1
- package/esm2015/date-time/date-format.js +1 -4
- package/esm2015/date-time/date-separator.js +6 -0
- package/esm2015/date-time/day-range.js +28 -5
- package/esm2015/date-time/day.js +53 -11
- package/esm2015/date-time/index.js +2 -1
- package/esm2015/directives/active-zone/active-zone.directive.js +3 -3
- package/esm2015/services/destroy.service.js +6 -3
- package/esm2015/services/obscured.service.js +1 -1
- package/esm2015/services/static-request.service.js +1 -1
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/is-mobile.js +2 -2
- package/esm2015/tokens/touch-supported.js +6 -0
- package/esm2015/utils/miscellaneous/ease-in-out-quad.js +2 -2
- package/esm2015/utils/miscellaneous/identity.js +4 -1
- package/esm5/abstract/interactive.js +2 -2
- package/esm5/components/dialog-host/dialog-host.component.js +1 -1
- package/esm5/date-time/date-format.js +1 -4
- package/esm5/date-time/date-separator.js +8 -0
- package/esm5/date-time/day-range.js +33 -5
- package/esm5/date-time/day.js +57 -11
- package/esm5/date-time/index.js +2 -1
- package/esm5/directives/active-zone/active-zone.directive.js +3 -3
- package/esm5/services/destroy.service.js +4 -4
- package/esm5/services/obscured.service.js +1 -1
- package/esm5/services/static-request.service.js +1 -1
- package/esm5/tokens/index.js +2 -1
- package/esm5/tokens/is-mobile.js +2 -2
- package/esm5/tokens/touch-supported.js +6 -0
- package/esm5/utils/miscellaneous/ease-in-out-quad.js +2 -2
- package/esm5/utils/miscellaneous/identity.js +4 -1
- package/fesm2015/taiga-ui-cdk-abstract.js +1 -1
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +84 -18
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +5 -2
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +6 -2
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +4 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-dialog-host.js +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +95 -18
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-active-zone.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +3 -3
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +6 -2
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +4 -1
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/package.json +3 -3
- package/services/destroy.service.d.ts +3 -2
- package/services/obscured.service.d.ts +1 -1
- package/services/static-request.service.d.ts +1 -1
- package/services/taiga-ui-cdk-services.metadata.json +1 -1
- package/tokens/index.d.ts +1 -0
- package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
- package/tokens/touch-supported.d.ts +2 -0
- package/utils/miscellaneous/identity.d.ts +3 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __decorate, __extends } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
4
|
/**
|
|
5
5
|
* Observable abstraction over ngOnDestroy to use with takeUntil
|
|
6
6
|
*/
|
|
7
7
|
var TuiDestroyService = /** @class */ (function (_super) {
|
|
8
8
|
__extends(TuiDestroyService, _super);
|
|
9
9
|
function TuiDestroyService() {
|
|
10
|
-
return _super
|
|
10
|
+
return _super.call(this, 1) || this;
|
|
11
11
|
}
|
|
12
12
|
TuiDestroyService.prototype.ngOnDestroy = function () {
|
|
13
13
|
this.next();
|
|
@@ -17,6 +17,6 @@ var TuiDestroyService = /** @class */ (function (_super) {
|
|
|
17
17
|
Injectable()
|
|
18
18
|
], TuiDestroyService);
|
|
19
19
|
return TuiDestroyService;
|
|
20
|
-
}(
|
|
20
|
+
}(ReplaySubject));
|
|
21
21
|
export { TuiDestroyService };
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImRlc3Ryb3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRW5DOztHQUVHO0FBRUg7SUFBdUMscUNBQW1CO0lBQ3REO2VBQ0ksa0JBQU0sQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELHVDQUFXLEdBQVg7UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQVJRLGlCQUFpQjtRQUQ3QixVQUFVLEVBQUU7T0FDQSxpQkFBaUIsQ0FTN0I7SUFBRCx3QkFBQztDQUFBLEFBVEQsQ0FBdUMsYUFBYSxHQVNuRDtTQVRZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogT2JzZXJ2YWJsZSBhYnN0cmFjdGlvbiBvdmVyIG5nT25EZXN0cm95IHRvIHVzZSB3aXRoIHRha2VVbnRpbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpRGVzdHJveVNlcnZpY2UgZXh0ZW5kcyBSZXBsYXlTdWJqZWN0PHZvaWQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoMSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -47,4 +47,4 @@ var TuiObscuredService = /** @class */ (function (_super) {
|
|
|
47
47
|
return TuiObscuredService;
|
|
48
48
|
}(Observable));
|
|
49
49
|
export { TuiObscuredService };
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzY3VyZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJvYnNjdXJlZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUNILEtBQUssRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsb0ZBQW9GO0FBQ3BGOzs7O0dBSUc7QUFDSCw4RkFBOEY7QUFDOUYsV0FBVztBQUVYO0lBQXdDLHNDQUF5QztJQUc3RSw0QkFHSSxjQUF1QyxFQUNuQixFQUFvQyxFQUN4QyxNQUFjLEVBQ2QsU0FBaUIsRUFDTixRQUEwQixFQUM1QixlQUFtQztZQUp2QyxnQ0FBYTtRQUp0QyxZQVVJLGtCQUFNLFVBQUEsVUFBVSxJQUFJLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQXBDLENBQW9DLENBQUMsU0FhNUQ7UUFYRyxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUs7UUFDbEIsK0RBQStEO1FBQy9ELEtBQUssQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDcEUsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDbkQsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLGNBQU0sT0FBQSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxFQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2Ysb0JBQW9CLEVBQUUsRUFDdEIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQzs7SUFDTixDQUFDOztnQkFwQm1CLHVCQUF1Qix1QkFGdEMsTUFBTSxTQUFDLHVCQUF1QixjQUM5QixJQUFJO2dCQUVnQyxVQUFVLHVCQUE5QyxNQUFNLFNBQUMsVUFBVTtnQkFDTSxNQUFNLHVCQUE3QixNQUFNLFNBQUMsTUFBTTtnQkFDYSxNQUFNLHVCQUFoQyxNQUFNLFNBQUMsTUFBTTtnQkFDdUIsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLGlCQUFpQjtnQkFDaUIsVUFBVSx1QkFBbkQsTUFBTSxTQUFDLGVBQWU7O0lBWGxCLGtCQUFrQjtRQUQ5QixVQUFVLEVBQUU7UUFLSixXQUFBLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQy9CLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFFTixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtPQVhuQixrQkFBa0IsQ0EyQjlCO0lBQUQseUJBQUM7Q0FBQSxBQTNCRCxDQUF3QyxVQUFVLEdBMkJqRDtTQTNCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge2dldEVsZW1lbnRPYnNjdXJlcnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlbGF5LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIG1hcCxcbiAgICBzdGFydFdpdGgsXG4gICAgdGFrZVVudGlsLFxuICAgIHRocm90dGxlVGltZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlfSBmcm9tICcuL2Rlc3Ryb3kuc2VydmljZSc7XG5pbXBvcnQge1R1aVBhcmVudHNTY3JvbGxTZXJ2aWNlfSBmcm9tICcuL3BhcmVudHMtc2Nyb2xsLnNlcnZpY2UnO1xuXG4vLyBAYmFkIFRPRE86IENvbnNpZGVyIEludGVyc2VjdGlvbiBPYnNlcnZlciB3aXRoIGZhbGxiYWNrIHRvIGN1cnJlbnQgaW1wbGVtZW50YXRpb25cbi8qKlxuICogU2VydmljZSB0aGF0IG1vbml0b3JzIGVsZW1lbnQgdmlzaWJpbGl0eSBieSBzdWJzY3JpYmluZyB0byBzY3JvbGxzXG4gKiBhbmQgcG9sbGluZyB3aXRoIHNldCBpbnRlcnZhbCwgcmV0dXJucyBlaXRoZXIgbnVsbCBvciBhbiBhcnJheVxuICogb2YgZWxlbWVudHMgdGhhdCBvdmVybGFwIGdpdmVuIGVsZW1lbnQgZWRnZXNcbiAqL1xuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlPYnNjdXJlZFNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPG51bGwgfCBSZWFkb25seUFycmF5PEVsZW1lbnQ+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzY3VyZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJvYnNjdXJlZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUNILEtBQUssRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsb0ZBQW9GO0FBQ3BGOzs7O0dBSUc7QUFDSCw4RkFBOEY7QUFDOUYsV0FBVztBQUVYO0lBQXdDLHNDQUF5QztJQUc3RSw0QkFHSSxjQUF1QyxFQUNuQixFQUFvQyxFQUN4QyxNQUFjLEVBQ2QsU0FBaUIsRUFDTixRQUEwQixFQUM1QixlQUFtQztZQUp2QyxnQ0FBYTtRQUp0QyxZQVVJLGtCQUFNLFVBQUEsVUFBVSxJQUFJLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQXBDLENBQW9DLENBQUMsU0FhNUQ7UUFYRyxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUs7UUFDbEIsK0RBQStEO1FBQy9ELEtBQUssQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDcEUsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDbkQsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLGNBQU0sT0FBQSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxFQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2Ysb0JBQW9CLEVBQUUsRUFDdEIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQzs7SUFDTixDQUFDOztnQkFwQm1CLHVCQUF1Qix1QkFGdEMsTUFBTSxTQUFDLHVCQUF1QixjQUM5QixJQUFJO2dCQUVnQyxVQUFVLHVCQUE5QyxNQUFNLFNBQUMsVUFBVTtnQkFDTSxNQUFNLHVCQUE3QixNQUFNLFNBQUMsTUFBTTtnQkFDYSxNQUFNLHVCQUFoQyxNQUFNLFNBQUMsTUFBTTtnQkFDdUIsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLGlCQUFpQjtnQkFDaUIsVUFBVSx1QkFBbkQsTUFBTSxTQUFDLGVBQWU7O0lBWGxCLGtCQUFrQjtRQUQ5QixVQUFVLEVBQUU7UUFLSixXQUFBLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQy9CLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFFTixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtPQVhuQixrQkFBa0IsQ0EyQjlCO0lBQUQseUJBQUM7Q0FBQSxBQTNCRCxDQUF3QyxVQUFVLEdBMkJqRDtTQTNCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge2dldEVsZW1lbnRPYnNjdXJlcnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlbGF5LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIG1hcCxcbiAgICBzdGFydFdpdGgsXG4gICAgdGFrZVVudGlsLFxuICAgIHRocm90dGxlVGltZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlfSBmcm9tICcuL2Rlc3Ryb3kuc2VydmljZSc7XG5pbXBvcnQge1R1aVBhcmVudHNTY3JvbGxTZXJ2aWNlfSBmcm9tICcuL3BhcmVudHMtc2Nyb2xsLnNlcnZpY2UnO1xuXG4vLyBAYmFkIFRPRE86IENvbnNpZGVyIEludGVyc2VjdGlvbiBPYnNlcnZlciB3aXRoIGZhbGxiYWNrIHRvIGN1cnJlbnQgaW1wbGVtZW50YXRpb25cbi8qKlxuICogU2VydmljZSB0aGF0IG1vbml0b3JzIGVsZW1lbnQgdmlzaWJpbGl0eSBieSBzdWJzY3JpYmluZyB0byBzY3JvbGxzXG4gKiBhbmQgcG9sbGluZyB3aXRoIHNldCBpbnRlcnZhbCwgcmV0dXJucyBlaXRoZXIgbnVsbCBvciBhbiBhcnJheVxuICogb2YgZWxlbWVudHMgdGhhdCBvdmVybGFwIGdpdmVuIGVsZW1lbnQgZWRnZXNcbiAqL1xuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlPYnNjdXJlZFNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPG51bGwgfCBSZWFkb25seUFycmF5PEVsZW1lbnQ+PiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNjdXJlZCQ6IE9ic2VydmFibGU8bnVsbCB8IFJlYWRvbmx5QXJyYXk8RWxlbWVudD4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgcGFyZW50c1Njcm9sbCQ6IFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5vYnNjdXJlZCQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcblxuICAgICAgICB0aGlzLm9ic2N1cmVkJCA9IG1lcmdlKFxuICAgICAgICAgICAgLy8gZGVsYXkgaXMgYWRkZWQgc28gaXQgd2lsbCBub3QgaW50ZXJmZXJlIHdpdGggb3RoZXIgbGlzdGVuZXJzXG4gICAgICAgICAgICBtZXJnZShwYXJlbnRzU2Nyb2xsJCwgZnJvbUV2ZW50KHdpbmRvd1JlZiwgJ3Jlc2l6ZScpKS5waXBlKGRlbGF5KDApKSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IGdldEVsZW1lbnRPYnNjdXJlcnMobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHR1aVpvbmVPcHRpbWl6ZWQobmdab25lKSxcbiAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -45,4 +45,4 @@ var TuiStaticRequestService = /** @class */ (function () {
|
|
|
45
45
|
return TuiStaticRequestService;
|
|
46
46
|
}());
|
|
47
47
|
export { TuiStaticRequestService };
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXJlcXVlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJzdGF0aWMtcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUszQztJQUFBO1FBQ3FCLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztLQXNDbEU7SUFwQ0cseUNBQU8sR0FBUCxVQUFRLEdBQVc7UUFDZixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsQyxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBQyxRQUEwQjtZQUN6RCxJQUFNLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBRWpDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRztnQkFDckIsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtvQkFDdEIsSUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFFcEUsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTt3QkFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUN2Qjt5QkFBTTt3QkFDSCxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUM1QjtpQkFDSjtZQUNMLENBQUMsQ0FBQztZQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVYLE9BQU87Z0JBQ0gsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7SUF0Q1EsdUJBQXVCO1FBSG5DLFVBQVUsQ0FBQztZQUNSLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLENBQUM7T0FDVyx1QkFBdUIsQ0F1Q25DO2tDQTlDRDtDQThDQyxBQXZDRCxJQXVDQztTQXZDWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBPYnNlcnZlcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3NoYXJlUmVwbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8c3RyaW5nPj4oKTtcblxuICAgIHJlcXVlc3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBjYWNoZSA9IHRoaXMuY2FjaGUuZ2V0KHVybCk7XG5cbiAgICAgICAgaWYgKGNhY2hlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxzdHJpbmc+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgPT09IDQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB4aHIucmVzcG9uc2VUeXBlID8geGhyLnJlc3BvbnNlIDogeGhyLnJlc3BvbnNlVGV4dDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB4aHIub3BlbignR0VUJywgdXJsKTtcbiAgICAgICAgICAgIHhoci5zZW5kKCk7XG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgeGhyLmFib3J0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcGlwZWQgPSBvYnNlcnZhYmxlLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuXG4gICAgICAgIHRoaXMuY2FjaGUuc2V0KHVybCwgcGlwZWQpO1xuXG4gICAgICAgIHJldHVybiBwaXBlZDtcbiAgICB9XG59XG4iXX0=
|
package/esm5/tokens/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from './removed-element';
|
|
|
10
10
|
export * from './sanitizer';
|
|
11
11
|
export * from './swipe-options';
|
|
12
12
|
export * from './take-only-trusted-events';
|
|
13
|
+
export * from './touch-supported';
|
|
13
14
|
export * from './window-height';
|
|
14
15
|
export * from './zoom-options';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0tYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY3lwcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWlvcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW1vYmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZWQtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Nhbml0aXplcic7XG5leHBvcnQgKiBmcm9tICcuL3N3aXBlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWtlLW9ubHktdHJ1c3RlZC1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b3VjaC1zdXBwb3J0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3ctaGVpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vem9vbS1vcHRpb25zJztcbiJdfQ==
|
package/esm5/tokens/is-mobile.js
CHANGED
|
@@ -2,11 +2,11 @@ import { inject, InjectionToken } from '@angular/core';
|
|
|
2
2
|
import { USER_AGENT } from '@ng-web-apis/common';
|
|
3
3
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
|
4
4
|
var firstRegex = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
|
|
5
|
-
var secondRegex = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s
|
|
5
|
+
var secondRegex = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;
|
|
6
6
|
export var TUI_IS_MOBILE = new InjectionToken('Mobile browser detection', {
|
|
7
7
|
factory: function () {
|
|
8
8
|
return firstRegex.test(inject(USER_AGENT).toLowerCase()) ||
|
|
9
9
|
secondRegex.test(inject(USER_AGENT).substr(0, 4).toLowerCase());
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9iaWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1tb2JpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLGdGQUFnRjtBQUNoRixJQUFNLFVBQVUsR0FDWix5VEFBeVQsQ0FBQztBQUM5VCxJQUFNLFdBQVcsR0FDYiwwaERBQTBoRCxDQUFDO0FBRS9oRCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQVUsMEJBQTBCLEVBQUU7SUFDakYsT0FBTyxFQUFFO1FBQ0wsT0FBQSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqRCxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRC9ELENBQytEO0NBQ3RFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VTRVJfQUdFTlR9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuXG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTEzODE3MzAvMjcwNjQyNiBodHRwOi8vZGV0ZWN0bW9iaWxlYnJvd3NlcnMuY29tL1xuY29uc3QgZmlyc3RSZWdleCA9XG4gICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby87XG5jb25zdCBzZWNvbmRSZWdleCA9XG4gICAgLzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHMtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YnctKG58dSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhjfHApb3xkcygxMnwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2YtNXxnLW1vfGdvKFxcLnd8b2QpfGdyKGFkfHVuKXxoYWllfGhjaXR8aGQtKG18cHx0KXxoZWktfGhpKHB0fHRhKXxocCggaXxpcCl8aHMtY3xodChjKC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHwtfFxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcXC8pfGtsb258a3B0IHxrd2MtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXC8oa3xsfHUpfDUwfDU0fC1bYS13XSl8bGlid3xseW54fG0xLXd8bTNnYXxtNTBcXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKS18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG4tMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0LWd8cWEtYXxxYygwN3wxMnwyMXwzMnw2MHwtWzItN118aS0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XFwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoLXxvb3xwLSl8c2RrXFwvfHNlKGMoLXwwfDEpfDQ3fG1jfG5kfHJpKXxzZ2gtfHNoYXJ8c2llKC18bSl8c2stMHxzbCg0NXxpZCl8c20oYWx8YXJ8YjN8aXR8dDUpfHNvKGZ0fG55KXxzcCgwMXxoLXx2LXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbC18dGRnLXx0ZWwoaXxtKXx0aW0tfHQtbW98dG8ocGx8c2gpfHRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYygtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzLXx5b3VyfHpldG98enRlLS87XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfTU9CSUxFID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdNb2JpbGUgYnJvd3NlciBkZXRlY3Rpb24nLCB7XG4gICAgZmFjdG9yeTogKCkgPT5cbiAgICAgICAgZmlyc3RSZWdleC50ZXN0KGluamVjdChVU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICBzZWNvbmRSZWdleC50ZXN0KGluamVjdChVU0VSX0FHRU5UKS5zdWJzdHIoMCwgNCkudG9Mb3dlckNhc2UoKSksXG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
+
import { WINDOW } from '@ng-web-apis/common';
|
|
3
|
+
export var TUI_TOUCH_SUPPORTED = new InjectionToken('Touch support detection', {
|
|
4
|
+
factory: function () { return inject(WINDOW).matchMedia('(any-pointer: coarse)').matches; },
|
|
5
|
+
});
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2gtc3VwcG9ydGVkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJ0b3VjaC1zdXBwb3J0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFDLHlCQUF5QixFQUFFO0lBQzdFLE9BQU8sRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLE9BQU8sRUFBMUQsQ0FBMEQ7Q0FDNUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFRVSV9UT1VDSF9TVVBQT1JURUQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1RvdWNoIHN1cHBvcnQgZGV0ZWN0aW9uJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGluamVjdChXSU5ET1cpLm1hdGNoTWVkaWEoJyhhbnktcG9pbnRlcjogY29hcnNlKScpLm1hdGNoZXMsXG59KTtcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { tuiAssert } from '@taiga-ui/cdk/classes';
|
|
2
2
|
export function easeInOutQuad(t) {
|
|
3
|
-
tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive
|
|
3
|
+
tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive but received ', t);
|
|
4
4
|
return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzZS1pbi1vdXQtcXVhZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImVhc2UtaW4tb3V0LXF1YWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE1BQU0sVUFBVSxhQUFhLENBQUMsQ0FBUztJQUNuQyxTQUFTLENBQUMsTUFBTSxDQUNaLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDaEIsdURBQXVELEVBQ3ZELENBQUMsQ0FDSixDQUFDO0lBRUYsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlYXNlSW5PdXRRdWFkKHQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgMCA8PSB0ICYmIHQgPD0gMSxcbiAgICAgICAgJ0lucHV0IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxIGluY2x1c2l2ZSBidXQgcmVjZWl2ZWQgJyxcbiAgICAgICAgdCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHQgPCAwLjUgPyAyICogdCAqIHQgOiAtMSArICg0IC0gMiAqIHQpICogdDtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated: use identity from rxjs
|
|
3
|
+
*/
|
|
1
4
|
export function identity(item) {
|
|
2
5
|
return item;
|
|
3
6
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvIiwic291cmNlcyI6WyJpZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUksSUFBTztJQUMvQixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIGlkZW50aXR5IGZyb20gcnhqc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpdHk8VD4oaXRlbTogVCk6IFQge1xuICAgIHJldHVybiBpdGVtO1xufVxuIl19
|
|
@@ -60,7 +60,7 @@ let AbstractTuiInteractive = AbstractTuiInteractive_1 = class AbstractTuiInterac
|
|
|
60
60
|
return !this.computedDisabled && ((_a = this.pseudoFocused) !== null && _a !== void 0 ? _a : this.focusVisible);
|
|
61
61
|
}
|
|
62
62
|
get id() {
|
|
63
|
-
return
|
|
63
|
+
return this.nativeId ? this.nativeId : this.autoIdString;
|
|
64
64
|
}
|
|
65
65
|
updateHovered(hovered) {
|
|
66
66
|
if (this.hovered === hovered) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n get id(): string {\n return !!this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n !this.readOnly &&\n !this.disabled &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | number | null {\n return this.controlName;\n }\n\n protected get controlName(): string | number | null {\n return this.ngControl && this.ngControl.name;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n return ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n }\n\n ngOnInit() {\n if (\n !this.ngControl ||\n !this.ngControl.valueChanges ||\n !this.ngControl.statusChanges\n ) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n this.refreshLocalValue(\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value,\n );\n }\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\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-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n !this.readOnly &&\n !this.disabled &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | number | null {\n return this.controlName;\n }\n\n protected get controlName(): string | number | null {\n return this.ngControl && this.ngControl.name;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n return ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n }\n\n ngOnInit() {\n if (\n !this.ngControl ||\n !this.ngControl.valueChanges ||\n !this.ngControl.statusChanges\n ) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n this.refreshLocalValue(\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value,\n );\n }\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,7 @@ TuiDialogHostComponent = __decorate([
|
|
|
72
72
|
template: "<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n polymorpheus-outlet\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"dialog\"\n [@tuiParentAnimation]\n [attr.aria-labelledby]=\"item.id\"\n [content]=\"item.component\"\n [context]=\"item\"\n ></section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"overlay\"\n [class.overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n",
|
|
73
73
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
74
74
|
animations: [TUI_PARENT_ANIMATION],
|
|
75
|
-
styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.dialog,.overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:0;overflow:auto;overflow:overlay}.overlay{height:100vh;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration),letter-spacing 10ms;background:rgba(0,0,0,.75)}.overlay_visible{opacity:1;letter-spacing:1px}.dialog:last-of-type{z-index:1}"]
|
|
75
|
+
styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.dialog,.overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:0;overflow:auto;overflow:overlay}.dialog{bottom:auto;height:100%}.overlay{height:100vh;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration),letter-spacing 10ms;background:rgba(0,0,0,.75)}.overlay_visible{opacity:1;letter-spacing:1px}.dialog:last-of-type{z-index:1}"]
|
|
76
76
|
}),
|
|
77
77
|
__param(0, Inject(TUI_DIALOG_CLOSES_ON_BACK)),
|
|
78
78
|
__param(1, Inject(TUI_DIALOGS)),
|
|
@@ -53,13 +53,15 @@ const DATE_FILLER_LENGTH = 10;
|
|
|
53
53
|
*/
|
|
54
54
|
const DATE_RANGE_FILLER_LENGTH = 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;
|
|
55
55
|
|
|
56
|
-
/**
|
|
57
|
-
* TODO This token supports only DMY now. Add other {@link TuiDateMode} support
|
|
58
|
-
*/
|
|
59
56
|
const TUI_DATE_FORMAT = new InjectionToken('Active date format for Taiga UI', {
|
|
60
57
|
factory: () => 'DMY',
|
|
61
58
|
});
|
|
62
59
|
|
|
60
|
+
const TUI_DATE_SEPARATOR = new InjectionToken('Date separator for Taiga UI components', {
|
|
61
|
+
factory: () => '.',
|
|
62
|
+
});
|
|
63
|
+
const changeDateSeparator = (dateString, newDateSeparator) => dateString.replace(/[^0-9a-z]/gi, newDateSeparator);
|
|
64
|
+
|
|
63
65
|
/**
|
|
64
66
|
* Immutable year object
|
|
65
67
|
* @nosideeffects
|
|
@@ -450,17 +452,40 @@ class TuiDay extends TuiMonth {
|
|
|
450
452
|
return Math.round((to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /
|
|
451
453
|
(1000 * 60 * 60 * 24));
|
|
452
454
|
}
|
|
455
|
+
static parseRawDateString(date, dateMode = 'DMY') {
|
|
456
|
+
tuiAssert.assert(date.length === DATE_FILLER_LENGTH, '[parseRawDateString]: wrong date string length');
|
|
457
|
+
switch (dateMode) {
|
|
458
|
+
case 'YMD':
|
|
459
|
+
return {
|
|
460
|
+
day: parseInt(date.slice(8, 10), 10),
|
|
461
|
+
month: parseInt(date.slice(5, 7), 10) - 1,
|
|
462
|
+
year: parseInt(date.slice(0, 4), 10),
|
|
463
|
+
};
|
|
464
|
+
case 'MDY':
|
|
465
|
+
return {
|
|
466
|
+
day: parseInt(date.slice(3, 5), 10),
|
|
467
|
+
month: parseInt(date.slice(0, 2), 10) - 1,
|
|
468
|
+
year: parseInt(date.slice(6, 10), 10),
|
|
469
|
+
};
|
|
470
|
+
default:
|
|
471
|
+
case 'DMY':
|
|
472
|
+
return {
|
|
473
|
+
day: parseInt(date.slice(0, 2), 10),
|
|
474
|
+
month: parseInt(date.slice(3, 5), 10) - 1,
|
|
475
|
+
year: parseInt(date.slice(6, 10), 10),
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
}
|
|
453
479
|
// TODO: Move month and year related code corresponding classes
|
|
454
480
|
/**
|
|
455
481
|
* Parsing a string with date with normalization
|
|
456
482
|
*
|
|
457
|
-
* @param
|
|
483
|
+
* @param rawDate date string
|
|
484
|
+
* @param dateMode date format of the date string (DMY | MDY | YMD)
|
|
458
485
|
* @return normalized date
|
|
459
486
|
*/
|
|
460
|
-
static normalizeParse(
|
|
461
|
-
const day =
|
|
462
|
-
const month = parseInt(yearMonthDayString.slice(3, 5), 10) - 1;
|
|
463
|
-
const year = parseInt(yearMonthDayString.slice(6, 10), 10);
|
|
487
|
+
static normalizeParse(rawDate, dateMode = 'DMY') {
|
|
488
|
+
const { day, month, year } = this.parseRawDateString(rawDate, dateMode);
|
|
464
489
|
return TuiDay.normalizeOf(year, month, day);
|
|
465
490
|
}
|
|
466
491
|
/**
|
|
@@ -470,9 +495,7 @@ class TuiDay extends TuiMonth {
|
|
|
470
495
|
* @throws exceptions if any part of the date is invalid
|
|
471
496
|
*/
|
|
472
497
|
static jsonParse(yearMonthDayString) {
|
|
473
|
-
const day =
|
|
474
|
-
const month = parseInt(yearMonthDayString.slice(5, 7), 10) - 1;
|
|
475
|
-
const year = parseInt(yearMonthDayString.slice(0, 4), 10);
|
|
498
|
+
const { day, month, year } = this.parseRawDateString(yearMonthDayString, 'YMD');
|
|
476
499
|
if (!TuiYear.isValidYear(year)) {
|
|
477
500
|
throw new Error('Invalid year: ' + year);
|
|
478
501
|
}
|
|
@@ -494,6 +517,8 @@ class TuiDay extends TuiMonth {
|
|
|
494
517
|
return padStart(this.day.toString(), 2, '0');
|
|
495
518
|
}
|
|
496
519
|
/**
|
|
520
|
+
* @deprecated use {@link getFormattedDay} instead
|
|
521
|
+
* TODO remove in 3.0
|
|
497
522
|
* Formatted whole date
|
|
498
523
|
*/
|
|
499
524
|
get formattedDay() {
|
|
@@ -609,8 +634,26 @@ class TuiDay extends TuiMonth {
|
|
|
609
634
|
}
|
|
610
635
|
return new TuiDay(years, months, days);
|
|
611
636
|
}
|
|
612
|
-
|
|
613
|
-
|
|
637
|
+
/**
|
|
638
|
+
* Returns formatted whole date
|
|
639
|
+
*/
|
|
640
|
+
getFormattedDay(dateFormat, separator) {
|
|
641
|
+
tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');
|
|
642
|
+
const dd = this.formattedDayPart;
|
|
643
|
+
const mm = this.formattedMonthPart;
|
|
644
|
+
const yyyy = this.formattedYear;
|
|
645
|
+
switch (dateFormat) {
|
|
646
|
+
case 'YMD':
|
|
647
|
+
return `${yyyy}${separator}${mm}${separator}${dd}`;
|
|
648
|
+
case 'MDY':
|
|
649
|
+
return `${mm}${separator}${dd}${separator}${yyyy}`;
|
|
650
|
+
case 'DMY':
|
|
651
|
+
default:
|
|
652
|
+
return `${dd}${separator}${mm}${separator}${yyyy}`;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
toString(dateFormat = 'DMY', separator = '.') {
|
|
656
|
+
return this.getFormattedDay(dateFormat, separator);
|
|
614
657
|
}
|
|
615
658
|
toJSON() {
|
|
616
659
|
return `${super.toJSON()}-${this.formattedDayPart}`;
|
|
@@ -657,6 +700,11 @@ class TuiMonthRange {
|
|
|
657
700
|
}
|
|
658
701
|
}
|
|
659
702
|
|
|
703
|
+
/**
|
|
704
|
+
* Temporary type guard to satisfy ts-overloading of normalizeParse method
|
|
705
|
+
* @deprecated TODO rm in v3.0
|
|
706
|
+
*/
|
|
707
|
+
const isDateMode = (dateMode) => ['DMY', 'YMD', 'MDY'].includes(dateMode);
|
|
660
708
|
/**
|
|
661
709
|
* An immutable range of two {@link TuiDay} objects
|
|
662
710
|
*/
|
|
@@ -683,23 +731,28 @@ class TuiDayRange extends TuiMonthRange {
|
|
|
683
731
|
* Parse and correct a day range in string format
|
|
684
732
|
*
|
|
685
733
|
* @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy
|
|
734
|
+
* @param dateMode {@link TuiDateMode}
|
|
686
735
|
* @return normalized day range object
|
|
687
736
|
*/
|
|
688
|
-
static normalizeParse(rangeString) {
|
|
689
|
-
const
|
|
737
|
+
static normalizeParse(rangeString, dateMode = 'DMY') {
|
|
738
|
+
const dateFormat = isDateMode(dateMode) ? dateMode : 'DMY';
|
|
739
|
+
const leftDay = TuiDay.normalizeParse(rangeString.slice(0, DATE_FILLER_LENGTH), dateFormat);
|
|
690
740
|
if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {
|
|
691
741
|
return new TuiDayRange(leftDay, leftDay);
|
|
692
742
|
}
|
|
693
|
-
return TuiDayRange.sort(leftDay, TuiDay.normalizeParse(rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)));
|
|
743
|
+
return TuiDayRange.sort(leftDay, TuiDay.normalizeParse(rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length), dateFormat));
|
|
694
744
|
}
|
|
695
745
|
get isSingleDay() {
|
|
696
746
|
return this.from.daySame(this.to);
|
|
697
747
|
}
|
|
698
748
|
/**
|
|
699
749
|
* Human readable format.
|
|
750
|
+
* @deprecated use {@link getFormattedDayRange} instead
|
|
700
751
|
*/
|
|
701
752
|
get formattedDayRange() {
|
|
702
|
-
|
|
753
|
+
const from = this.from.getFormattedDay('DMY', '.');
|
|
754
|
+
const to = this.to.getFormattedDay('DMY', '.');
|
|
755
|
+
return `${from}${RANGE_SEPARATOR_CHAR}${to}`;
|
|
703
756
|
}
|
|
704
757
|
/**
|
|
705
758
|
* Tests ranges for identity
|
|
@@ -720,6 +773,19 @@ class TuiDayRange extends TuiMonthRange {
|
|
|
720
773
|
dayLimit(min, max) {
|
|
721
774
|
return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));
|
|
722
775
|
}
|
|
776
|
+
/**
|
|
777
|
+
* Human readable format.
|
|
778
|
+
*/
|
|
779
|
+
getFormattedDayRange(dateFormat, dateSeparator) {
|
|
780
|
+
const from = this.from.getFormattedDay(dateFormat, dateSeparator);
|
|
781
|
+
const to = this.to.getFormattedDay(dateFormat, dateSeparator);
|
|
782
|
+
return `${from}${RANGE_SEPARATOR_CHAR}${to}`;
|
|
783
|
+
}
|
|
784
|
+
toString(dateFormat = 'DMY', dateSeparator = '.') {
|
|
785
|
+
const from = this.from.getFormattedDay(dateFormat, dateSeparator);
|
|
786
|
+
const to = this.to.getFormattedDay(dateFormat, dateSeparator);
|
|
787
|
+
return `${from}${RANGE_SEPARATOR_CHAR}${to}`;
|
|
788
|
+
}
|
|
723
789
|
}
|
|
724
790
|
|
|
725
791
|
const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);
|
|
@@ -840,5 +906,5 @@ class TuiTime {
|
|
|
840
906
|
* Generated bundle index. Do not edit.
|
|
841
907
|
*/
|
|
842
908
|
|
|
843
|
-
export { DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH, DAYS_IN_LEAP_YEAR, DAYS_IN_NORMAL_YEAR, DAYS_IN_WEEK, HOURS_IN_DAY, MAX_MONTH, MAX_YEAR, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MINUTES_IN_HOUR, MIN_DAY, MIN_MONTH, MIN_YEAR, MONTHS_IN_YEAR, RANGE_SEPARATOR_CHAR, SECONDS_IN_MINUTE, TUI_DATE_FILLER, TUI_DATE_FORMAT, TUI_DATE_RANGE_FILLER, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiDayRange, TuiMonth, TuiMonthRange, TuiTime, TuiYear };
|
|
909
|
+
export { DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH, DAYS_IN_LEAP_YEAR, DAYS_IN_NORMAL_YEAR, DAYS_IN_WEEK, HOURS_IN_DAY, MAX_MONTH, MAX_YEAR, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MINUTES_IN_HOUR, MIN_DAY, MIN_MONTH, MIN_YEAR, MONTHS_IN_YEAR, RANGE_SEPARATOR_CHAR, SECONDS_IN_MINUTE, TUI_DATE_FILLER, TUI_DATE_FORMAT, TUI_DATE_RANGE_FILLER, TUI_DATE_SEPARATOR, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiDayRange, TuiMonth, TuiMonthRange, TuiTime, TuiYear, changeDateSeparator, isDateMode };
|
|
844
910
|
//# sourceMappingURL=taiga-ui-cdk-date-time.js.map
|