@taiga-ui/addon-mobile 3.21.0 → 3.22.0-dev.main-a08b721
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +22 -29
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
- package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +4 -3
- package/components/sheet/ios.hacks.d.ts +0 -1
- package/esm2015/components/sheet/components/sheet/sheet.component.js +2 -2
- package/esm2015/components/sheet/components/sheet-heading/sheet-heading.component.js +1 -1
- package/esm2015/components/sheet/components/sheets-host/sheets-host.component.js +2 -2
- package/esm2015/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +24 -23
- package/esm2015/components/sheet/ios.hacks.js +4 -11
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +26 -32
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/package.json +4 -4
|
@@ -23,7 +23,7 @@ export class TuiSheetHeadingComponent {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
TuiSheetHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetHeadingComponent, deps: [{ token: TuiIdService }, { token: ElementRef }, { token: TUI_CLOSE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
TuiSheetHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"onClick()\"\n></button>\n<span [id]=\"id\">\n <ng-content></ng-content>\n</span>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-
|
|
26
|
+
TuiSheetHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"onClick()\"\n></button>\n<span [id]=\"id\">\n <ng-content></ng-content>\n</span>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-elevation-01);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px rgba(255,255,255,.25)}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;height:1px;background:var(--tui-base-03);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:right;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetHeadingComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{
|
|
@@ -24,7 +24,7 @@ export class TuiSheetsHostComponent {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
TuiSheetsHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetsHostComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TuiSheetService }, { token: TUI_WINDOW_HEIGHT }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
TuiSheetsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n class=\"t-wrapper\"\n [@tuiSlideInTop]=\"options\"\n [@tuiFadeIn]=\"options\"\n [tuiSheetWrapper]=\"item.offset\"\n [class.t-wrapper_overlay]=\"item.overlay\"\n [class.t-
|
|
27
|
+
TuiSheetsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiSlideInTop]=\"options\"\n [@tuiFadeIn]=\"options\"\n [tuiSheetWrapper]=\"item.offset\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n (click.self)=\"close(item)\"\n >\n <tui-sheet\n tuiScrollRef\n tuiOverscroll=\"all\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n [item]=\"item\"\n (close)=\"close(item)\"\n ></tui-sheet>\n </div>\n <div\n class=\"t-overlay\"\n (click)=\"close(items[0])\"\n ></div>\n</ng-container>\n", styles: [":host{position:-webkit-sticky;position:sticky;bottom:0;display:block;height:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;width:100%;z-index:-1;height:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;width:100%;height:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"], components: [{ type: i1.TuiSheetComponent, selector: "tui-sheet", inputs: ["item"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: ["tuiSheetWrapper"], exportAs: ["tuiSheetWrapper"] }, { type: i4.TuiSheetCloseDirective, selector: "tui-sheet[close]", outputs: ["close"] }, { type: i5.TuiScrollRefDirective, selector: "[tuiScrollRef]" }, { type: i6.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetsHostComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{
|
|
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
44
44
|
type: Inject,
|
|
45
45
|
args: [TUI_WINDOW_HEIGHT]
|
|
46
46
|
}] }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXRzLWhvc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQvY29tcG9uZW50cy9zaGVldHMtaG9zdC9zaGVldHMtaG9zdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zaGVldC9jb21wb25lbnRzL3NoZWV0cy1ob3N0L3NoZWV0cy1ob3N0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJL0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0FBU3BELE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFDNEMsT0FBeUIsRUFDL0IsT0FBd0IsRUFDdEIsT0FBMkI7UUFGdkIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFDaEUsQ0FBQztJQUVKLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQW9CO1FBQzNDLElBQUksU0FBUyxFQUFFO1lBQ1gsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQzs7b0hBWFEsc0JBQXNCLGtCQUVuQixxQkFBcUIsYUFDckIsZUFBZSxhQUNmLGlCQUFpQjt3R0FKcEIsc0JBQXNCLHVEQ2hCbkMsMjdCQTJCQSx5dENEYmdCLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQzs0RkFFN0Isc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUN2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQztpQkFDekM7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfV0lORE9XX0hFSUdIVH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgdHVpRmFkZUluLCB0dWlTbGlkZUluVG9wfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVNoZWV0fSBmcm9tICcuLi8uLi9zaGVldCc7XG5pbXBvcnQge1R1aVNoZWV0U2VydmljZX0gZnJvbSAnLi4vLi4vc2hlZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNoZWV0cy1ob3N0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlZXRzLWhvc3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hlZXRzLWhvc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wLCB0dWlGYWRlSW5dLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTaGVldHNIb3N0Q29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVHVpU2hlZXRTZXJ2aWNlKSByZWFkb25seSBzZXJ2aWNlOiBUdWlTaGVldFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX1dJTkRPV19IRUlHSFQpIHJlYWRvbmx5IGhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHt9XG5cbiAgICBjbG9zZSh7Y2xvc2VhYmxlLCAkaW1wbGljaXR9OiBUdWlTaGVldDx1bmtub3duPik6IHZvaWQge1xuICAgICAgICBpZiAoY2xvc2VhYmxlKSB7XG4gICAgICAgICAgICAkaW1wbGljaXQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzZXJ2aWNlLnNoZWV0cyQgfCBhc3luYyBhcyBpdGVtc1wiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgICAjd3JhcHBlcj1cInR1aVNoZWV0V3JhcHBlclwiXG4gICAgICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICAgICAgW0B0dWlTbGlkZUluVG9wXT1cIm9wdGlvbnNcIlxuICAgICAgICBbQHR1aUZhZGVJbl09XCJvcHRpb25zXCJcbiAgICAgICAgW3R1aVNoZWV0V3JhcHBlcl09XCJpdGVtLm9mZnNldFwiXG4gICAgICAgIFtjbGFzcy50LXdyYXBwZXJfY2xvc2VhYmxlXT1cIml0ZW0uY2xvc2VhYmxlXCJcbiAgICAgICAgW2NsYXNzLnQtd3JhcHBlcl9vdmVybGF5XT1cIml0ZW0ub3ZlcmxheSB8fCAod3JhcHBlci5vdmVybGF5JCB8IGFzeW5jKVwiXG4gICAgICAgIFtjbGFzcy50LXdyYXBwZXJfdmlzaWJsZV09XCJ3cmFwcGVyLnZpc2libGUkIHwgYXN5bmNcIlxuICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIndyYXBwZXIuaGVpZ2h0JCB8IGFzeW5jXCJcbiAgICAgICAgKGNsaWNrLnNlbGYpPVwiY2xvc2UoaXRlbSlcIlxuICAgID5cbiAgICAgICAgPHR1aS1zaGVldFxuICAgICAgICAgICAgdHVpU2Nyb2xsUmVmXG4gICAgICAgICAgICB0dWlPdmVyc2Nyb2xsPVwiYWxsXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiKChoZWlnaHQkIHwgYXN5bmMpIHx8IDApIC0gaXRlbS5vZmZzZXRcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAoY2xvc2UpPVwiY2xvc2UoaXRlbSlcIlxuICAgICAgICA+PC90dWktc2hlZXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInQtb3ZlcmxheVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZShpdGVtc1swXSlcIlxuICAgID48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { ContentChild, Directive, Inject, Input } from '@angular/core';
|
|
2
|
+
import { ContentChild, Directive, Inject, Input, NgZone } from '@angular/core';
|
|
3
3
|
import { WINDOW } from '@ng-web-apis/common';
|
|
4
|
-
import { tuiClamp, tuiPure } from '@taiga-ui/cdk';
|
|
5
|
-
import {
|
|
4
|
+
import { ALWAYS_FALSE_HANDLER, tuiClamp, tuiIsFalsy, tuiPure, tuiZonefull, } from '@taiga-ui/cdk';
|
|
5
|
+
import { race, timer } from 'rxjs';
|
|
6
|
+
import { debounceTime, distinctUntilChanged, filter, map, startWith, switchMap, take, } from 'rxjs/operators';
|
|
6
7
|
import { TuiSheetComponent } from '../../components/sheet/sheet.component';
|
|
7
|
-
import { processDragged } from '../../ios.hacks';
|
|
8
8
|
import { TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL } from '../../sheet-tokens';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
// Safety offset for shadow
|
|
11
11
|
const OFFSET = 16;
|
|
12
12
|
export class TuiSheetWrapperDirective {
|
|
13
|
-
constructor(windowRef) {
|
|
13
|
+
constructor(ngZone, windowRef) {
|
|
14
|
+
this.ngZone = ngZone;
|
|
14
15
|
this.windowRef = windowRef;
|
|
15
16
|
this.tuiSheetWrapper = 16;
|
|
16
|
-
// Trying to get overflow: visible as early as possible for Safari
|
|
17
|
-
this.touched = false;
|
|
18
17
|
}
|
|
19
18
|
get overlay$() {
|
|
20
|
-
return this.scroll$.pipe(map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper));
|
|
19
|
+
return this.scroll$.pipe(map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper), distinctUntilChanged(), tuiZonefull(this.ngZone));
|
|
21
20
|
}
|
|
22
21
|
get visible$() {
|
|
23
|
-
return processDragged(this.dragged$, this.scroll$);
|
|
22
|
+
return processDragged(this.dragged$, this.scroll$).pipe(distinctUntilChanged(), tuiZonefull(this.ngZone));
|
|
24
23
|
}
|
|
25
24
|
get height$() {
|
|
26
25
|
return this.scroll$.pipe(map(this.getHeight.bind(this)));
|
|
@@ -38,8 +37,8 @@ export class TuiSheetWrapperDirective {
|
|
|
38
37
|
: value - this.sheet.imageHeight;
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
|
-
TuiSheetWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetWrapperDirective, deps: [{ token: WINDOW }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
-
TuiSheetWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: { tuiSheetWrapper: "tuiSheetWrapper" },
|
|
40
|
+
TuiSheetWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetWrapperDirective, deps: [{ token: NgZone }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
|
+
TuiSheetWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: { tuiSheetWrapper: "tuiSheetWrapper" }, queries: [{ propertyName: "sheet", first: true, predicate: TuiSheetComponent, descendants: true }, { propertyName: "dragged$", first: true, predicate: TuiSheetComponent, descendants: true, read: TUI_SHEET_DRAGGED, static: true }, { propertyName: "scroll$", first: true, predicate: TuiSheetComponent, descendants: true, read: TUI_SHEET_SCROLL, static: true }], exportAs: ["tuiSheetWrapper"], ngImport: i0 });
|
|
43
42
|
__decorate([
|
|
44
43
|
tuiPure
|
|
45
44
|
], TuiSheetWrapperDirective.prototype, "overlay$", null);
|
|
@@ -53,16 +52,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
53
52
|
type: Directive,
|
|
54
53
|
args: [{
|
|
55
54
|
selector: '[tuiSheetWrapper]',
|
|
56
|
-
|
|
57
|
-
'[$.class._overlay]': 'overlay$',
|
|
58
|
-
'($.class._overlay)': 'overlay$',
|
|
59
|
-
'[$.class._visible]': 'visible$',
|
|
60
|
-
'($.class._visible)': 'visible$',
|
|
61
|
-
'[$.style.height.px]': 'height$',
|
|
62
|
-
'($.style.height.px)': 'height$',
|
|
63
|
-
},
|
|
55
|
+
exportAs: 'tuiSheetWrapper',
|
|
64
56
|
}]
|
|
65
|
-
}], ctorParameters: function () { return [{ type:
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone, decorators: [{
|
|
58
|
+
type: Inject,
|
|
59
|
+
args: [NgZone]
|
|
60
|
+
}] }, { type: Window, decorators: [{
|
|
66
61
|
type: Inject,
|
|
67
62
|
args: [WINDOW]
|
|
68
63
|
}] }]; }, propDecorators: { sheet: [{
|
|
@@ -70,11 +65,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
70
65
|
args: [TuiSheetComponent]
|
|
71
66
|
}], dragged$: [{
|
|
72
67
|
type: ContentChild,
|
|
73
|
-
args: [TuiSheetComponent, { read: TUI_SHEET_DRAGGED }]
|
|
68
|
+
args: [TuiSheetComponent, { read: TUI_SHEET_DRAGGED, static: true }]
|
|
74
69
|
}], scroll$: [{
|
|
75
70
|
type: ContentChild,
|
|
76
|
-
args: [TuiSheetComponent, { read: TUI_SHEET_SCROLL }]
|
|
71
|
+
args: [TuiSheetComponent, { read: TUI_SHEET_SCROLL, static: true }]
|
|
77
72
|
}], tuiSheetWrapper: [{
|
|
78
73
|
type: Input
|
|
79
74
|
}], overlay$: [], visible$: [], height$: [] } });
|
|
80
|
-
|
|
75
|
+
function processDragged(dragged$, scroll$) {
|
|
76
|
+
const touchstart$ = dragged$.pipe(filter(Boolean));
|
|
77
|
+
const touchend$ = dragged$.pipe(filter(tuiIsFalsy));
|
|
78
|
+
const race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), map(ALWAYS_FALSE_HANDLER));
|
|
79
|
+
return touchstart$.pipe(switchMap(() => touchend$.pipe(switchMap(() => race$), startWith(true))), startWith(false));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtd3JhcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zaGVldC9kaXJlY3RpdmVzL3NoZWV0LXdyYXBwZXIvc2hlZXQtd3JhcHBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWEsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQ0gsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRXZFLDJCQUEyQjtBQUMzQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFNbEIsTUFBTSxPQUFPLHdCQUF3QjtJQWFqQyxZQUNxQyxNQUFjLEVBQ2QsU0FBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFKdEQsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFLbEIsQ0FBQztJQUdKLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFD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LFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsU0FBUyxDQUFDLElBQUksQ0FDVixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ3RCLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FDSixFQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDbkIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBJbmplY3QsIElucHV0LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICB0dWlDbGFtcCxcbiAgICB0dWlJc0ZhbHN5LFxuICAgIHR1aVB1cmUsXG4gICAgdHVpWm9uZWZ1bGwsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVNoZWV0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9TSEVFVF9EUkFHR0VELCBUVUlfU0hFRVRfU0NST0xMfSBmcm9tICcuLi8uLi9zaGVldC10b2tlbnMnO1xuXG4vLyBTYWZldHkgb2Zmc2V0IGZvciBzaGFkb3dcbmNvbnN0IE9GRlNFVCA9IDE2O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlTaGVldFdyYXBwZXJdJyxcbiAgICBleHBvcnRBczogJ3R1aVNoZWV0V3JhcHBlcicsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNoZWV0V3JhcHBlckRpcmVjdGl2ZSB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlTaGVldENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWV0PzogVHVpU2hlZXRDb21wb25lbnQ8dW5rbm93bj47XG5cbiAgICBAQ29udGVudENoaWxkKFR1aVNoZWV0Q29tcG9uZW50LCB7cmVhZDogVFVJX1NIRUVUX0RSQUdHRUQsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFnZ2VkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBAQ29udGVudENoaWxkKFR1aVNoZWV0Q29tcG9uZW50LCB7cmVhZDogVFVJX1NIRUVUX1NDUk9MTCwgc3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQhOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgICBASW5wdXQoKVxuICAgIHR1aVNoZWV0V3JhcHBlciA9IDE2O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICApIHt9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBvdmVybGF5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsJC5waXBlKFxuICAgICAgICAgICAgbWFwKHkgPT4geSArIDE2ID4gdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQgLSB0aGlzLnR1aVNoZWV0V3JhcHBlciksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgdHVpWm9uZWZ1bGwodGhpcy5uZ1pvbmUpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHZpc2libGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gcHJvY2Vzc0RyYWdnZWQodGhpcy5kcmFnZ2VkJCwgdGhpcy5zY3JvbGwkKS5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKHRoaXMubmdab25lKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBoZWlnaHQkKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGwkLnBpcGUobWFwKHRoaXMuZ2V0SGVpZ2h0LmJpbmQodGhpcykpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlaWdodCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWV0Py5jb250ZXh0Lm92ZXJsYXlcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0dWlDbGFtcChcbiAgICAgICAgICAgICAgICAgIHRoaXMud2l0aEltYWdlKHZhbHVlKSArIE9GRlNFVCxcbiAgICAgICAgICAgICAgICAgIE9GRlNFVCxcbiAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2l0aEltYWdlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2hlZXQ/LmltYWdlU3RvcCB8fCBNYXRoLmZsb29yKHZhbHVlKSA+IHRoaXMuc2hlZXQuaW1hZ2VTdG9wXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICA6IHZhbHVlIC0gdGhpcy5zaGVldC5pbWFnZUhlaWdodDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEcmFnZ2VkKFxuICAgIGRyYWdnZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgIHNjcm9sbCQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IGRyYWdnZWQkLnBpcGUoZmlsdGVyKEJvb2xlYW4pKTtcbiAgICBjb25zdCB0b3VjaGVuZCQgPSBkcmFnZ2VkJC5waXBlKGZpbHRlcih0dWlJc0ZhbHN5KSk7XG4gICAgY29uc3QgcmFjZSQgPSByYWNlKHNjcm9sbCQsIHRpbWVyKDEwMCkpLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBtYXAoQUxXQVlTX0ZBTFNFX0hBTkRMRVIpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdG91Y2hzdGFydCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICB0b3VjaGVuZCQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gcmFjZSQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0cnVlKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgKTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { concat, merge,
|
|
3
|
-
import {
|
|
1
|
+
import { tuiTypedFromEvent, tuiZonefree } from '@taiga-ui/cdk';
|
|
2
|
+
import { concat, merge, zip } from 'rxjs';
|
|
3
|
+
import { delay, map, share, switchMap, take, takeUntil } from 'rxjs/operators';
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
5
5
|
export function iosScrollFactory(element, documentRef, ngZone) {
|
|
6
6
|
const load$ = tuiTypedFromEvent(element, `load`, { capture: true });
|
|
@@ -18,13 +18,6 @@ export function iosScrollFactory(element, documentRef, ngZone) {
|
|
|
18
18
|
return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());
|
|
19
19
|
}
|
|
20
20
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
21
|
-
export function processDragged(dragged$, scroll$) {
|
|
22
|
-
const touchstart$ = dragged$.pipe(filter(Boolean));
|
|
23
|
-
const touchend$ = dragged$.pipe(filter(tuiIsFalsy));
|
|
24
|
-
const race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), map(ALWAYS_FALSE_HANDLER));
|
|
25
|
-
return touchstart$.pipe(switchMap(() => touchend$.pipe(switchMap(() => race$), startWith(true))), startWith(false));
|
|
26
|
-
}
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
28
21
|
export function fakeSmoothScroll({ style }, offset) {
|
|
29
22
|
style.transition = `none`;
|
|
30
23
|
style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;
|
|
@@ -33,4 +26,4 @@ export function fakeSmoothScroll({ style }, offset) {
|
|
|
33
26
|
style.transform = ``;
|
|
34
27
|
});
|
|
35
28
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQvaW9zLmhhY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQWMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTdFLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQW9CLEVBQ3BCLFdBQXFCLEVBQ3JCLE1BQWM7SUFFZCxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDbEUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNoRixNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDckQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDL0IsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FDakIsS0FBSyxDQUFDLElBQUksQ0FDTixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDL0IsRUFDRCxXQUFXLENBQUMsSUFBSSxDQUNaLFNBQVMsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRTtRQUNwQixNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFFNUIsT0FBTyxNQUFNO1FBQ1Qsa0VBQWtFO1FBQ2xFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxHQUFHLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQzlELFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDdkIsRUFDRCxPQUFPLENBQ1YsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQUMsS0FBSyxFQUFjLEVBQUUsTUFBYztJQUNqRSxLQUFLLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUMxQixLQUFLLENBQUMsU0FBUyxHQUFHLDZCQUE2QixNQUFNLFFBQVEsQ0FBQztJQUU5RCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ1osS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb25jYXQsIG1lcmdlLCBPYnNlcnZhYmxlLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCBzaGFyZSwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIGlvc1Njcm9sbEZhY3RvcnkoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgIG5nWm9uZTogTmdab25lLFxuKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCBsb2FkJCA9IHR1aVR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsIGBsb2FkYCwge2NhcHR1cmU6IHRydWV9KTtcbiAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR1aVR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsIGB0b3VjaHN0YXJ0YCwge3Bhc3NpdmU6IHRydWV9KTtcbiAgICBjb25zdCB0b3VjaG1vdmUkID0gdHVpVHlwZWRGcm9tRXZlbnQoZG9jdW1lbnRSZWYsIGB0b3VjaG1vdmVgLCB7cGFzc2l2ZTogdHJ1ZX0pO1xuICAgIGNvbnN0IHRvdWNoZW5kJCA9IHR1aVR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCBgdG91Y2hlbmRgKTtcbiAgICBjb25zdCBzY3JvbGwkID0gdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgYHNjcm9sbGApLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiBlbGVtZW50LnNjcm9sbFRvcCksXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQkID0gbWVyZ2UoXG4gICAgICAgIGxvYWQkLnBpcGUoXG4gICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBlbGVtZW50LnNjcm9sbFRvcCksXG4gICAgICAgICksXG4gICAgICAgIHRvdWNoc3RhcnQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHt0b3VjaGVzfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtzY3JlZW5ZfSA9IHRvdWNoZXNbMF07XG4gICAgICAgICAgICAgICAgY29uc3Qge3Njcm9sbFRvcH0gPSBlbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmNhdChcbiAgICAgICAgICAgICAgICAgICAgLy8gU29tZXRpbWVzIHRvdWNoIGlzIHRyaWdnZXJlZCB3aXRob3V0IHNjcm9sbCBpbiBpT1MsIGZpbHRlciB0aGF0XG4gICAgICAgICAgICAgICAgICAgIHppcCh0b3VjaG1vdmUkLCBzY3JvbGwkKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChbe3RvdWNoZXN9XSkgPT4gc2Nyb2xsVG9wICsgc2NyZWVuWSAtIHRvdWNoZXNbMF0uc2NyZWVuWSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodG91Y2hlbmQkKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsJCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHJldHVybiBjb25jYXQoc2Nyb2xsJC5waXBlKHRha2UoMSkpLCByZXN1bHQkKS5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHNoYXJlKCkpO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gZmFrZVNtb290aFNjcm9sbCh7c3R5bGV9OiBIVE1MRWxlbWVudCwgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBzdHlsZS50cmFuc2l0aW9uID0gYG5vbmVgO1xuICAgIHN0eWxlLnRyYW5zZm9ybSA9IGBzY2FsZVgoLTEpIHRyYW5zbGF0ZTNkKDAsICR7b2Zmc2V0fXB4LCAwKWA7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc3R5bGUudHJhbnNpdGlvbiA9IGBgO1xuICAgICAgICBzdHlsZS50cmFuc2Zvcm0gPSBgYDtcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -2,13 +2,13 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, ElementRef, Component, ChangeDetectionStrategy, Inject, NgZone, forwardRef, Directive, Input, Self, ViewChild, ViewChildren, HostListener, Injectable, ContentChild, Output, ChangeDetectorRef, TemplateRef, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
4
4
|
import * as i3 from '@taiga-ui/cdk';
|
|
5
|
-
import { tuiTypedFromEvent, tuiZonefree,
|
|
5
|
+
import { tuiTypedFromEvent, tuiZonefree, TuiIdService, ALWAYS_TRUE_HANDLER, ALWAYS_FALSE_HANDLER, TUI_IS_IOS, tuiClamp, tuiDefaultProp, TuiDestroyService, EMPTY_QUERY, tuiZonefull, tuiPure, tuiIsFalsy, tuiIfMap, TUI_WINDOW_HEIGHT, tuiRequiredSetter, TuiLetModule, TuiOverscrollModule } from '@taiga-ui/cdk';
|
|
6
6
|
import * as i1 from '@taiga-ui/core';
|
|
7
7
|
import { TUI_CLOSE_WORD, TUI_SCROLL_REF, tuiZonefulMap, tuiSlideInTop, TUI_ANIMATION_OPTIONS, tuiFadeIn, TuiButtonModule, TuiScrollbarModule } from '@taiga-ui/core';
|
|
8
8
|
import { TUI_MORE_WORD } from '@taiga-ui/kit';
|
|
9
|
-
import { map, delay, switchMap, takeUntil, take, share,
|
|
9
|
+
import { map, delay, switchMap, takeUntil, take, share, distinctUntilChanged, withLatestFrom, filter, throttleTime, debounceTime, startWith, ignoreElements, endWith } from 'rxjs/operators';
|
|
10
10
|
import * as i1$1 from 'rxjs';
|
|
11
|
-
import { merge, concat, zip,
|
|
11
|
+
import { merge, concat, zip, BehaviorSubject, Observable, EMPTY, race, timer, Subject } from 'rxjs';
|
|
12
12
|
import * as i2 from '@angular/common';
|
|
13
13
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
14
14
|
import { WINDOW } from '@ng-web-apis/common';
|
|
@@ -32,13 +32,6 @@ function iosScrollFactory(element, documentRef, ngZone) {
|
|
|
32
32
|
return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());
|
|
33
33
|
}
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
35
|
-
function processDragged(dragged$, scroll$) {
|
|
36
|
-
const touchstart$ = dragged$.pipe(filter(Boolean));
|
|
37
|
-
const touchend$ = dragged$.pipe(filter(tuiIsFalsy));
|
|
38
|
-
const race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), map(ALWAYS_FALSE_HANDLER));
|
|
39
|
-
return touchstart$.pipe(switchMap(() => touchend$.pipe(switchMap(() => race$), startWith(true))), startWith(false));
|
|
40
|
-
}
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
42
35
|
function fakeSmoothScroll({ style }, offset) {
|
|
43
36
|
style.transition = `none`;
|
|
44
37
|
style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;
|
|
@@ -78,7 +71,7 @@ class TuiSheetHeadingComponent {
|
|
|
78
71
|
}
|
|
79
72
|
}
|
|
80
73
|
TuiSheetHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetHeadingComponent, deps: [{ token: TuiIdService }, { token: ElementRef }, { token: TUI_CLOSE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
TuiSheetHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"onClick()\"\n></button>\n<span [id]=\"id\">\n <ng-content></ng-content>\n</span>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-
|
|
74
|
+
TuiSheetHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"onClick()\"\n></button>\n<span [id]=\"id\">\n <ng-content></ng-content>\n</span>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-elevation-01);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px rgba(255,255,255,.25)}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;height:1px;background:var(--tui-base-03);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:right;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetHeadingComponent, decorators: [{
|
|
83
76
|
type: Component,
|
|
84
77
|
args: [{
|
|
@@ -303,7 +296,7 @@ class TuiSheetComponent {
|
|
|
303
296
|
}
|
|
304
297
|
}
|
|
305
298
|
TuiSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetComponent, deps: [{ token: TUI_SHEET_SCROLL }, { token: ElementRef }, { token: NgZone }, { token: TUI_IS_IOS }, { token: TUI_MORE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
-
TuiSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetComponent, selector: "tui-sheet", inputs: { item: "item" }, host: { attributes: { "role": "dialog" }, listeners: { "$.class._stuck": "stuck$", "tui-sheet-id": "onId($event.detail)" }, properties: { "attr.aria-labelledby": "id", "class._ios": "isIos", "$.class._stuck": "stuck$" } }, providers: TUI_SHEET_PROVIDERS, viewQueries: [{ propertyName: "sheet", first: true, predicate: ["sheet"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "stopsRefs", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;top:0;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0
|
|
299
|
+
TuiSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetComponent, selector: "tui-sheet", inputs: { item: "item" }, host: { attributes: { "role": "dialog" }, listeners: { "$.class._stuck": "stuck$", "tui-sheet-id": "onId($event.detail)" }, properties: { "attr.aria-labelledby": "id", "class._ios": "isIos", "$.class._stuck": "stuck$" } }, providers: TUI_SHEET_PROVIDERS, viewQueries: [{ propertyName: "sheet", first: true, predicate: ["sheet"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "stopsRefs", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;top:0;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0 50vh var(--tui-elevation-01);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);-webkit-clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._stuck{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}@supports (-moz-appearance: none){:host{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.t-bumpers{display:flex;height:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem;width:1rem}.t-wrapper{border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12)}.t-top{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:-webkit-sticky;position:sticky;top:0;border-radius:.8rem .8rem 0 0;transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-elevation-01);box-shadow:inset 0 1px rgba(255,255,255,.25)}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:1rem;margin-top:-1rem;border-radius:inherit;background:var(--tui-elevation-01)}.t-heading{padding-bottom:.5rem;background:var(--tui-elevation-01)}\n"], components: [{ type: TuiSheetBarComponent, selector: "tui-sheet-bar" }, { type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]" }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiSheetTopDirective, selector: "[tuiSheetTop]", inputs: ["tuiSheetTop"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: TuiSheetStopDirective, selector: "[tuiSheetStop]" }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
307
300
|
__decorate([
|
|
308
301
|
tuiPure
|
|
309
302
|
], TuiSheetComponent.prototype, "context", null);
|
|
@@ -411,17 +404,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
411
404
|
// Safety offset for shadow
|
|
412
405
|
const OFFSET = 16;
|
|
413
406
|
class TuiSheetWrapperDirective {
|
|
414
|
-
constructor(windowRef) {
|
|
407
|
+
constructor(ngZone, windowRef) {
|
|
408
|
+
this.ngZone = ngZone;
|
|
415
409
|
this.windowRef = windowRef;
|
|
416
410
|
this.tuiSheetWrapper = 16;
|
|
417
|
-
// Trying to get overflow: visible as early as possible for Safari
|
|
418
|
-
this.touched = false;
|
|
419
411
|
}
|
|
420
412
|
get overlay$() {
|
|
421
|
-
return this.scroll$.pipe(map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper));
|
|
413
|
+
return this.scroll$.pipe(map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper), distinctUntilChanged(), tuiZonefull(this.ngZone));
|
|
422
414
|
}
|
|
423
415
|
get visible$() {
|
|
424
|
-
return processDragged(this.dragged$, this.scroll$);
|
|
416
|
+
return processDragged(this.dragged$, this.scroll$).pipe(distinctUntilChanged(), tuiZonefull(this.ngZone));
|
|
425
417
|
}
|
|
426
418
|
get height$() {
|
|
427
419
|
return this.scroll$.pipe(map(this.getHeight.bind(this)));
|
|
@@ -439,8 +431,8 @@ class TuiSheetWrapperDirective {
|
|
|
439
431
|
: value - this.sheet.imageHeight;
|
|
440
432
|
}
|
|
441
433
|
}
|
|
442
|
-
TuiSheetWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetWrapperDirective, deps: [{ token: WINDOW }], target: i0.ɵɵFactoryTarget.Directive });
|
|
443
|
-
TuiSheetWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: { tuiSheetWrapper: "tuiSheetWrapper" },
|
|
434
|
+
TuiSheetWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetWrapperDirective, deps: [{ token: NgZone }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Directive });
|
|
435
|
+
TuiSheetWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: { tuiSheetWrapper: "tuiSheetWrapper" }, queries: [{ propertyName: "sheet", first: true, predicate: TuiSheetComponent, descendants: true }, { propertyName: "dragged$", first: true, predicate: TuiSheetComponent, descendants: true, read: TUI_SHEET_DRAGGED, static: true }, { propertyName: "scroll$", first: true, predicate: TuiSheetComponent, descendants: true, read: TUI_SHEET_SCROLL, static: true }], exportAs: ["tuiSheetWrapper"], ngImport: i0 });
|
|
444
436
|
__decorate([
|
|
445
437
|
tuiPure
|
|
446
438
|
], TuiSheetWrapperDirective.prototype, "overlay$", null);
|
|
@@ -454,16 +446,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
454
446
|
type: Directive,
|
|
455
447
|
args: [{
|
|
456
448
|
selector: '[tuiSheetWrapper]',
|
|
457
|
-
|
|
458
|
-
'[$.class._overlay]': 'overlay$',
|
|
459
|
-
'($.class._overlay)': 'overlay$',
|
|
460
|
-
'[$.class._visible]': 'visible$',
|
|
461
|
-
'($.class._visible)': 'visible$',
|
|
462
|
-
'[$.style.height.px]': 'height$',
|
|
463
|
-
'($.style.height.px)': 'height$',
|
|
464
|
-
},
|
|
449
|
+
exportAs: 'tuiSheetWrapper',
|
|
465
450
|
}]
|
|
466
|
-
}], ctorParameters: function () { return [{ type:
|
|
451
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone, decorators: [{
|
|
452
|
+
type: Inject,
|
|
453
|
+
args: [NgZone]
|
|
454
|
+
}] }, { type: Window, decorators: [{
|
|
467
455
|
type: Inject,
|
|
468
456
|
args: [WINDOW]
|
|
469
457
|
}] }]; }, propDecorators: { sheet: [{
|
|
@@ -471,13 +459,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
471
459
|
args: [TuiSheetComponent]
|
|
472
460
|
}], dragged$: [{
|
|
473
461
|
type: ContentChild,
|
|
474
|
-
args: [TuiSheetComponent, { read: TUI_SHEET_DRAGGED }]
|
|
462
|
+
args: [TuiSheetComponent, { read: TUI_SHEET_DRAGGED, static: true }]
|
|
475
463
|
}], scroll$: [{
|
|
476
464
|
type: ContentChild,
|
|
477
|
-
args: [TuiSheetComponent, { read: TUI_SHEET_SCROLL }]
|
|
465
|
+
args: [TuiSheetComponent, { read: TUI_SHEET_SCROLL, static: true }]
|
|
478
466
|
}], tuiSheetWrapper: [{
|
|
479
467
|
type: Input
|
|
480
468
|
}], overlay$: [], visible$: [], height$: [] } });
|
|
469
|
+
function processDragged(dragged$, scroll$) {
|
|
470
|
+
const touchstart$ = dragged$.pipe(filter(Boolean));
|
|
471
|
+
const touchend$ = dragged$.pipe(filter(tuiIsFalsy));
|
|
472
|
+
const race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), map(ALWAYS_FALSE_HANDLER));
|
|
473
|
+
return touchstart$.pipe(switchMap(() => touchend$.pipe(switchMap(() => race$), startWith(true))), startWith(false));
|
|
474
|
+
}
|
|
481
475
|
|
|
482
476
|
class TuiSheetCloseDirective {
|
|
483
477
|
constructor(ngZone, dragged$, scroll$, windowRef, elementRef, sheet) {
|
|
@@ -537,7 +531,7 @@ class TuiSheetsHostComponent {
|
|
|
537
531
|
}
|
|
538
532
|
}
|
|
539
533
|
TuiSheetsHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetsHostComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TuiSheetService }, { token: TUI_WINDOW_HEIGHT }], target: i0.ɵɵFactoryTarget.Component });
|
|
540
|
-
TuiSheetsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n class=\"t-wrapper\"\n [@tuiSlideInTop]=\"options\"\n [@tuiFadeIn]=\"options\"\n [tuiSheetWrapper]=\"item.offset\"\n [class.t-wrapper_overlay]=\"item.overlay\"\n [class.t-
|
|
534
|
+
TuiSheetsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiSlideInTop]=\"options\"\n [@tuiFadeIn]=\"options\"\n [tuiSheetWrapper]=\"item.offset\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n (click.self)=\"close(item)\"\n >\n <tui-sheet\n tuiScrollRef\n tuiOverscroll=\"all\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n [item]=\"item\"\n (close)=\"close(item)\"\n ></tui-sheet>\n </div>\n <div\n class=\"t-overlay\"\n (click)=\"close(items[0])\"\n ></div>\n</ng-container>\n", styles: [":host{position:-webkit-sticky;position:sticky;bottom:0;display:block;height:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;width:100%;z-index:-1;height:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;width:100%;height:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"], components: [{ type: TuiSheetComponent, selector: "tui-sheet", inputs: ["item"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: ["tuiSheetWrapper"], exportAs: ["tuiSheetWrapper"] }, { type: TuiSheetCloseDirective, selector: "tui-sheet[close]", outputs: ["close"] }, { type: i1.TuiScrollRefDirective, selector: "[tuiScrollRef]" }, { type: i3.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
541
535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSheetsHostComponent, decorators: [{
|
|
542
536
|
type: Component,
|
|
543
537
|
args: [{
|
|
@@ -665,5 +659,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
665
659
|
* Generated bundle index. Do not edit.
|
|
666
660
|
*/
|
|
667
661
|
|
|
668
|
-
export { TUI_SHEET_CLOSE, TUI_SHEET_DEFAULT_OPTIONS, TUI_SHEET_ID, TUI_SHEET_OPTIONS, TUI_SHEET_PROVIDERS, TuiSheetBarComponent, TuiSheetCloseDirective, TuiSheetComponent, TuiSheetDirective, TuiSheetHeadingComponent, TuiSheetModule, TuiSheetService, TuiSheetStopDirective, TuiSheetTopDirective, TuiSheetWrapperDirective, TuiSheetsHostComponent, fakeSmoothScroll, iosScrollFactory
|
|
662
|
+
export { TUI_SHEET_CLOSE, TUI_SHEET_DEFAULT_OPTIONS, TUI_SHEET_ID, TUI_SHEET_OPTIONS, TUI_SHEET_PROVIDERS, TuiSheetBarComponent, TuiSheetCloseDirective, TuiSheetComponent, TuiSheetDirective, TuiSheetHeadingComponent, TuiSheetModule, TuiSheetService, TuiSheetStopDirective, TuiSheetTopDirective, TuiSheetWrapperDirective, TuiSheetsHostComponent, fakeSmoothScroll, iosScrollFactory };
|
|
669
663
|
//# sourceMappingURL=taiga-ui-addon-mobile-components-sheet.js.map
|