@taiga-ui/cdk 3.46.0 → 3.47.0-canary.dd84a2d
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-cdk-components-dialog-host.umd.js +56 -28
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js +609 -0
- package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-components.umd.js +10 -4
- package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +2 -5
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +4 -4
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +21 -0
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.js +12 -0
- package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
- package/components/dialog-host/dialog-host.component.d.ts +3 -2
- package/components/dialog-host/dialog-host.module.d.ts +3 -4
- package/components/index.d.ts +1 -0
- package/components/scroll-controls/index.d.ts +4 -0
- package/components/scroll-controls/package.json +10 -0
- package/components/scroll-controls/scroll-controls.component.d.ts +13 -0
- package/components/scroll-controls/scroll-controls.module.d.ts +10 -0
- package/components/scroll-controls/scroll-ref.directive.d.ts +6 -0
- package/components/scroll-controls/scrollbar.directive.d.ts +19 -0
- package/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.d.ts +5 -0
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/esm2015/components/dialog-host/dialog-host.component.js +41 -16
- package/esm2015/components/dialog-host/dialog-host.module.js +7 -5
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/scroll-controls/index.js +5 -0
- package/esm2015/components/scroll-controls/scroll-controls.component.js +45 -0
- package/esm2015/components/scroll-controls/scroll-controls.module.js +26 -0
- package/esm2015/components/scroll-controls/scroll-ref.directive.js +26 -0
- package/esm2015/components/scroll-controls/scrollbar.directive.js +133 -0
- package/esm2015/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.js +5 -0
- package/esm2015/constants/parent-animation.js +3 -6
- package/esm2015/constants/version.js +2 -2
- package/esm2015/directives/auto-focus/handlers/default.handler.js +3 -3
- package/esm2015/directives/auto-focus/handlers/ios.handler.js +2 -2
- package/esm2015/directives/auto-focus/handlers/sync.handler.js +2 -2
- package/esm2015/tokens/base-href.js +5 -0
- package/esm2015/tokens/dialogs.js +2 -1
- package/esm2015/tokens/ensure-base-href.js +4 -1
- package/esm2015/tokens/fonts-ready.js +11 -0
- package/esm2015/tokens/index.js +4 -1
- package/esm2015/tokens/scroll-ref.js +8 -0
- package/esm2015/utils/dom/index.js +2 -1
- package/esm2015/utils/dom/retarget-boundary-crossing.js +11 -0
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js +46 -19
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-scroll-controls.js +220 -0
- package/fesm2015/taiga-ui-cdk-components-scroll-controls.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-components.js +1 -0
- package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +3 -6
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +4 -4
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +21 -3
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js +12 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-update/steps/replace-services.js +1 -1
- package/tokens/base-href.d.ts +1 -0
- package/tokens/ensure-base-href.d.ts +3 -0
- package/tokens/fonts-ready.d.ts +3 -0
- package/tokens/index.d.ts +3 -0
- package/tokens/scroll-ref.d.ts +5 -0
- package/utils/dom/index.d.ts +1 -0
- package/utils/dom/retarget-boundary-crossing.d.ts +1 -0
@@ -16,10 +16,10 @@ export class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
16
16
|
}
|
17
17
|
setFocus() {
|
18
18
|
if (this.isTextFieldElement) {
|
19
|
-
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus());
|
19
|
+
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus({ preventScroll: true }));
|
20
20
|
}
|
21
21
|
else {
|
22
|
-
this.element.focus();
|
22
|
+
this.element.focus({ preventScroll: true });
|
23
23
|
}
|
24
24
|
}
|
25
25
|
}
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
41
41
|
type: Inject,
|
42
42
|
args: [ANIMATION_FRAME]
|
43
43
|
}] }]; } });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQWEsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7OztBQUUvRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDckIsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFHOUMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDJCQUEyQjtJQUN2RSxZQUlJLFNBQTZDLEVBQ3pCLEVBQTJCLEVBQ0wsZUFBbUM7UUFFN0UsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZxQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7SUFHakYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQ0EsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixZQUFZLENBQUMsWUFBWSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ3RELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQ0osQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQzs7d0hBMUJRLDBCQUEwQixrQkFJdkIsMkJBQTJCLHlDQUUzQixVQUFVLGFBQ1YsZUFBZTs0R0FQbEIsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBRHRDLFNBQVM7OzBCQUdELFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsMkJBQTJCOzswQkFFbEMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1J9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNraXBXaGlsZSwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2Fic3RyYWN0LmhhbmRsZXInO1xuXG5jb25zdCBUSU1FT1VUID0gMTAwMDtcbmNvbnN0IE5HX0FOSU1BVElPTl9TRUxFQ1RPUiA9IGAubmctYW5pbWF0aW5nYDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgVHVpRGVmYXVsdEF1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBmb2N1c2FibGU6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9jdXNhYmxlLCBlbCk7XG4gICAgfVxuXG4gICAgc2V0Rm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICB0aW1lcihUSU1FT1VUKSxcbiAgICAgICAgICAgICAgICB0aGlzLmFuaW1hdGlvbkZyYW1lJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZWxlbWVudC5jbG9zZXN0KE5HX0FOSU1BVElPTl9TRUxFQ1RPUikpLFxuICAgICAgICAgICAgICAgICAgICBza2lwV2hpbGUoQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -29,7 +29,7 @@ export class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
29
29
|
this.zone.runOutsideAngular(() => this.iosWebkitAutofocus());
|
30
30
|
}
|
31
31
|
else {
|
32
|
-
this.element.focus();
|
32
|
+
this.element.focus({ preventScroll: true });
|
33
33
|
}
|
34
34
|
}
|
35
35
|
iosWebkitAutofocus() {
|
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
167
167
|
type: Inject,
|
168
168
|
args: [WINDOW]
|
169
169
|
}] }]; } });
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2hhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRS9ELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLE1BQU07SUFDTixXQUFXO0lBQ1gsY0FBYztJQUNkLFFBQVE7SUFDUixLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07SUFDTixTQUFTO0lBQ1QsTUFBTTtJQUNOLFdBQVc7Q0FDTCxDQUFDO0FBR1gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDJCQUEyQjtJQUNuRSxZQUlJLFNBQTZDLEVBQ3pCLEVBQTJCLEVBQ1gsUUFBbUIsRUFDdEIsSUFBWSxFQUNaLEdBQVc7UUFFNUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUplLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFHNUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLElB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VSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGtDQUFrQyxDQUFDLFNBQTJCO1FBQ2xFLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFOUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEF2SlEsc0JBQXNCLGtCQUluQiwyQkFBMkIseUNBRTNCLFVBQVUsYUFDVixTQUFTLGFBQ1QsTUFBTSxhQUNOLE1BQU07d0dBVFQsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVM7OzBCQUdELFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsMkJBQTJCOzswQkFFbEMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxNQUFNOzhCQUN3QixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnQsIHR1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5cbmNvbnN0IFRFWFRGSUVMRF9BVFRSUyA9IFtcbiAgICBgdHlwZWAsXG4gICAgYGlucHV0TW9kZWAsXG4gICAgYGF1dG9jb21wbGV0ZWAsXG4gICAgYGFjY2VwdGAsXG4gICAgYG1pbmAsXG4gICAgYG1heGAsXG4gICAgYHN0ZXBgLFxuICAgIGBwYXR0ZXJuYCxcbiAgICBgc2l6ZWAsXG4gICAgYG1heGxlbmd0aGAsXG5dIGFzIGNvbnN0O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUdWlJb3NBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUilcbiAgICAgICAgZm9jdXNhYmxlOiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW46IFdpbmRvdyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9jdXNhYmxlLCBlbCk7XG4gICAgICAgIHRoaXMucGF0Y2hDc3NTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5pb3NXZWJraXRBdXRvZm9jdXMoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW9zV2Via2l0QXV0b2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLm1ha2VGYWtlSW5wdXQoKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLmdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk7XG4gICAgICAgIGxldCBmYWtlRm9jdXNUaW1lb3V0SWQgPSAwO1xuICAgICAgICBsZXQgZWxlbWVudEZvY3VzVGltZW91dElkID0gMDtcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmFrZUZvY3VzVGltZW91dElkKTtcblxuICAgICAgICAgICAgZmFrZUZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGVsZW1lbnRGb2N1c1RpbWVvdXRJZCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYmx1cmAsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgZm9jdXNgLCBmb2N1c0hhbmRsZXIpO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudEZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBibHVyYCwgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBmb2N1c2AsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5zaWRlRGlhbG9nKCkpIHtcbiAgICAgICAgICAgIHRoaXMud2luLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnRFbGVtZW50Py5hcHBlbmRDaGlsZChmYWtlSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogZW11bGF0ZSB0ZXh0ZmllbGQgcG9zaXRpb24gaW4gbGF5b3V0IHdpdGggY3Vyc29yXG4gICAgICogYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIHJlcXVpcmVkIG5vdGU6XG4gICAgICogW2Zha2VJbnB1dC5yZWFkT25seSA9IHRydWVdIH5cbiAgICAgKiBkb24ndCB1c2Uge3JlYWRPbmx5OiB0cnVlfSB2YWx1ZSwgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgYXV0b2ZpbGxcbiAgICAgKlxuICAgICAqIFtmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9IDBdIH5cbiAgICAgKiBkb24ndCB1c2Uge29wYWNpdHk6IDB9LCBzb21ldGltZXMgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgcmVhbCBpbnB1dFxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS5mb250U2l6ZSA9IDE2cHhdIH5cbiAgICAgKiBkaXNhYmxlIHBvc3NpYmxlIGF1dG8gem9vbVxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS50b3AvbGVmdF0gflxuICAgICAqIGVtdWxhdGUgcG9zaXRpb24gY3Vyc29yIGJlZm9yZSBmb2N1cyB0byByZWFsIHRleHRmaWVsZCBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBtYWtlRmFrZUlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoYGlucHV0YCk7XG4gICAgICAgIGNvbnN0IHJlY3Q6IERPTVJlY3QgPSB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy5wYXRjaEZha2VJbnB1dEZyb21Gb2N1c2FibGVFbGVtZW50KGZha2VJbnB1dCk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9IHR1aVB4KHJlY3QuaGVpZ2h0KTtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLndpZHRoID0gdHVpUHgocmVjdC53aWR0aCAvIDIpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSBgZml4ZWRgO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuekluZGV4ID0gYC05OTk5OTk5OWA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jYXJldENvbG9yID0gYHRyYW5zcGFyZW50YDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmJvcmRlciA9IGBub25lYDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm91dGxpbmUgPSBgbm9uZWA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jb2xvciA9IGB0cmFuc3BhcmVudGA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5iYWNrZ3JvdW5kID0gYHRyYW5zcGFyZW50YDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmN1cnNvciA9IGBub25lYDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmZvbnRTaXplID0gdHVpUHgoMTYpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUudG9wID0gdHVpUHgocmVjdC50b3ApO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUubGVmdCA9IHR1aVB4KHJlY3QubGVmdCk7XG5cbiAgICAgICAgcmV0dXJuIGZha2VJbnB1dDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIHRoaXMud2luXG4gICAgICAgICAgICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoYC0tdHVpLWR1cmF0aW9uYCksXG4gICAgICAgICAgICApIHx8IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiB1bmZvcnR1bmF0ZWx5LCBpbiBvbGRlciB2ZXJzaW9ucyBvZiBpT1NcbiAgICAgKiB0aGVyZSBpcyBhIGJ1ZyB0aGF0IHRoZSBmYWtlIGlucHV0IGN1cnNvclxuICAgICAqIHdpbGwgbW92ZSBhbG9uZyB3aXRoIHRoZSBkaWFsb2cgYW5pbWF0aW9uXG4gICAgICogYW5kIHRoZW4gdGhhdCBkaWFsb2cgd2lsbCBiZSBzaGFraW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbnNpZGVEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZWxlbWVudC5jbG9zZXN0KGB0dWktZGlhbG9nYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB0aGUgdmlld3BvcnQgaXNuJ3QgcmVjYWxjdWxhdGVkXG4gICAgICogYW5kIHRoZW4gdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2UuXG4gICAgICpcbiAgICAgKiBBbHNvLCB3ZSBuZWVkIHRvIGZpeGVkIGhlaWdodCB2aWV3cG9ydCxcbiAgICAgKiBzbyB0aGF0IHdoZW4gZm9jdXNpbmcgdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhdGNoQ3NzU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkb2MgPSB0aGlzLndpbi5kb2N1bWVudDtcblxuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgW2RvYy5kb2N1bWVudEVsZW1lbnQsIGRvYy5ib2R5XSkge1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgb3ZlcmZsb3dgLCBgYXV0b2ApO1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgaGVpZ2h0YCwgYDEwMCVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBub3RlOlxuICAgICAqIGluaGVyaXQgYmFzaWMgYXR0cmlidXRlcyB2YWx1ZXMgZnJvbSByZWFsIGlucHV0XG4gICAgICogZm9yIGhlbHAgaU9TIGRldGVjdCB3aGF0IGRvIHlvdSB3YW50IHNlZSBvbiBrZXlib2FyZCxcbiAgICAgKiBmb3IgZXhhbXBsZSBbaW5wdXRNb2RlPW51bWVyaWMsIGF1dG9jb21wbGV0ZT1jYy1udW1iZXJdXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYXRjaEZha2VJbnB1dEZyb21Gb2N1c2FibGVFbGVtZW50KGZha2VJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgICAgICBURVhURklFTERfQVRUUlMuZm9yRWFjaChhdHRyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2hhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRS9ELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLE1BQU07SUFDTixXQUFXO0lBQ1gsY0FBYztJQUNkLFFBQVE7SUFDUixLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07SUFDTixTQUFTO0lBQ1QsTUFBTTtJQUNOLFdBQVc7Q0FDTCxDQUFDO0FBR1gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDJCQUEyQjtJQUNuRSxZQUlJLFNBQTZDLEVBQ3pCLEVBQTJCLEVBQ1gsUUFBbUIsRUFDdEIsSUFBWSxFQUNaLEdBQVc7UUFFNUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUplLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFHNUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLElB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TyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGtDQUFrQyxDQUFDLFNBQTJCO1FBQ2xFLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFOUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEF2SlEsc0JBQXNCLGtCQUluQiwyQkFBMkIseUNBRTNCLFVBQVUsYUFDVixTQUFTLGFBQ1QsTUFBTSxhQUNOLE1BQU07d0dBVFQsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVM7OzBCQUdELFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsMkJBQTJCOzswQkFFbEMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxNQUFNOzhCQUN3QixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnQsIHR1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5cbmNvbnN0IFRFWFRGSUVMRF9BVFRSUyA9IFtcbiAgICBgdHlwZWAsXG4gICAgYGlucHV0TW9kZWAsXG4gICAgYGF1dG9jb21wbGV0ZWAsXG4gICAgYGFjY2VwdGAsXG4gICAgYG1pbmAsXG4gICAgYG1heGAsXG4gICAgYHN0ZXBgLFxuICAgIGBwYXR0ZXJuYCxcbiAgICBgc2l6ZWAsXG4gICAgYG1heGxlbmd0aGAsXG5dIGFzIGNvbnN0O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUdWlJb3NBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUilcbiAgICAgICAgZm9jdXNhYmxlOiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW46IFdpbmRvdyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9jdXNhYmxlLCBlbCk7XG4gICAgICAgIHRoaXMucGF0Y2hDc3NTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5pb3NXZWJraXRBdXRvZm9jdXMoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW9zV2Via2l0QXV0b2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLm1ha2VGYWtlSW5wdXQoKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLmdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk7XG4gICAgICAgIGxldCBmYWtlRm9jdXNUaW1lb3V0SWQgPSAwO1xuICAgICAgICBsZXQgZWxlbWVudEZvY3VzVGltZW91dElkID0gMDtcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmFrZUZvY3VzVGltZW91dElkKTtcblxuICAgICAgICAgICAgZmFrZUZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGVsZW1lbnRGb2N1c1RpbWVvdXRJZCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYmx1cmAsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgZm9jdXNgLCBmb2N1c0hhbmRsZXIpO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudEZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBibHVyYCwgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKGBmb2N1c2AsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5zaWRlRGlhbG9nKCkpIHtcbiAgICAgICAgICAgIHRoaXMud2luLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnRFbGVtZW50Py5hcHBlbmRDaGlsZChmYWtlSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogZW11bGF0ZSB0ZXh0ZmllbGQgcG9zaXRpb24gaW4gbGF5b3V0IHdpdGggY3Vyc29yXG4gICAgICogYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIHJlcXVpcmVkIG5vdGU6XG4gICAgICogW2Zha2VJbnB1dC5yZWFkT25seSA9IHRydWVdIH5cbiAgICAgKiBkb24ndCB1c2Uge3JlYWRPbmx5OiB0cnVlfSB2YWx1ZSwgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgYXV0b2ZpbGxcbiAgICAgKlxuICAgICAqIFtmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9IDBdIH5cbiAgICAgKiBkb24ndCB1c2Uge29wYWNpdHk6IDB9LCBzb21ldGltZXMgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgcmVhbCBpbnB1dFxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS5mb250U2l6ZSA9IDE2cHhdIH5cbiAgICAgKiBkaXNhYmxlIHBvc3NpYmxlIGF1dG8gem9vbVxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS50b3AvbGVmdF0gflxuICAgICAqIGVtdWxhdGUgcG9zaXRpb24gY3Vyc29yIGJlZm9yZSBmb2N1cyB0byByZWFsIHRleHRmaWVsZCBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBtYWtlRmFrZUlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoYGlucHV0YCk7XG4gICAgICAgIGNvbnN0IHJlY3Q6IERPTVJlY3QgPSB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy5wYXRjaEZha2VJbnB1dEZyb21Gb2N1c2FibGVFbGVtZW50KGZha2VJbnB1dCk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9IHR1aVB4KHJlY3QuaGVpZ2h0KTtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLndpZHRoID0gdHVpUHgocmVjdC53aWR0aCAvIDIpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSBgZml4ZWRgO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuekluZGV4ID0gYC05OTk5OTk5OWA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jYXJldENvbG9yID0gYHRyYW5zcGFyZW50YDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmJvcmRlciA9IGBub25lYDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm91dGxpbmUgPSBgbm9uZWA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jb2xvciA9IGB0cmFuc3BhcmVudGA7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5iYWNrZ3JvdW5kID0gYHRyYW5zcGFyZW50YDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmN1cnNvciA9IGBub25lYDtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmZvbnRTaXplID0gdHVpUHgoMTYpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUudG9wID0gdHVpUHgocmVjdC50b3ApO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUubGVmdCA9IHR1aVB4KHJlY3QubGVmdCk7XG5cbiAgICAgICAgcmV0dXJuIGZha2VJbnB1dDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIHRoaXMud2luXG4gICAgICAgICAgICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoYC0tdHVpLWR1cmF0aW9uYCksXG4gICAgICAgICAgICApIHx8IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiB1bmZvcnR1bmF0ZWx5LCBpbiBvbGRlciB2ZXJzaW9ucyBvZiBpT1NcbiAgICAgKiB0aGVyZSBpcyBhIGJ1ZyB0aGF0IHRoZSBmYWtlIGlucHV0IGN1cnNvclxuICAgICAqIHdpbGwgbW92ZSBhbG9uZyB3aXRoIHRoZSBkaWFsb2cgYW5pbWF0aW9uXG4gICAgICogYW5kIHRoZW4gdGhhdCBkaWFsb2cgd2lsbCBiZSBzaGFraW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbnNpZGVEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZWxlbWVudC5jbG9zZXN0KGB0dWktZGlhbG9nYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB0aGUgdmlld3BvcnQgaXNuJ3QgcmVjYWxjdWxhdGVkXG4gICAgICogYW5kIHRoZW4gdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2UuXG4gICAgICpcbiAgICAgKiBBbHNvLCB3ZSBuZWVkIHRvIGZpeGVkIGhlaWdodCB2aWV3cG9ydCxcbiAgICAgKiBzbyB0aGF0IHdoZW4gZm9jdXNpbmcgdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhdGNoQ3NzU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkb2MgPSB0aGlzLndpbi5kb2N1bWVudDtcblxuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgW2RvYy5kb2N1bWVudEVsZW1lbnQsIGRvYy5ib2R5XSkge1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgb3ZlcmZsb3dgLCBgYXV0b2ApO1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgaGVpZ2h0YCwgYDEwMCVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBub3RlOlxuICAgICAqIGluaGVyaXQgYmFzaWMgYXR0cmlidXRlcyB2YWx1ZXMgZnJvbSByZWFsIGlucHV0XG4gICAgICogZm9yIGhlbHAgaU9TIGRldGVjdCB3aGF0IGRvIHlvdSB3YW50IHNlZSBvbiBrZXlib2FyZCxcbiAgICAgKiBmb3IgZXhhbXBsZSBbaW5wdXRNb2RlPW51bWVyaWMsIGF1dG9jb21wbGV0ZT1jYy1udW1iZXJdXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYXRjaEZha2VJbnB1dEZyb21Gb2N1c2FibGVFbGVtZW50KGZha2VJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgICAgICBURVhURklFTERfQVRUUlMuZm9yRWFjaChhdHRyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
@@ -7,7 +7,7 @@ export class TuiSynchronousAutofocusHandler extends AbstractTuiAutofocusHandler
|
|
7
7
|
super(focusable, el);
|
8
8
|
}
|
9
9
|
setFocus() {
|
10
|
-
this.element.focus();
|
10
|
+
this.element.focus({ preventScroll: true });
|
11
11
|
}
|
12
12
|
}
|
13
13
|
TuiSynchronousAutofocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSynchronousAutofocusHandler, deps: [{ token: TUI_FOCUSABLE_ITEM_ACCESSOR, optional: true, self: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
25
25
|
type: Inject,
|
26
26
|
args: [ElementRef]
|
27
27
|
}] }]; } });
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy9oYW5kbGVycy9zeW5jLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRy9ELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwyQkFBMkI7SUFDM0UsWUFJSSxTQUE2QyxFQUN6QixFQUEyQjtRQUUvQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs0SEFiUSw4QkFBOEIsa0JBSTNCLDJCQUEyQix5Q0FFM0IsVUFBVTtnSEFOYiw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFEMUMsU0FBUzs7MEJBR0QsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQywyQkFBMkI7OzBCQUVsQyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2Fic3RyYWN0LmhhbmRsZXInO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUdWlTeW5jaHJvbm91c0F1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBmb2N1c2FibGU6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihmb2N1c2FibGUsIGVsKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { inject } from '@angular/core';
|
3
|
+
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
4
|
+
export const TUI_BASE_HREF = tuiCreateTokenFromFactory(() => { var _a, _b; return (_b = (_a = inject(DOCUMENT).querySelector(`base`)) === null || _a === void 0 ? void 0 : _a.href) !== null && _b !== void 0 ? _b : ``; });
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ocmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9iYXNlLWhyZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLHlCQUF5QixDQUNsRCxHQUFHLEVBQUUsZUFBQyxPQUFBLE1BQUEsTUFBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxJQUFJLG1DQUFJLEVBQUUsQ0FBQSxFQUFBLENBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9CQVNFX0hSRUYgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+IGluamVjdChET0NVTUVOVCkucXVlcnlTZWxlY3RvcihgYmFzZWApPy5ocmVmID8/IGBgLFxuKTtcbiJdfQ==
|
@@ -3,6 +3,7 @@ import { tuiCreateToken } from '@taiga-ui/cdk/utils';
|
|
3
3
|
* A stream of dialogs
|
4
4
|
*/
|
5
5
|
export const TUI_DIALOGS = tuiCreateToken([]);
|
6
|
+
// TODO: Refactor dialogs in 4.0 so there is no need for module imports
|
6
7
|
export function tuiAsDialog(useExisting) {
|
7
8
|
return {
|
8
9
|
provide: TUI_DIALOGS,
|
@@ -10,4 +11,4 @@ export function tuiAsDialog(useExisting) {
|
|
10
11
|
useExisting,
|
11
12
|
};
|
12
13
|
}
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90b2tlbnMvZGlhbG9ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHbkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUV2QyxFQUFFLENBQUMsQ0FBQztBQUVOLHVFQUF1RTtBQUN2RSxNQUFNLFVBQVUsV0FBVyxDQUN2QixXQUE4RDtJQUU5RCxPQUFPO1FBQ0gsT0FBTyxFQUFFLFdBQVc7UUFDcEIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXO0tBQ2QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3ZpZGVyLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQXJpYURpYWxvZ0NvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQSBzdHJlYW0gb2YgZGlhbG9nc1xuICovXG5leHBvcnQgY29uc3QgVFVJX0RJQUxPR1MgPSB0dWlDcmVhdGVUb2tlbjxcbiAgICBSZWFkb25seUFycmF5PE9ic2VydmFibGU8cmVhZG9ubHkgVHVpQXJpYURpYWxvZ0NvbnRleHRbXT4+XG4+KFtdKTtcblxuLy8gVE9ETzogUmVmYWN0b3IgZGlhbG9ncyBpbiA0LjAgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3IgbW9kdWxlIGltcG9ydHNcbmV4cG9ydCBmdW5jdGlvbiB0dWlBc0RpYWxvZyhcbiAgICB1c2VFeGlzdGluZzogVHlwZTxPYnNlcnZhYmxlPHJlYWRvbmx5IFR1aUFyaWFEaWFsb2dDb250ZXh0W10+Pixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfRElBTE9HUyxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIHVzZUV4aXN0aW5nLFxuICAgIH07XG59XG4iXX0=
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
2
2
|
import { inject } from '@angular/core';
|
3
3
|
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
4
|
+
/**
|
5
|
+
* @deprecated: use {@link TUI_BASE_HREF}
|
6
|
+
*/
|
4
7
|
export const TUI_ENSURE_BASE_HREF = tuiCreateTokenFromFactory(() => {
|
5
8
|
var _a;
|
6
9
|
const baseHref = (_a = inject(DOCUMENT).querySelector(`base`)) === null || _a === void 0 ? void 0 : _a.href;
|
@@ -11,4 +14,4 @@ export const TUI_ENSURE_BASE_HREF = tuiCreateTokenFromFactory(() => {
|
|
11
14
|
link.href = ``;
|
12
15
|
return link.pathname;
|
13
16
|
});
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLWJhc2UtaHJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90b2tlbnMvZW5zdXJlLWJhc2UtaHJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDLEdBQUcsRUFBRTs7SUFDL0QsTUFBTSxRQUFRLEdBQUcsTUFBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxJQUFJLENBQUM7SUFFOUQsSUFBSSxRQUFRLEVBQUU7UUFDVixPQUFPLFFBQVEsQ0FBQztLQUNuQjtJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBUVUlfQkFTRV9IUkVGfVxuICovXG5leHBvcnQgY29uc3QgVFVJX0VOU1VSRV9CQVNFX0hSRUYgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KCgpID0+IHtcbiAgICBjb25zdCBiYXNlSHJlZiA9IGluamVjdChET0NVTUVOVCkucXVlcnlTZWxlY3RvcihgYmFzZWApPy5ocmVmO1xuXG4gICAgaWYgKGJhc2VIcmVmKSB7XG4gICAgICAgIHJldHVybiBiYXNlSHJlZjtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5rID0gaW5qZWN0KERPQ1VNRU5UKS5jcmVhdGVFbGVtZW50KGBhYCk7XG5cbiAgICBsaW5rLmhyZWYgPSBgYDtcblxuICAgIHJldHVybiBsaW5rLnBhdGhuYW1lO1xufSk7XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { inject, InjectionToken } from '@angular/core';
|
3
|
+
import { EMPTY, from } from 'rxjs';
|
4
|
+
import { shareReplay } from 'rxjs/operators';
|
5
|
+
export const TUI_FONTS_READY = new InjectionToken(`[TUI_FONTS_READY]`, {
|
6
|
+
factory: () => {
|
7
|
+
var _a;
|
8
|
+
return from(((_a = inject(DOCUMENT).fonts) === null || _a === void 0 ? void 0 : _a.ready) || EMPTY).pipe(shareReplay({ bufferSize: 1, refCount: false }));
|
9
|
+
},
|
10
|
+
});
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udHMtcmVhZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2ZvbnRzLXJlYWR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QyxtQkFBbUIsRUFDbkI7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFOztRQUNWLE9BQUEsSUFBSSxDQUFDLENBQUEsTUFBQyxNQUFNLENBQUMsUUFBUSxDQUFTLENBQUMsS0FBSywwQ0FBRSxLQUFLLEtBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN0RCxXQUFXLENBQUMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUNoRCxDQUFBO0tBQUE7Q0FDUixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFksIGZyb20sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzaGFyZVJlcGxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0ZPTlRTX1JFQURZID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8dW5rbm93bj4+KFxuICAgIGBbVFVJX0ZPTlRTX1JFQURZXWAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PlxuICAgICAgICAgICAgZnJvbSgoaW5qZWN0KERPQ1VNRU5UKSBhcyBhbnkpLmZvbnRzPy5yZWFkeSB8fCBFTVBUWSkucGlwZShcbiAgICAgICAgICAgICAgICBzaGFyZVJlcGxheSh7YnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IGZhbHNlfSksXG4gICAgICAgICAgICApLFxuICAgIH0sXG4pO1xuIl19
|
package/esm2015/tokens/index.js
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
export * from './active-element';
|
2
2
|
export * from './alerts';
|
3
|
+
export * from './base-href';
|
3
4
|
export * from './default-renderer';
|
4
5
|
export * from './dialogs';
|
5
6
|
export * from './ensure-base-href';
|
6
7
|
export * from './focusable-item-accessor';
|
8
|
+
export * from './fonts-ready';
|
7
9
|
export * from './is-android';
|
8
10
|
export * from './is-apple';
|
9
11
|
export * from './is-chromium';
|
@@ -18,10 +20,11 @@ export * from './is-webkit';
|
|
18
20
|
export * from './platform';
|
19
21
|
export * from './range';
|
20
22
|
export * from './removed-element';
|
23
|
+
export * from './scroll-ref';
|
21
24
|
export * from './swipe-options';
|
22
25
|
export * from './take-only-trusted-events';
|
23
26
|
export * from './touch-supported';
|
24
27
|
export * from './window-height';
|
25
28
|
export * from './window-size';
|
26
29
|
export * from './zoom-options';
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0cyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtaHJlZic7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZW5zdXJlLWJhc2UtaHJlZic7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzYWJsZS1pdGVtLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vZm9udHMtcmVhZHknO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtYXBwbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jaHJvbWl1bSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWN5cHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1lMmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1maXJlZm94JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW9zJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtcGxheXdyaWdodCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLXN0YWNrYmxpdHonO1xuZXhwb3J0ICogZnJvbSAnLi9pcy13ZWJraXQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF0Zm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL3N3aXBlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWtlLW9ubHktdHJ1c3RlZC1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b3VjaC1zdXBwb3J0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3ctaGVpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vd2luZG93LXNpemUnO1xuZXhwb3J0ICogZnJvbSAnLi96b29tLW9wdGlvbnMnO1xuIl19
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { ElementRef, inject } from '@angular/core';
|
3
|
+
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
4
|
+
/**
|
5
|
+
* Scrollable container
|
6
|
+
*/
|
7
|
+
export const TUI_SCROLL_REF = tuiCreateTokenFromFactory(() => new ElementRef(inject(DOCUMENT).documentElement));
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90b2tlbnMvc2Nyb2xsLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcseUJBQXlCLENBQ25ELEdBQUcsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0VsZW1lbnRSZWYsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuXG4vKipcbiAqIFNjcm9sbGFibGUgY29udGFpbmVyXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfU0NST0xMX1JFRiA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT4gbmV3IEVsZW1lbnRSZWYoaW5qZWN0KERPQ1VNRU5UKS5kb2N1bWVudEVsZW1lbnQpLFxuKTtcbiJdfQ==
|
@@ -13,4 +13,5 @@ export * from './is-element-editable';
|
|
13
13
|
export * from './is-inside-iframe';
|
14
14
|
export * from './is-node-in';
|
15
15
|
export * from './point-to-client-rect';
|
16
|
-
|
16
|
+
export * from './retarget-boundary-crossing';
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FuLXNjcm9sbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5zLW9yLWFmdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1jaGVja3MnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtYWN0dWFsLXRhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jbGlwYm9hcmQtZGF0YS10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtb2JzY3VyZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtb2Zmc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXNjcm9sbC1wYXJlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0ZWQtdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWN1cnJlbnQtdGFyZ2V0JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZWxlbWVudC1lZGl0YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWluc2lkZS1pZnJhbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1ub2RlLWluJztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnQtdG8tY2xpZW50LXJlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXRhcmdldC1ib3VuZGFyeS1jcm9zc2luZyc7XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export function tuiRetargetedBoundaryCrossing(event) {
|
2
|
+
var _a, _b;
|
3
|
+
if (`explicitOriginalTarget` in event) {
|
4
|
+
return (event === null || event === void 0 ? void 0 : event.explicitOriginalTarget) !== event.target; // firefox
|
5
|
+
}
|
6
|
+
if (`layerX` in event && `layerY` in event) {
|
7
|
+
return ((_a = event === null || event === void 0 ? void 0 : event.layerX) !== null && _a !== void 0 ? _a : 0) < 0 || ((_b = event === null || event === void 0 ? void 0 : event.layerY) !== null && _b !== void 0 ? _b : 0) < 0; // chrome/safari/etc
|
8
|
+
}
|
9
|
+
return false;
|
10
|
+
}
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0YXJnZXQtYm91bmRhcnktY3Jvc3NpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL3JldGFyZ2V0LWJvdW5kYXJ5LWNyb3NzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxLQUFVOztJQUNwRCxJQUFJLHdCQUF3QixJQUFJLEtBQUssRUFBRTtRQUNuQyxPQUFPLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixNQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVO0tBQ3BFO0lBRUQsSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUU7UUFDeEMsT0FBTyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7S0FDcEY7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHR1aVJldGFyZ2V0ZWRCb3VuZGFyeUNyb3NzaW5nKGV2ZW50OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoYGV4cGxpY2l0T3JpZ2luYWxUYXJnZXRgIGluIGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBldmVudD8uZXhwbGljaXRPcmlnaW5hbFRhcmdldCAhPT0gZXZlbnQudGFyZ2V0OyAvLyBmaXJlZm94XG4gICAgfVxuXG4gICAgaWYgKGBsYXllclhgIGluIGV2ZW50ICYmIGBsYXllcllgIGluIGV2ZW50KSB7XG4gICAgICAgIHJldHVybiAoZXZlbnQ/LmxheWVyWCA/PyAwKSA8IDAgfHwgKGV2ZW50Py5sYXllclkgPz8gMCkgPCAwOyAvLyBjaHJvbWUvc2FmYXJpL2V0Y1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
|
@@ -1,25 +1,23 @@
|
|
1
|
-
import
|
1
|
+
import { trigger, transition, style, query, animateChild } from '@angular/animations';
|
2
|
+
import * as i2 from '@angular/common';
|
2
3
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
3
4
|
import * as i0 from '@angular/core';
|
4
5
|
import { ChangeDetectorRef, Component, ChangeDetectionStrategy, Inject, Self, NgModule } from '@angular/core';
|
5
|
-
import * as
|
6
|
+
import * as i6 from '@angular/platform-browser';
|
6
7
|
import { Title } from '@angular/platform-browser';
|
7
8
|
import { HISTORY } from '@ng-web-apis/common';
|
8
|
-
import { TUI_PARENT_ANIMATION } from '@taiga-ui/cdk/constants';
|
9
9
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
10
|
-
import { TUI_DIALOGS } from '@taiga-ui/cdk/tokens';
|
10
|
+
import { TUI_IS_MOBILE, TUI_DIALOGS } from '@taiga-ui/cdk/tokens';
|
11
11
|
import { tuiCreateToken } from '@taiga-ui/cdk/utils';
|
12
|
-
import * as
|
12
|
+
import * as i5 from 'rxjs';
|
13
13
|
import { of, combineLatest } from 'rxjs';
|
14
14
|
import { map, takeUntil } from 'rxjs/operators';
|
15
|
-
import * as
|
16
|
-
import {
|
17
|
-
import * as i3 from '@taiga-ui/cdk/directives
|
18
|
-
import { TuiOverscrollModule } from '@taiga-ui/cdk/directives
|
15
|
+
import * as i1 from '@taiga-ui/cdk/components/scroll-controls';
|
16
|
+
import { TuiScrollControlsModule } from '@taiga-ui/cdk/components/scroll-controls';
|
17
|
+
import * as i3 from '@taiga-ui/cdk/directives';
|
18
|
+
import { TuiOverscrollModule, TuiFocusTrapModule, TuiLetModule } from '@taiga-ui/cdk/directives';
|
19
19
|
import * as i4 from '@tinkoff/ng-polymorpheus';
|
20
20
|
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
21
|
-
import * as i5 from '@taiga-ui/cdk/directives';
|
22
|
-
import { TuiLetModule } from '@taiga-ui/cdk/directives';
|
23
21
|
|
24
22
|
/**
|
25
23
|
* Is closing dialog on browser backward navigation enabled
|
@@ -28,7 +26,8 @@ const TUI_DIALOG_CLOSES_ON_BACK = tuiCreateToken(of(false));
|
|
28
26
|
const FAKE_HISTORY_STATE = { label: 'ignoreMe' };
|
29
27
|
const isFakeHistoryState = (historyState) => (historyState === null || historyState === void 0 ? void 0 : historyState.label) === FAKE_HISTORY_STATE.label;
|
30
28
|
class TuiDialogHostComponent {
|
31
|
-
constructor(isDialogClosesOnBack$, dialogsByType, historyRef, titleService, destroy$, cdr, doc) {
|
29
|
+
constructor(isMobile, isDialogClosesOnBack$, dialogsByType, historyRef, titleService, destroy$, cdr, doc) {
|
30
|
+
this.isMobile = isMobile;
|
32
31
|
this.isDialogClosesOnBack$ = isDialogClosesOnBack$;
|
33
32
|
this.dialogsByType = dialogsByType;
|
34
33
|
this.historyRef = historyRef;
|
@@ -77,8 +76,19 @@ class TuiDialogHostComponent {
|
|
77
76
|
}
|
78
77
|
}
|
79
78
|
}
|
80
|
-
TuiDialogHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogHostComponent, deps: [{ token: TUI_DIALOG_CLOSES_ON_BACK }, { token: TUI_DIALOGS }, { token: HISTORY }, { token: Title }, { token: TuiDestroyService, self: true }, { token: ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
81
|
-
TuiDialogHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogHostComponent, selector: "tui-dialog-host", providers: [TuiDestroyService], ngImport: i0, template: "<section\n *ngFor=\"let item of dialogs\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiFocusTrap\n tuiOverscroll=\"all\"\n tuiScrollRef\n class=\"t-dialog\"\n @
|
79
|
+
TuiDialogHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogHostComponent, deps: [{ token: TUI_IS_MOBILE }, { token: TUI_DIALOG_CLOSES_ON_BACK }, { token: TUI_DIALOGS }, { token: HISTORY }, { token: Title }, { token: TuiDestroyService, self: true }, { token: ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
80
|
+
TuiDialogHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogHostComponent, selector: "tui-dialog-host", providers: [TuiDestroyService], ngImport: i0, template: "<section\n *ngFor=\"let item of dialogs\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiFocusTrap\n tuiOverscroll=\"all\"\n tuiScrollRef\n class=\"t-dialog\"\n @host\n [attr.aria-labelledby]=\"item.id\"\n>\n <ng-container *polymorpheusOutlet=\"item.component; context: item\"></ng-container>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scrollbars\"\n ></tui-scroll-controls>\n</section>\n<div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (transitionend)=\"onDialog($event, !!dialogs.length, !!isDialogClosesOnBack)\"\n (window:popstate)=\"closeLast(dialogs, !!isDialogClosesOnBack)\"\n></div>\n", styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.t-overlay,.t-dialog{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:none;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.t-overlay.ng-animating,.t-dialog.ng-animating{overflow:clip}.t-overlay::-webkit-scrollbar,.t-dialog::-webkit-scrollbar,.t-overlay::-webkit-scrollbar-thumb,.t-dialog::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}.t-dialog{bottom:auto;height:100%}.t-overlay{height:100%;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration, .3s),letter-spacing .01s;background:rgba(0,0,0,.75);-webkit-backdrop-filter:var(--tui-backdrop, none);backdrop-filter:var(--tui-backdrop, none)}.t-overlay_visible{opacity:1;letter-spacing:1px}.t-dialog:last-of-type{z-index:1}.t-scrollbars{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;color:#747474}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiFocusTrapDirective, selector: "[tuiFocusTrap]" }, { type: i3.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i1.TuiScrollRefDirective, selector: "[tuiScrollRef]" }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }], pipes: { "async": i2.AsyncPipe }, animations: [
|
81
|
+
trigger('host', [
|
82
|
+
transition(':enter', [
|
83
|
+
style({ overflow: 'clip' }),
|
84
|
+
query(':scope > *', [animateChild()], { optional: true }),
|
85
|
+
]),
|
86
|
+
transition(':leave', [
|
87
|
+
style({ overflow: 'clip' }),
|
88
|
+
query(':scope > *', [animateChild()], { optional: true }),
|
89
|
+
]),
|
90
|
+
]),
|
91
|
+
], changeDetection: i0.ChangeDetectionStrategy.Default });
|
82
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogHostComponent, decorators: [{
|
83
93
|
type: Component,
|
84
94
|
args: [{
|
@@ -89,9 +99,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
89
99
|
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
|
90
100
|
changeDetection: ChangeDetectionStrategy.Default,
|
91
101
|
providers: [TuiDestroyService],
|
92
|
-
animations: [
|
102
|
+
animations: [
|
103
|
+
trigger('host', [
|
104
|
+
transition(':enter', [
|
105
|
+
style({ overflow: 'clip' }),
|
106
|
+
query(':scope > *', [animateChild()], { optional: true }),
|
107
|
+
]),
|
108
|
+
transition(':leave', [
|
109
|
+
style({ overflow: 'clip' }),
|
110
|
+
query(':scope > *', [animateChild()], { optional: true }),
|
111
|
+
]),
|
112
|
+
]),
|
113
|
+
],
|
93
114
|
}]
|
94
|
-
}], ctorParameters: function () { return [{ type:
|
115
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
116
|
+
type: Inject,
|
117
|
+
args: [TUI_IS_MOBILE]
|
118
|
+
}] }, { type: i5.Observable, decorators: [{
|
95
119
|
type: Inject,
|
96
120
|
args: [TUI_DIALOG_CLOSES_ON_BACK]
|
97
121
|
}] }, { type: Array, decorators: [{
|
@@ -100,10 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
100
124
|
}] }, { type: History, decorators: [{
|
101
125
|
type: Inject,
|
102
126
|
args: [HISTORY]
|
103
|
-
}] }, { type:
|
127
|
+
}] }, { type: i6.Title, decorators: [{
|
104
128
|
type: Inject,
|
105
129
|
args: [Title]
|
106
|
-
}] }, { type:
|
130
|
+
}] }, { type: i5.Observable, decorators: [{
|
107
131
|
type: Self
|
108
132
|
}, {
|
109
133
|
type: Inject,
|
@@ -123,13 +147,15 @@ TuiDialogHostModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
123
147
|
PolymorpheusModule,
|
124
148
|
TuiOverscrollModule,
|
125
149
|
TuiFocusTrapModule,
|
126
|
-
TuiLetModule
|
150
|
+
TuiLetModule,
|
151
|
+
TuiScrollControlsModule], exports: [TuiDialogHostComponent] });
|
127
152
|
TuiDialogHostModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogHostModule, imports: [[
|
128
153
|
CommonModule,
|
129
154
|
PolymorpheusModule,
|
130
155
|
TuiOverscrollModule,
|
131
156
|
TuiFocusTrapModule,
|
132
157
|
TuiLetModule,
|
158
|
+
TuiScrollControlsModule,
|
133
159
|
]] });
|
134
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogHostModule, decorators: [{
|
135
161
|
type: NgModule,
|
@@ -140,6 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
140
166
|
TuiOverscrollModule,
|
141
167
|
TuiFocusTrapModule,
|
142
168
|
TuiLetModule,
|
169
|
+
TuiScrollControlsModule,
|
143
170
|
],
|
144
171
|
declarations: [TuiDialogHostComponent],
|
145
172
|
exports: [TuiDialogHostComponent],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-components-dialog-host.js","sources":["../../../projects/cdk/components/dialog-host/dialog-host.component.ts","../../../projects/cdk/components/dialog-host/dialog-host.template.html","../../../projects/cdk/components/dialog-host/dialog-host.module.ts","../../../projects/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n/**\n * Is closing dialog on browser backward navigation enabled\n */\nexport const TUI_DIALOG_CLOSES_ON_BACK = tuiCreateToken(of(false));\n\nconst FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\nconst isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n // So that we do not force OnPush on custom dialogs\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [TUI_PARENT_ANIMATION],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>>\n implements OnInit\n{\n dialogs: readonly T[] = [];\n\n constructor(\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS)\n private readonly dialogsByType: Array<Observable<readonly T[]>>,\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(DOCUMENT) private readonly doc: Document,\n ) {}\n\n ngOnInit(): void {\n // Due to this view being parallel to app content, `markForCheck` from `async` pipe\n // can happen after view was checked, so calling `detectChanges` instead\n combineLatest(this.dialogsByType)\n .pipe(\n map(arr =>\n ([] as readonly T[])\n .concat(...arr)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(dialogs => {\n this.dialogs = dialogs;\n this.cdr.markForCheck();\n\n // TODO: Hack for mobile Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1845264\n this.doc.documentElement.classList.toggle(\n 't-overscroll-none',\n !!dialogs.length,\n );\n });\n }\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean): void {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ): void {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","<section\n *ngFor=\"let item of dialogs\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiFocusTrap\n tuiOverscroll=\"all\"\n tuiScrollRef\n class=\"t-dialog\"\n @tuiParentAnimation\n [attr.aria-labelledby]=\"item.id\"\n>\n <ng-container *polymorpheusOutlet=\"item.component; context: item\"></ng-container>\n</section>\n<div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (transitionend)=\"onDialog($event, !!dialogs.length, !!isDialogClosesOnBack)\"\n (window:popstate)=\"closeLast(dialogs, !!isDialogClosesOnBack)\"\n></div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk/directives';\nimport {TuiFocusTrapModule} from '@taiga-ui/cdk/directives/focus-trap';\nimport {TuiOverscrollModule} from '@taiga-ui/cdk/directives/overscroll';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\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-components-dialog-host.js","sources":["../../../projects/cdk/components/dialog-host/dialog-host.component.ts","../../../projects/cdk/components/dialog-host/dialog-host.template.html","../../../projects/cdk/components/dialog-host/dialog-host.module.ts","../../../projects/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {animateChild, query, style, transition, trigger} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n/**\n * Is closing dialog on browser backward navigation enabled\n */\nexport const TUI_DIALOG_CLOSES_ON_BACK = tuiCreateToken(of(false));\n\nconst FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\nconst isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n // So that we do not force OnPush on custom dialogs\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [\n trigger('host', [\n transition(':enter', [\n style({overflow: 'clip'}),\n query(':scope > *', [animateChild()], {optional: true}),\n ]),\n transition(':leave', [\n style({overflow: 'clip'}),\n query(':scope > *', [animateChild()], {optional: true}),\n ]),\n ]),\n ],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>>\n implements OnInit\n{\n dialogs: readonly T[] = [];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS)\n private readonly dialogsByType: Array<Observable<readonly T[]>>,\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(DOCUMENT) private readonly doc: Document,\n ) {}\n\n ngOnInit(): void {\n // Due to this view being parallel to app content, `markForCheck` from `async` pipe\n // can happen after view was checked, so calling `detectChanges` instead\n combineLatest(this.dialogsByType)\n .pipe(\n map(arr =>\n ([] as readonly T[])\n .concat(...arr)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(dialogs => {\n this.dialogs = dialogs;\n this.cdr.markForCheck();\n\n // TODO: Hack for mobile Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1845264\n this.doc.documentElement.classList.toggle(\n 't-overscroll-none',\n !!dialogs.length,\n );\n });\n }\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean): void {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ): void {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","<section\n *ngFor=\"let item of dialogs\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiFocusTrap\n tuiOverscroll=\"all\"\n tuiScrollRef\n class=\"t-dialog\"\n @host\n [attr.aria-labelledby]=\"item.id\"\n>\n <ng-container *polymorpheusOutlet=\"item.component; context: item\"></ng-container>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scrollbars\"\n ></tui-scroll-controls>\n</section>\n<div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (transitionend)=\"onDialog($event, !!dialogs.length, !!isDialogClosesOnBack)\"\n (window:popstate)=\"closeLast(dialogs, !!isDialogClosesOnBack)\"\n></div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk/components/scroll-controls';\nimport {\n TuiFocusTrapModule,\n TuiLetModule,\n TuiOverscrollModule,\n} from '@taiga-ui/cdk/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|