@taiga-ui/core 3.87.0 → 3.88.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.
@@ -4,7 +4,7 @@ import { tuiFadeIn, tuiSlideInTop } from '@taiga-ui/core/animations';
4
4
  import { TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD, TUI_COMMON_ICONS, } from '@taiga-ui/core/tokens';
5
5
  import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
6
6
  import { isObservable, merge, of, Subject } from 'rxjs';
7
- import { filter, map, switchMap, takeUntil } from 'rxjs/operators';
7
+ import { filter, map, share, switchMap, takeUntil } from 'rxjs/operators';
8
8
  import { TUI_DIALOGS_CLOSE } from './dialog.tokens';
9
9
  import { TuiDialogCloseService } from './dialog-close.service';
10
10
  import * as i0 from "@angular/core";
@@ -39,7 +39,8 @@ export class TuiDialogComponent {
39
39
  },
40
40
  };
41
41
  this.close$ = new Subject();
42
- merge(this.close$.pipe(switchMap(() => toObservable(context.closeable))), dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))), close$.pipe(map(ALWAYS_TRUE_HANDLER)))
42
+ this.closeable$ = toObservable(this.context.closeable).pipe(share());
43
+ merge(this.close$.pipe(switchMap(() => this.closeable$)), dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))), close$.pipe(map(ALWAYS_TRUE_HANDLER)))
43
44
  .pipe(filter(Boolean), takeUntil(destroy$))
44
45
  .subscribe(() => {
45
46
  this.close();
@@ -69,7 +70,7 @@ export class TuiDialogComponent {
69
70
  }
70
71
  }
71
72
  TuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_IS_MOBILE }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiDestroyService, self: true }, { token: TuiDialogCloseService }, { token: TUI_DIALOGS_CLOSE }, { token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
72
- TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: [TuiDestroyService, TuiDialogCloseService], ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-modal)}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{min-width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-elevation-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:1;order:-1}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;display:none;color:var(--tui-base-01)}:host-context(.t-dialog:last-of-type) .t-close{display:block}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close{animation:tuiFadeIn var(--tui-duration);background:rgba(104,104,104,.96)}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent!important;color:var(--tui-text-01);opacity:.5}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
73
+ TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: [TuiDestroyService, TuiDialogCloseService], ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"closeable$ | async\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-modal)}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{min-width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-elevation-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:1;order:-1}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;display:none;color:var(--tui-base-01)}:host-context(.t-dialog:last-of-type) .t-close{display:block}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close{animation:tuiFadeIn var(--tui-duration);background:rgba(104,104,104,.96)}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent!important;color:var(--tui-text-01);opacity:.5}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
73
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogComponent, decorators: [{
74
75
  type: Component,
75
76
  args: [{
@@ -124,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
124
125
  type: HostBinding,
125
126
  args: ['@tuiFadeIn']
126
127
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsZ0JBQWdCLEdBRW5CLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFDLG9CQUFvQixFQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBRTdELE1BQU0sY0FBYyxHQUFHLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFFbEUsU0FBUyxZQUFZLENBQUksYUFBZ0M7SUFDckQsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFD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Q0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDOzRGQUs3QixrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyw2Q0FBNkM7b0JBQzdDLHFGQUFxRjtvQkFDckYsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87b0JBQ2hELFNBQVMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO29CQUNyRCxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0Ysd0JBQXdCLEVBQUUsb0JBQW9CO3FCQUNqRDtpQkFDSjs7MEJBcUJRLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsSUFBSTs7MEJBQy9CLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLGdCQUFnQjs0Q0FjeEIsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFPMUIsVUFBVTtzQkFGYixXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQzVCLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aURpYWxvZyxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aUZhZGVJbiwgdHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aUFuaW1hdGlvbk9wdGlvbnMsIFR1aURpYWxvZ09wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfQU5JTUFUSU9OU19EVVJBVElPTixcbiAgICBUVUlfQ0xPU0VfV09SRCxcbiAgICBUVUlfQ09NTU9OX0lDT05TLFxuICAgIFR1aUNvbW1vbkljb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlEaWFsb2dTaXplfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1BPTFlNT1JQSEVVU19DT05URVhULCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtpc09ic2VydmFibGUsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ESUFMT0dTX0NMT1NFfSBmcm9tICcuL2RpYWxvZy50b2tlbnMnO1xuaW1wb3J0IHtUdWlEaWFsb2dDbG9zZVNlcnZpY2V9IGZyb20gJy4vZGlhbG9nLWNsb3NlLnNlcnZpY2UnO1xuXG5jb25zdCBSRVFVSVJFRF9FUlJPUiA9IG5ldyBFcnJvcignUmVxdWlyZWQgZGlhbG9nIHdhcyBkaXNtaXNzZWQnKTtcblxuZnVuY3Rpb24gdG9PYnNlcnZhYmxlPFQ+KHZhbHVlT3JTdHJlYW06IE9ic2VydmFibGU8VD4gfCBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZSh2YWx1ZU9yU3RyZWFtKSA/IHZhbHVlT3JTdHJlYW0gOiBvZih2YWx1ZU9yU3RyZWFtKTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy5zdHlsZS5sZXNzJ10sXG4gICAgLy8gU28gd2UgZG9uJ3QgZm9yY2UgT25QdXNoIG9uIGRpYWxvZyBjb250ZW50XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZSwgVHVpRGlhbG9nQ2xvc2VTZXJ2aWNlXSxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcCwgdHVpRmFkZUluXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ2NvbnRleHQuYXBwZWFyYW5jZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGlhbG9nQ29tcG9uZW50PE8sIEk+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbiA9IHtcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIHN0YXJ0OiAnNDBweCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgICAgfSxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmdWxsc2NyZWVuQW5pbWF0aW9uID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnQ6ICcxMDB2aCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgICAgfSxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgcmVhZG9ubHkgY2xvc2UkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05TX0RVUkFUSU9OKSBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVCkgcmVhZG9ubHkgY29udGV4dDogVHVpRGlhbG9nPFR1aURpYWxvZ09wdGlvbnM8ST4sIE8+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBAU2VsZigpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFR1aURpYWxvZ0Nsb3NlU2VydmljZSkgZGlhbG9nQ2xvc2UkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUFMT0dTX0NMT1NFKSBjbG9zZSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NMT1NFX1dPUkQpIHJlYWRvbmx5IGNsb3NlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfQ09NTU9OX0lDT05TKSByZWFkb25seSBpY29uczogVHVpQ29tbW9uSWNvbnMsXG4gICAgKSB7XG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5jbG9zZSQucGlwZShzd2l0Y2hNYXAoKCkgPT4gdG9PYnNlcnZhYmxlKGNvbnRleHQuY2xvc2VhYmxlKSkpLFxuICAgICAgICAgICAgZGlhbG9nQ2xvc2UkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRvT2JzZXJ2YWJsZShjb250ZXh0LmRpc21pc3NpYmxlKSkpLFxuICAgICAgICAgICAgY2xvc2UkLnBpcGUobWFwKEFMV0FZU19UUlVFX0hBTkRMRVIpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpRGlhbG9nU2l6ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9jZW50ZXJlZCcpXG4gICAgZ2V0IGhlYWRlcigpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aURpYWxvZzxUdWlEaWFsb2dPcHRpb25zPEk+LCBPPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmhlYWRlcjtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlTbGlkZUluVG9wJylcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlGYWRlSW4nKVxuICAgIGdldCBzbGlkZUluVG9wKCk6IFR1aUFuaW1hdGlvbk9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5mdWxsc2NyZWVuIHx8IHRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gdGhpcy5mdWxsc2NyZWVuQW5pbWF0aW9uXG4gICAgICAgICAgICA6IHRoaXMuYW5pbWF0aW9uO1xuICAgIH1cblxuICAgIGdldCBmdWxsc2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUgJiYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nIHx8IHRoaXMuc2l6ZSA9PT0gJ3BhZ2UnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0LnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmVycm9yKFJFUVVJUkVEX0VSUk9SKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxoZWFkZXJcbiAgICAqbmdJZj1cImhlYWRlclwiXG4gICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGVhZGVyIGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPGgyXG4gICAgICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbiAgICAgICAgW2lkXT1cImNvbnRleHQuaWRcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29udGV4dC5sYWJlbFwiXG4gICAgPjwvaDI+XG4gICAgPHNlY3Rpb24+XG4gICAgICAgIDwhLS0gVE9ETzogUG9seW1vcnBoZXVzIGZpeCB0eXBlIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCIkYW55KGNvbnRleHQuY29udGVudCkgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiPlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJGFueShjb250ZXh0LmRhdGEpPy5idXR0b24gfHwgJ09LJyB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtZmlsbGVyXCI+PC9kaXY+XG48ZGl2XG4gICAgKm5nSWY9XCJjb250ZXh0LmNsb3NlYWJsZVwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kaWFsb2dfX2Nsb3NlXCJcbiAgICAgICAgc2hhcGU9XCJyb3VuZGVkXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xvc2VcIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJmdWxsc2NyZWVuID8gJ3NlY29uZGFyeScgOiAnJ1wiXG4gICAgICAgIFtpY29uXT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgW3RpdGxlXT1cImNsb3NlV29yZCQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSQubmV4dCgpXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgID48L2J1dHRvbj5cbjwvZGl2PlxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsZ0JBQWdCLEdBRW5CLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFDLG9CQUFvQixFQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUU3RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRWxFLFNBQVMsWUFBWSxDQUFJLGFBQWdDO0lBQ3JELE9BQU8sWUFBWSxDQUFD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QUNkLGdCQUFnQjtvR0E1Qm5CLGtCQUFrQixvUEFOaEIsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQywwQkMxQ3pELCs4Q0FtREEsbTJHRFJnQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7NEZBSzdCLGtCQUFrQjtrQkFiOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLDZDQUE2QztvQkFDN0MscUZBQXFGO29CQUNyRixlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztvQkFDaEQsU0FBUyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7b0JBQ3JELFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7b0JBQ3RDLElBQUksRUFBRTt3QkFDRix3QkFBd0IsRUFBRSxvQkFBb0I7cUJBQ2pEO2lCQUNKOzswQkFzQlEsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUM5QixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBRyxJQUFJOzswQkFDL0IsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsZ0JBQWdCOzRDQWN4QixJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU8xQixVQUFVO3NCQUZiLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRGlhbG9nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRmFkZUluLCB0dWlTbGlkZUluVG9wfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpQW5pbWF0aW9uT3B0aW9ucywgVHVpRGlhbG9nT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX0RVUkFUSU9OLFxuICAgIFRVSV9DTE9TRV9XT1JELFxuICAgIFRVSV9DT01NT05fSUNPTlMsXG4gICAgVHVpQ29tbW9uSWNvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aURpYWxvZ1NpemV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7UE9MWU1PUlBIRVVTX0NPTlRFWFQsIFBvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge2lzT2JzZXJ2YWJsZSwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHNoYXJlLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ESUFMT0dTX0NMT1NFfSBmcm9tICcuL2RpYWxvZy50b2tlbnMnO1xuaW1wb3J0IHtUdWlEaWFsb2dDbG9zZVNlcnZpY2V9IGZyb20gJy4vZGlhbG9nLWNsb3NlLnNlcnZpY2UnO1xuXG5jb25zdCBSRVFVSVJFRF9FUlJPUiA9IG5ldyBFcnJvcignUmVxdWlyZWQgZGlhbG9nIHdhcyBkaXNtaXNzZWQnKTtcblxuZnVuY3Rpb24gdG9PYnNlcnZhYmxlPFQ+KHZhbHVlT3JTdHJlYW06IE9ic2VydmFibGU8VD4gfCBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZSh2YWx1ZU9yU3RyZWFtKSA/IHZhbHVlT3JTdHJlYW0gOiBvZih2YWx1ZU9yU3RyZWFtKTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy5zdHlsZS5sZXNzJ10sXG4gICAgLy8gU28gd2UgZG9uJ3QgZm9yY2UgT25QdXNoIG9uIGRpYWxvZyBjb250ZW50XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZSwgVHVpRGlhbG9nQ2xvc2VTZXJ2aWNlXSxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcCwgdHVpRmFkZUluXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ2NvbnRleHQuYXBwZWFyYW5jZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGlhbG9nQ29tcG9uZW50PE8sIEk+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbiA9IHtcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIHN0YXJ0OiAnNDBweCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgICAgfSxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmdWxsc2NyZWVuQW5pbWF0aW9uID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnQ6ICcxMDB2aCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICAgICAgfSxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgcmVhZG9ubHkgY2xvc2UkID0gbmV3IFN1YmplY3QoKTtcbiAgICByZWFkb25seSBjbG9zZWFibGUkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udGV4dC5jbG9zZWFibGUpLnBpcGUoc2hhcmUoKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbjogbnVtYmVyLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpIHJlYWRvbmx5IGNvbnRleHQ6IFR1aURpYWxvZzxUdWlEaWFsb2dPcHRpb25zPEk+LCBPPixcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgQFNlbGYoKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUdWlEaWFsb2dDbG9zZVNlcnZpY2UpIGRpYWxvZ0Nsb3NlJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChUVUlfRElBTE9HU19DTE9TRSkgY2xvc2UkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KFRVSV9DTE9TRV9XT1JEKSByZWFkb25seSBjbG9zZVdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPTU1PTl9JQ09OUykgcmVhZG9ubHkgaWNvbnM6IFR1aUNvbW1vbkljb25zLFxuICAgICkge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuY2xvc2UkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY2xvc2VhYmxlJCkpLFxuICAgICAgICAgICAgZGlhbG9nQ2xvc2UkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRvT2JzZXJ2YWJsZShjb250ZXh0LmRpc21pc3NpYmxlKSkpLFxuICAgICAgICAgICAgY2xvc2UkLnBpcGUobWFwKEFMV0FZU19UUlVFX0hBTkRMRVIpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpRGlhbG9nU2l6ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9jZW50ZXJlZCcpXG4gICAgZ2V0IGhlYWRlcigpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aURpYWxvZzxUdWlEaWFsb2dPcHRpb25zPEk+LCBPPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmhlYWRlcjtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlTbGlkZUluVG9wJylcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlGYWRlSW4nKVxuICAgIGdldCBzbGlkZUluVG9wKCk6IFR1aUFuaW1hdGlvbk9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5mdWxsc2NyZWVuIHx8IHRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gdGhpcy5mdWxsc2NyZWVuQW5pbWF0aW9uXG4gICAgICAgICAgICA6IHRoaXMuYW5pbWF0aW9uO1xuICAgIH1cblxuICAgIGdldCBmdWxsc2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUgJiYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nIHx8IHRoaXMuc2l6ZSA9PT0gJ3BhZ2UnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0LnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmVycm9yKFJFUVVJUkVEX0VSUk9SKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxoZWFkZXJcbiAgICAqbmdJZj1cImhlYWRlclwiXG4gICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGVhZGVyIGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPGgyXG4gICAgICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbiAgICAgICAgW2lkXT1cImNvbnRleHQuaWRcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29udGV4dC5sYWJlbFwiXG4gICAgPjwvaDI+XG4gICAgPHNlY3Rpb24+XG4gICAgICAgIDwhLS0gVE9ETzogUG9seW1vcnBoZXVzIGZpeCB0eXBlIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCIkYW55KGNvbnRleHQuY29udGVudCkgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiPlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJGFueShjb250ZXh0LmRhdGEpPy5idXR0b24gfHwgJ09LJyB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtZmlsbGVyXCI+PC9kaXY+XG48ZGl2XG4gICAgKm5nSWY9XCJjbG9zZWFibGUkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZGlhbG9nX19jbG9zZVwiXG4gICAgICAgIHNoYXBlPVwicm91bmRlZFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiZnVsbHNjcmVlbiA/ICdzZWNvbmRhcnknIDogJydcIlxuICAgICAgICBbaWNvbl09XCJpY29ucy5jbG9zZVwiXG4gICAgICAgIFt0aXRsZV09XCJjbG9zZVdvcmQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UkLm5leHQoKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudC5zaWxlbnQpPVwiKDApXCJcbiAgICA+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -29,7 +29,7 @@ export class TuiRootComponent {
29
29
  }
30
30
  }
31
31
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
32
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.87.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
32
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.88.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Directive, HostBinding, HostListener, Inject } from '@angular/core';
3
- import { EMPTY_CLIENT_RECT, TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiActiveZoneDirective, tuiPointToClientRect, } from '@taiga-ui/cdk';
3
+ import { EMPTY_CLIENT_RECT, TUI_IS_IOS, TUI_IS_TOUCH, TuiActiveZoneDirective, tuiPointToClientRect, } from '@taiga-ui/cdk';
4
4
  import { tuiAsDriver, tuiAsRectAccessor, TuiDriver, } from '@taiga-ui/core/abstract';
5
5
  import { shouldCall } from '@tinkoff/ng-event-plugins';
6
6
  import { Subject } from 'rxjs';
@@ -59,7 +59,7 @@ export class TuiDropdownContextDirective extends TuiDriver {
59
59
  return this.currentRect;
60
60
  }
61
61
  }
62
- TuiDropdownContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownContextDirective, deps: [{ token: TuiActiveZoneDirective }, { token: TUI_IS_IOS }, { token: TUI_TOUCH_SUPPORTED }], target: i0.ɵɵFactoryTarget.Directive });
62
+ TuiDropdownContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownContextDirective, deps: [{ token: TuiActiveZoneDirective }, { token: TUI_IS_IOS }, { token: TUI_IS_TOUCH }], target: i0.ɵɵFactoryTarget.Directive });
63
63
  TuiDropdownContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownContextDirective, selector: "[tuiDropdown][tuiDropdownContext]", host: { listeners: { "contextmenu.prevent.stop": "onContextMenu($event.clientX,$event.clientY)", "document:click.silent": "closeDropdown($event.target)", "document:contextmenu.capture.silent": "closeDropdown($event.target)", "document:keydown.esc": "closeDropdown($event.currentTarget)", "touchmove.silent.passive": "onTouchMove($event.touches[0].clientX,$event.touches[0].clientY)", "touchstart.silent.passive": "onTouchStart($event.touches[0].clientX,$event.touches[0].clientY)", "touchend.silent.passive": "onTouchEnd()", "touchcancel.silent.passive": "onTouchEnd()" }, properties: { "style.user-select": "this.userSelect", "style.-webkit-touch-callout": "this.userSelect", "style.-webkit-user-select": "this.userSelect" } }, providers: [
64
64
  TuiActiveZoneDirective,
65
65
  tuiAsDriver(TuiDropdownContextDirective),
@@ -86,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
86
86
  args: [TUI_IS_IOS]
87
87
  }] }, { type: undefined, decorators: [{
88
88
  type: Inject,
89
- args: [TUI_TOUCH_SUPPORTED]
89
+ args: [TUI_IS_TOUCH]
90
90
  }] }]; }, propDecorators: { userSelect: [{
91
91
  type: HostBinding,
92
92
  args: ['style.user-select']
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
127
127
  type: HostListener,
128
128
  args: ['touchcancel.silent.passive']
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUNILGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixvQkFBb0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsU0FBUyxHQUVaLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUU3QixTQUFTLGdCQUFnQixDQUFvQyxNQUFlO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQVUxQixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsU0FBUztJQVF0RCxZQUVhLFVBQWtDLEVBRWxDLEtBQWMsRUFFZCxPQUFnQjtRQUV6QixLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBTi9DLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBRWxDLFVBQUssR0FBTCxLQUFLLENBQVM7UUFFZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBYlosWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFMUMsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxtQkFBYyxHQUFRLEdBQUcsQ0FBQztRQUV6QixTQUFJLEdBQUcsVUFBVSxDQUFDO0lBVzNCLENBQUM7SUFFRCxJQUdJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFHRCxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQU1ELGFBQWE7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7SUFNRCxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDNUIsSUFDSSxJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLFdBQVcsS0FBSyxpQkFBaUI7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxFQUM3RTtZQUNFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFNRCxZQUFZLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssaUJBQWlCLEVBQUU7WUFDeEUsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzVCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzt5SEFqRlEsMkJBQTJCLGtCQVN4QixzQkFBc0IsYUFFdEIsVUFBVSxhQUVWLG1CQUFtQjs2R0FidEIsMkJBQTJCLHF4QkFOekI7UUFDUCxzQkFBc0I7UUFDdEIsV0FBVyxDQUFDLDJCQUEyQixDQUFDO1FBQ3hDLGlCQUFpQixDQUFDLDJCQUEyQixDQUFDO0tBQ2pEO0FBc0NEO0lBSkMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO2dFQU81Qjs0RkF2Q1EsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFNBQVMsRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLFdBQVcsNkJBQTZCO3dCQUN4QyxpQkFBaUIsNkJBQTZCO3FCQUNqRDtpQkFDSjs7MEJBVVEsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUU3QixNQUFNOzJCQUFDLFVBQVU7OzBCQUVqQixNQUFNOzJCQUFDLG1CQUFtQjs0Q0FTM0IsVUFBVTtzQkFIYixXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLFdBQVc7dUJBQUMsNkJBQTZCOztzQkFDekMsV0FBVzt1QkFBQywyQkFBMkI7Z0JBTXhDLGFBQWE7c0JBRFosWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO2dCQVU5RSxhQUFhO3NCQUhaLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxlQUFlLENBQUM7O3NCQUN2RCxZQUFZO3VCQUFDLHFDQUFxQyxFQUFFLENBQUMsZUFBZSxDQUFDOztzQkFDckUsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQVU5RCxXQUFXO3NCQUpWLFlBQVk7dUJBQUMsMEJBQTBCLEVBQUU7d0JBQ3RDLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3FCQUM5QjtnQkFnQkQsWUFBWTtzQkFKWCxZQUFZO3VCQUFDLDJCQUEyQixFQUFFO3dCQUN2QywyQkFBMkI7d0JBQzNCLDJCQUEyQjtxQkFDOUI7Z0JBY0QsVUFBVTtzQkFGVCxZQUFZO3VCQUFDLHlCQUF5Qjs7c0JBQ3RDLFlBQVk7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIFRVSV9JU19JT1MsXG4gICAgVFVJX1RPVUNIX1NVUFBPUlRFRCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aVBvaW50VG9DbGllbnRSZWN0LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNEcml2ZXIsXG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtzaG91bGRDYWxsfSBmcm9tICdAdGlua29mZi9uZy1ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGFjdGl2ZVpvbmVGaWx0ZXIodGhpczogVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlLCB0YXJnZXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aXZlWm9uZS5jb250YWlucyh0YXJnZXQpO1xufVxuXG5jb25zdCBUQVBfREVMQVkgPSA3MDA7XG5jb25zdCBNT1ZFX1RIUkVTSE9MRCA9IDE1O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25Db250ZXh0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgVHVpRHJpdmVyIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgIHByaXZhdGUgbG9uZ1RhcFRpbWVvdXQ6IGFueSA9IE5hTjtcblxuICAgIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKVxuICAgICAgICByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVE9VQ0hfU1VQUE9SVEVEKVxuICAgICAgICByZWFkb25seSBpc1RvdWNoOiBib29sZWFuLFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUudXNlci1zZWxlY3QnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLXdlYmtpdC10b3VjaC1jYWxsb3V0JylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi13ZWJraXQtdXNlci1zZWxlY3QnKVxuICAgIGdldCB1c2VyU2VsZWN0KCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RvdWNoID8gJ25vbmUnIDogbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudS5wcmV2ZW50LnN0b3AnLCBbJyRldmVudC5jbGllbnRYJywgJyRldmVudC5jbGllbnRZJ10pXG4gICAgb25Db250ZXh0TWVudSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKGFjdGl2ZVpvbmVGaWx0ZXIpXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2suc2lsZW50JywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y29udGV4dG1lbnUuY2FwdHVyZS5zaWxlbnQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzYycsIFsnJGV2ZW50LmN1cnJlbnRUYXJnZXQnXSlcbiAgICBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0cmVhbSQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUuc2lsZW50LnBhc3NpdmUnLCBbXG4gICAgICAgICckZXZlbnQudG91Y2hlc1swXS5jbGllbnRYJyxcbiAgICAgICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFknLFxuICAgIF0pXG4gICAgb25Ub3VjaE1vdmUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5pc0lPUyAmJlxuICAgICAgICAgICAgdGhpcy5pc1RvdWNoICYmXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ICE9PSBFTVBUWV9DTElFTlRfUkVDVCAmJlxuICAgICAgICAgICAgTWF0aC5oeXBvdCh4IC0gdGhpcy5jdXJyZW50UmVjdC54LCB5IC0gdGhpcy5jdXJyZW50UmVjdC55KSA+IE1PVkVfVEhSRVNIT0xEXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoRW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0LnNpbGVudC5wYXNzaXZlJywgW1xuICAgICAgICAnJGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCcsXG4gICAgICAgICckZXZlbnQudG91Y2hlc1swXS5jbGllbnRZJyxcbiAgICBdKVxuICAgIG9uVG91Y2hTdGFydCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNJT1MgfHwgIXRoaXMuaXNUb3VjaCB8fCB0aGlzLmN1cnJlbnRSZWN0ICE9PSBFTVBUWV9DTElFTlRfUkVDVCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IHR1aVBvaW50VG9DbGllbnRSZWN0KHgsIHkpO1xuICAgICAgICB0aGlzLmxvbmdUYXBUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbSQubmV4dCh0cnVlKTtcbiAgICAgICAgfSwgVEFQX0RFTEFZKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZC5zaWxlbnQucGFzc2l2ZScpXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hjYW5jZWwuc2lsZW50LnBhc3NpdmUnKVxuICAgIG9uVG91Y2hFbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TICYmIHRoaXMuaXNUb3VjaCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubG9uZ1RhcFRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q2xpZW50UmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFJlY3Q7XG4gICAgfVxufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUNILGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixvQkFBb0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsU0FBUyxHQUVaLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUU3QixTQUFTLGdCQUFnQixDQUFvQyxNQUFlO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQVUxQixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsU0FBUztJQVF0RCxZQUVhLFVBQWtDLEVBRWxDLEtBQWMsRUFFZCxPQUFnQjtRQUV6QixLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBTi9DLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBRWxDLFVBQUssR0FBTCxLQUFLLENBQVM7UUFFZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBYlos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QkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztnQkFVOUUsYUFBYTtzQkFIWixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLENBQUMsZUFBZSxDQUFDOztzQkFDdkQsWUFBWTt1QkFBQyxxQ0FBcUMsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7c0JBQ3JFLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFVOUQsV0FBVztzQkFKVixZQUFZO3VCQUFDLDBCQUEwQixFQUFFO3dCQUN0QywyQkFBMkI7d0JBQzNCLDJCQUEyQjtxQkFDOUI7Z0JBZ0JELFlBQVk7c0JBSlgsWUFBWTt1QkFBQywyQkFBMkIsRUFBRTt3QkFDdkMsMkJBQTJCO3dCQUMzQiwyQkFBMkI7cUJBQzlCO2dCQWNELFVBQVU7c0JBRlQsWUFBWTt1QkFBQyx5QkFBeUI7O3NCQUN0QyxZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9DTElFTlRfUkVDVCxcbiAgICBUVUlfSVNfSU9TLFxuICAgIFRVSV9JU19UT1VDSCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aVBvaW50VG9DbGllbnRSZWN0LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNEcml2ZXIsXG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtzaG91bGRDYWxsfSBmcm9tICdAdGlua29mZi9uZy1ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGFjdGl2ZVpvbmVGaWx0ZXIodGhpczogVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlLCB0YXJnZXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aXZlWm9uZS5jb250YWlucyh0YXJnZXQpO1xufVxuXG5jb25zdCBUQVBfREVMQVkgPSA3MDA7XG5jb25zdCBNT1ZFX1RIUkVTSE9MRCA9IDE1O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25Db250ZXh0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgVHVpRHJpdmVyIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgIHByaXZhdGUgbG9uZ1RhcFRpbWVvdXQ6IGFueSA9IE5hTjtcblxuICAgIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKVxuICAgICAgICByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfVE9VQ0gpXG4gICAgICAgIHJlYWRvbmx5IGlzVG91Y2g6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS51c2VyLXNlbGVjdCcpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4td2Via2l0LXRvdWNoLWNhbGxvdXQnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLXdlYmtpdC11c2VyLXNlbGVjdCcpXG4gICAgZ2V0IHVzZXJTZWxlY3QoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVG91Y2ggPyAnbm9uZScgOiBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51LnByZXZlbnQuc3RvcCcsIFsnJGV2ZW50LmNsaWVudFgnLCAnJGV2ZW50LmNsaWVudFknXSlcbiAgICBvbkNvbnRleHRNZW51KHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSB0dWlQb2ludFRvQ2xpZW50UmVjdCh4LCB5KTtcbiAgICAgICAgdGhpcy5zdHJlYW0kLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgQHNob3VsZENhbGwoYWN0aXZlWm9uZUZpbHRlcilcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljay5zaWxlbnQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjb250ZXh0bWVudS5jYXB0dXJlLnNpbGVudCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjJywgWyckZXZlbnQuY3VycmVudFRhcmdldCddKVxuICAgIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RvdWNobW92ZS5zaWxlbnQucGFzc2l2ZScsIFtcbiAgICAgICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFgnLFxuICAgICAgICAnJGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WScsXG4gICAgXSlcbiAgICBvblRvdWNoTW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlzSU9TICYmXG4gICAgICAgICAgICB0aGlzLmlzVG91Y2ggJiZcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFJlY3QgIT09IEVNUFRZX0NMSUVOVF9SRUNUICYmXG4gICAgICAgICAgICBNYXRoLmh5cG90KHggLSB0aGlzLmN1cnJlbnRSZWN0LngsIHkgLSB0aGlzLmN1cnJlbnRSZWN0LnkpID4gTU9WRV9USFJFU0hPTERcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hFbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQuc2lsZW50LnBhc3NpdmUnLCBbXG4gICAgICAgICckZXZlbnQudG91Y2hlc1swXS5jbGllbnRYJyxcbiAgICAgICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFknLFxuICAgIF0pXG4gICAgb25Ub3VjaFN0YXJ0KHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0lPUyB8fCAhdGhpcy5pc1RvdWNoIHx8IHRoaXMuY3VycmVudFJlY3QgIT09IEVNUFRZX0NMSUVOVF9SRUNUKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMubG9uZ1RhcFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KHRydWUpO1xuICAgICAgICB9LCBUQVBfREVMQVkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kLnNpbGVudC5wYXNzaXZlJylcbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaGNhbmNlbC5zaWxlbnQucGFzc2l2ZScpXG4gICAgb25Ub3VjaEVuZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5pc1RvdWNoKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5sb25nVGFwVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UmVjdDtcbiAgICB9XG59XG4iXX0=
@@ -8,7 +8,7 @@ import * as i3 from '@tinkoff/ng-polymorpheus';
8
8
  import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
9
9
  import * as i5 from 'rxjs';
10
10
  import { EMPTY, Observable, merge, isObservable, of, Subject } from 'rxjs';
11
- import { filter, switchMap, take, map, takeUntil } from 'rxjs/operators';
11
+ import { filter, switchMap, take, map, share, takeUntil } from 'rxjs/operators';
12
12
  import * as i2 from '@angular/common';
13
13
  import { DOCUMENT, CommonModule } from '@angular/common';
14
14
  import { WINDOW } from '@ng-web-apis/common';
@@ -101,7 +101,8 @@ class TuiDialogComponent {
101
101
  },
102
102
  };
103
103
  this.close$ = new Subject();
104
- merge(this.close$.pipe(switchMap(() => toObservable(context.closeable))), dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))), close$.pipe(map(ALWAYS_TRUE_HANDLER)))
104
+ this.closeable$ = toObservable(this.context.closeable).pipe(share());
105
+ merge(this.close$.pipe(switchMap(() => this.closeable$)), dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))), close$.pipe(map(ALWAYS_TRUE_HANDLER)))
105
106
  .pipe(filter(Boolean), takeUntil(destroy$))
106
107
  .subscribe(() => {
107
108
  this.close();
@@ -131,7 +132,7 @@ class TuiDialogComponent {
131
132
  }
132
133
  }
133
134
  TuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_IS_MOBILE }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiDestroyService, self: true }, { token: TuiDialogCloseService }, { token: TUI_DIALOGS_CLOSE }, { token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
134
- TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: [TuiDestroyService, TuiDialogCloseService], ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-modal)}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{min-width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-elevation-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:1;order:-1}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;display:none;color:var(--tui-base-01)}:host-context(.t-dialog:last-of-type) .t-close{display:block}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close{animation:tuiFadeIn var(--tui-duration);background:rgba(104,104,104,.96)}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent!important;color:var(--tui-text-01);opacity:.5}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
135
+ TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: [TuiDestroyService, TuiDialogCloseService], ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"closeable$ | async\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-modal)}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{min-width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-elevation-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:1;order:-1}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;display:none;color:var(--tui-base-01)}:host-context(.t-dialog:last-of-type) .t-close{display:block}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close{animation:tuiFadeIn var(--tui-duration);background:rgba(104,104,104,.96)}:host:not([data-size=\"fullscreen\"]):not([data-size=\"page\"]) .t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent!important;color:var(--tui-text-01);opacity:.5}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
135
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogComponent, decorators: [{
136
137
  type: Component,
137
138
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog-close.service.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/components/dialog/dialog.directive.ts","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Observable} from 'rxjs';\n\ntype TuiDialogDefaultOptions = Omit<TuiDialogOptions<unknown>, 'data'>;\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogDefaultOptions = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n};\n\n/**\n * A stream to close dialogs\n */\nexport const TUI_DIALOGS_CLOSE = tuiCreateToken<Observable<unknown>>(EMPTY);\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = tuiCreateToken(TUI_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogDefaultOptions>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiIsElement,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, switchMap, take} from 'rxjs/operators';\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n@Injectable()\nexport class TuiDialogCloseService extends Observable<unknown> {\n private readonly esc$ = tuiTypedFromEvent(this.doc, 'keydown').pipe(\n filter(event => {\n const target = tuiGetActualTarget(event);\n\n return (\n event.key === 'Escape' &&\n !event.defaultPrevented &&\n (this.element.contains(target) || this.isOutside(target))\n );\n }),\n );\n\n private readonly mousedown$ = tuiTypedFromEvent(this.doc, 'mousedown').pipe(\n filter(\n event =>\n tuiGetViewportWidth(this.win) - event.clientX > SCROLLBAR_PLACEHOLDER &&\n this.isOutside(tuiGetActualTarget(event)),\n ),\n switchMap(() =>\n tuiTypedFromEvent(this.doc, 'mouseup').pipe(\n take(1),\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n ),\n ),\n );\n\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => merge(this.esc$, this.mousedown$).subscribe(subscriber));\n }\n\n private get element(): HTMLElement {\n return this.el.nativeElement;\n }\n\n private isOutside(target: EventTarget): boolean {\n return (\n tuiIsElement(target) &&\n (!tuiContainsOrAfter(this.element, target) || target === this.element)\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n TUI_IS_MOBILE,\n TuiDestroyService,\n TuiDialog,\n} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TuiCommonIcons,\n} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, merge, Observable, of, Subject} from 'rxjs';\nimport {filter, map, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DIALOGS_CLOSE} from './dialog.tokens';\nimport {TuiDialogCloseService} from './dialog-close.service';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiDialogCloseService],\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n },\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n readonly close$ = new Subject();\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TuiDestroyService) @Self() destroy$: Observable<void>,\n @Inject(TuiDialogCloseService) dialogClose$: Observable<unknown>,\n @Inject(TUI_DIALOGS_CLOSE) close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n merge(\n this.close$.pipe(switchMap(() => toObservable(context.closeable))),\n dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))),\n close$.pipe(map(ALWAYS_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntil(destroy$))\n .subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent<TuiDialog<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.fullscreen || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n get fullscreen(): boolean {\n return !this.isMobile && (this.size === 'fullscreen' || this.size === 'page');\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = {\n ...inject(TUI_DIALOG_OPTIONS),\n data: undefined,\n };\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog, TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiAutoFocusModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n providers: [tuiAsDialog(TuiDialogService)],\n exports: [TuiDialogComponent, TuiDialogDirective],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog-close.service.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/components/dialog/dialog.directive.ts","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Observable} from 'rxjs';\n\ntype TuiDialogDefaultOptions = Omit<TuiDialogOptions<unknown>, 'data'>;\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogDefaultOptions = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n};\n\n/**\n * A stream to close dialogs\n */\nexport const TUI_DIALOGS_CLOSE = tuiCreateToken<Observable<unknown>>(EMPTY);\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = tuiCreateToken(TUI_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogDefaultOptions>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiIsElement,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, switchMap, take} from 'rxjs/operators';\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n@Injectable()\nexport class TuiDialogCloseService extends Observable<unknown> {\n private readonly esc$ = tuiTypedFromEvent(this.doc, 'keydown').pipe(\n filter(event => {\n const target = tuiGetActualTarget(event);\n\n return (\n event.key === 'Escape' &&\n !event.defaultPrevented &&\n (this.element.contains(target) || this.isOutside(target))\n );\n }),\n );\n\n private readonly mousedown$ = tuiTypedFromEvent(this.doc, 'mousedown').pipe(\n filter(\n event =>\n tuiGetViewportWidth(this.win) - event.clientX > SCROLLBAR_PLACEHOLDER &&\n this.isOutside(tuiGetActualTarget(event)),\n ),\n switchMap(() =>\n tuiTypedFromEvent(this.doc, 'mouseup').pipe(\n take(1),\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n ),\n ),\n );\n\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => merge(this.esc$, this.mousedown$).subscribe(subscriber));\n }\n\n private get element(): HTMLElement {\n return this.el.nativeElement;\n }\n\n private isOutside(target: EventTarget): boolean {\n return (\n tuiIsElement(target) &&\n (!tuiContainsOrAfter(this.element, target) || target === this.element)\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n TUI_IS_MOBILE,\n TuiDestroyService,\n TuiDialog,\n} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TuiCommonIcons,\n} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, merge, Observable, of, Subject} from 'rxjs';\nimport {filter, map, share, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DIALOGS_CLOSE} from './dialog.tokens';\nimport {TuiDialogCloseService} from './dialog-close.service';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiDialogCloseService],\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n },\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n readonly close$ = new Subject();\n readonly closeable$ = toObservable(this.context.closeable).pipe(share());\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TuiDestroyService) @Self() destroy$: Observable<void>,\n @Inject(TuiDialogCloseService) dialogClose$: Observable<unknown>,\n @Inject(TUI_DIALOGS_CLOSE) close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n merge(\n this.close$.pipe(switchMap(() => this.closeable$)),\n dialogClose$.pipe(switchMap(() => toObservable(context.dismissible))),\n close$.pipe(map(ALWAYS_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntil(destroy$))\n .subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent<TuiDialog<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.fullscreen || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n get fullscreen(): boolean {\n return !this.isMobile && (this.size === 'fullscreen' || this.size === 'page');\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n<div\n *ngIf=\"closeable$ | async\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-dialog__close\"\n shape=\"rounded\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"fullscreen ? 'secondary' : ''\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close$.next()\"\n (mousedown.prevent.silent)=\"(0)\"\n ></button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport type {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = {\n ...inject(TUI_DIALOG_OPTIONS),\n data: undefined,\n };\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog, TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiAutoFocusModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n providers: [tuiAsDialog(TuiDialogService)],\n exports: [TuiDialogComponent, TuiDialogDirective],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ class TuiRootComponent {
33
33
  }
34
34
  }
35
35
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
36
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.87.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
36
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.88.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Directive, Input, Output, ElementRef, INJECTOR, Self, Inject, Optional, SkipSelf, forwardRef, Component, ChangeDetectionStrategy, HostBinding, HostListener, ViewContainerRef, NgModule } from '@angular/core';
3
3
  import { WINDOW } from '@ng-web-apis/common';
4
4
  import * as i2 from '@taiga-ui/cdk';
5
- import { tuiCreateTokenFromFactory, TuiDestroyService, TuiDropdownPortalService, tuiPure, tuiCreateToken, tuiProvideOptions, TuiHoveredService, EMPTY_CLIENT_RECT, tuiPx, tuiGetClosestFocusable, tuiPointToClientRect, TuiActiveZoneDirective, TUI_IS_IOS, TUI_TOUCH_SUPPORTED, ALWAYS_TRUE_HANDLER, tuiIsTextNode, tuiIsString, tuiIsElement, tuiGetNativeFocused, tuiIsTextfield, CHAR_ZERO_WIDTH_SPACE, CHAR_NO_BREAK_SPACE, TUI_RANGE, TuiActiveZoneModule, TuiOverscrollModule, TuiHoveredModule } from '@taiga-ui/cdk';
5
+ import { tuiCreateTokenFromFactory, TuiDestroyService, TuiDropdownPortalService, tuiPure, tuiCreateToken, tuiProvideOptions, TuiHoveredService, EMPTY_CLIENT_RECT, tuiPx, tuiGetClosestFocusable, tuiPointToClientRect, TuiActiveZoneDirective, TUI_IS_IOS, TUI_IS_TOUCH, ALWAYS_TRUE_HANDLER, tuiIsTextNode, tuiIsString, tuiIsElement, tuiGetNativeFocused, tuiIsTextfield, CHAR_ZERO_WIDTH_SPACE, CHAR_NO_BREAK_SPACE, TUI_RANGE, TuiActiveZoneModule, TuiOverscrollModule, TuiHoveredModule } from '@taiga-ui/cdk';
6
6
  import * as i1$1 from '@taiga-ui/core/abstract';
7
7
  import { tuiAsRectAccessor, tuiAsVehicle, TuiDriver, tuiAsDriver, TuiPositionAccessor, tuiFallbackRectAccessor, TuiRectAccessor, tuiPositionAccessorFor, tuiRectAccessorFor, AbstractTuiDriverDirective, TuiVehicle, tuiAsPositionAccessor } from '@taiga-ui/core/abstract';
8
8
  import { tuiDropdownAnimation } from '@taiga-ui/core/animations';
@@ -594,7 +594,7 @@ class TuiDropdownContextDirective extends TuiDriver {
594
594
  return this.currentRect;
595
595
  }
596
596
  }
597
- TuiDropdownContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownContextDirective, deps: [{ token: TuiActiveZoneDirective }, { token: TUI_IS_IOS }, { token: TUI_TOUCH_SUPPORTED }], target: i0.ɵɵFactoryTarget.Directive });
597
+ TuiDropdownContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownContextDirective, deps: [{ token: TuiActiveZoneDirective }, { token: TUI_IS_IOS }, { token: TUI_IS_TOUCH }], target: i0.ɵɵFactoryTarget.Directive });
598
598
  TuiDropdownContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownContextDirective, selector: "[tuiDropdown][tuiDropdownContext]", host: { listeners: { "contextmenu.prevent.stop": "onContextMenu($event.clientX,$event.clientY)", "document:click.silent": "closeDropdown($event.target)", "document:contextmenu.capture.silent": "closeDropdown($event.target)", "document:keydown.esc": "closeDropdown($event.currentTarget)", "touchmove.silent.passive": "onTouchMove($event.touches[0].clientX,$event.touches[0].clientY)", "touchstart.silent.passive": "onTouchStart($event.touches[0].clientX,$event.touches[0].clientY)", "touchend.silent.passive": "onTouchEnd()", "touchcancel.silent.passive": "onTouchEnd()" }, properties: { "style.user-select": "this.userSelect", "style.-webkit-touch-callout": "this.userSelect", "style.-webkit-user-select": "this.userSelect" } }, providers: [
599
599
  TuiActiveZoneDirective,
600
600
  tuiAsDriver(TuiDropdownContextDirective),
@@ -621,7 +621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
621
621
  args: [TUI_IS_IOS]
622
622
  }] }, { type: undefined, decorators: [{
623
623
  type: Inject,
624
- args: [TUI_TOUCH_SUPPORTED]
624
+ args: [TUI_IS_TOUCH]
625
625
  }] }]; }, propDecorators: { userSelect: [{
626
626
  type: HostBinding,
627
627
  args: ['style.user-select']