@taiga-ui/addon-mobile 2.75.0 → 2.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.js +47 -2
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js +60 -15
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js +48 -3
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js +51 -6
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +85 -40
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.js +48 -3
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.js +48 -3
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-const.umd.js +46 -1
- package/bundles/taiga-ui-addon-mobile-const.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-const.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js +48 -3
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-mobile-tabs.umd.js +51 -6
- package/bundles/taiga-ui-addon-mobile-directives-mobile-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-mobile-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js +53 -8
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js +56 -11
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js +61 -16
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js +48 -3
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.min.js.map +1 -1
- package/const/mobile-alert-options.d.ts +3 -4
- package/directives/mobile-tabs/mobile-tabs.directive.d.ts +1 -1
- package/esm2015/components/mobile-calendar/mobile-calendar.component.js +15 -15
- package/esm2015/components/mobile-calendar-dialog/mobile-calendar-dialog.component.js +2 -2
- package/esm2015/components/mobile-dialog/mobile-dialog.component.js +3 -3
- package/esm2015/components/pull-to-refresh/loader-android/loader-android.component.js +3 -3
- package/esm2015/components/pull-to-refresh/loader-ios/loader-ios.component.js +2 -2
- package/esm2015/components/pull-to-refresh/pull-to-refresh.component.js +2 -2
- package/esm2015/components/pull-to-refresh/pull-to-refresh.providers.js +2 -2
- package/esm2015/components/sheet/components/sheet/sheet.component.js +13 -13
- package/esm2015/components/sheet/components/sheet-bar/sheet-bar.component.js +2 -2
- package/esm2015/components/sheet/components/sheet-heading/sheet-heading.component.js +4 -4
- package/esm2015/components/sheet/components/sheets-host/sheets-host.component.js +2 -2
- package/esm2015/components/sheet/directives/sheet-close/sheet-close.directive.js +2 -2
- package/esm2015/components/sheet/directives/sheet-stop/sheet-stop.directive.js +5 -5
- package/esm2015/components/sheet/directives/sheet-top/sheet-top.directive.js +9 -9
- package/esm2015/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +8 -8
- package/esm2015/components/sheet/sheet.directive.js +3 -3
- package/esm2015/components/theme-android/theme-android.component.js +3 -3
- package/esm2015/components/theme-ios/theme-ios.component.js +3 -3
- package/esm2015/const/mobile-alert-options.js +1 -1
- package/esm2015/directives/elastic-sticky/elastic-sticky.directive.js +3 -3
- package/esm2015/directives/mobile-tabs/mobile-tabs.component.js +2 -2
- package/esm2015/directives/mobile-tabs/mobile-tabs.directive.js +5 -5
- package/esm2015/directives/ripple/ripple-styles.component.js +2 -2
- package/esm2015/directives/ripple/ripple.directive.js +7 -7
- package/esm2015/directives/sidebar/sidebar.component.js +7 -7
- package/esm2015/directives/sidebar/sidebar.directive.js +5 -5
- package/esm2015/directives/touchable/touchable.directive.js +15 -15
- package/esm2015/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.js +3 -3
- package/esm2015/types/touch-mode.js +1 -1
- package/esm5/components/mobile-calendar/mobile-calendar.component.js +15 -15
- package/esm5/components/mobile-calendar-dialog/mobile-calendar-dialog.component.js +2 -2
- package/esm5/components/mobile-dialog/mobile-dialog.component.js +3 -3
- package/esm5/components/pull-to-refresh/loader-android/loader-android.component.js +3 -3
- package/esm5/components/pull-to-refresh/loader-ios/loader-ios.component.js +2 -2
- package/esm5/components/pull-to-refresh/pull-to-refresh.component.js +2 -2
- package/esm5/components/pull-to-refresh/pull-to-refresh.providers.js +2 -2
- package/esm5/components/sheet/components/sheet/sheet.component.js +13 -13
- package/esm5/components/sheet/components/sheet-bar/sheet-bar.component.js +2 -2
- package/esm5/components/sheet/components/sheet-heading/sheet-heading.component.js +4 -4
- package/esm5/components/sheet/components/sheets-host/sheets-host.component.js +2 -2
- package/esm5/components/sheet/directives/sheet-close/sheet-close.directive.js +2 -2
- package/esm5/components/sheet/directives/sheet-stop/sheet-stop.directive.js +5 -5
- package/esm5/components/sheet/directives/sheet-top/sheet-top.directive.js +9 -9
- package/esm5/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +8 -8
- package/esm5/components/sheet/sheet.directive.js +3 -3
- package/esm5/components/theme-android/theme-android.component.js +3 -3
- package/esm5/components/theme-ios/theme-ios.component.js +3 -3
- package/esm5/const/mobile-alert-options.js +1 -1
- package/esm5/directives/elastic-sticky/elastic-sticky.directive.js +3 -3
- package/esm5/directives/mobile-tabs/mobile-tabs.component.js +2 -2
- package/esm5/directives/mobile-tabs/mobile-tabs.directive.js +5 -5
- package/esm5/directives/ripple/ripple-styles.component.js +2 -2
- package/esm5/directives/ripple/ripple.directive.js +7 -7
- package/esm5/directives/sidebar/sidebar.component.js +7 -7
- package/esm5/directives/sidebar/sidebar.directive.js +5 -5
- package/esm5/directives/touchable/touchable.directive.js +16 -16
- package/esm5/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.js +3 -3
- package/esm5/types/touch-mode.js +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js +14 -14
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +5 -5
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +39 -39
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-android.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-components-theme-android.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-ios.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-components-theme-ios.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-const.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-mobile-tabs.js +5 -5
- package/fesm2015/taiga-ui-addon-mobile-directives-mobile-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +7 -7
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js +10 -10
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js +14 -14
- package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js +14 -14
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-dialog.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js +5 -5
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js +39 -39
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-theme-android.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-components-theme-android.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-theme-ios.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-components-theme-ios.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-const.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-elastic-sticky.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-mobile-tabs.js +5 -5
- package/fesm5/taiga-ui-addon-mobile-directives-mobile-tabs.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-ripple.js +7 -7
- package/fesm5/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js +10 -10
- package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-touchable.js +15 -15
- package/fesm5/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js.map +1 -1
- package/package.json +4 -4
- package/types/touch-mode.d.ts +1 -1
|
@@ -47,8 +47,8 @@ function fakeSmoothScroll(_a, offset) {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
var TUI_SHEET_CLOSE =
|
|
51
|
-
var TUI_SHEET_ID =
|
|
50
|
+
var TUI_SHEET_CLOSE = 'tui-sheet-close';
|
|
51
|
+
var TUI_SHEET_ID = 'tui-sheet-id';
|
|
52
52
|
var TuiSheetHeadingComponent = /** @class */ (function () {
|
|
53
53
|
function TuiSheetHeadingComponent(idService, elementRef, closeWord$) {
|
|
54
54
|
this.idService = idService;
|
|
@@ -69,7 +69,7 @@ var TuiSheetHeadingComponent = /** @class */ (function () {
|
|
|
69
69
|
]; };
|
|
70
70
|
TuiSheetHeadingComponent = __decorate([
|
|
71
71
|
Component({
|
|
72
|
-
selector:
|
|
72
|
+
selector: '[tuiSheetHeading]',
|
|
73
73
|
template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\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",
|
|
74
74
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
75
75
|
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-base-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}"]
|
|
@@ -126,7 +126,7 @@ var TuiSheetComponent = /** @class */ (function () {
|
|
|
126
126
|
this.isIos = isIos;
|
|
127
127
|
this.moreWord$ = moreWord$;
|
|
128
128
|
this.stopsRefs = EMPTY_QUERY;
|
|
129
|
-
this.id =
|
|
129
|
+
this.id = '';
|
|
130
130
|
this.stuck$ = this.scroll$.pipe(map(function (y) { return Math.floor(y) > _this.contentTop; }));
|
|
131
131
|
}
|
|
132
132
|
Object.defineProperty(TuiSheetComponent.prototype, "stops", {
|
|
@@ -170,7 +170,7 @@ var TuiSheetComponent = /** @class */ (function () {
|
|
|
170
170
|
if (this.isIos) {
|
|
171
171
|
fakeSmoothScroll(nativeElement, top - nativeElement.scrollTop - 16);
|
|
172
172
|
}
|
|
173
|
-
nativeElement.scrollTo({ top: top, behavior:
|
|
173
|
+
nativeElement.scrollTo({ top: top, behavior: 'smooth' });
|
|
174
174
|
};
|
|
175
175
|
TuiSheetComponent.prototype.close = function () {
|
|
176
176
|
if (this.context.closeable) {
|
|
@@ -209,13 +209,13 @@ var TuiSheetComponent = /** @class */ (function () {
|
|
|
209
209
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_MORE_WORD,] }] }
|
|
210
210
|
]; };
|
|
211
211
|
__decorate([
|
|
212
|
-
ViewChild(
|
|
212
|
+
ViewChild('sheet')
|
|
213
213
|
], TuiSheetComponent.prototype, "sheet", void 0);
|
|
214
214
|
__decorate([
|
|
215
|
-
ViewChild(
|
|
215
|
+
ViewChild('content')
|
|
216
216
|
], TuiSheetComponent.prototype, "content", void 0);
|
|
217
217
|
__decorate([
|
|
218
|
-
ViewChildren(
|
|
218
|
+
ViewChildren('stops')
|
|
219
219
|
], TuiSheetComponent.prototype, "stopsRefs", void 0);
|
|
220
220
|
__decorate([
|
|
221
221
|
Input()
|
|
@@ -224,25 +224,25 @@ var TuiSheetComponent = /** @class */ (function () {
|
|
|
224
224
|
tuiPure
|
|
225
225
|
], TuiSheetComponent.prototype, "context", null);
|
|
226
226
|
__decorate([
|
|
227
|
-
HostListener(TUI_SHEET_ID, [
|
|
227
|
+
HostListener(TUI_SHEET_ID, ['$event.detail'])
|
|
228
228
|
], TuiSheetComponent.prototype, "onId", null);
|
|
229
229
|
__decorate([
|
|
230
230
|
tuiPure
|
|
231
231
|
], TuiSheetComponent.prototype, "getStops", null);
|
|
232
232
|
TuiSheetComponent = __decorate([
|
|
233
233
|
Component({
|
|
234
|
-
selector:
|
|
234
|
+
selector: 'tui-sheet',
|
|
235
235
|
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 polymorpheus-outlet\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n [content]=\"item.image\"\n [context]=\"context\"\n >\n <ng-template let-content>\n <img\n alt=\"\"\n class=\"t-image\"\n [src]=\"content\"\n />\n </ng-template>\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 class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"item.content\"\n [context]=\"context\"\n >\n <ng-template let-content>\n <h2\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ content }}\n </h2>\n </ng-template>\n </div>\n </section>\n</div>\n",
|
|
236
236
|
providers: TUI_SHEET_PROVIDERS,
|
|
237
237
|
animations: [tuiSlideInTop],
|
|
238
238
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
239
239
|
host: {
|
|
240
|
-
role:
|
|
241
|
-
'[attr.aria-labelledby]':
|
|
242
|
-
'[class._ios]':
|
|
240
|
+
role: 'dialog',
|
|
241
|
+
'[attr.aria-labelledby]': 'id',
|
|
242
|
+
'[class._ios]': 'isIos',
|
|
243
243
|
// '[class._stuck]': 'true', // Initially disable snapping for Firefox
|
|
244
|
-
'[$.class._stuck]':
|
|
245
|
-
'($.class._stuck)':
|
|
244
|
+
'[$.class._stuck]': 'stuck$',
|
|
245
|
+
'($.class._stuck)': 'stuck$',
|
|
246
246
|
},
|
|
247
247
|
styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration,300ms);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 4rem var(--tui-base-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:0 0;width:0;height:0}:host._stuck{-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;pointer-events:auto;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;pointer-events:auto;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,300ms);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);box-shadow:0 4rem var(--tui-base-01)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);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)}"]
|
|
248
248
|
}),
|
|
@@ -278,7 +278,7 @@ var TuiSheetBarComponent = /** @class */ (function () {
|
|
|
278
278
|
]; };
|
|
279
279
|
TuiSheetBarComponent = __decorate([
|
|
280
280
|
Component({
|
|
281
|
-
selector:
|
|
281
|
+
selector: 'tui-sheet-bar',
|
|
282
282
|
template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n style=\"transform: rotate(-{{ deg }}deg)\"\n class=\"t-bar\"\n ></div>\n <ng-content *ngIf=\"deg\"></ng-content>\n <div\n style=\"transform: rotate({{ deg }}deg)\"\n class=\"t-bar\"\n ></div>\n</ng-container>\n",
|
|
283
283
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
284
284
|
styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;height:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:'';height:.25rem;width:1rem;background:var(--tui-base-09);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}"]
|
|
@@ -358,7 +358,7 @@ var TuiSheetsHostComponent = /** @class */ (function () {
|
|
|
358
358
|
]; };
|
|
359
359
|
TuiSheetsHostComponent = __decorate([
|
|
360
360
|
Component({
|
|
361
|
-
selector:
|
|
361
|
+
selector: 'tui-sheets-host',
|
|
362
362
|
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-wrapper_closeable]=\"item.closeable\"\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",
|
|
363
363
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
364
364
|
animations: [tuiSlideInTop, tuiFadeIn],
|
|
@@ -405,7 +405,7 @@ var TuiSheetCloseDirective = /** @class */ (function () {
|
|
|
405
405
|
], TuiSheetCloseDirective.prototype, "close", void 0);
|
|
406
406
|
TuiSheetCloseDirective = __decorate([
|
|
407
407
|
Directive({
|
|
408
|
-
selector:
|
|
408
|
+
selector: 'tui-sheet[close]',
|
|
409
409
|
}),
|
|
410
410
|
__param(0, Inject(NgZone)),
|
|
411
411
|
__param(1, Inject(TUI_SHEET_DRAGGED)),
|
|
@@ -426,11 +426,11 @@ var TuiSheetStopDirective = /** @class */ (function () {
|
|
|
426
426
|
return !above && !dragged;
|
|
427
427
|
}), filter(Boolean), throttleTime(100), takeUntil(destroy$))
|
|
428
428
|
.subscribe(function () {
|
|
429
|
-
nativeElement.style.overflow =
|
|
430
|
-
nativeElement.classList.remove(
|
|
429
|
+
nativeElement.style.overflow = 'hidden';
|
|
430
|
+
nativeElement.classList.remove('_stuck'); // iOS
|
|
431
431
|
nativeElement.scrollTop = elementRef.nativeElement.offsetTop;
|
|
432
432
|
setTimeout(function () {
|
|
433
|
-
nativeElement.style.overflow =
|
|
433
|
+
nativeElement.style.overflow = '';
|
|
434
434
|
}, 100);
|
|
435
435
|
});
|
|
436
436
|
}
|
|
@@ -443,7 +443,7 @@ var TuiSheetStopDirective = /** @class */ (function () {
|
|
|
443
443
|
]; };
|
|
444
444
|
TuiSheetStopDirective = __decorate([
|
|
445
445
|
Directive({
|
|
446
|
-
selector:
|
|
446
|
+
selector: '[tuiSheetStop]',
|
|
447
447
|
providers: [TuiDestroyService],
|
|
448
448
|
}),
|
|
449
449
|
__param(0, Inject(ElementRef)),
|
|
@@ -480,19 +480,19 @@ var TuiSheetTopDirective = /** @class */ (function () {
|
|
|
480
480
|
{ type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] }
|
|
481
481
|
]; };
|
|
482
482
|
__decorate([
|
|
483
|
-
Input(
|
|
483
|
+
Input('tuiSheetTop'),
|
|
484
484
|
tuiDefaultProp()
|
|
485
485
|
], TuiSheetTopDirective.prototype, "stop", void 0);
|
|
486
486
|
TuiSheetTopDirective = __decorate([
|
|
487
487
|
Directive({
|
|
488
|
-
selector:
|
|
488
|
+
selector: '[tuiSheetTop]',
|
|
489
489
|
host: {
|
|
490
|
-
'[$.style.transform]':
|
|
491
|
-
'($.style.transform)':
|
|
492
|
-
'[$.class._rounded]':
|
|
493
|
-
'($.class._rounded)':
|
|
494
|
-
'[$.class._clickthrough]':
|
|
495
|
-
'($.class._clickthrough)':
|
|
490
|
+
'[$.style.transform]': 'transform$',
|
|
491
|
+
'($.style.transform)': 'transform$',
|
|
492
|
+
'[$.class._rounded]': 'rounded$',
|
|
493
|
+
'($.class._rounded)': 'rounded$',
|
|
494
|
+
'[$.class._clickthrough]': 'clickthrough$',
|
|
495
|
+
'($.class._clickthrough)': 'clickthrough$',
|
|
496
496
|
},
|
|
497
497
|
}),
|
|
498
498
|
__param(0, Inject(TUI_SHEET_SCROLL)),
|
|
@@ -571,14 +571,14 @@ var TuiSheetWrapperDirective = /** @class */ (function () {
|
|
|
571
571
|
], TuiSheetWrapperDirective.prototype, "height$", null);
|
|
572
572
|
TuiSheetWrapperDirective = __decorate([
|
|
573
573
|
Directive({
|
|
574
|
-
selector:
|
|
574
|
+
selector: '[tuiSheetWrapper]',
|
|
575
575
|
host: {
|
|
576
|
-
'[$.class._overlay]':
|
|
577
|
-
'($.class._overlay)':
|
|
578
|
-
'[$.class._visible]':
|
|
579
|
-
'($.class._visible)':
|
|
580
|
-
'[$.style.height.px]':
|
|
581
|
-
'($.style.height.px)':
|
|
576
|
+
'[$.class._overlay]': 'overlay$',
|
|
577
|
+
'($.class._overlay)': 'overlay$',
|
|
578
|
+
'[$.class._visible]': 'visible$',
|
|
579
|
+
'($.class._visible)': 'visible$',
|
|
580
|
+
'[$.style.height.px]': 'height$',
|
|
581
|
+
'($.style.height.px)': 'height$',
|
|
582
582
|
},
|
|
583
583
|
}),
|
|
584
584
|
__param(0, Inject(WINDOW))
|
|
@@ -615,7 +615,7 @@ var TuiSheetDirective = /** @class */ (function (_super) {
|
|
|
615
615
|
{ type: TuiSheetService, decorators: [{ type: Inject, args: [TuiSheetService,] }] }
|
|
616
616
|
]; };
|
|
617
617
|
__decorate([
|
|
618
|
-
Input(
|
|
618
|
+
Input('tuiSheetOptions'),
|
|
619
619
|
tuiDefaultProp()
|
|
620
620
|
], TuiSheetDirective.prototype, "options", void 0);
|
|
621
621
|
__decorate([
|
|
@@ -627,7 +627,7 @@ var TuiSheetDirective = /** @class */ (function (_super) {
|
|
|
627
627
|
], TuiSheetDirective.prototype, "tuiSheetChange", void 0);
|
|
628
628
|
TuiSheetDirective = __decorate([
|
|
629
629
|
Directive({
|
|
630
|
-
selector:
|
|
630
|
+
selector: 'ng-template[tuiSheet]',
|
|
631
631
|
}),
|
|
632
632
|
__param(0, Inject(ChangeDetectorRef)),
|
|
633
633
|
__param(1, Inject(TemplateRef)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet.js","sources":["ng://@taiga-ui/addon-mobile/components/sheet/ios.hacks.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-heading/sheet-heading.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.providers.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-bar/sheet-bar.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet-options.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.service.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheets-host/sheets-host.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-close/sheet-close.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-top/sheet-top.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.module.ts","ng://@taiga-ui/addon-mobile/components/sheet/taiga-ui-addon-mobile-components-sheet.ts"],"sourcesContent":["import {NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {concat, merge, Observable, race, timer, zip} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n map,\n mapTo,\n share,\n startWith,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function iosScrollFactory(\n element: HTMLElement,\n documentRef: Document,\n ngZone: NgZone,\n): Observable<number> {\n const load$ = typedFromEvent(element, `load`, {capture: true});\n const touchstart$ = typedFromEvent(element, `touchstart`, {passive: true});\n const touchmove$ = typedFromEvent(documentRef, `touchmove`, {passive: true});\n const touchend$ = typedFromEvent(documentRef, `touchend`);\n const scroll$ = typedFromEvent(element, `scroll`).pipe(map(() => element.scrollTop));\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY} = touches[0];\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(([{touches}]) => scrollTop + screenY - touches[0].screenY),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(v => !v));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n mapTo(false),\n );\n\n return touchstart$.pipe(\n switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))),\n startWith(false),\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function fakeSmoothScroll({style}: HTMLElement, offset: number): void {\n style.transition = `none`;\n style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n setTimeout(() => {\n style.transition = ``;\n style.transform = ``;\n });\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_SHEET_CLOSE = `tui-sheet-close`;\nexport const TUI_SHEET_ID = `tui-sheet-id`;\n\n@Component({\n selector: `[tuiSheetHeading]`,\n templateUrl: `sheet-heading.template.html`,\n styleUrls: [`sheet-heading.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n readonly id = this.idService.generate();\n\n constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {}\n\n ngAfterViewInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.id}),\n );\n }\n\n onClick(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, NgZone, Provider} from '@angular/core';\nimport {TUI_IS_IOS, tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {merge, Observable} from 'rxjs';\nimport {map, mapTo, share} from 'rxjs/operators';\n\nimport {iosScrollFactory} from '../../ios.hacks';\n\nexport const TUI_SHEET_SCROLL = new InjectionToken<number>(\n `Current scrollTop of a sheet`,\n);\n\nexport const TUI_SHEET_DRAGGED = new InjectionToken<boolean>(\n `The sheet is being dragged`,\n);\n\n/** @deprecated use option argument for each Sheet */\nexport const TUI_SHEET_OFFSET = new InjectionToken<number>(\n `Offset from the top at which the sheet stops`,\n {\n factory: () => 16,\n },\n);\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: sheetDraggedFactory,\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: sheetScrollFactory,\n },\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sheetDraggedFactory({\n nativeElement,\n}: ElementRef<HTMLElement>): Observable<boolean> {\n return merge(\n typedFromEvent(nativeElement, `touchstart`, {passive: true}).pipe(mapTo(true)),\n typedFromEvent(nativeElement, `touchend`).pipe(mapTo(false)),\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sheetScrollFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n ngZone: NgZone,\n documentRef: Document,\n isIos: boolean,\n): Observable<number> {\n return isIos\n ? iosScrollFactory(nativeElement, documentRef, ngZone)\n : merge(\n typedFromEvent(nativeElement, `scroll`),\n typedFromEvent(nativeElement, `load`, {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(ngZone),\n share(),\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY, TUI_IS_IOS, tuiPure, tuiZonefull} from '@taiga-ui/cdk';\nimport {tuiSlideInTop} from '@taiga-ui/core';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {fakeSmoothScroll} from '../../ios.hacks';\nimport {TuiSheet} from '../../sheet';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS, TUI_SHEET_SCROLL} from './sheet.providers';\n\n// @dynamic\n@Component({\n selector: `tui-sheet`,\n templateUrl: `sheet.template.html`,\n styleUrls: [`sheet.style.less`],\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: `dialog`,\n '[attr.aria-labelledby]': `id`,\n '[class._ios]': `isIos`,\n // '[class._stuck]': 'true', // Initially disable snapping for Firefox\n '[$.class._stuck]': `stuck$`,\n '($.class._stuck)': `stuck$`,\n },\n})\nexport class TuiSheetComponent<T> implements AfterViewInit {\n @ViewChild(`sheet`)\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild(`content`)\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren(`stops`)\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n item!: TuiSheet<T>;\n\n id = ``;\n\n readonly stuck$ = this.scroll$.pipe(map(y => Math.floor(y) > this.contentTop));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n @tuiPure\n get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.ngZone)),\n };\n }\n\n @HostListener(TUI_SHEET_ID, [`$event.detail`])\n onId(id: string): void {\n this.id = id;\n }\n\n ngAfterViewInit(): void {\n const stops = [...this.stops, this.sheetTop, this.contentTop];\n\n this.elementRef.nativeElement.scrollTop = stops[this.item.initial];\n }\n\n scrollTo(top: number = this.sheetTop): void {\n const {nativeElement} = this.elementRef;\n\n if (this.isIos) {\n fakeSmoothScroll(nativeElement, top - nativeElement.scrollTop - 16);\n }\n\n nativeElement.scrollTo({top, behavior: `smooth`});\n }\n\n close(): void {\n if (this.context.closeable) {\n this.context.$implicit.complete();\n }\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops\n .toArray()\n .map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, NgZone} from '@angular/core';\nimport {clamp} from '@taiga-ui/cdk';\nimport {tuiZonefulMap} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheetComponent} from '../sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../sheet/sheet.providers';\n\n@Component({\n selector: `tui-sheet-bar`,\n templateUrl: `sheet-bar.template.html`,\n styleUrls: [`sheet-bar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetBarComponent {\n readonly rotate$ = this.scroll$.pipe(\n tuiZonefulMap(y => clamp(10 - (y - this.stop) / 5, 0, 10), this.ngZone),\n );\n\n constructor(\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {}\n\n private get stop(): number {\n return this.sheet.stops[0] ?? 0;\n }\n}\n","import {inject, InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SHEET_OFFSET} from './components/sheet/sheet.providers';\nimport {TuiSheet} from './sheet';\n\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly stops: readonly string[];\n readonly initial: number;\n readonly offset: number;\n readonly closeable: boolean;\n readonly overlay: boolean;\n readonly data: I;\n}\n\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: ``,\n imageSlide: true,\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n overlay: false,\n};\n\nexport const TUI_SHEET_OPTIONS = new InjectionToken<Omit<TuiSheetOptions, 'data'>>(\n `Default parameters for sheet component`,\n {\n factory: () => ({...TUI_SHEET_DEFAULT_OPTIONS, offset: inject(TUI_SHEET_OFFSET)}),\n },\n);\n","import {Inject, Injectable} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\n\nimport {TuiSheet} from './sheet';\nimport {TUI_SHEET_OPTIONS, TuiSheetOptions} from './sheet-options';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSheetService {\n readonly sheets$ = new BehaviorSubject<Array<TuiSheet<any, any>>>([]);\n\n constructor(@Inject(TUI_SHEET_OPTIONS) private readonly options: TuiSheetOptions) {}\n\n open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable($implicit => {\n const completeWith = (result: G): void => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter(item => item !== sheet));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_WINDOW_HEIGHT} from '@taiga-ui/cdk';\nimport {TUI_ANIMATION_OPTIONS, tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\n\n// @dynamic\n@Component({\n selector: `tui-sheets-host`,\n templateUrl: `sheets-host.template.html`,\n styleUrls: [`sheets-host.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiSheetsHostComponent {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) readonly options: AnimationOptions,\n @Inject(TuiSheetService) readonly service: TuiSheetService,\n @Inject(TUI_WINDOW_HEIGHT) readonly height$: Observable<number>,\n ) {}\n\n close({closeable, $implicit}: TuiSheet<unknown>): void {\n if (closeable) {\n $implicit.complete();\n }\n }\n}\n","import {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiZonefull, typedFromEvent} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {distinctUntilChanged, filter, startWith, switchMap} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\n\n// @dynamic\n@Directive({\n selector: `tui-sheet[close]`,\n})\nexport class TuiSheetCloseDirective {\n @Output()\n readonly close: Observable<unknown> = merge(\n typedFromEvent(this.elementRef.nativeElement, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n startWith(false),\n switchMap(dragged =>\n dragged\n ? EMPTY\n : this.scroll$.pipe(\n startWith(this.elementRef.nativeElement.scrollTop),\n ),\n ),\n filter(y => this.sheet.item?.closeable && this.shouldClose(y)),\n distinctUntilChanged(),\n tuiZonefull(this.ngZone),\n ),\n );\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_SHEET_DRAGGED) private readonly dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n ) {}\n\n private shouldClose(scrollTop: number): boolean {\n const height = Math.min(\n this.windowRef.innerHeight,\n this.elementRef.nativeElement.scrollHeight - this.windowRef.innerHeight,\n );\n const min = Math.min(height, this.sheet.stops[0] || Infinity);\n\n return scrollTop < min / 2;\n }\n}\n","import {Directive, ElementRef, Inject} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\n\n@Directive({\n selector: `[tuiSheetStop]`,\n providers: [TuiDestroyService],\n})\nexport class TuiSheetStopDirective {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_SHEET_DRAGGED) dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) scroll$: Observable<number>,\n @Inject(TUI_SCROLL_REF) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n scroll$\n .pipe(\n map(y => Math.floor(y) > elementRef.nativeElement.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(dragged$),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.style.overflow = `hidden`;\n nativeElement.classList.remove(`_stuck`); // iOS\n nativeElement.scrollTop = elementRef.nativeElement.offsetTop;\n\n setTimeout(() => {\n nativeElement.style.overflow = ``;\n }, 100);\n });\n }\n}\n","import {Directive, forwardRef, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../../components/sheet/sheet.providers';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n// @dynamic\n@Directive({\n selector: `[tuiSheetTop]`,\n host: {\n '[$.style.transform]': `transform$`,\n '($.style.transform)': `transform$`,\n '[$.class._rounded]': `rounded$`,\n '($.class._rounded)': `rounded$`,\n '[$.class._clickthrough]': `clickthrough$`,\n '($.class._clickthrough)': `clickthrough$`,\n },\n})\nexport class TuiSheetTopDirective {\n @Input(`tuiSheetTop`)\n @tuiDefaultProp()\n stop = 0;\n\n readonly transform$ = this.scroll$.pipe(\n map(y => `translateY(${this.getY(y)}%) scaleX(-1)`),\n );\n\n readonly rounded$ = this.scroll$.pipe(map(y => y < this.stop + OFFSET));\n\n readonly clickthrough$ = this.scroll$.pipe(map(y => !!Math.round(this.getY(y))));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(forwardRef(() => TuiSheetComponent))\n private readonly component: TuiSheetComponent<unknown>,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.windowRef.innerHeight - this.component.item.offset - this.stop;\n\n return this.stop && clamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {ContentChild, Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiPure} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {processDragged} from '../../ios.hacks';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\n// @dynamic\n@Directive({\n selector: `[tuiSheetWrapper]`,\n host: {\n '[$.class._overlay]': `overlay$`,\n '($.class._overlay)': `overlay$`,\n '[$.class._visible]': `visible$`,\n '($.class._visible)': `visible$`,\n '[$.style.height.px]': `height$`,\n '($.style.height.px)': `height$`,\n },\n})\nexport class TuiSheetWrapperDirective {\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL})\n private readonly scroll$!: Observable<number>;\n\n @Input()\n tuiSheetWrapper = 16;\n\n // Trying to get overflow: visible as early as possible for Safari\n touched = false;\n\n constructor(@Inject(WINDOW) private readonly windowRef: Window) {}\n\n @tuiPure\n get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper),\n );\n }\n\n @tuiPure\n get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$);\n }\n\n @tuiPure\n get height$(): Observable<number | null> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number | null {\n return this.sheet?.context.overlay\n ? null\n : clamp(this.withImage(value) + OFFSET, OFFSET, this.windowRef.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n Inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {TuiSheet} from './sheet';\nimport {TuiSheetService} from './sheet.service';\nimport {TuiSheetOptions} from './sheet-options';\n\n@Directive({\n selector: `ng-template[tuiSheet]`,\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly open$ = new Subject<boolean>();\n\n @Input(`tuiSheetOptions`)\n @tuiDefaultProp()\n options: Partial<TuiSheetOptions> = {};\n\n @Input()\n @tuiRequiredSetter()\n set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiSheetChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiSheet<never>>,\n @Inject(TuiSheetService) private readonly service: TuiSheetService,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLetModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiButtonModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["OFFSET"],"mappings":";;;;;;;;;;;AAiBA;SACgB,gBAAgB,CAC5B,OAAoB,EACpB,WAAqB,EACrB,MAAc;IAEd,IAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3E,IAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7E,IAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1D,IAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAM,OAAA,OAAO,CAAC,SAAS,GAAA,CAAC,CAAC,CAAC;IACrF,IAAM,OAAO,GAAG,KAAK,CACjB,KAAK,CAAC,IAAI,CACN,KAAK,CAAC,CAAC,CAAC,EACR,GAAG,CAAC,cAAM,OAAA,OAAO,CAAC,SAAS,GAAA,CAAC,CAC/B,EACD,WAAW,CAAC,IAAI,CACZ,SAAS,CAAC,UAAC,EAAS;YAAR,oBAAO;QACR,IAAA,4BAAO,CAAe;QACtB,IAAA,6BAAS,CAAY;QAE5B,OAAO,MAAM;;QAET,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CACzB,GAAG,CAAC,UAAC,EAAW;gBAAX,kBAAW,EAAT,uBAAO;YAAO,OAAA,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;SAAA,CAAC,EAC9D,SAAS,CAAC,SAAS,CAAC,CACvB,EACD,OAAO,CACV,CAAC;KACL,CAAC,CACL,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;SACgB,cAAc,CAC1B,QAA6B,EAC7B,OAA4B;IAE5B,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,IAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAA,CAAC,CAAC,CAAC;IACjD,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CACxC,YAAY,CAAC,GAAG,CAAC,EACjB,IAAI,CAAC,CAAC,CAAC,EACP,KAAK,CAAC,KAAK,CAAC,CACf,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CACnB,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChE,SAAS,CAAC,KAAK,CAAC,CACnB,CAAC;AACN,CAAC;AAED;SACgB,gBAAgB,CAAC,EAAoB,EAAE,MAAc;QAAnC,gBAAK;IACnC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,SAAS,GAAG,+BAA6B,MAAM,WAAQ,CAAC;IAE9D,UAAU,CAAC;QACP,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;KACxB,CAAC,CAAC;AACP;;ICtEa,eAAe,GAAG,kBAAkB;IACpC,YAAY,GAAG,eAAe;;IAWvC,kCAC2C,SAAuB,EACzB,UAAmC,EACvC,UAA8B;QAFxB,cAAS,GAAT,SAAS,CAAc;QACzB,eAAU,GAAV,UAAU,CAAyB;QACvC,eAAU,GAAV,UAAU,CAAoB;QAL1D,OAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAMpC;IAEJ,kDAAe,GAAf;QACI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CACvC,IAAI,WAAW,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAClE,CAAC;KACL;IAED,0CAAO,GAAP;QACI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CACvC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CACpD,CAAC;KACL;;gBAfqD,YAAY,uBAA7D,MAAM,SAAC,YAAY;gBAC6B,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBAC2B,UAAU,uBAAtD,MAAM,SAAC,cAAc;;IANjB,wBAAwB;QANpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,gRAA0C;YAE1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAKO,WAAA,MAAM,CAAC,YAAY,CAAC,CAAA;QACpB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;OANlB,wBAAwB,CAoBpC;IAAD,+BAAC;CApBD;;ICXa,gBAAgB,GAAG,IAAI,cAAc,CAC9C,8BAA8B,EAChC;IAEW,iBAAiB,GAAG,IAAI,cAAc,CAC/C,4BAA4B,EAC9B;AAEF;IACa,gBAAgB,GAAG,IAAI,cAAc,CAC9C,8CAA8C,EAC9C;IACI,OAAO,EAAE,cAAM,OAAA,EAAE,GAAA;CACpB,EACH;IAEW,mBAAmB,GAAe;IAC3C;QACI,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,UAAU,EAAE,mBAAmB;KAClC;IACD;QACI,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;QAChD,UAAU,EAAE,kBAAkB;KACjC;IACD;QACI,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,UAAU;KAC1B;EACH;AAEF;SACgB,mBAAmB,CAAC,EAEV;QADtB,gCAAa;IAEb,OAAO,KAAK,CACR,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9E,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC/D,CAAC;AACN,CAAC;AAED;SACgB,kBAAkB,CAC9B,EAAwC,EACxC,MAAc,EACd,WAAqB,EACrB,KAAc;QAHb,gCAAa;IAKd,OAAO,KAAK;UACN,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;UACpD,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,EACvC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CACzD,CAAC,IAAI,CACF,GAAG,CAAC,cAAM,OAAA,aAAa,CAAC,SAAS,GAAA,CAAC,EAClC,WAAW,CAAC,MAAM,CAAC,EACnB,KAAK,EAAE,CACV,CAAC;AACZ;;AC7CA;;IAkCI,2BAC+C,OAA2B,EACjC,UAAmC,EACvC,MAAc,EAClB,KAAc,EACX,SAA6B;QALjE,iBAMI;QAL2C,YAAO,GAAP,OAAO,CAAoB;QACjC,eAAU,GAAV,UAAU,CAAyB;QACvC,WAAM,GAAN,MAAM,CAAQ;QAClB,UAAK,GAAL,KAAK,CAAS;QACX,cAAS,GAAT,SAAS,CAAoB;QAdhD,cAAS,GAAuC,WAAW,CAAC;QAK7E,OAAE,GAAG,EAAE,CAAC;QAEC,WAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,UAAU,GAAA,CAAC,CAAC,CAAC;KAQ3E;IAEJ,sBAAI,oCAAK;aAAT;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxC;;;OAAA;IAED,sBAAI,wCAAS;aAAb;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SAC3E;;;OAAA;IAED,sBAAI,0CAAW;aAAf;YACI,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC1C;;;OAAA;IAGD,sBAAI,sCAAO;aAAX;YACI,6BACO,IAAI,CAAC,IAAI,KACZ,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IACtD;SACL;;;OAAA;IAGD,gCAAI,GAAJ,UAAK,EAAU;QACX,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;IAED,2CAAe,GAAf;QACI,IAAM,KAAK,YAAO,IAAI,CAAC,KAAK,GAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtE;IAED,oCAAQ,GAAR,UAAS,GAA2B;QAA3B,oBAAA,EAAA,MAAc,IAAI,CAAC,QAAQ;QACzB,IAAA,6CAAa,CAAoB;QAExC,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;SACvE;QAED,aAAa,CAAC,QAAQ,CAAC,EAAC,GAAG,KAAA,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;KACrD;IAED,iCAAK,GAAL;QACI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SACrC;KACJ;IAED,sBAAY,yCAAU;aAAtB;;YACI,mBAAO,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,SAAS,mCAAI,QAAQ,CAAC;SAC5D;;;OAAA;IAED,sBAAY,uCAAQ;aAApB;;YACI,mBAAO,IAAI,CAAC,KAAK,0CAAE,aAAa,CAAC,SAAS,mCAAI,QAAQ,CAAC;SAC1D;;;OAAA;IAGO,oCAAQ,GAAhB,UAAiB,KAAyC;QACtD,OAAO,KAAK;aACP,OAAO,EAAE;aACT,GAAG,CACA,UAAC,EAAe;gBAAd,gCAAa;YAAM,OAAA,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,YAAY;SAAA,CAC5E,CAAC;KACT;;gBArEuD,UAAU,uBAA7D,MAAM,SAAC,gBAAgB;gBACyB,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACuB,MAAM,uBAA9C,MAAM,SAAC,MAAM;8CACb,MAAM,SAAC,UAAU;gBACyB,UAAU,uBAApD,MAAM,SAAC,aAAa;;IApBzB;QADC,SAAS,CAAC,OAAO,CAAC;oDAC8B;IAGjD;QADC,SAAS,CAAC,SAAS,CAAC;sDAC8B;IAGnD;QADC,YAAY,CAAC,OAAO,CAAC;wDACuD;IAG7E;QADC,KAAK,EAAE;mDACW;IA2BnB;QADC,OAAO;oDAMP;IAGD;QADC,YAAY,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,CAAC;iDAG7C;IAiCD;QADC,OAAO;qDAOP;IAvFQ,iBAAiB;QAhB7B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,w/CAAkC;YAElC,SAAS,EAAE,mBAAmB;YAC9B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,wBAAwB,EAAE,IAAI;gBAC9B,cAAc,EAAE,OAAO;;gBAEvB,kBAAkB,EAAE,QAAQ;gBAC5B,kBAAkB,EAAE,QAAQ;aAC/B;;SACJ,CAAC;QAmBO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;OAtBjB,iBAAiB,CAwF7B;IAAD,wBAAC;CAxFD;;;ICtBI,8BACgD,KAAiC,EAClC,OAA2B,EACrC,MAAc;QAHnD,iBAII;QAH4C,UAAK,GAAL,KAAK,CAA4B;QAClC,YAAO,GAAP,OAAO,CAAoB;QACrC,WAAM,GAAN,MAAM,CAAQ;QAP1C,YAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAChC,aAAa,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAA,EAAE,IAAI,CAAC,MAAM,CAAC,CAC1E,CAAC;KAME;IAEJ,sBAAY,sCAAI;aAAhB;;YACI,aAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC;SACnC;;;OAAA;;gBAPsD,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;gBAC2B,UAAU,uBAA7D,MAAM,SAAC,gBAAgB;gBACiB,MAAM,uBAA9C,MAAM,SAAC,MAAM;;IART,oBAAoB;QANhC,SAAS,CAAC;YACP,QAAQ,EAAE,eAAe;YACzB,oUAAsC;YAEtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAOO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;OARV,oBAAoB,CAchC;IAAD,2BAAC;CAdD;;ICGa,yBAAyB,GAAkC;IACpE,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;EAChB;IAEW,iBAAiB,GAAG,IAAI,cAAc,CAC/C,wCAAwC,EACxC;IACI,OAAO,EAAE,cAAM,8BAAK,yBAAyB,KAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,OAAE;CACpF;;;IClBD,yBAAwD,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;QAFvE,YAAO,GAAG,IAAI,eAAe,CAA4B,EAAE,CAAC,CAAC;KAEc;IAEpF,8BAAI,GAAJ,UACI,OAAyC,EACzC,OAAsC;QAF1C,iBAwBC;QAtBG,wBAAA,EAAA,YAAsC;QAEtC,OAAO,IAAI,UAAU,CAAC,UAAA,SAAS;YAC3B,IAAM,YAAY,GAAG,UAAC,MAAS;gBAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS,CAAC,QAAQ,EAAE,CAAC;aACxB,CAAC;YACF,IAAM,KAAK,kCACJ,KAAI,CAAC,OAAO,GACZ,OAAO,KACV,OAAO,SAAA;gBACP,YAAY,cAAA;gBACZ,SAAS,WAAA,EACT,OAAO,EAAE,KAAK,GACjB,CAAC;YAEF,KAAI,CAAC,OAAO,CAAC,IAAI,UAAK,KAAI,CAAC,OAAO,CAAC,KAAK,GAAE,KAAK,GAAE,CAAC;YAElD,OAAO;gBACH,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,KAAK,GAAA,CAAC,CAAC,CAAC;aACxE,CAAC;SACL,CAAC,CAAC;KACN;;gDA1BY,MAAM,SAAC,iBAAiB;;;IAH5B,eAAe;QAH3B,UAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;QAIe,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OAH7B,eAAe,CA8B3B;0BAxCD;CAUA;;ACDA;;IASI,gCAC4C,OAAyB,EAC/B,OAAwB,EACtB,OAA2B;QAFvB,YAAO,GAAP,OAAO,CAAkB;QAC/B,YAAO,GAAP,OAAO,CAAiB;QACtB,YAAO,GAAP,OAAO,CAAoB;KAC/D;IAEJ,sCAAK,GAAL,UAAM,EAAyC;YAAxC,wBAAS,EAAE,wBAAS;QACvB,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,QAAQ,EAAE,CAAC;SACxB;KACJ;;gDATI,MAAM,SAAC,qBAAqB;gBACc,eAAe,uBAAzD,MAAM,SAAC,eAAe;gBACsB,UAAU,uBAAtD,MAAM,SAAC,iBAAiB;;IAJpB,sBAAsB;QAPlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,0wBAAwC;YAExC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;SACzC,CAAC;QAGO,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC7B,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;QACvB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OAJrB,sBAAsB,CAYlC;IAAD,6BAAC;CAZD;;ACJA;;IAuBI,gCACqC,MAAc,EACH,QAA6B,EAC9B,OAA2B,EACrC,SAAiB,EACb,UAAmC,EAC5B,KAAiC;QANjF,iBAOI;QANiC,WAAM,GAAN,MAAM,CAAQ;QACH,aAAQ,GAAR,QAAQ,CAAqB;QAC9B,YAAO,GAAP,OAAO,CAAoB;QACrC,cAAS,GAAT,SAAS,CAAQ;QACb,eAAU,GAAV,UAAU,CAAyB;QAC5B,UAAK,GAAL,KAAK,CAA4B;QAvBxE,UAAK,GAAwB,KAAK,CACvC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC,EAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,SAAS,CAAC,KAAK,CAAC,EAChB,SAAS,CAAC,UAAA,OAAO;YACb,OAAA,OAAO;kBACD,KAAK;kBACL,KAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CACrD;SAAA,CACV,EACD,MAAM,CAAC,UAAA,CAAC,YAAI,OAAA,OAAA,KAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,SAAS,KAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,EAC9D,oBAAoB,EAAE,EACtB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3B,CACJ,CAAC;KASE;IAEI,4CAAW,GAAnB,UAAoB,SAAiB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAC1E,CAAC;QACF,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;QAE9D,OAAO,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;KAC9B;;gBAhB4C,MAAM,uBAA9C,MAAM,SAAC,MAAM;gBACwC,UAAU,uBAA/D,MAAM,SAAC,iBAAiB;gBAC2B,UAAU,uBAA7D,MAAM,SAAC,gBAAgB;gBACoB,MAAM,uBAAjD,MAAM,SAAC,MAAM;gBACmC,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACiC,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;;IAvB7B;QADC,MAAM,EAAE;yDAgBP;IAjBO,sBAAsB;QAHlC,SAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;SAC/B,CAAC;QAqBO,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OAzBrB,sBAAsB,CAqClC;IAAD,6BAAC;CArCD;;;ICMI,+BACwB,UAAmC,EAC5B,QAA6B,EAC7B,QAA6B,EAC9B,OAA2B,EAC7B,EAAwC;YAAvC,gCAAa;QAEtC,OAAO;aACF,IAAI,CACD,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,GAAA,CAAC,EAC5D,oBAAoB,EAAE,EACtB,cAAc,CAAC,QAAQ,CAAC,EACxB,GAAG,CAAC,UAAC,EAAgB;gBAAhB,kBAAgB,EAAf,aAAK,EAAE,eAAO;YAAM,OAAA,CAAC,KAAK,IAAI,CAAC,OAAO;SAAA,CAAC,EAC7C,MAAM,CAAC,OAAO,CAAC,EACf,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC;YACP,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACxC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;YAE7D,UAAU,CAAC;gBACP,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;aACrC,EAAE,GAAG,CAAC,CAAC;SACX,CAAC,CAAC;KACV;;gBAzBmC,UAAU,uBAAzC,MAAM,SAAC,UAAU;gBACmB,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;gBACY,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;gBACU,UAAU,uBAA5C,MAAM,SAAC,gBAAgB;gBACiB,UAAU,uBAAlD,MAAM,SAAC,cAAc;;IANjB,qBAAqB;QAJjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,CAAC,iBAAiB,CAAC;SACjC,CAAC;QAGO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;OANlB,qBAAqB,CA4BjC;IAAD,4BAAC;CA5BD;;ACbA;AACA,IAAM,MAAM,GAAG,EAAE,CAAC;AAElB;;IAyBI,8BAC+C,OAA2B,EAErD,SAAqC,EACrB,SAAiB;QAJtD,iBAKI;QAJ2C,YAAO,GAAP,OAAO,CAAoB;QAErD,cAAS,GAAT,SAAS,CAA4B;QACrB,cAAS,GAAT,SAAS,CAAQ;QAdtD,SAAI,GAAG,CAAC,CAAC;QAEA,eAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACnC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAc,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAe,GAAA,CAAC,CACtD,CAAC;QAEO,aAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAG,KAAI,CAAC,IAAI,GAAG,MAAM,GAAA,CAAC,CAAC,CAAC;QAE/D,kBAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,CAAC;KAO7E;IAEI,mCAAI,GAAZ,UAAa,SAAiB;QAC1B,IAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QACpC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAElF,OAAO,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;KAClE;;gBAXuD,UAAU,uBAA7D,MAAM,SAAC,gBAAgB;gBAEI,iBAAiB,uBAD5C,MAAM,SAAC,UAAU,CAAC,cAAM,OAAA,iBAAiB,GAAA,CAAC;gBAEC,MAAM,uBAAjD,MAAM,SAAC,MAAM;;IAdlB;QAFC,KAAK,CAAC,aAAa,CAAC;QACpB,cAAc,EAAE;sDACR;IAHA,oBAAoB;QAXhC,SAAS,CAAC;YACP,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE;gBACF,qBAAqB,EAAE,YAAY;gBACnC,qBAAqB,EAAE,YAAY;gBACnC,oBAAoB,EAAE,UAAU;gBAChC,oBAAoB,EAAE,UAAU;gBAChC,yBAAyB,EAAE,eAAe;gBAC1C,yBAAyB,EAAE,eAAe;aAC7C;SACJ,CAAC;QAeO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,iBAAiB,GAAA,CAAC,CAAC,CAAA;QAE3C,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;OAjBV,oBAAoB,CA0BhC;IAAD,2BAAC;CA1BD;;ACXA;AACA,IAAMA,QAAM,GAAG,EAAE,CAAC;AAElB;;IA4BI,kCAA6C,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAL9D,oBAAe,GAAG,EAAE,CAAC;;QAGrB,YAAO,GAAG,KAAK,CAAC;KAEkD;IAGlE,sBAAI,8CAAQ;aAAZ;YADA,iBAKC;YAHG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACpB,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAG,EAAE,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAI,CAAC,eAAe,GAAA,CAAC,CACvE,CAAC;SACL;;;OAAA;IAGD,sBAAI,8CAAQ;aAAZ;YACI,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACtD;;;OAAA;IAGD,sBAAI,6CAAO;aAAX;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC5D;;;OAAA;IAEO,4CAAS,GAAjB,UAAkB,KAAa;;QAC3B,OAAO,OAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,OAAO,IAC5B,IAAI;cACJ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAGA,QAAM,EAAEA,QAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;KACnF;IAEO,4CAAS,GAAjB,UAAkB,KAAa;;QAC3B,OAAO,QAAC,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAA,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;cACnE,KAAK;cACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;KACxC;;gBA7BuD,MAAM,uBAAjD,MAAM,SAAC,MAAM;;IAd1B;QADC,YAAY,CAAC,iBAAiB,CAAC;2DACoB;IAGpD;QADC,YAAY,CAAC,iBAAiB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC;8DACX;IAGhD;QADC,YAAY,CAAC,iBAAiB,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC;6DACZ;IAG9C;QADC,KAAK,EAAE;qEACa;IAQrB;QADC,OAAO;4DAKP;IAGD;QADC,OAAO;4DAGP;IAGD;QADC,OAAO;2DAGP;IAjCQ,wBAAwB;QAXpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE;gBACF,oBAAoB,EAAE,UAAU;gBAChC,oBAAoB,EAAE,UAAU;gBAChC,oBAAoB,EAAE,UAAU;gBAChC,oBAAoB,EAAE,UAAU;gBAChC,qBAAqB,EAAE,SAAS;gBAChC,qBAAqB,EAAE,SAAS;aACnC;SACJ,CAAC;QAiBe,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;OAhBlB,wBAAwB,CA8CpC;IAAD,+BAAC;CA9CD;;;ICRuC,qCAAqC;IAwBxE,2BAC+B,iBAAoC,EAC1C,WAAyC,EACpB,OAAwB;QAHtE,YAKI,kBAAM,WAAW,EAAE,iBAAiB,CAAC,SACxC;QAH6C,aAAO,GAAP,OAAO,CAAiB;QA1BrD,WAAK,GAAG,IAAI,OAAO,EAAW,CAAC;QAIhD,aAAO,GAA6B,EAAE,CAAC;QASvC,oBAAc,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,SAAS,CAAC,UAAA,IAAI;YACV,OAAA,IAAI;kBACE,KAAI,CAAC,OAAO;qBACP,IAAI,CAAC,KAAI,EAAE,KAAI,CAAC,OAAO,CAAC;qBACxB,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;kBAC3C,KAAK;SAAA,CACd,CACJ,CAAC;;KAQD;IArBD,sBAAI,uCAAQ;aAAZ,UAAa,IAAa;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;;;OAAA;;gBAciD,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;gBACS,WAAW,uBAA5C,MAAM,SAAC,WAAW;gBACgC,eAAe,uBAAjE,MAAM,SAAC,eAAe;;IAtB3B;QAFC,KAAK,CAAC,iBAAiB,CAAC;QACxB,cAAc,EAAE;sDACsB;IAIvC;QAFC,KAAK,EAAE;QACP,iBAAiB,EAAE;qDAGnB;IAGD;QADC,MAAM,EAAE;6DASP;IAtBO,iBAAiB;QAH7B,SAAS,CAAC;YACP,QAAQ,EAAE,uBAAuB;SACpC,CAAC;QA0BO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;QACnB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;OA3BnB,iBAAiB,CA+B7B;IAAD,wBAAC;CAAA,CA/BsC,oBAAoB;;;ICwB3D;KAA8B;IAAjB,cAAc;QA5B1B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,YAAY;gBACZ,eAAe;gBACf,mBAAmB;gBACnB,kBAAkB;aACrB;YACD,YAAY,EAAE;gBACV,sBAAsB;gBACtB,iBAAiB;gBACjB,oBAAoB;gBACpB,wBAAwB;gBACxB,oBAAoB;gBACpB,iBAAiB;gBACjB,wBAAwB;gBACxB,sBAAsB;gBACtB,qBAAqB;aACxB;YACD,OAAO,EAAE;gBACL,sBAAsB;gBACtB,iBAAiB;gBACjB,wBAAwB;gBACxB,iBAAiB;aACpB;YACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,cAAc,CAAG;IAAD,qBAAC;CAA9B;;AC5CA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet.js","sources":["ng://@taiga-ui/addon-mobile/components/sheet/ios.hacks.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-heading/sheet-heading.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.providers.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-bar/sheet-bar.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet-options.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.service.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheets-host/sheets-host.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-close/sheet-close.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-top/sheet-top.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.module.ts","ng://@taiga-ui/addon-mobile/components/sheet/taiga-ui-addon-mobile-components-sheet.ts"],"sourcesContent":["import {NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {concat, merge, Observable, race, timer, zip} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n map,\n mapTo,\n share,\n startWith,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function iosScrollFactory(\n element: HTMLElement,\n documentRef: Document,\n ngZone: NgZone,\n): Observable<number> {\n const load$ = typedFromEvent(element, `load`, {capture: true});\n const touchstart$ = typedFromEvent(element, `touchstart`, {passive: true});\n const touchmove$ = typedFromEvent(documentRef, `touchmove`, {passive: true});\n const touchend$ = typedFromEvent(documentRef, `touchend`);\n const scroll$ = typedFromEvent(element, `scroll`).pipe(map(() => element.scrollTop));\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY} = touches[0];\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(([{touches}]) => scrollTop + screenY - touches[0].screenY),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(v => !v));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n mapTo(false),\n );\n\n return touchstart$.pipe(\n switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))),\n startWith(false),\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function fakeSmoothScroll({style}: HTMLElement, offset: number): void {\n style.transition = `none`;\n style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n setTimeout(() => {\n style.transition = ``;\n style.transform = ``;\n });\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_SHEET_CLOSE = 'tui-sheet-close';\nexport const TUI_SHEET_ID = 'tui-sheet-id';\n\n@Component({\n selector: '[tuiSheetHeading]',\n templateUrl: 'sheet-heading.template.html',\n styleUrls: ['sheet-heading.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n readonly id = this.idService.generate();\n\n constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {}\n\n ngAfterViewInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.id}),\n );\n }\n\n onClick(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, NgZone, Provider} from '@angular/core';\nimport {TUI_IS_IOS, tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {merge, Observable} from 'rxjs';\nimport {map, mapTo, share} from 'rxjs/operators';\n\nimport {iosScrollFactory} from '../../ios.hacks';\n\nexport const TUI_SHEET_SCROLL = new InjectionToken<number>(\n `Current scrollTop of a sheet`,\n);\n\nexport const TUI_SHEET_DRAGGED = new InjectionToken<boolean>(\n `The sheet is being dragged`,\n);\n\n/** @deprecated use option argument for each Sheet */\nexport const TUI_SHEET_OFFSET = new InjectionToken<number>(\n `Offset from the top at which the sheet stops`,\n {\n factory: () => 16,\n },\n);\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: sheetDraggedFactory,\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: sheetScrollFactory,\n },\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sheetDraggedFactory({\n nativeElement,\n}: ElementRef<HTMLElement>): Observable<boolean> {\n return merge(\n typedFromEvent(nativeElement, `touchstart`, {passive: true}).pipe(mapTo(true)),\n typedFromEvent(nativeElement, `touchend`).pipe(mapTo(false)),\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sheetScrollFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n ngZone: NgZone,\n documentRef: Document,\n isIos: boolean,\n): Observable<number> {\n return isIos\n ? iosScrollFactory(nativeElement, documentRef, ngZone)\n : merge(\n typedFromEvent(nativeElement, `scroll`),\n typedFromEvent(nativeElement, `load`, {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(ngZone),\n share(),\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY, TUI_IS_IOS, tuiPure, tuiZonefull} from '@taiga-ui/cdk';\nimport {tuiSlideInTop} from '@taiga-ui/core';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {fakeSmoothScroll} from '../../ios.hacks';\nimport {TuiSheet} from '../../sheet';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS, TUI_SHEET_SCROLL} from './sheet.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-sheet',\n templateUrl: 'sheet.template.html',\n styleUrls: ['sheet.style.less'],\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'dialog',\n '[attr.aria-labelledby]': 'id',\n '[class._ios]': 'isIos',\n // '[class._stuck]': 'true', // Initially disable snapping for Firefox\n '[$.class._stuck]': 'stuck$',\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiSheetComponent<T> implements AfterViewInit {\n @ViewChild('sheet')\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren('stops')\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n item!: TuiSheet<T>;\n\n id = '';\n\n readonly stuck$ = this.scroll$.pipe(map(y => Math.floor(y) > this.contentTop));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n @tuiPure\n get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.ngZone)),\n };\n }\n\n @HostListener(TUI_SHEET_ID, ['$event.detail'])\n onId(id: string): void {\n this.id = id;\n }\n\n ngAfterViewInit(): void {\n const stops = [...this.stops, this.sheetTop, this.contentTop];\n\n this.elementRef.nativeElement.scrollTop = stops[this.item.initial];\n }\n\n scrollTo(top: number = this.sheetTop): void {\n const {nativeElement} = this.elementRef;\n\n if (this.isIos) {\n fakeSmoothScroll(nativeElement, top - nativeElement.scrollTop - 16);\n }\n\n nativeElement.scrollTo({top, behavior: 'smooth'});\n }\n\n close(): void {\n if (this.context.closeable) {\n this.context.$implicit.complete();\n }\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops\n .toArray()\n .map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, NgZone} from '@angular/core';\nimport {clamp} from '@taiga-ui/cdk';\nimport {tuiZonefulMap} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheetComponent} from '../sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../sheet/sheet.providers';\n\n@Component({\n selector: 'tui-sheet-bar',\n templateUrl: 'sheet-bar.template.html',\n styleUrls: ['sheet-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetBarComponent {\n readonly rotate$ = this.scroll$.pipe(\n tuiZonefulMap(y => clamp(10 - (y - this.stop) / 5, 0, 10), this.ngZone),\n );\n\n constructor(\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {}\n\n private get stop(): number {\n return this.sheet.stops[0] ?? 0;\n }\n}\n","import {inject, InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SHEET_OFFSET} from './components/sheet/sheet.providers';\nimport {TuiSheet} from './sheet';\n\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly stops: readonly string[];\n readonly initial: number;\n readonly offset: number;\n readonly closeable: boolean;\n readonly overlay: boolean;\n readonly data: I;\n}\n\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: ``,\n imageSlide: true,\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n overlay: false,\n};\n\nexport const TUI_SHEET_OPTIONS = new InjectionToken<Omit<TuiSheetOptions, 'data'>>(\n `Default parameters for sheet component`,\n {\n factory: () => ({...TUI_SHEET_DEFAULT_OPTIONS, offset: inject(TUI_SHEET_OFFSET)}),\n },\n);\n","import {Inject, Injectable} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\n\nimport {TuiSheet} from './sheet';\nimport {TUI_SHEET_OPTIONS, TuiSheetOptions} from './sheet-options';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSheetService {\n readonly sheets$ = new BehaviorSubject<Array<TuiSheet<any, any>>>([]);\n\n constructor(@Inject(TUI_SHEET_OPTIONS) private readonly options: TuiSheetOptions) {}\n\n open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable($implicit => {\n const completeWith = (result: G): void => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter(item => item !== sheet));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_WINDOW_HEIGHT} from '@taiga-ui/cdk';\nimport {TUI_ANIMATION_OPTIONS, tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\n\n// @dynamic\n@Component({\n selector: 'tui-sheets-host',\n templateUrl: 'sheets-host.template.html',\n styleUrls: ['sheets-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiSheetsHostComponent {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) readonly options: AnimationOptions,\n @Inject(TuiSheetService) readonly service: TuiSheetService,\n @Inject(TUI_WINDOW_HEIGHT) readonly height$: Observable<number>,\n ) {}\n\n close({closeable, $implicit}: TuiSheet<unknown>): void {\n if (closeable) {\n $implicit.complete();\n }\n }\n}\n","import {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiZonefull, typedFromEvent} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {distinctUntilChanged, filter, startWith, switchMap} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\n\n// @dynamic\n@Directive({\n selector: 'tui-sheet[close]',\n})\nexport class TuiSheetCloseDirective {\n @Output()\n readonly close: Observable<unknown> = merge(\n typedFromEvent(this.elementRef.nativeElement, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n startWith(false),\n switchMap(dragged =>\n dragged\n ? EMPTY\n : this.scroll$.pipe(\n startWith(this.elementRef.nativeElement.scrollTop),\n ),\n ),\n filter(y => this.sheet.item?.closeable && this.shouldClose(y)),\n distinctUntilChanged(),\n tuiZonefull(this.ngZone),\n ),\n );\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_SHEET_DRAGGED) private readonly dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n ) {}\n\n private shouldClose(scrollTop: number): boolean {\n const height = Math.min(\n this.windowRef.innerHeight,\n this.elementRef.nativeElement.scrollHeight - this.windowRef.innerHeight,\n );\n const min = Math.min(height, this.sheet.stops[0] || Infinity);\n\n return scrollTop < min / 2;\n }\n}\n","import {Directive, ElementRef, Inject} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\n\n@Directive({\n selector: '[tuiSheetStop]',\n providers: [TuiDestroyService],\n})\nexport class TuiSheetStopDirective {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_SHEET_DRAGGED) dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) scroll$: Observable<number>,\n @Inject(TUI_SCROLL_REF) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n scroll$\n .pipe(\n map(y => Math.floor(y) > elementRef.nativeElement.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(dragged$),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.style.overflow = 'hidden';\n nativeElement.classList.remove('_stuck'); // iOS\n nativeElement.scrollTop = elementRef.nativeElement.offsetTop;\n\n setTimeout(() => {\n nativeElement.style.overflow = '';\n }, 100);\n });\n }\n}\n","import {Directive, forwardRef, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../../components/sheet/sheet.providers';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetTop]',\n host: {\n '[$.style.transform]': 'transform$',\n '($.style.transform)': 'transform$',\n '[$.class._rounded]': 'rounded$',\n '($.class._rounded)': 'rounded$',\n '[$.class._clickthrough]': 'clickthrough$',\n '($.class._clickthrough)': 'clickthrough$',\n },\n})\nexport class TuiSheetTopDirective {\n @Input('tuiSheetTop')\n @tuiDefaultProp()\n stop = 0;\n\n readonly transform$ = this.scroll$.pipe(\n map(y => `translateY(${this.getY(y)}%) scaleX(-1)`),\n );\n\n readonly rounded$ = this.scroll$.pipe(map(y => y < this.stop + OFFSET));\n\n readonly clickthrough$ = this.scroll$.pipe(map(y => !!Math.round(this.getY(y))));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(forwardRef(() => TuiSheetComponent))\n private readonly component: TuiSheetComponent<unknown>,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.windowRef.innerHeight - this.component.item.offset - this.stop;\n\n return this.stop && clamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {ContentChild, Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiPure} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {processDragged} from '../../ios.hacks';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetWrapper]',\n host: {\n '[$.class._overlay]': 'overlay$',\n '($.class._overlay)': 'overlay$',\n '[$.class._visible]': 'visible$',\n '($.class._visible)': 'visible$',\n '[$.style.height.px]': 'height$',\n '($.style.height.px)': 'height$',\n },\n})\nexport class TuiSheetWrapperDirective {\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL})\n private readonly scroll$!: Observable<number>;\n\n @Input()\n tuiSheetWrapper = 16;\n\n // Trying to get overflow: visible as early as possible for Safari\n touched = false;\n\n constructor(@Inject(WINDOW) private readonly windowRef: Window) {}\n\n @tuiPure\n get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map(y => y + 16 > this.windowRef.innerHeight - this.tuiSheetWrapper),\n );\n }\n\n @tuiPure\n get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$);\n }\n\n @tuiPure\n get height$(): Observable<number | null> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number | null {\n return this.sheet?.context.overlay\n ? null\n : clamp(this.withImage(value) + OFFSET, OFFSET, this.windowRef.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n Inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {TuiSheet} from './sheet';\nimport {TuiSheetService} from './sheet.service';\nimport {TuiSheetOptions} from './sheet-options';\n\n@Directive({\n selector: 'ng-template[tuiSheet]',\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiSheetOptions')\n @tuiDefaultProp()\n options: Partial<TuiSheetOptions> = {};\n\n @Input()\n @tuiRequiredSetter()\n set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiSheetChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiSheet<never>>,\n @Inject(TuiSheetService) private readonly service: TuiSheetService,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLetModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiButtonModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["OFFSET"],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ var TuiThemeAndroidComponent = /** @class */ (function (_super) {
|
|
|
10
10
|
}
|
|
11
11
|
TuiThemeAndroidComponent = __decorate([
|
|
12
12
|
Component({
|
|
13
|
-
selector:
|
|
14
|
-
template:
|
|
13
|
+
selector: 'tui-theme-android',
|
|
14
|
+
template: '',
|
|
15
15
|
encapsulation: ViewEncapsulation.None,
|
|
16
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
17
|
styles: ["body{-ms-scroll-chaining:none;overscroll-behavior:none}*{outline:0;scrollbar-width:none;-webkit-tap-highlight-color:transparent}[contenteditable] *,input,textarea{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}::-moz-selection{background-color:transparent}::selection{background-color:transparent}.tui-island{padding:1rem;border-radius:.125rem;box-shadow:0 0 .125rem rgba(0,0,0,.2),0 .0625rem .125rem rgba(0,0,0,.2)}.tui-island:before{display:none}a[tuiButton],a[tuiIconButton],button[tuiButton],button[tuiIconButton]{font-size:.875rem!important;font-weight:500;text-transform:uppercase;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-android.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.component.ts","ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.module.ts","ng://@taiga-ui/addon-mobile/components/theme-android/taiga-ui-addon-mobile-components-theme-android.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-android.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.component.ts","ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.module.ts","ng://@taiga-ui/addon-mobile/components/theme-android/taiga-ui-addon-mobile-components-theme-android.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-android',\n styleUrls: ['./theme-android.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeAndroidComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\n\nimport {TuiThemeAndroidComponent} from './theme-android.component';\n\n@NgModule({\n declarations: [TuiThemeAndroidComponent],\n exports: [TuiThemeAndroidComponent],\n})\nexport class TuiThemeAndroidModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;IAQ8C,4CAAwB;IAAtE;;KAAyE;IAA5D,wBAAwB;QAPpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAE7B,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;YACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;OACW,wBAAwB,CAAoC;IAAD,+BAAC;CAAA,CAA3B,wBAAwB;;;ICHtE;KAAqC;IAAxB,qBAAqB;QAJjC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACRA;;;;;;"}
|
|
@@ -10,8 +10,8 @@ var TuiThemeIosComponent = /** @class */ (function (_super) {
|
|
|
10
10
|
}
|
|
11
11
|
TuiThemeIosComponent = __decorate([
|
|
12
12
|
Component({
|
|
13
|
-
selector:
|
|
14
|
-
template:
|
|
13
|
+
selector: 'tui-theme-ios',
|
|
14
|
+
template: '',
|
|
15
15
|
encapsulation: ViewEncapsulation.None,
|
|
16
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
17
|
styles: ["html{touch-action:manipulation}body{-ms-scroll-chaining:none;overscroll-behavior:none}*{outline:0;scrollbar-width:none;-webkit-tap-highlight-color:transparent}[contenteditable] *,input,textarea{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}::-moz-selection{background-color:transparent}::selection{background-color:transparent}.tui-island{padding:1rem;border-radius:.75rem;box-shadow:0 .625rem 1.875rem rgba(0,0,0,.2)}.tui-island:before{display:none}a[tuiButton],a[tuiIconButton],button[tuiButton],button[tuiIconButton]{border-radius:.5rem;font-size:1.0625rem!important;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-ios.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.component.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.module.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/taiga-ui-addon-mobile-components-theme-ios.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-ios.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.component.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.module.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/taiga-ui-addon-mobile-components-theme-ios.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-ios',\n styleUrls: ['./theme-ios.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeIosComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\n\nimport {TuiThemeIosComponent} from './theme-ios.component';\n\n@NgModule({\n declarations: [TuiThemeIosComponent],\n exports: [TuiThemeIosComponent],\n})\nexport class TuiThemeIosModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;IAQ0C,wCAAwB;IAAlE;;KAAqE;IAAxD,oBAAoB;QAPhC,SAAS,CAAC;YACP,QAAQ,EAAE,eAAe;YAEzB,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;YACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;OACW,oBAAoB,CAAoC;IAAD,2BAAC;CAAA,CAA3B,wBAAwB;;;ICHlE;KAAiC;IAApB,iBAAiB;QAJ7B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;YACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC;OACW,iBAAiB,CAAG;IAAD,wBAAC;CAAjC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-const.js","sources":["ng://@taiga-ui/addon-mobile/const/mobile-alert-options.ts","ng://@taiga-ui/addon-mobile/const/taiga-ui-addon-mobile-const.ts"],"sourcesContent":["import {TuiDialogOptions} from '@taiga-ui/core';\n\nexport type TuiMobileAlertOptions = Omit<\n TuiDialogOptions<unknown>,\n 'data' | '
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-const.js","sources":["ng://@taiga-ui/addon-mobile/const/mobile-alert-options.ts","ng://@taiga-ui/addon-mobile/const/taiga-ui-addon-mobile-const.ts"],"sourcesContent":["import {TuiDialogOptions} from '@taiga-ui/core';\n\nexport type TuiMobileAlertOptions = Omit<\n TuiDialogOptions<unknown>,\n 'data' | 'dismissible' | 'header' | 'label' | 'required'\n>;\n\nconst MOBILE_ALERT_OPTIONS: TuiMobileAlertOptions = {\n size: `fullscreen`,\n closeable: false,\n};\n\nexport type TuiIosAlertOptions = Omit<\n TuiDialogOptions<unknown>,\n 'data' | 'header' | 'label' | 'required'\n>;\n\nexport const TUI_IOS_ALERT_OPTIONS: TuiIosAlertOptions = {\n dismissible: false,\n ...MOBILE_ALERT_OPTIONS,\n};\n\nexport type TuiAndroidAlertOptions = TuiIosAlertOptions;\n\nexport const TUI_ANDROID_ALERT_OPTIONS: TuiAndroidAlertOptions = {\n dismissible: true,\n ...MOBILE_ALERT_OPTIONS,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOA,IAAM,oBAAoB,GAA0B;IAChD,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,KAAK;CACnB,CAAC;IAOW,qBAAqB,cAC9B,WAAW,EAAE,KAAK,IACf,oBAAoB,EACzB;IAIW,yBAAyB,cAClC,WAAW,EAAE,IAAI,IACd,oBAAoB;;AC1B3B;;;;;;"}
|
|
@@ -68,8 +68,8 @@ var TuiElasticStickyDirective = /** @class */ (function () {
|
|
|
68
68
|
], TuiElasticStickyDirective.prototype, "tuiElasticSticky", void 0);
|
|
69
69
|
TuiElasticStickyDirective = __decorate([
|
|
70
70
|
Directive({
|
|
71
|
-
selector:
|
|
72
|
-
exportAs:
|
|
71
|
+
selector: '[tuiElasticSticky]',
|
|
72
|
+
exportAs: 'tuiElasticSticky',
|
|
73
73
|
providers: [TuiElasticStickyService, TuiDestroyService],
|
|
74
74
|
}),
|
|
75
75
|
__param(0, Inject(TuiElasticStickyService))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n getElementOffset,\n TuiDestroyService,\n tuiZoneOptimized,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {SCROLL_REF_SELECTOR, TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable()\nexport class TuiElasticStickyService extends Observable<number> {\n constructor(\n @Optional()\n @Inject(TUI_SCROLL_REF)\n scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n super(subscriber =>\n ngZone.onStable\n .pipe(\n take(1),\n switchMap(() => {\n const closest = nativeElement.closest(SCROLL_REF_SELECTOR);\n const host = scrollRef?.nativeElement ?? closest;\n const {offsetHeight} = nativeElement;\n const offsetTop = this.getInitialOffset(\n host || windowRef,\n nativeElement,\n );\n\n return typedFromEvent(host || windowRef, `scroll`).pipe(\n map(() =>\n Math.max(\n 1 -\n Math.max(\n Math.round(\n host\n ? host.scrollTop\n : windowRef.pageYOffset,\n ) - offsetTop,\n 0,\n ) /\n offsetHeight,\n 0,\n ),\n ),\n );\n }),\n startWith(1),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n // TODO: iframe warning\n return host instanceof Element\n ? getElementOffset(host, element).offsetTop\n : element.getBoundingClientRect().top;\n }\n}\n","import {Directive, Inject, Output} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nimport {TuiElasticStickyService} from './elastic-sticky.service';\n\n@Directive({\n selector:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n getElementOffset,\n TuiDestroyService,\n tuiZoneOptimized,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {SCROLL_REF_SELECTOR, TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable()\nexport class TuiElasticStickyService extends Observable<number> {\n constructor(\n @Optional()\n @Inject(TUI_SCROLL_REF)\n scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n super(subscriber =>\n ngZone.onStable\n .pipe(\n take(1),\n switchMap(() => {\n const closest = nativeElement.closest(SCROLL_REF_SELECTOR);\n const host = scrollRef?.nativeElement ?? closest;\n const {offsetHeight} = nativeElement;\n const offsetTop = this.getInitialOffset(\n host || windowRef,\n nativeElement,\n );\n\n return typedFromEvent(host || windowRef, `scroll`).pipe(\n map(() =>\n Math.max(\n 1 -\n Math.max(\n Math.round(\n host\n ? host.scrollTop\n : windowRef.pageYOffset,\n ) - offsetTop,\n 0,\n ) /\n offsetHeight,\n 0,\n ),\n ),\n );\n }),\n startWith(1),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n // TODO: iframe warning\n return host instanceof Element\n ? getElementOffset(host, element).offsetTop\n : element.getBoundingClientRect().top;\n }\n}\n","import {Directive, Inject, Output} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nimport {TuiElasticStickyService} from './elastic-sticky.service';\n\n@Directive({\n selector: '[tuiElasticSticky]',\n exportAs: 'tuiElasticSticky',\n providers: [TuiElasticStickyService, TuiDestroyService],\n})\nexport class TuiElasticStickyDirective {\n @Output()\n readonly tuiElasticSticky: Observable<number>;\n\n constructor(\n @Inject(TuiElasticStickyService) elasticStickyService: TuiElasticStickyService,\n ) {\n this.tuiElasticSticky = elasticStickyService;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElasticStickyDirective} from './elastic-sticky.directive';\n\n@NgModule({\n declarations: [TuiElasticStickyDirective],\n exports: [TuiElasticStickyDirective],\n})\nexport class TuiElasticStickyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ var TuiMobileTabsComponent = /** @class */ (function () {
|
|
|
8
8
|
}
|
|
9
9
|
TuiMobileTabsComponent = __decorate([
|
|
10
10
|
Component({
|
|
11
|
-
template:
|
|
11
|
+
template: '',
|
|
12
12
|
encapsulation: ViewEncapsulation.None,
|
|
13
13
|
styles: ["[tuiMobileTabs] tui-tabs[data-platform=android],tui-tabs[tuiMobileTabs][data-platform=android]{height:auto}[tuiMobileTabs] tui-tabs[data-platform=android] tui-underline,tui-tabs[tuiMobileTabs][data-platform=android] tui-underline{box-shadow:inset 0 -.1875rem var(--tui-link)}[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab],tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab]{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab]:hover,tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab]:hover{box-shadow:none}[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab]._active,tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab]._active{opacity:1;color:var(--tui-base-09)}[tuiMobileTabs] tui-tabs[data-platform=ios],tui-tabs[tuiMobileTabs][data-platform=ios]{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}[tuiMobileTabs] tui-tabs[data-platform=ios] tui-underline,tui-tabs[tuiMobileTabs][data-platform=ios] tui-underline{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab],tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab]{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab]:hover,tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab]:hover{box-shadow:none}[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab]._active,tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab]._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}"]
|
|
14
14
|
})
|
|
@@ -26,10 +26,10 @@ var TuiMobileTabsDirective = /** @class */ (function () {
|
|
|
26
26
|
Object.defineProperty(TuiMobileTabsDirective.prototype, "platform", {
|
|
27
27
|
get: function () {
|
|
28
28
|
if (this.isIos) {
|
|
29
|
-
return
|
|
29
|
+
return 'ios';
|
|
30
30
|
}
|
|
31
31
|
if (this.isAndroid) {
|
|
32
|
-
return
|
|
32
|
+
return 'android';
|
|
33
33
|
}
|
|
34
34
|
return null;
|
|
35
35
|
},
|
|
@@ -42,11 +42,11 @@ var TuiMobileTabsDirective = /** @class */ (function () {
|
|
|
42
42
|
{ type: TuiDirectiveStylesService, decorators: [{ type: Inject, args: [TuiDirectiveStylesService,] }] }
|
|
43
43
|
]; };
|
|
44
44
|
__decorate([
|
|
45
|
-
HostBinding(
|
|
45
|
+
HostBinding('attr.data-platform')
|
|
46
46
|
], TuiMobileTabsDirective.prototype, "platform", null);
|
|
47
47
|
TuiMobileTabsDirective = __decorate([
|
|
48
48
|
Directive({
|
|
49
|
-
selector:
|
|
49
|
+
selector: '[tuiMobileTabs]',
|
|
50
50
|
providers: [
|
|
51
51
|
{
|
|
52
52
|
provide: TUI_TAB_MARGIN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-mobile-tabs.js","sources":["ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.component.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.directive.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.module.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/taiga-ui-addon-mobile-directives-mobile-tabs.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-mobile-tabs.js","sources":["ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.component.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.directive.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/mobile-tabs.module.ts","ng://@taiga-ui/addon-mobile/directives/mobile-tabs/taiga-ui-addon-mobile-directives-mobile-tabs.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: '',\n styleUrls: ['mobile-tabs.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiMobileTabsComponent {}\n","import {Directive, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_ANDROID, TUI_IS_IOS, TuiDirectiveStylesService} from '@taiga-ui/cdk';\nimport {TUI_TAB_MARGIN} from '@taiga-ui/kit';\n\nimport {TuiMobileTabsComponent} from './mobile-tabs.component';\n\n// @dynamic\n@Directive({\n selector: '[tuiMobileTabs]',\n providers: [\n {\n provide: TUI_TAB_MARGIN,\n useValue: 0,\n },\n ],\n})\nexport class TuiMobileTabsDirective {\n constructor(\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(TUI_IS_ANDROID) private readonly isAndroid: boolean,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiMobileTabsComponent);\n }\n\n @HostBinding('attr.data-platform')\n get platform(): 'android' | 'ios' | null {\n if (this.isIos) {\n return 'ios';\n }\n\n if (this.isAndroid) {\n return 'android';\n }\n\n return null;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMobileTabsComponent} from './mobile-tabs.component';\nimport {TuiMobileTabsDirective} from './mobile-tabs.directive';\n\n@NgModule({\n declarations: [TuiMobileTabsDirective, TuiMobileTabsComponent],\n exports: [TuiMobileTabsDirective, TuiMobileTabsComponent],\n entryComponents: [TuiMobileTabsComponent],\n})\nexport class TuiMobileTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IAOA;KAAsC;IAAzB,sBAAsB;QALlC,SAAS,CAAC;YACP,QAAQ,EAAE,EAAE;YAEZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACDA;;IAWI,gCACyC,KAAc,EACV,SAAkB,EACxB,eAA0C;QAFxC,UAAK,GAAL,KAAK,CAAS;QACV,cAAS,GAAT,SAAS,CAAS;QAG3D,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;KACxD;IAGD,sBAAI,4CAAQ;aAAZ;YACI,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YAED,OAAO,IAAI,CAAC;SACf;;;OAAA;;8CAlBI,MAAM,SAAC,UAAU;8CACjB,MAAM,SAAC,cAAc;gBAC8B,yBAAyB,uBAA5E,MAAM,SAAC,yBAAyB;;IAMrC;QADC,WAAW,CAAC,oBAAoB,CAAC;0DAWjC;IApBQ,sBAAsB;QATlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,cAAc;oBACvB,QAAQ,EAAE,CAAC;iBACd;aACJ;SACJ,CAAC;QAGO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QACtB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;OAJ7B,sBAAsB,CAqBlC;IAAD,6BAAC;CArBD;;;ICNA;KAAmC;IAAtB,mBAAmB;QAL/B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;YAC9D,OAAO,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;YACzD,eAAe,EAAE,CAAC,sBAAsB,CAAC;SAC5C,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACVA;;;;;;"}
|