@taiga-ui/addon-mobile 4.32.0 → 4.33.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.
@@ -1,2 +1,3 @@
1
1
  export * from './dropdown-mobile.component';
2
2
  export * from './dropdown-mobile.directive';
3
+ export * from './option-mobile/option-mobile.component';
@@ -0,0 +1,13 @@
1
+ import { TuiControl } from '@taiga-ui/cdk/classes';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiOptionMobile<T> {
4
+ private readonly host;
5
+ private readonly itemsHandlers;
6
+ private readonly option;
7
+ private readonly control;
8
+ protected readonly select: import("@angular/core").Signal<TuiControl<T> | null>;
9
+ protected readonly selected: import("@angular/core").Signal<boolean>;
10
+ protected onClick(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiOptionMobile<any>, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiOptionMobile<any>, "ng-component", never, {}, {}, never, never, true, never>;
13
+ }
@@ -52,7 +52,7 @@ class TuiSheetDialogComponent {
52
52
  .concat(this.el.clientHeight ?? Infinity)[this.context.initial] ?? 0);
53
53
  }
54
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "@tuiSlideInTop": "slideInTop", "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:var(--tui-offset) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "@tuiSlideInTop": "slideInTop", "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
56
  }
57
57
  export { TuiSheetDialogComponent };
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, decorators: [{
@@ -67,9 +67,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  '(document:touchcancel.zoneless)': 'onPointerChange(-1)',
68
68
  '(scroll.zoneless)': 'onPointerChange(0)',
69
69
  '(click.self)': 'close$.next()',
70
- }, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:var(--tui-offset) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"] }]
70
+ }, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"] }]
71
71
  }], propDecorators: { stops: [{
72
72
  type: ViewChildren,
73
73
  args: ['stops']
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LWRpYWxvZy9zaGVldC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQtZGlhbG9nL3NoZWV0LWRpYWxvZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUs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QUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxjQUN2QyxDQUFDLGFBQWEsQ0FBQyxRQUNyQjt3QkFDRixrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyx5QkFBeUIsRUFBRSxnQkFBZ0I7d0JBQzNDLG9CQUFvQixFQUFFLG1CQUFtQjt3QkFDekMscUJBQXFCLEVBQUUsNkJBQTZCO3dCQUNwRCx3Q0FBd0MsRUFBRSxvQkFBb0I7d0JBQzlELDhCQUE4QixFQUFFLHFCQUFxQjt3QkFDckQsaUNBQWlDLEVBQUUscUJBQXFCO3dCQUN4RCxtQkFBbUIsRUFBRSxvQkFBb0I7d0JBQ3pDLGNBQWMsRUFBRSxlQUFlO3FCQUNsQzs4QkFJZ0IsS0FBSztzQkFEckIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpQ2xvc2VXYXRjaGVyLCB0dWlab25lZnVsbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgdHlwZSB7VHVpUG9wb3Zlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVELCBUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtleGhhdXN0TWFwLCBmaWx0ZXIsIGlzT2JzZXJ2YWJsZSwgbWVyZ2UsIG9mLCBTdWJqZWN0LCB0YWtlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aVNoZWV0RGlhbG9nT3B0aW9uc30gZnJvbSAnLi9zaGVldC1kaWFsb2cub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktc2hlZXQtZGlhbG9nJyxcbiAgICBpbXBvcnRzOiBbTmdGb3JPZiwgTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlZXQtZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWV0LWRpYWxvZy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShUVUlfU0NST0xMX1JFRiwgRWxlbWVudFJlZildLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aVNsaWRlSW5Ub3BdJzogJ3NsaWRlSW5Ub3AnLFxuICAgICAgICAnW3N0eWxlLi0tdHVpLW9mZnNldC5weF0nOiAnY29udGV4dC5vZmZzZXQnLFxuICAgICAgICAnW2NsYXNzLl9jbG9zZWFibGVdJzogJ2NvbnRleHQuY2xvc2VhYmxlJyxcbiAgICAgICAgJ1tjbGFzcy5fZnVsbHNjcmVlbl0nOiAnY29udGV4dC5mdWxsc2NyZWVuID09PSB0cnVlJyxcbiAgICAgICAgJyhkb2N1bWVudDp0b3VjaHN0YXJ0LnBhc3NpdmUuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgxKScsXG4gICAgICAgICcoZG9jdW1lbnQ6dG91Y2hlbmQuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgtMSknLFxuICAgICAgICAnKGRvY3VtZW50OnRvdWNoY2FuY2VsLnpvbmVsZXNzKSc6ICdvblBvaW50ZXJDaGFuZ2UoLTEpJyxcbiAgICAgICAgJyhzY3JvbGwuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgwKScsXG4gICAgICAgICcoY2xpY2suc2VsZiknOiAnY2xvc2UkLm5leHQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2hlZXREaWFsb2dDb21wb25lbnQ8ST4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzdG9wcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9wczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHBvaW50ZXJzID0gMDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzbGlkZUluVG9wID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnQ6ICcxMDB2aCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdHVpR2V0RHVyYXRpb24oaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSksXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID1cbiAgICAgICAgaW5qZWN0Q29udGV4dDxUdWlQb3BvdmVyPFR1aVNoZWV0RGlhbG9nT3B0aW9uczxJPiwgYW55Pj4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSAkID0gbWVyZ2UodGhpcy5jbG9zZSQsIHR1aUNsb3NlV2F0Y2hlcigpKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuY29udGV4dC5jbG9zZWFibGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjcm9sbFRvKHt0b3A6IHRoaXMuaW5pdGlhbCwgYmVoYXZpb3I6ICdzbW9vdGgnfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNsb3NlYWJsZS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmNvbnRleHQuY2xvc2VhYmxlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKCkpO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zY3JvbGxUb3AgPSB0aGlzLmluaXRpYWw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlckNoYW5nZShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9pbnRlcnMgPSBNYXRoLm1heCh0aGlzLnBvaW50ZXJzICsgZGVsdGEsIDApO1xuXG4gICAgICAgIGlmICghdGhpcy5wb2ludGVycyAmJiB0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbml0aWFsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnN0b3BzXG4gICAgICAgICAgICAgICAgLm1hcCgoZSkgPT4gZS5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCAtIHRoaXMuY29udGV4dC5vZmZzZXQpXG4gICAgICAgICAgICAgICAgLmNvbmNhdCh0aGlzLmVsLmNsaWVudEhlaWdodCA/PyBJbmZpbml0eSlbdGhpcy5jb250ZXh0LmluaXRpYWxdID8/IDBcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1zdG9wc1wiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHN0b3Agb2YgY29udGV4dC5zdG9wc1wiXG4gICAgICAgICNzdG9wc1xuICAgICAgICBjbGFzcz1cInQtc3RvcFwiXG4gICAgICAgIFtzdHlsZS5tYXJnaW4tdG9wXT1cInN0b3BcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtc2hlZXRcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5iYXJcIlxuICAgICAgICBjbGFzcz1cInQtdG9wXCJcbiAgICA+PC9kaXY+XG4gICAgPGgyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbiAgICAgICAgW2lkXT1cImNvbnRleHQuaWRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5sYWJlbCBhcyBsYWJlbDsgY29udGV4dDogY29udGV4dFwiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9oMj5cbiAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRleHQuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LWRpYWxvZy9zaGVldC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQtZGlhbG9nL3NoZWV0LWRpYWxvZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUs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QUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxjQUN2QyxDQUFDLGFBQWEsQ0FBQyxRQUNyQjt3QkFDRixrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyx5QkFBeUIsRUFBRSxnQkFBZ0I7d0JBQzNDLG9CQUFvQixFQUFFLG1CQUFtQjt3QkFDekMscUJBQXFCLEVBQUUsNkJBQTZCO3dCQUNwRCx3Q0FBd0MsRUFBRSxvQkFBb0I7d0JBQzlELDhCQUE4QixFQUFFLHFCQUFxQjt3QkFDckQsaUNBQWlDLEVBQUUscUJBQXFCO3dCQUN4RCxtQkFBbUIsRUFBRSxvQkFBb0I7d0JBQ3pDLGNBQWMsRUFBRSxlQUFlO3FCQUNsQzs4QkFJZ0IsS0FBSztzQkFEckIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpQ2xvc2VXYXRjaGVyLCB0dWlab25lZnVsbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgdHlwZSB7VHVpUG9wb3Zlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVELCBUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtleGhhdXN0TWFwLCBmaWx0ZXIsIGlzT2JzZXJ2YWJsZSwgbWVyZ2UsIG9mLCBTdWJqZWN0LCB0YWtlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aVNoZWV0RGlhbG9nT3B0aW9uc30gZnJvbSAnLi9zaGVldC1kaWFsb2cub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktc2hlZXQtZGlhbG9nJyxcbiAgICBpbXBvcnRzOiBbTmdGb3JPZiwgTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlZXQtZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWV0LWRpYWxvZy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShUVUlfU0NST0xMX1JFRiwgRWxlbWVudFJlZildLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aVNsaWRlSW5Ub3BdJzogJ3NsaWRlSW5Ub3AnLFxuICAgICAgICAnW3N0eWxlLi0tdHVpLW9mZnNldC5weF0nOiAnY29udGV4dC5vZmZzZXQnLFxuICAgICAgICAnW2NsYXNzLl9jbG9zZWFibGVdJzogJ2NvbnRleHQuY2xvc2VhYmxlJyxcbiAgICAgICAgJ1tjbGFzcy5fZnVsbHNjcmVlbl0nOiAnY29udGV4dC5mdWxsc2NyZWVuID09PSB0cnVlJyxcbiAgICAgICAgJyhkb2N1bWVudDp0b3VjaHN0YXJ0LnBhc3NpdmUuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgxKScsXG4gICAgICAgICcoZG9jdW1lbnQ6dG91Y2hlbmQuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgtMSknLFxuICAgICAgICAnKGRvY3VtZW50OnRvdWNoY2FuY2VsLnpvbmVsZXNzKSc6ICdvblBvaW50ZXJDaGFuZ2UoLTEpJyxcbiAgICAgICAgJyhzY3JvbGwuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgwKScsXG4gICAgICAgICcoY2xpY2suc2VsZiknOiAnY2xvc2UkLm5leHQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2hlZXREaWFsb2dDb21wb25lbnQ8ST4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzdG9wcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9wczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHBvaW50ZXJzID0gMDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzbGlkZUluVG9wID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnQ6ICcxMDB2aCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdHVpR2V0RHVyYXRpb24oaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSksXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID1cbiAgICAgICAgaW5qZWN0Q29udGV4dDxUdWlQb3BvdmVyPFR1aVNoZWV0RGlhbG9nT3B0aW9uczxJPiwgYW55Pj4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSAkID0gbWVyZ2UodGhpcy5jbG9zZSQsIHR1aUNsb3NlV2F0Y2hlcigpKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuY29udGV4dC5jbG9zZWFibGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjcm9sbFRvKHt0b3A6IHRoaXMuaW5pdGlhbCwgYmVoYXZpb3I6ICdzbW9vdGgnfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNsb3NlYWJsZS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmNvbnRleHQuY2xvc2VhYmxlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKCkpO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zY3JvbGxUb3AgPSB0aGlzLmluaXRpYWw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlckNoYW5nZShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9pbnRlcnMgPSBNYXRoLm1heCh0aGlzLnBvaW50ZXJzICsgZGVsdGEsIDApO1xuXG4gICAgICAgIGlmICghdGhpcy5wb2ludGVycyAmJiB0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbml0aWFsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnN0b3BzXG4gICAgICAgICAgICAgICAgLm1hcCgoZSkgPT4gZS5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCAtIHRoaXMuY29udGV4dC5vZmZzZXQpXG4gICAgICAgICAgICAgICAgLmNvbmNhdCh0aGlzLmVsLmNsaWVudEhlaWdodCA/PyBJbmZpbml0eSlbdGhpcy5jb250ZXh0LmluaXRpYWxdID8/IDBcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1zdG9wc1wiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHN0b3Agb2YgY29udGV4dC5zdG9wc1wiXG4gICAgICAgICNzdG9wc1xuICAgICAgICBjbGFzcz1cInQtc3RvcFwiXG4gICAgICAgIFtzdHlsZS5tYXJnaW4tdG9wXT1cInN0b3BcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtc2hlZXRcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5iYXJcIlxuICAgICAgICBjbGFzcz1cInQtdG9wXCJcbiAgICA+PC9kaXY+XG4gICAgPGgyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbiAgICAgICAgW2lkXT1cImNvbnRleHQuaWRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5sYWJlbCBhcyBsYWJlbDsgY29udGV4dDogY29udGV4dFwiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9oMj5cbiAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRleHQuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,8 +1,11 @@
1
1
  import { Directive, inject, Input } from '@angular/core';
2
2
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
3
3
  import { tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
4
+ import { TUI_OPTION_CONTENT } from '@taiga-ui/core/components/data-list';
5
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
4
6
  import { TUI_DROPDOWN_COMPONENT } from '@taiga-ui/core/directives/dropdown';
5
7
  import { TuiDropdownMobileComponent } from './dropdown-mobile.component';
8
+ import { TuiOptionMobile } from './option-mobile/option-mobile.component';
6
9
  import * as i0 from "@angular/core";
7
10
  class TuiDropdownMobile {
8
11
  constructor() {
@@ -27,6 +30,14 @@ class TuiDropdownMobile {
27
30
  ? TuiDropdownMobileComponent
28
31
  : inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
29
32
  },
33
+ {
34
+ provide: TUI_OPTION_CONTENT,
35
+ useFactory: () => inject(TUI_IS_MOBILE) &&
36
+ // TODO(v5): remove it after deletion of all legacy controls
37
+ inject(TuiTextfieldComponent, { optional: true })
38
+ ? TuiOptionMobile
39
+ : inject(TUI_OPTION_CONTENT, { skipSelf: true, optional: true }),
40
+ },
30
41
  ], ngImport: i0 }); }
31
42
  }
32
43
  export { TuiDropdownMobile };
@@ -42,6 +53,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
42
53
  ? TuiDropdownMobileComponent
43
54
  : inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
44
55
  },
56
+ {
57
+ provide: TUI_OPTION_CONTENT,
58
+ useFactory: () => inject(TUI_IS_MOBILE) &&
59
+ // TODO(v5): remove it after deletion of all legacy controls
60
+ inject(TuiTextfieldComponent, { optional: true })
61
+ ? TuiOptionMobile
62
+ : inject(TUI_OPTION_CONTENT, { skipSelf: true, optional: true }),
63
+ },
45
64
  ],
46
65
  host: {
47
66
  '[style.visibility]': '"visible"',
@@ -51,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
70
  }], propDecorators: { tuiDropdownMobile: [{
52
71
  type: Input
53
72
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbW9iaWxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1vYmlsZS9kcm9wZG93bi1tb2JpbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFMUUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBRXZFLE1BaUJhLGlCQUFpQjtJQWpCOUI7UUFrQnFCLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFHM0Msc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0tBZWpDO0lBYmEsV0FBVyxDQUFDLEtBQWlCO1FBQ25DLElBQ0ksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNkLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUMvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFDeEI7WUFDRSxPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQWxCUSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzT0FkZjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDYixNQUFNLENBQUMsYUFBYSxDQUFDO29CQUNqQixDQUFDLENBQUMsMEJBQTBCO29CQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO2FBQzdEO1NBQ0o7O1NBTVEsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBakI3QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0NBQ2pCLENBQUMsQ0FBQywwQkFBMEI7Z0NBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7eUJBQzdEO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxXQUFXO3dCQUNqQyxhQUFhLEVBQUUscUJBQXFCO3FCQUN2QztpQkFDSjs4QkFLVSxpQkFBaUI7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNIVE1MRWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bk1vYmlsZUNvbXBvbmVudH0gZnJvbSAnLi9kcm9wZG93bi1tb2JpbGUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bk1vYmlsZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRFJPUERPV05fQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT5cbiAgICAgICAgICAgICAgICBpbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgICAgICAgICAgICAgPyBUdWlEcm9wZG93bk1vYmlsZUNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICA6IGluamVjdChUVUlfRFJPUERPV05fQ09NUE9ORU5ULCB7c2tpcFNlbGY6IHRydWV9KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS52aXNpYmlsaXR5XSc6ICdcInZpc2libGVcIicsXG4gICAgICAgICcobW91c2Vkb3duKSc6ICdvbk1vdXNlRG93bigkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bk1vYmlsZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aURyb3Bkb3duTW9iaWxlID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaXNNb2JpbGUgfHxcbiAgICAgICAgICAgICF0dWlJc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICFldmVudC50YXJnZXQubWF0Y2hlcygnaW5wdXQsdGV4dGFyZWEnKSB8fFxuICAgICAgICAgICAgdGhpcy50dWlEcm9wZG93bk1vYmlsZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnRhcmdldC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbW9iaWxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1vYmlsZS9kcm9wZG93bi1tb2JpbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFMUUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOztBQUV4RSxNQTBCYSxpQkFBaUI7SUExQjlCO1FBMkJxQixhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRzNDLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztLQWVqQztJQWJhLFdBQVcsQ0FBQyxLQUFpQjtRQUNuQyxJQUNJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZCxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDL0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQ3hCO1lBQ0UsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0FsQlEsaUJBQWlCO21HQUFqQixpQkFBaUIsc09BdkJmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUM7b0JBQ2pCLENBQUMsQ0FBQywwQkFBMEI7b0JBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDN0Q7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2IsTUFBTSxDQUFDLGFBQWEsQ0FBQztvQkFDckIsNERBQTREO29CQUM1RCxNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7b0JBQzNDLENBQUMsQ0FBQyxlQUFlO29CQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDekU7U0FDSjs7U0FNUSxpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkExQjdCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2IsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQ0FDakIsQ0FBQyxDQUFDLDBCQUEwQjtnQ0FDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQzt5QkFDN0Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0NBQ3JCLDREQUE0RDtnQ0FDNUQsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO2dDQUMzQyxDQUFDLENBQUMsZUFBZTtnQ0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO3lCQUN6RTtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsV0FBVzt3QkFDakMsYUFBYSxFQUFFLHFCQUFxQjtxQkFDdkM7aUJBQ0o7OEJBS1UsaUJBQWlCO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzSFRNTEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7VFVJX09QVElPTl9DT05URU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bk1vYmlsZUNvbXBvbmVudH0gZnJvbSAnLi9kcm9wZG93bi1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7VHVpT3B0aW9uTW9iaWxlfSBmcm9tICcuL29wdGlvbi1tb2JpbGUvb3B0aW9uLW1vYmlsZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duTW9iaWxlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EUk9QRE9XTl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PlxuICAgICAgICAgICAgICAgIGluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICAgICAgICAgICAgICA/IFR1aURyb3Bkb3duTW9iaWxlQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgIDogaW5qZWN0KFRVSV9EUk9QRE9XTl9DT01QT05FTlQsIHtza2lwU2VsZjogdHJ1ZX0pLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PlxuICAgICAgICAgICAgICAgIGluamVjdChUVUlfSVNfTU9CSUxFKSAmJlxuICAgICAgICAgICAgICAgIC8vIFRPRE8odjUpOiByZW1vdmUgaXQgYWZ0ZXIgZGVsZXRpb24gb2YgYWxsIGxlZ2FjeSBjb250cm9sc1xuICAgICAgICAgICAgICAgIGluamVjdChUdWlUZXh0ZmllbGRDb21wb25lbnQsIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgICAgID8gVHVpT3B0aW9uTW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIDogaW5qZWN0KFRVSV9PUFRJT05fQ09OVEVOVCwge3NraXBTZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnZpc2liaWxpdHldJzogJ1widmlzaWJsZVwiJyxcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ29uTW91c2VEb3duKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duTW9iaWxlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpRHJvcGRvd25Nb2JpbGUgPSAnJztcblxuICAgIHByb3RlY3RlZCBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5pc01vYmlsZSB8fFxuICAgICAgICAgICAgIXR1aUlzSFRNTEVsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIWV2ZW50LnRhcmdldC5tYXRjaGVzKCdpbnB1dCx0ZXh0YXJlYScpIHx8XG4gICAgICAgICAgICB0aGlzLnR1aURyb3Bkb3duTW9iaWxlXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQudGFyZ2V0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './dropdown-mobile.component';
2
2
  export * from './dropdown-mobile.directive';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9kcm9wZG93bi1tb2JpbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1tb2JpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tbW9iaWxlLmRpcmVjdGl2ZSc7XG4iXX0=
3
+ export * from './option-mobile/option-mobile.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9kcm9wZG93bi1tb2JpbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1vYmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1tb2JpbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uLW1vYmlsZS9vcHRpb24tbW9iaWxlLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TuiControl } from '@taiga-ui/cdk/classes';
5
+ import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
+ import { TUI_DATA_LIST_HOST, TuiOptionWithValue, } from '@taiga-ui/core/components/data-list';
7
+ import { tuiInjectAuxiliary } from '@taiga-ui/core/components/textfield';
8
+ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
9
+ import { TuiRadio } from '@taiga-ui/kit/components/radio';
10
+ import { TuiSelectDirective } from '@taiga-ui/kit/components/select';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@taiga-ui/kit/components/radio";
13
+ class TuiOptionMobile {
14
+ constructor() {
15
+ this.host = inject(TUI_DATA_LIST_HOST);
16
+ this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
17
+ this.option = inject(TuiOptionWithValue, {
18
+ optional: true,
19
+ });
20
+ this.control = tuiInjectAuxiliary((x) => x instanceof TuiControl);
21
+ this.select = tuiInjectAuxiliary((x) => x instanceof TuiSelectDirective);
22
+ this.selected = computed((controlValue = this.control()?.value(), optionValue = this.option?.value()) => tuiIsPresent(optionValue) &&
23
+ tuiIsPresent(controlValue) &&
24
+ this.itemsHandlers.identityMatcher()(controlValue, optionValue));
25
+ }
26
+ onClick() {
27
+ const value = this.option?.value();
28
+ if (this.host?.handleOption && value !== undefined) {
29
+ this.host.handleOption(value);
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionMobile, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiOptionMobile, isStandalone: true, selector: "ng-component", host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<input\n *ngIf=\"select()\"\n tuiRadio\n type=\"radio\"\n class=\"t-checked-indicator\"\n [checked]=\"selected()\"\n/>\n", styles: [".t-checked-indicator{order:1;margin-inline-start:auto;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ }
35
+ export { TuiOptionMobile };
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionMobile, decorators: [{
37
+ type: Component,
38
+ args: [{ standalone: true, imports: [FormsModule, NgIf, TuiRadio], changeDetection: ChangeDetectionStrategy.OnPush, host: {
39
+ '(click)': 'onClick()',
40
+ }, template: "<input\n *ngIf=\"select()\"\n tuiRadio\n type=\"radio\"\n class=\"t-checked-indicator\"\n [checked]=\"selected()\"\n/>\n", styles: [".t-checked-indicator{order:1;margin-inline-start:auto;pointer-events:none}\n"] }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9kcm9wZG93bi1tb2JpbGUvb3B0aW9uLW1vYmlsZS9vcHRpb24tbW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1vYmlsZS9vcHRpb24tbW9iaWxlL29wdGlvbi1tb2JpbGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsa0JBQWtCLEdBQ3JCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFbkUsTUFVYSxlQUFlO0lBVjVCO1FBV3FCLFNBQUksR0FBRyxNQUFNLENBQXFCLGtCQUFrQixDQUFDLENBQUM7UUFDdEQsa0JBQWEsR0FBd0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEUsV0FBTSxHQUFHLE1BQU0sQ0FBd0Isa0JBQWtCLEVBQUU7WUFDeEUsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRWMsWUFBTyxHQUFHLGtCQUFrQixDQUN6QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLFVBQVUsQ0FDakMsQ0FBQztRQUVpQixXQUFNLEdBQUcsa0JBQWtCLENBQzFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksa0JBQWtCLENBQ3pDLENBQUM7UUFFaUIsYUFBUSxHQUFHLFFBQVEsQ0FDbEMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDM0UsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUN6QixZQUFZLENBQUMsWUFBWSxDQUFDO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUN0RSxDQUFDO0tBU0w7SUFQYSxPQUFPO1FBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7SUFDTCxDQUFDOytHQTVCUSxlQUFlO21HQUFmLGVBQWUsdUhDMUI1Qix5SUFPQSxxSURXYyxXQUFXLCtCQUFFLElBQUk7O1NBUWxCLGVBQWU7NEZBQWYsZUFBZTtrQkFWM0IsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxtQkFHckIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixTQUFTLEVBQUUsV0FBVztxQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUdWlPcHRpb25XaXRoVmFsdWUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7dHVpSW5qZWN0QXV4aWxpYXJ5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQgdHlwZSB7VHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1R1aVJhZGlvfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8nO1xuaW1wb3J0IHtUdWlTZWxlY3REaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdJZiwgVHVpUmFkaW9dLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcHRpb24tbW9iaWxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL29wdGlvbi1tb2JpbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlPcHRpb25Nb2JpbGU8VD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdCA9IGluamVjdDxUdWlEYXRhTGlzdEhvc3Q8VD4+KFRVSV9EQVRBX0xJU1RfSE9TVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb24gPSBpbmplY3Q8VHVpT3B0aW9uV2l0aFZhbHVlPFQ+PihUdWlPcHRpb25XaXRoVmFsdWUsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ29udHJvbDxUPj4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ29udHJvbCxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdCA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlDb250cm9sPFQ+PihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlTZWxlY3REaXJlY3RpdmUsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKFxuICAgICAgICAoY29udHJvbFZhbHVlID0gdGhpcy5jb250cm9sKCk/LnZhbHVlKCksIG9wdGlvblZhbHVlID0gdGhpcy5vcHRpb24/LnZhbHVlKCkpID0+XG4gICAgICAgICAgICB0dWlJc1ByZXNlbnQob3B0aW9uVmFsdWUpICYmXG4gICAgICAgICAgICB0dWlJc1ByZXNlbnQoY29udHJvbFZhbHVlKSAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmlkZW50aXR5TWF0Y2hlcigpKGNvbnRyb2xWYWx1ZSwgb3B0aW9uVmFsdWUpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLm9wdGlvbj8udmFsdWUoKTtcblxuICAgICAgICBpZiAodGhpcy5ob3N0Py5oYW5kbGVPcHRpb24gJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmhhbmRsZU9wdGlvbih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8aW5wdXRcbiAgICAqbmdJZj1cInNlbGVjdCgpXCJcbiAgICB0dWlSYWRpb1xuICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgY2xhc3M9XCJ0LWNoZWNrZWQtaW5kaWNhdG9yXCJcbiAgICBbY2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbi8+XG4iXX0=
@@ -56,7 +56,7 @@ class TuiSheetDialogComponent {
56
56
  .concat(this.el.clientHeight ?? Infinity)[this.context.initial] ?? 0);
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "@tuiSlideInTop": "slideInTop", "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:var(--tui-offset) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "@tuiSlideInTop": "slideInTop", "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, decorators: [{
62
62
  type: Component,
@@ -70,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
70
70
  '(document:touchcancel.zoneless)': 'onPointerChange(-1)',
71
71
  '(scroll.zoneless)': 'onPointerChange(0)',
72
72
  '(click.self)': 'close$.next()',
73
- }, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:var(--tui-offset) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"] }]
73
+ }, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:block;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host .t-stops{display:flex}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"] }]
74
74
  }], propDecorators: { stops: [{
75
75
  type: ViewChildren,
76
76
  args: ['stops']
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-components-sheet-dialog.mjs","sources":["../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.component.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.template.html","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.options.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.service.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.directive.ts","../../../projects/addon-mobile/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport type {AfterViewInit, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiCloseWatcher, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_ANIMATIONS_SPEED, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {exhaustMap, filter, isObservable, merge, of, Subject, take} from 'rxjs';\n\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\n\n@Component({\n standalone: true,\n selector: 'tui-sheet-dialog',\n imports: [NgForOf, NgIf, PolymorpheusOutlet],\n templateUrl: './sheet-dialog.template.html',\n styleUrls: ['./sheet-dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)],\n animations: [tuiSlideInTop],\n host: {\n '[@tuiSlideInTop]': 'slideInTop',\n '[style.--tui-offset.px]': 'context.offset',\n '[class._closeable]': 'context.closeable',\n '[class._fullscreen]': 'context.fullscreen === true',\n '(document:touchstart.passive.zoneless)': 'onPointerChange(1)',\n '(document:touchend.zoneless)': 'onPointerChange(-1)',\n '(document:touchcancel.zoneless)': 'onPointerChange(-1)',\n '(scroll.zoneless)': 'onPointerChange(0)',\n '(click.self)': 'close$.next()',\n },\n})\nexport class TuiSheetDialogComponent<I> implements AfterViewInit {\n @ViewChildren('stops')\n private readonly stops: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n private pointers = 0;\n\n protected readonly slideInTop = {\n value: '',\n params: {\n start: '100vh',\n duration: tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)),\n },\n };\n\n protected readonly context =\n injectContext<TuiPopover<TuiSheetDialogOptions<I>, any>>();\n\n protected readonly close$ = new Subject<void>();\n protected readonly $ = merge(this.close$, tuiCloseWatcher())\n .pipe(\n tuiZonefull(),\n exhaustMap(() => {\n if (isObservable(this.context.closeable)) {\n if (this.el.scrollTop <= 0) {\n this.el.scrollTo({top: this.initial, behavior: 'smooth'});\n }\n\n return this.context.closeable.pipe(take(1));\n }\n\n return of(this.context.closeable);\n }),\n filter(Boolean),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.context.$implicit.complete());\n\n public ngAfterViewInit(): void {\n this.el.scrollTop = this.initial;\n }\n\n protected onPointerChange(delta: number): void {\n this.pointers = Math.max(this.pointers + delta, 0);\n\n if (!this.pointers && this.el.scrollTop <= 0) {\n this.close$.next();\n }\n }\n\n private get initial(): number {\n return (\n this.stops\n .map((e) => e.nativeElement.offsetTop - this.context.offset)\n .concat(this.el.clientHeight ?? Infinity)[this.context.initial] ?? 0\n );\n }\n}\n","<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n","import type {Provider} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\n\nexport interface TuiSheetDialogOptions<I = undefined> {\n readonly closeable: Observable<boolean> | boolean;\n readonly data: I;\n readonly initial: number;\n readonly label: PolymorpheusContent<TuiPopover<TuiSheetDialogOptions<I>, any>>;\n readonly offset: number;\n readonly stops: readonly string[];\n readonly bar: boolean;\n readonly fullscreen: boolean;\n}\n\nexport const TUI_SHEET_DIALOG_DEFAULT_OPTIONS: TuiSheetDialogOptions = {\n label: '',\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n data: undefined,\n bar: true,\n fullscreen: false,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const TUI_SHEET_DIALOG_OPTIONS = tuiCreateToken(TUI_SHEET_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiSheetDialogOptionsProvider(\n options: Partial<TuiSheetDialogOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_SHEET_DIALOG_OPTIONS,\n options,\n TUI_SHEET_DIALOG_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TuiPopoverService, TuiThemeColorService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\nimport {pairwise, startWith} from 'rxjs';\n\nimport {TuiSheetDialogComponent} from './sheet-dialog.component';\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TUI_SHEET_DIALOG_OPTIONS} from './sheet-dialog.options';\n\nconst THEME = '#404040';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiSheetDialogService(\n TUI_DIALOGS,\n TuiSheetDialogComponent,\n inject(TUI_SHEET_DIALOG_OPTIONS),\n ),\n})\nexport class TuiSheetDialogService extends TuiPopoverService<TuiSheetDialogOptions<any>> {\n private readonly theme = inject(TuiThemeColorService);\n private initial = this.theme.color;\n\n protected readonly $ = this.items$\n .pipe(startWith([]), pairwise(), takeUntilDestroyed())\n .subscribe(([prev, next]) => {\n if (!prev.length && next.length) {\n this.initial = this.theme.color;\n this.theme.color = THEME;\n }\n\n if (!next.length && prev.length) {\n this.theme.color = this.initial;\n }\n });\n}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TuiSheetDialogService} from './sheet-dialog.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiSheetDialog]',\n inputs: ['options: tuiSheetDialogOptions', 'open: tuiSheetDialog'],\n outputs: ['openChange: tuiSheetDialogChange'],\n providers: [tuiAsPopover(TuiSheetDialogService)],\n})\nexport class TuiSheetDialog extends TuiPopoverDirective<TuiSheetDialogOptions> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAqBa,uBAAuB,CAAA;AArBpC,IAAA,WAAA,GAAA;QAuBqB,IAAK,CAAA,KAAA,GAAuC,WAAW,CAAC;QAExD,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG;AAC5B,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE;AACJ,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACzD,aAAA;SACJ,CAAC;QAEiB,IAAO,CAAA,OAAA,GACtB,aAAa,EAA6C,CAAC;AAE5C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC7B,IAAC,CAAA,CAAA,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;AACvD,aAAA,IAAI,CACD,WAAW,EAAE,EACb,UAAU,CAAC,MAAK;YACZ,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,gBAAA,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE;AACxB,oBAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC7D,iBAAA;AAED,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,aAAA;YAED,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACrC,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,EACf,kBAAkB,EAAE,CACvB;AACA,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAqB3D,KAAA;IAnBU,eAAe,GAAA;QAClB,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;KACpC;AAES,IAAA,eAAe,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAEnD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACtB,SAAA;KACJ;AAED,IAAA,IAAY,OAAO,GAAA;QACf,QACI,IAAI,CAAC,KAAK;AACL,aAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAC3D,aAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAC1E;KACL;+GAxDQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,sCAAA,EAAA,oBAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,+BAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,SAAA,EAdrB,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BvD,8tBA4BA,EDFc,MAAA,EAAA,CAAA,srEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,mHAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAK/B,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,aAAa,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAalB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,kBAAkB,EAAA,OAAA,EACnB,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAA,eAAA,EAG3B,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EACvC,UAAA,EAAA,CAAC,aAAa,CAAC,EACrB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,YAAY;AAChC,wBAAA,yBAAyB,EAAE,gBAAgB;AAC3C,wBAAA,oBAAoB,EAAE,mBAAmB;AACzC,wBAAA,qBAAqB,EAAE,6BAA6B;AACpD,wBAAA,wCAAwC,EAAE,oBAAoB;AAC9D,wBAAA,8BAA8B,EAAE,qBAAqB;AACrD,wBAAA,iCAAiC,EAAE,qBAAqB;AACxD,wBAAA,mBAAmB,EAAE,oBAAoB;AACzC,wBAAA,cAAc,EAAE,eAAe;AAClC,qBAAA,EAAA,QAAA,EAAA,8tBAAA,EAAA,MAAA,EAAA,CAAA,srEAAA,CAAA,EAAA,CAAA;8BAIgB,KAAK,EAAA,CAAA;sBADrB,YAAY;uBAAC,OAAO,CAAA;;;AE5BZ,MAAA,gCAAgC,GAA0B;AACnE,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,UAAU,EAAE,KAAK;EACnB;AAEF;;AAEG;MACU,wBAAwB,GAAG,cAAc,CAAC,gCAAgC,EAAE;AAEnF,SAAU,6BAA6B,CACzC,OAAuC,EAAA;IAEvC,OAAO,iBAAiB,CACpB,wBAAwB,EACxB,OAAO,EACP,gCAAgC,CACnC,CAAC;AACN;;AC/BA,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,MASa,qBAAsB,SAAQ,iBAA6C,CAAA;AATxF,IAAA,WAAA,GAAA;;AAUqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAEhB,IAAC,CAAA,CAAA,GAAG,IAAI,CAAC,MAAM;aAC7B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,CAAC;aACrD,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,aAAA;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC,aAAA;AACL,SAAC,CAAC,CAAC;AACV,KAAA;+GAhBY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cARlB,MAAM,EAAA,UAAA,EACN,MACR,IAAI,qBAAqB,CACrB,WAAW,EACX,uBAAuB,EACvB,MAAM,CAAC,wBAAwB,CAAC,CACnC,EAAA,CAAA,CAAA,EAAA;;4FAEI,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,UAAU,EAAE,MACR,IACI,qBAAA,CAAA,WAAW,EACX,uBAAuB,EACvB,MAAM,CAAC,wBAAwB,CAAC,CACnC;AACR,iBAAA,CAAA;;;ACbD,MAOa,cAAe,SAAQ,mBAA0C,CAAA;+GAAjE,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,wNAFZ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEvC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,MAAM,EAAE,CAAC,gCAAgC,EAAE,sBAAsB,CAAC;oBAClE,OAAO,EAAE,CAAC,kCAAkC,CAAC;AAC7C,oBAAA,SAAS,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;AACnD,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-components-sheet-dialog.mjs","sources":["../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.component.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.template.html","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.options.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.service.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.directive.ts","../../../projects/addon-mobile/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport type {AfterViewInit, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiCloseWatcher, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_ANIMATIONS_SPEED, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {exhaustMap, filter, isObservable, merge, of, Subject, take} from 'rxjs';\n\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\n\n@Component({\n standalone: true,\n selector: 'tui-sheet-dialog',\n imports: [NgForOf, NgIf, PolymorpheusOutlet],\n templateUrl: './sheet-dialog.template.html',\n styleUrls: ['./sheet-dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)],\n animations: [tuiSlideInTop],\n host: {\n '[@tuiSlideInTop]': 'slideInTop',\n '[style.--tui-offset.px]': 'context.offset',\n '[class._closeable]': 'context.closeable',\n '[class._fullscreen]': 'context.fullscreen === true',\n '(document:touchstart.passive.zoneless)': 'onPointerChange(1)',\n '(document:touchend.zoneless)': 'onPointerChange(-1)',\n '(document:touchcancel.zoneless)': 'onPointerChange(-1)',\n '(scroll.zoneless)': 'onPointerChange(0)',\n '(click.self)': 'close$.next()',\n },\n})\nexport class TuiSheetDialogComponent<I> implements AfterViewInit {\n @ViewChildren('stops')\n private readonly stops: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n private pointers = 0;\n\n protected readonly slideInTop = {\n value: '',\n params: {\n start: '100vh',\n duration: tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)),\n },\n };\n\n protected readonly context =\n injectContext<TuiPopover<TuiSheetDialogOptions<I>, any>>();\n\n protected readonly close$ = new Subject<void>();\n protected readonly $ = merge(this.close$, tuiCloseWatcher())\n .pipe(\n tuiZonefull(),\n exhaustMap(() => {\n if (isObservable(this.context.closeable)) {\n if (this.el.scrollTop <= 0) {\n this.el.scrollTo({top: this.initial, behavior: 'smooth'});\n }\n\n return this.context.closeable.pipe(take(1));\n }\n\n return of(this.context.closeable);\n }),\n filter(Boolean),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.context.$implicit.complete());\n\n public ngAfterViewInit(): void {\n this.el.scrollTop = this.initial;\n }\n\n protected onPointerChange(delta: number): void {\n this.pointers = Math.max(this.pointers + delta, 0);\n\n if (!this.pointers && this.el.scrollTop <= 0) {\n this.close$.next();\n }\n }\n\n private get initial(): number {\n return (\n this.stops\n .map((e) => e.nativeElement.offsetTop - this.context.offset)\n .concat(this.el.clientHeight ?? Infinity)[this.context.initial] ?? 0\n );\n }\n}\n","<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n","import type {Provider} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\n\nexport interface TuiSheetDialogOptions<I = undefined> {\n readonly closeable: Observable<boolean> | boolean;\n readonly data: I;\n readonly initial: number;\n readonly label: PolymorpheusContent<TuiPopover<TuiSheetDialogOptions<I>, any>>;\n readonly offset: number;\n readonly stops: readonly string[];\n readonly bar: boolean;\n readonly fullscreen: boolean;\n}\n\nexport const TUI_SHEET_DIALOG_DEFAULT_OPTIONS: TuiSheetDialogOptions = {\n label: '',\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n data: undefined,\n bar: true,\n fullscreen: false,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const TUI_SHEET_DIALOG_OPTIONS = tuiCreateToken(TUI_SHEET_DIALOG_DEFAULT_OPTIONS);\n\nexport function tuiSheetDialogOptionsProvider(\n options: Partial<TuiSheetDialogOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_SHEET_DIALOG_OPTIONS,\n options,\n TUI_SHEET_DIALOG_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TuiPopoverService, TuiThemeColorService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\nimport {pairwise, startWith} from 'rxjs';\n\nimport {TuiSheetDialogComponent} from './sheet-dialog.component';\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TUI_SHEET_DIALOG_OPTIONS} from './sheet-dialog.options';\n\nconst THEME = '#404040';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiSheetDialogService(\n TUI_DIALOGS,\n TuiSheetDialogComponent,\n inject(TUI_SHEET_DIALOG_OPTIONS),\n ),\n})\nexport class TuiSheetDialogService extends TuiPopoverService<TuiSheetDialogOptions<any>> {\n private readonly theme = inject(TuiThemeColorService);\n private initial = this.theme.color;\n\n protected readonly $ = this.items$\n .pipe(startWith([]), pairwise(), takeUntilDestroyed())\n .subscribe(([prev, next]) => {\n if (!prev.length && next.length) {\n this.initial = this.theme.color;\n this.theme.color = THEME;\n }\n\n if (!next.length && prev.length) {\n this.theme.color = this.initial;\n }\n });\n}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport type {TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TuiSheetDialogService} from './sheet-dialog.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiSheetDialog]',\n inputs: ['options: tuiSheetDialogOptions', 'open: tuiSheetDialog'],\n outputs: ['openChange: tuiSheetDialogChange'],\n providers: [tuiAsPopover(TuiSheetDialogService)],\n})\nexport class TuiSheetDialog extends TuiPopoverDirective<TuiSheetDialogOptions> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,58 @@
1
- import { DOCUMENT, NgIf } from '@angular/common';
1
+ import { NgIf, DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { inject, computed, Component, ChangeDetectionStrategy, Directive, Input, ViewEncapsulation } from '@angular/core';
4
4
  import * as i2 from '@ng-web-apis/intersection-observer';
5
5
  import { WaIntersectionObserver } from '@ng-web-apis/intersection-observer';
6
6
  import { TuiKeyboardService } from '@taiga-ui/addon-mobile/services';
7
- import * as i1 from '@taiga-ui/cdk/directives/active-zone';
7
+ import * as i1$1 from '@taiga-ui/cdk/directives/active-zone';
8
8
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
9
9
  import { TuiSwipe } from '@taiga-ui/cdk/directives/swipe';
10
10
  import { tuiIsHTMLElement, tuiInjectElement, tuiIsElement } from '@taiga-ui/cdk/utils/dom';
11
11
  import { tuiGetNativeFocused } from '@taiga-ui/cdk/utils/focus';
12
- import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
12
+ import { tuiIsPresent, tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
13
13
  import { tuiSlideInTop, tuiFadeIn } from '@taiga-ui/core/animations';
14
14
  import { TUI_DROPDOWN_COMPONENT, TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
15
15
  import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
16
16
  import { tuiGetDuration } from '@taiga-ui/core/utils/miscellaneous';
17
17
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
18
18
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
19
+ import { TUI_DATA_LIST_HOST, TuiOptionWithValue, TUI_OPTION_CONTENT } from '@taiga-ui/core/components/data-list';
20
+ import { tuiInjectAuxiliary, TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
21
+ import { FormsModule } from '@angular/forms';
22
+ import { TuiControl } from '@taiga-ui/cdk/classes';
23
+ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
24
+ import * as i1 from '@taiga-ui/kit/components/radio';
25
+ import { TuiRadio } from '@taiga-ui/kit/components/radio';
26
+ import { TuiSelectDirective } from '@taiga-ui/kit/components/select';
27
+
28
+ class TuiOptionMobile {
29
+ constructor() {
30
+ this.host = inject(TUI_DATA_LIST_HOST);
31
+ this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
32
+ this.option = inject(TuiOptionWithValue, {
33
+ optional: true,
34
+ });
35
+ this.control = tuiInjectAuxiliary((x) => x instanceof TuiControl);
36
+ this.select = tuiInjectAuxiliary((x) => x instanceof TuiSelectDirective);
37
+ this.selected = computed((controlValue = this.control()?.value(), optionValue = this.option?.value()) => tuiIsPresent(optionValue) &&
38
+ tuiIsPresent(controlValue) &&
39
+ this.itemsHandlers.identityMatcher()(controlValue, optionValue));
40
+ }
41
+ onClick() {
42
+ const value = this.option?.value();
43
+ if (this.host?.handleOption && value !== undefined) {
44
+ this.host.handleOption(value);
45
+ }
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionMobile, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiOptionMobile, isStandalone: true, selector: "ng-component", host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<input\n *ngIf=\"select()\"\n tuiRadio\n type=\"radio\"\n class=\"t-checked-indicator\"\n [checked]=\"selected()\"\n/>\n", styles: [".t-checked-indicator{order:1;margin-inline-start:auto;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionMobile, decorators: [{
51
+ type: Component,
52
+ args: [{ standalone: true, imports: [FormsModule, NgIf, TuiRadio], changeDetection: ChangeDetectionStrategy.OnPush, host: {
53
+ '(click)': 'onClick()',
54
+ }, template: "<input\n *ngIf=\"select()\"\n tuiRadio\n type=\"radio\"\n class=\"t-checked-indicator\"\n [checked]=\"selected()\"\n/>\n", styles: [".t-checked-indicator{order:1;margin-inline-start:auto;pointer-events:none}\n"] }]
55
+ }] });
19
56
 
20
57
  class TuiDropdownMobile {
21
58
  constructor() {
@@ -40,6 +77,14 @@ class TuiDropdownMobile {
40
77
  ? TuiDropdownMobileComponent
41
78
  : inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
42
79
  },
80
+ {
81
+ provide: TUI_OPTION_CONTENT,
82
+ useFactory: () => inject(TUI_IS_MOBILE) &&
83
+ // TODO(v5): remove it after deletion of all legacy controls
84
+ inject(TuiTextfieldComponent, { optional: true })
85
+ ? TuiOptionMobile
86
+ : inject(TUI_OPTION_CONTENT, { skipSelf: true, optional: true }),
87
+ },
43
88
  ], ngImport: i0 }); }
44
89
  }
45
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownMobile, decorators: [{
@@ -54,6 +99,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
99
  ? TuiDropdownMobileComponent
55
100
  : inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
56
101
  },
102
+ {
103
+ provide: TUI_OPTION_CONTENT,
104
+ useFactory: () => inject(TUI_IS_MOBILE) &&
105
+ // TODO(v5): remove it after deletion of all legacy controls
106
+ inject(TuiTextfieldComponent, { optional: true })
107
+ ? TuiOptionMobile
108
+ : inject(TUI_OPTION_CONTENT, { skipSelf: true, optional: true }),
109
+ },
57
110
  ],
58
111
  host: {
59
112
  '[style.visibility]': '"visible"',
@@ -139,7 +192,7 @@ class TuiDropdownMobileComponent {
139
192
  return this.dropdown.el.contains(tuiGetNativeFocused(this.doc));
140
193
  }
141
194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownMobileComponent, isStandalone: true, selector: "tui-dropdown-mobile", host: { listeners: { "document:click.zoneless.capture": "onClick($event)", "window>scroll.zoneless.capture": "refresh($event.currentTarget.visualViewport)", "visualViewport>resize.zoneless": "refresh($event.target)", "visualViewport>scroll.zoneless": "refresh($event.target)" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation", "class._sheet": "directive.tuiDropdownMobile" } }, hostDirectives: [{ directive: i1.TuiActiveZone }], ngImport: i0, template: "<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.prevent)=\"close()\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0])\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: ["tui-dropdown-mobile:not(._sheet){scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;inline-size:100%;block-size:100%;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;visibility:visible!important;transform:translateZ(0);background:var(--tui-background-base);overscroll-behavior:contain;overflow:auto;box-shadow:0 -.5rem .5rem var(--tui-background-base),0 10rem var(--tui-background-base),0 20rem var(--tui-background-base),0 30rem var(--tui-background-base)}tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet):after{content:\"\";display:block;block-size:1px}tui-dropdown-mobile:not(._sheet)>.t-container{scrollbar-width:none;-ms-overflow-style:none;position:sticky;top:0;block-size:100%;overflow:auto;margin:0 .75rem;touch-action:pan-y!important}tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet) [tuiDropdownButton][tuiDropdownButton]{position:fixed;right:1rem;bottom:1rem;display:inline-flex}tui-dropdown-mobile._sheet{position:fixed;top:0;left:0;bottom:0;right:0;scrollbar-width:none;-ms-overflow-style:none;overflow:auto;background:var(--tui-service-backdrop);box-shadow:0 -80vh 0 5rem var(--tui-service-backdrop);overflow-y:scroll;scroll-snap-type:y mandatory;overscroll-behavior:none}tui-dropdown-mobile._sheet::-webkit-scrollbar,tui-dropdown-mobile._sheet::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile._sheet>.t-filler{block-size:100%;scroll-snap-stop:always;scroll-snap-align:start}tui-dropdown-mobile._sheet>.t-container{display:flex;max-block-size:calc(100% - 1rem);flex-direction:column;border-top-left-radius:1rem;border-top-right-radius:1rem;padding:0 .5rem;scroll-snap-stop:always;scroll-snap-align:start;background:var(--tui-background-elevation-1)}tui-dropdown-mobile._sheet>.t-container>.t-heading{position:relative;margin:0;padding:2rem .5rem .75rem;font:var(--tui-font-heading-6)}tui-dropdown-mobile._sheet>.t-container>.t-heading:before{content:\"\";position:absolute;left:50%;top:.75rem;inline-size:2rem;block-size:.25rem;border-radius:1rem;background:var(--tui-background-neutral-2);transform:translate(-50%,-50%)}tui-dropdown-mobile._sheet>.t-container>.t-content{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar,tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile._sheet tui-data-list [tuiOption]{margin-left:calc(-1 * var(--t-option-padding-inline));margin-right:calc(-1 * var(--t-option-padding-inline))}.t-dropdown-mobile{touch-action:none;visibility:hidden}.t-dropdown-mobile *{touch-action:inherit;visibility:inherit}.t-dropdown-mobile tui-root{visibility:visible}.t-dropdown-mobile tui-root .t-root-content{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiSwipe, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { kind: "directive", type: i2.WaIntersectionObserverDirective, selector: "[waIntersectionObserver]", inputs: ["waIntersectionRootMargin", "waIntersectionThreshold"], exportAs: ["IntersectionObserver"] }, { kind: "directive", type: i2.WaIntersectionObservee, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }], animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownMobileComponent, isStandalone: true, selector: "tui-dropdown-mobile", host: { listeners: { "document:click.zoneless.capture": "onClick($event)", "window>scroll.zoneless.capture": "refresh($event.currentTarget.visualViewport)", "visualViewport>resize.zoneless": "refresh($event.target)", "visualViewport>scroll.zoneless": "refresh($event.target)" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation", "class._sheet": "directive.tuiDropdownMobile" } }, hostDirectives: [{ directive: i1$1.TuiActiveZone }], ngImport: i0, template: "<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.prevent)=\"close()\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0])\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: ["tui-dropdown-mobile:not(._sheet){scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;inline-size:100%;block-size:100%;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;visibility:visible!important;transform:translateZ(0);background:var(--tui-background-base);overscroll-behavior:contain;overflow:auto;box-shadow:0 -.5rem .5rem var(--tui-background-base),0 10rem var(--tui-background-base),0 20rem var(--tui-background-base),0 30rem var(--tui-background-base)}tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet):after{content:\"\";display:block;block-size:1px}tui-dropdown-mobile:not(._sheet)>.t-container{scrollbar-width:none;-ms-overflow-style:none;position:sticky;top:0;block-size:100%;overflow:auto;margin:0 .75rem;touch-action:pan-y!important}tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar,tui-dropdown-mobile:not(._sheet)>.t-container::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:not(._sheet) [tuiDropdownButton][tuiDropdownButton]{position:fixed;right:1rem;bottom:1rem;display:inline-flex}tui-dropdown-mobile._sheet{position:fixed;top:0;left:0;bottom:0;right:0;scrollbar-width:none;-ms-overflow-style:none;overflow:auto;background:var(--tui-service-backdrop);box-shadow:0 -80vh 0 5rem var(--tui-service-backdrop);overflow-y:scroll;scroll-snap-type:y mandatory;overscroll-behavior:none}tui-dropdown-mobile._sheet::-webkit-scrollbar,tui-dropdown-mobile._sheet::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile._sheet>.t-filler{block-size:100%;scroll-snap-stop:always;scroll-snap-align:start}tui-dropdown-mobile._sheet>.t-container{display:flex;max-block-size:calc(100% - 1rem);flex-direction:column;border-top-left-radius:1rem;border-top-right-radius:1rem;padding:0 .5rem;scroll-snap-stop:always;scroll-snap-align:start;background:var(--tui-background-elevation-1)}tui-dropdown-mobile._sheet>.t-container>.t-heading{position:relative;margin:0;padding:2rem .5rem .75rem;font:var(--tui-font-heading-6)}tui-dropdown-mobile._sheet>.t-container>.t-heading:before{content:\"\";position:absolute;left:50%;top:.75rem;inline-size:2rem;block-size:.25rem;border-radius:1rem;background:var(--tui-background-neutral-2);transform:translate(-50%,-50%)}tui-dropdown-mobile._sheet>.t-container>.t-content{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar,tui-dropdown-mobile._sheet>.t-container>.t-content::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile._sheet tui-data-list [tuiOption]{margin-left:calc(-1 * var(--t-option-padding-inline));margin-right:calc(-1 * var(--t-option-padding-inline))}.t-dropdown-mobile{touch-action:none;visibility:hidden}.t-dropdown-mobile *{touch-action:inherit;visibility:inherit}.t-dropdown-mobile tui-root{visibility:visible}.t-dropdown-mobile tui-root .t-root-content{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiSwipe, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { kind: "directive", type: i2.WaIntersectionObserverDirective, selector: "[waIntersectionObserver]", inputs: ["waIntersectionRootMargin", "waIntersectionThreshold"], exportAs: ["IntersectionObserver"] }, { kind: "directive", type: i2.WaIntersectionObservee, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }], animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
143
196
  }
144
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownMobileComponent, decorators: [{
145
198
  type: Component,
@@ -164,5 +217,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
164
217
  * Generated bundle index. Do not edit.
165
218
  */
166
219
 
167
- export { TuiDropdownMobile, TuiDropdownMobileComponent };
220
+ export { TuiDropdownMobile, TuiDropdownMobileComponent, TuiOptionMobile };
168
221
  //# sourceMappingURL=taiga-ui-addon-mobile-directives-dropdown-mobile.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-directives-dropdown-mobile.mjs","sources":["../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.directive.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.component.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.template.html","../../../projects/addon-mobile/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_DROPDOWN_COMPONENT} from '@taiga-ui/core/directives/dropdown';\n\nimport {TuiDropdownMobileComponent} from './dropdown-mobile.component';\n\n@Directive({\n standalone: true,\n selector: '[tuiDropdownMobile]',\n providers: [\n {\n provide: TUI_DROPDOWN_COMPONENT,\n useFactory: () =>\n inject(TUI_IS_MOBILE)\n ? TuiDropdownMobileComponent\n : inject(TUI_DROPDOWN_COMPONENT, {skipSelf: true}),\n },\n ],\n host: {\n '[style.visibility]': '\"visible\"',\n '(mousedown)': 'onMouseDown($event)',\n },\n})\nexport class TuiDropdownMobile {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n\n @Input()\n public tuiDropdownMobile = '';\n\n protected onMouseDown(event: MouseEvent): void {\n if (\n !this.isMobile ||\n !tuiIsHTMLElement(event.target) ||\n !event.target.matches('input,textarea') ||\n this.tuiDropdownMobile\n ) {\n return;\n }\n\n event.preventDefault();\n event.target.focus({preventScroll: true});\n }\n}\n","import {DOCUMENT, NgIf} from '@angular/common';\nimport type {AfterViewInit, OnDestroy} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WaIntersectionObserver} from '@ng-web-apis/intersection-observer';\nimport {TuiKeyboardService} from '@taiga-ui/addon-mobile/services';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport type {TuiSwipeEvent} from '@taiga-ui/cdk/directives/swipe';\nimport {TuiSwipe} from '@taiga-ui/cdk/directives/swipe';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiDropdownMobile} from './dropdown-mobile.directive';\n\nconst GAP = 16;\n\n@Component({\n standalone: true,\n selector: 'tui-dropdown-mobile',\n imports: [\n NgIf,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiSwipe,\n WaIntersectionObserver,\n ],\n templateUrl: './dropdown-mobile.template.html',\n styleUrls: ['./dropdown-mobile.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n hostDirectives: [TuiActiveZone],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInTop]': 'animation',\n '[class._sheet]': 'directive.tuiDropdownMobile',\n '(document:click.zoneless.capture)': 'onClick($event)',\n '(window>scroll.zoneless.capture)':\n 'refresh($event.currentTarget.visualViewport)',\n '(visualViewport>resize.zoneless)': 'refresh($event.target)',\n '(visualViewport>scroll.zoneless)': 'refresh($event.target)',\n },\n})\nexport class TuiDropdownMobileComponent implements OnDestroy, AfterViewInit {\n private readonly el = tuiInjectElement();\n private readonly keyboard = inject(TuiKeyboardService);\n private readonly doc = inject(DOCUMENT);\n private readonly scrollTop = this.doc.documentElement.scrollTop;\n private readonly observer = new ResizeObserver(() =>\n this.refresh(this.doc.defaultView!.visualViewport!),\n );\n\n protected readonly directive = inject(TuiDropdownMobile);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly animation = {\n value: '',\n params: {\n start: '100vh',\n duration: tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)),\n },\n } as const;\n\n constructor() {\n this.observer.observe(this.dropdown.el);\n this.doc.documentElement.style.setProperty('scroll-behavior', 'initial');\n }\n\n public ngAfterViewInit(): void {\n this.el.scrollTop = this.directive.tuiDropdownMobile ? this.el.clientHeight : 0;\n }\n\n public ngOnDestroy(): void {\n this.observer.disconnect();\n this.doc.body.classList.remove('t-dropdown-mobile');\n this.doc.body.style.removeProperty('--t-root-top');\n this.doc.documentElement.scrollTop = this.scrollTop;\n this.doc.documentElement.style.removeProperty('scroll-behavior');\n\n if (this.focused) {\n this.keyboard.hide();\n }\n }\n\n protected onClick(event: MouseEvent): void {\n if (\n tuiIsElement(event.target) &&\n !this.el.contains(event.target) &&\n (!this.dropdown.el.contains(event.target) ||\n event.target.matches('input,textarea'))\n ) {\n event.stopPropagation();\n }\n }\n\n protected onSwipe({direction}: TuiSwipeEvent, el: HTMLElement): void {\n if (\n direction === 'bottom' &&\n el.getBoundingClientRect().bottom > Number(this.doc.defaultView?.innerHeight)\n ) {\n this.close();\n }\n }\n\n protected onIntersection({isIntersecting}: IntersectionObserverEntry): void {\n if (isIntersecting) {\n this.close();\n }\n }\n\n protected close(): void {\n this.dropdown.toggle(false);\n }\n\n protected refresh({offsetTop, height}: VisualViewport): void {\n this.doc.body.style.removeProperty('--t-root-top');\n\n if (\n !this.focused ||\n this.directive.tuiDropdownMobile ||\n !this.doc.documentElement.style.getPropertyValue('scroll-behavior')\n ) {\n return;\n }\n\n this.doc.documentElement.scrollTop = 0;\n\n const rect = this.dropdown.el.getBoundingClientRect();\n const top = offsetTop + GAP - rect.top;\n const offset = rect.height + GAP * 2;\n\n this.el.style.setProperty('top', tuiPx(offsetTop + offset));\n this.el.style.setProperty('height', tuiPx(height - offset));\n this.doc.body.classList.add('t-dropdown-mobile');\n this.doc.body.style.setProperty('--t-root-top', tuiPx(top));\n }\n\n private get focused(): boolean {\n return this.dropdown.el.contains(tuiGetNativeFocused(this.doc));\n }\n}\n","<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.prevent)=\"close()\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0])\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\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-addon-mobile-directives-dropdown-mobile.mjs","sources":["../../../projects/addon-mobile/directives/dropdown-mobile/option-mobile/option-mobile.component.ts","../../../projects/addon-mobile/directives/dropdown-mobile/option-mobile/option-mobile.template.html","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.directive.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.component.ts","../../../projects/addon-mobile/directives/dropdown-mobile/dropdown-mobile.template.html","../../../projects/addon-mobile/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n TUI_DATA_LIST_HOST,\n TuiOptionWithValue,\n} from '@taiga-ui/core/components/data-list';\nimport {tuiInjectAuxiliary} from '@taiga-ui/core/components/textfield';\nimport type {TuiItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiRadio} from '@taiga-ui/kit/components/radio';\nimport {TuiSelectDirective} from '@taiga-ui/kit/components/select';\n\n@Component({\n standalone: true,\n imports: [FormsModule, NgIf, TuiRadio],\n templateUrl: './option-mobile.template.html',\n styleUrls: ['./option-mobile.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(click)': 'onClick()',\n },\n})\nexport class TuiOptionMobile<T> {\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly itemsHandlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n private readonly option = inject<TuiOptionWithValue<T>>(TuiOptionWithValue, {\n optional: true,\n });\n\n private readonly control = tuiInjectAuxiliary<TuiControl<T>>(\n (x) => x instanceof TuiControl,\n );\n\n protected readonly select = tuiInjectAuxiliary<TuiControl<T>>(\n (x) => x instanceof TuiSelectDirective,\n );\n\n protected readonly selected = computed(\n (controlValue = this.control()?.value(), optionValue = this.option?.value()) =>\n tuiIsPresent(optionValue) &&\n tuiIsPresent(controlValue) &&\n this.itemsHandlers.identityMatcher()(controlValue, optionValue),\n );\n\n protected onClick(): void {\n const value = this.option?.value();\n\n if (this.host?.handleOption && value !== undefined) {\n this.host.handleOption(value);\n }\n }\n}\n","<input\n *ngIf=\"select()\"\n tuiRadio\n type=\"radio\"\n class=\"t-checked-indicator\"\n [checked]=\"selected()\"\n/>\n","import {Directive, inject, Input} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_OPTION_CONTENT} from '@taiga-ui/core/components/data-list';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TUI_DROPDOWN_COMPONENT} from '@taiga-ui/core/directives/dropdown';\n\nimport {TuiDropdownMobileComponent} from './dropdown-mobile.component';\nimport {TuiOptionMobile} from './option-mobile/option-mobile.component';\n\n@Directive({\n standalone: true,\n selector: '[tuiDropdownMobile]',\n providers: [\n {\n provide: TUI_DROPDOWN_COMPONENT,\n useFactory: () =>\n inject(TUI_IS_MOBILE)\n ? TuiDropdownMobileComponent\n : inject(TUI_DROPDOWN_COMPONENT, {skipSelf: true}),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useFactory: () =>\n inject(TUI_IS_MOBILE) &&\n // TODO(v5): remove it after deletion of all legacy controls\n inject(TuiTextfieldComponent, {optional: true})\n ? TuiOptionMobile\n : inject(TUI_OPTION_CONTENT, {skipSelf: true, optional: true}),\n },\n ],\n host: {\n '[style.visibility]': '\"visible\"',\n '(mousedown)': 'onMouseDown($event)',\n },\n})\nexport class TuiDropdownMobile {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n\n @Input()\n public tuiDropdownMobile = '';\n\n protected onMouseDown(event: MouseEvent): void {\n if (\n !this.isMobile ||\n !tuiIsHTMLElement(event.target) ||\n !event.target.matches('input,textarea') ||\n this.tuiDropdownMobile\n ) {\n return;\n }\n\n event.preventDefault();\n event.target.focus({preventScroll: true});\n }\n}\n","import {DOCUMENT, NgIf} from '@angular/common';\nimport type {AfterViewInit, OnDestroy} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WaIntersectionObserver} from '@ng-web-apis/intersection-observer';\nimport {TuiKeyboardService} from '@taiga-ui/addon-mobile/services';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport type {TuiSwipeEvent} from '@taiga-ui/cdk/directives/swipe';\nimport {TuiSwipe} from '@taiga-ui/cdk/directives/swipe';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiDropdownMobile} from './dropdown-mobile.directive';\n\nconst GAP = 16;\n\n@Component({\n standalone: true,\n selector: 'tui-dropdown-mobile',\n imports: [\n NgIf,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiSwipe,\n WaIntersectionObserver,\n ],\n templateUrl: './dropdown-mobile.template.html',\n styleUrls: ['./dropdown-mobile.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n hostDirectives: [TuiActiveZone],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInTop]': 'animation',\n '[class._sheet]': 'directive.tuiDropdownMobile',\n '(document:click.zoneless.capture)': 'onClick($event)',\n '(window>scroll.zoneless.capture)':\n 'refresh($event.currentTarget.visualViewport)',\n '(visualViewport>resize.zoneless)': 'refresh($event.target)',\n '(visualViewport>scroll.zoneless)': 'refresh($event.target)',\n },\n})\nexport class TuiDropdownMobileComponent implements OnDestroy, AfterViewInit {\n private readonly el = tuiInjectElement();\n private readonly keyboard = inject(TuiKeyboardService);\n private readonly doc = inject(DOCUMENT);\n private readonly scrollTop = this.doc.documentElement.scrollTop;\n private readonly observer = new ResizeObserver(() =>\n this.refresh(this.doc.defaultView!.visualViewport!),\n );\n\n protected readonly directive = inject(TuiDropdownMobile);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly animation = {\n value: '',\n params: {\n start: '100vh',\n duration: tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)),\n },\n } as const;\n\n constructor() {\n this.observer.observe(this.dropdown.el);\n this.doc.documentElement.style.setProperty('scroll-behavior', 'initial');\n }\n\n public ngAfterViewInit(): void {\n this.el.scrollTop = this.directive.tuiDropdownMobile ? this.el.clientHeight : 0;\n }\n\n public ngOnDestroy(): void {\n this.observer.disconnect();\n this.doc.body.classList.remove('t-dropdown-mobile');\n this.doc.body.style.removeProperty('--t-root-top');\n this.doc.documentElement.scrollTop = this.scrollTop;\n this.doc.documentElement.style.removeProperty('scroll-behavior');\n\n if (this.focused) {\n this.keyboard.hide();\n }\n }\n\n protected onClick(event: MouseEvent): void {\n if (\n tuiIsElement(event.target) &&\n !this.el.contains(event.target) &&\n (!this.dropdown.el.contains(event.target) ||\n event.target.matches('input,textarea'))\n ) {\n event.stopPropagation();\n }\n }\n\n protected onSwipe({direction}: TuiSwipeEvent, el: HTMLElement): void {\n if (\n direction === 'bottom' &&\n el.getBoundingClientRect().bottom > Number(this.doc.defaultView?.innerHeight)\n ) {\n this.close();\n }\n }\n\n protected onIntersection({isIntersecting}: IntersectionObserverEntry): void {\n if (isIntersecting) {\n this.close();\n }\n }\n\n protected close(): void {\n this.dropdown.toggle(false);\n }\n\n protected refresh({offsetTop, height}: VisualViewport): void {\n this.doc.body.style.removeProperty('--t-root-top');\n\n if (\n !this.focused ||\n this.directive.tuiDropdownMobile ||\n !this.doc.documentElement.style.getPropertyValue('scroll-behavior')\n ) {\n return;\n }\n\n this.doc.documentElement.scrollTop = 0;\n\n const rect = this.dropdown.el.getBoundingClientRect();\n const top = offsetTop + GAP - rect.top;\n const offset = rect.height + GAP * 2;\n\n this.el.style.setProperty('top', tuiPx(offsetTop + offset));\n this.el.style.setProperty('height', tuiPx(height - offset));\n this.doc.body.classList.add('t-dropdown-mobile');\n this.doc.body.style.setProperty('--t-root-top', tuiPx(top));\n }\n\n private get focused(): boolean {\n return this.dropdown.el.contains(tuiGetNativeFocused(this.doc));\n }\n}\n","<div\n *ngIf=\"directive.tuiDropdownMobile\"\n waIntersectionObserver\n waIntersectionThreshold=\"1\"\n class=\"t-filler\"\n (touchstart.prevent)=\"close()\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0])\"\n></div>\n<div\n #container\n class=\"t-container\"\n (tuiSwipe)=\"onSwipe($event, container)\"\n>\n <h2\n *ngIf=\"directive.tuiDropdownMobile\"\n class=\"t-heading\"\n >\n {{ directive.tuiDropdownMobile }}\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"dropdown.content as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAUa,eAAe,CAAA;AAV5B,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAqB,kBAAkB,CAAC,CAAC;AACtD,QAAA,IAAA,CAAA,aAAa,GAAwB,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAwB,kBAAkB,EAAE;AACxE,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;AAEc,QAAA,IAAA,CAAA,OAAO,GAAG,kBAAkB,CACzC,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU,CACjC,CAAC;AAEiB,QAAA,IAAA,CAAA,MAAM,GAAG,kBAAkB,CAC1C,CAAC,CAAC,KAAK,CAAC,YAAY,kBAAkB,CACzC,CAAC;AAEiB,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAClC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KACvE,YAAY,CAAC,WAAW,CAAC;YACzB,YAAY,CAAC,YAAY,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CACtE,CAAC;AASL,KAAA;IAPa,OAAO,GAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,KAAK,KAAK,SAAS,EAAE;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,SAAA;KACJ;+GA5BQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EC1B5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yIAOA,EDWc,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,+BAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAQlB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,EAGrB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA,EAAA,QAAA,EAAA,yIAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA;;;AEdL,MA0Ba,iBAAiB,CAAA;AA1B9B,IAAA,WAAA,GAAA;AA2BqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAG3C,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAC;AAejC,KAAA;AAba,IAAA,WAAW,CAAC,KAAiB,EAAA;QACnC,IACI,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/B,YAAA,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACvC,IAAI,CAAC,iBAAiB,EACxB;YACE,OAAO;AACV,SAAA;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;KAC7C;+GAlBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAvBf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,UAAU,EAAE,MACR,MAAM,CAAC,aAAa,CAAC;AACjB,sBAAE,0BAA0B;sBAC1B,MAAM,CAAC,sBAAsB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC7D,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,UAAU,EAAE,MACR,MAAM,CAAC,aAAa,CAAC;;oBAErB,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC3C,sBAAE,eAAe;AACjB,sBAAE,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AACzE,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAMQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA1B7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,UAAU,EAAE,MACR,MAAM,CAAC,aAAa,CAAC;AACjB,kCAAE,0BAA0B;kCAC1B,MAAM,CAAC,sBAAsB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC7D,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,UAAU,EAAE,MACR,MAAM,CAAC,aAAa,CAAC;;gCAErB,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC3C,kCAAE,eAAe;AACjB,kCAAE,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AACzE,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,oBAAoB,EAAE,WAAW;AACjC,wBAAA,aAAa,EAAE,qBAAqB;AACvC,qBAAA;AACJ,iBAAA,CAAA;8BAKU,iBAAiB,EAAA,CAAA;sBADvB,KAAK;;;ACfV,MAAM,GAAG,GAAG,EAAE,CAAC;AAEf,MA2Ba,0BAA0B,CAAA;AAmBnC,IAAA,WAAA,GAAA;QAlBiB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;QAC/C,IAAQ,CAAA,QAAA,GAAG,IAAI,cAAc,CAAC,MAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,cAAe,CAAC,CACtD,CAAC;AAEiB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,SAAS,GAAG;AAC3B,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE;AACJ,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACzD,aAAA;SACK,CAAC;QAGP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;KAC5E;IAEM,eAAe,GAAA;QAClB,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC;KACnF;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxB,SAAA;KACJ;AAES,IAAA,OAAO,CAAC,KAAiB,EAAA;AAC/B,QAAA,IACI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/B,aAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAC7C;YACE,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAA;KACJ;AAES,IAAA,OAAO,CAAC,EAAC,SAAS,EAAgB,EAAE,EAAe,EAAA;QACzD,IACI,SAAS,KAAK,QAAQ;AACtB,YAAA,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,EAC/E;YACE,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,SAAA;KACJ;IAES,cAAc,CAAC,EAAC,cAAc,EAA4B,EAAA;AAChE,QAAA,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,SAAA;KACJ;IAES,KAAK,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC/B;AAES,IAAA,OAAO,CAAC,EAAC,SAAS,EAAE,MAAM,EAAiB,EAAA;QACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEnD,IACI,CAAC,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,SAAS,CAAC,iBAAiB;AAChC,YAAA,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EACrE;YACE,OAAO;AACV,SAAA;QAED,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;AAED,IAAA,IAAY,OAAO,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACnE;+GA/FQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,ECrDvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iCAAA,EAAA,iBAAA,EAAA,gCAAA,EAAA,8CAAA,EAAA,gCAAA,EAAA,wBAAA,EAAA,gCAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,oqBAyBA,EDKQ,MAAA,EAAA,CAAA,q9FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,EACJ,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAElB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAQ,EAOA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,0BAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,aAAa,EAAE,SAAS,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAa7B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBA3BtC,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,qBAAqB,EACtB,OAAA,EAAA;wBACL,IAAI;wBACJ,kBAAkB;wBAClB,oBAAoB;wBACpB,QAAQ;wBACR,sBAAsB;AACzB,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,CAAC,aAAa,EAAE,SAAS,CAAC,kBACtB,CAAC,aAAa,CAAC,EACzB,IAAA,EAAA;AACF,wBAAA,cAAc,EAAE,WAAW;AAC3B,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,gBAAgB,EAAE,6BAA6B;AAC/C,wBAAA,mCAAmC,EAAE,iBAAiB;AACtD,wBAAA,kCAAkC,EAC9B,8CAA8C;AAClD,wBAAA,kCAAkC,EAAE,wBAAwB;AAC5D,wBAAA,kCAAkC,EAAE,wBAAwB;AAC/D,qBAAA,EAAA,QAAA,EAAA,oqBAAA,EAAA,MAAA,EAAA,CAAA,q9FAAA,CAAA,EAAA,CAAA;;;AEnDL;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-mobile",
3
- "version": "4.32.0",
3
+ "version": "4.33.0",
4
4
  "description": "Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -135,10 +135,10 @@
135
135
  "@angular/common": ">=16.0.0",
136
136
  "@angular/core": ">=16.0.0",
137
137
  "@ng-web-apis/common": "^4.12.0",
138
- "@taiga-ui/cdk": "^4.32.0",
139
- "@taiga-ui/core": "^4.32.0",
140
- "@taiga-ui/kit": "^4.32.0",
141
- "@taiga-ui/layout": "^4.32.0",
138
+ "@taiga-ui/cdk": "^4.33.0",
139
+ "@taiga-ui/core": "^4.33.0",
140
+ "@taiga-ui/kit": "^4.33.0",
141
+ "@taiga-ui/layout": "^4.33.0",
142
142
  "@taiga-ui/polymorpheus": "^4.9.0",
143
143
  "rxjs": ">=7.0.0"
144
144
  },