@taiga-ui/addon-mobile 3.28.0 → 3.29.0-dev.main-a03aa4f
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-pull-to-refresh.umd.js +228 -114
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile.umd.js +4 -10
- package/bundles/taiga-ui-addon-mobile.umd.js.map +1 -1
- package/components/pull-to-refresh/index.d.ts +1 -0
- package/components/pull-to-refresh/loader-android/loader-android.component.d.ts +11 -3
- package/components/pull-to-refresh/loader-ios/loader-ios.component.d.ts +8 -2
- package/components/pull-to-refresh/pull-to-refresh.component.d.ts +8 -6
- package/components/pull-to-refresh/pull-to-refresh.module.d.ts +2 -1
- package/components/pull-to-refresh/pull-to-refresh.providers.d.ts +17 -6
- package/components/pull-to-refresh/pull-to-refresh.service.d.ts +15 -0
- package/esm2015/components/pull-to-refresh/index.js +2 -1
- package/esm2015/components/pull-to-refresh/loader-android/loader-android.component.js +38 -14
- package/esm2015/components/pull-to-refresh/loader-ios/loader-ios.component.js +23 -13
- package/esm2015/components/pull-to-refresh/pull-to-refresh.component.js +29 -32
- package/esm2015/components/pull-to-refresh/pull-to-refresh.module.js +21 -4
- package/esm2015/components/pull-to-refresh/pull-to-refresh.providers.js +26 -29
- package/esm2015/components/pull-to-refresh/pull-to-refresh.service.js +51 -0
- package/esm2015/index.js +1 -2
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +184 -100
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile.js +0 -1
- package/fesm2015/taiga-ui-addon-mobile.js.map +1 -1
- package/index.d.ts +0 -1
- package/package.json +4 -4
- package/bundles/taiga-ui-addon-mobile-tokens.umd.js +0 -23
- package/bundles/taiga-ui-addon-mobile-tokens.umd.js.map +0 -1
- package/esm2015/tokens/index.js +0 -2
- package/esm2015/tokens/loaded.js +0 -9
- package/esm2015/tokens/taiga-ui-addon-mobile-tokens.js +0 -5
- package/fesm2015/taiga-ui-addon-mobile-tokens.js +0 -16
- package/fesm2015/taiga-ui-addon-mobile-tokens.js.map +0 -1
- package/tokens/index.d.ts +0 -1
- package/tokens/loaded.d.ts +0 -6
- package/tokens/package.json +0 -10
- package/tokens/taiga-ui-addon-mobile-tokens.d.ts +0 -5
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
2
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
+
import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
|
|
3
|
+
import { TUI_PULL_TO_REFRESH_THRESHOLD } from '../pull-to-refresh.providers';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@taiga-ui/cdk";
|
|
5
6
|
import * as i2 from "@angular/common";
|
|
6
7
|
const LOADED_STEP = 8;
|
|
7
8
|
const ROTATE_X_STEP = 30;
|
|
8
9
|
export class TuiMobileLoaderIOSComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.
|
|
10
|
+
constructor(context, threshold) {
|
|
11
|
+
this.context = context;
|
|
12
|
+
this.threshold = threshold;
|
|
11
13
|
this.steps = 12;
|
|
12
14
|
}
|
|
13
15
|
get finished() {
|
|
14
|
-
return this.
|
|
16
|
+
return this.percent >= 100;
|
|
17
|
+
}
|
|
18
|
+
get percent() {
|
|
19
|
+
return (this.context.$implicit * 100) / this.threshold;
|
|
15
20
|
}
|
|
16
21
|
isShown(index) {
|
|
17
|
-
return this.
|
|
22
|
+
return this.percent > (index + 1) * LOADED_STEP;
|
|
18
23
|
}
|
|
19
24
|
calculateTransform(index) {
|
|
20
25
|
return `rotate(${index * ROTATE_X_STEP} 50 50)`;
|
|
@@ -23,17 +28,22 @@ export class TuiMobileLoaderIOSComponent {
|
|
|
23
28
|
return `${(index * LOADED_STEP) / 100}s`;
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
|
-
TuiMobileLoaderIOSComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiMobileLoaderIOSComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
TuiMobileLoaderIOSComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMobileLoaderIOSComponent, selector: "tui-mobile-ios-loader",
|
|
31
|
+
TuiMobileLoaderIOSComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiMobileLoaderIOSComponent, deps: [{ token: POLYMORPHEUS_CONTEXT }, { token: TUI_PULL_TO_REFRESH_THRESHOLD }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
TuiMobileLoaderIOSComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMobileLoaderIOSComponent, selector: "tui-mobile-ios-loader", ngImport: i0, template: "<svg\n width=\"36\"\n height=\"36\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid\"\n>\n <ng-container *tuiRepeatTimes=\"let index of steps\">\n <g\n *ngIf=\"isShown(index)\"\n [attr.transform]=\"calculateTransform(index)\"\n >\n <rect\n x=\"47\"\n y=\"22\"\n rx=\"7.05\"\n ry=\"3.3\"\n width=\"6\"\n height=\"16\"\n fill=\"#c7c9cc\"\n >\n <animate\n *ngIf=\"finished\"\n attributeName=\"opacity\"\n values=\"1;0\"\n keyTimes=\"0;1\"\n dur=\"1s\"\n repeatCount=\"indefinite\"\n [attr.begin]=\"calculateAnimationBegin(index)\"\n ></animate>\n </rect>\n </g>\n </ng-container>\n</svg>\n", styles: [":host{position:absolute;top:-.5rem;left:50%;margin-left:-1.125rem}\n"], directives: [{ type: i1.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiMobileLoaderIOSComponent, decorators: [{
|
|
29
34
|
type: Component,
|
|
30
35
|
args: [{
|
|
31
36
|
selector: 'tui-mobile-ios-loader',
|
|
32
37
|
templateUrl: './loader-ios.template.html',
|
|
38
|
+
styleUrls: ['./loader-ios.style.less'],
|
|
33
39
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
|
-
providers: [TuiDestroyService],
|
|
35
40
|
}]
|
|
36
|
-
}],
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [POLYMORPHEUS_CONTEXT]
|
|
44
|
+
}] }, { type: undefined, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [TUI_PULL_TO_REFRESH_THRESHOLD]
|
|
47
|
+
}] }]; } });
|
|
48
|
+
export const TUI_IOS_LOADER = new PolymorpheusComponent(TuiMobileLoaderIOSComponent);
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWlvcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9wdWxsLXRvLXJlZnJlc2gvbG9hZGVyLWlvcy9sb2FkZXItaW9zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaC9sb2FkZXItaW9zL2xvYWRlci1pb3MudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUUzRSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFFcUIsT0FBdUMsRUFDQSxTQUFpQjtRQUR4RCxZQUFPLEdBQVAsT0FBTyxDQUFnQztRQUNBLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFMcEUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQU1qQixDQUFDO0lBRUosSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDcEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDNUIsT0FBTyxVQUFVLEtBQUssR0FBRyxhQUFhLFNBQVMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYTtRQUNqQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDN0MsQ0FBQzs7eUhBM0JRLDJCQUEyQixrQkFJeEIsb0JBQW9CLGFBRXBCLDZCQUE2Qjs2R0FOaEMsMkJBQTJCLDZEQ2Z4Qyw2aENBbUNBOzRGRHBCYSwyQkFBMkI7a0JBTnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBS1EsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixNQUFNOzJCQUFDLDZCQUE2Qjs7QUF3QjdDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLDJCQUEyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVCwgUG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9QVUxMX1RPX1JFRlJFU0hfVEhSRVNIT0xEfSBmcm9tICcuLi9wdWxsLXRvLXJlZnJlc2gucHJvdmlkZXJzJztcblxuY29uc3QgTE9BREVEX1NURVAgPSA4O1xuY29uc3QgUk9UQVRFX1hfU1RFUCA9IDMwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb2JpbGUtaW9zLWxvYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlci1pb3MudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLWlvcy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUxvYWRlcklPU0NvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgc3RlcHMgPSAxMjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChUVUlfUFVMTF9UT19SRUZSRVNIX1RIUkVTSE9MRCkgcHJpdmF0ZSByZWFkb25seSB0aHJlc2hvbGQ6IG51bWJlcixcbiAgICApIHt9XG5cbiAgICBnZXQgZmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcmNlbnQgPj0gMTAwO1xuICAgIH1cblxuICAgIGdldCBwZXJjZW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb250ZXh0LiRpbXBsaWNpdCAqIDEwMCkgLyB0aGlzLnRocmVzaG9sZDtcbiAgICB9XG5cbiAgICBpc1Nob3duKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyY2VudCA+IChpbmRleCArIDEpICogTE9BREVEX1NURVA7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlVHJhbnNmb3JtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHJvdGF0ZSgke2luZGV4ICogUk9UQVRFX1hfU1RFUH0gNTAgNTApYDtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVBbmltYXRpb25CZWdpbihpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAkeyhpbmRleCAqIExPQURFRF9TVEVQKSAvIDEwMH1zYDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfSU9TX0xPQURFUiA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoVHVpTW9iaWxlTG9hZGVySU9TQ29tcG9uZW50KTtcbiIsIjxzdmdcbiAgICB3aWR0aD1cIjM2XCJcbiAgICBoZWlnaHQ9XCIzNlwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIlxuICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqdHVpUmVwZWF0VGltZXM9XCJsZXQgaW5kZXggb2Ygc3RlcHNcIj5cbiAgICAgICAgPGdcbiAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93bihpbmRleClcIlxuICAgICAgICAgICAgW2F0dHIudHJhbnNmb3JtXT1cImNhbGN1bGF0ZVRyYW5zZm9ybShpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICAgIHg9XCI0N1wiXG4gICAgICAgICAgICAgICAgeT1cIjIyXCJcbiAgICAgICAgICAgICAgICByeD1cIjcuMDVcIlxuICAgICAgICAgICAgICAgIHJ5PVwiMy4zXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjZcIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiI2M3YzljY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaW5pc2hlZFwiXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJvcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMTswXCJcbiAgICAgICAgICAgICAgICAgICAga2V5VGltZXM9XCIwOzFcIlxuICAgICAgICAgICAgICAgICAgICBkdXI9XCIxc1wiXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmJlZ2luXT1cImNhbGN1bGF0ZUFuaW1hdGlvbkJlZ2luKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPjwvYW5pbWF0ZT5cbiAgICAgICAgICAgIDwvcmVjdD5cbiAgICAgICAgPC9nPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zdmc+XG4iXX0=
|
|
@@ -1,40 +1,31 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { ChangeDetectionStrategy, Component, Inject, Output } from '@angular/core';
|
|
3
|
-
import { TUI_IS_IOS
|
|
2
|
+
import { TUI_IS_IOS } from '@taiga-ui/cdk';
|
|
4
3
|
import { of } from 'rxjs';
|
|
5
4
|
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
6
|
-
import {
|
|
5
|
+
import { TUI_IOS_LOADER } from './loader-ios/loader-ios.component';
|
|
6
|
+
import { TUI_PULL_TO_REFRESH_COMPONENT, TUI_PULL_TO_REFRESH_THRESHOLD, } from './pull-to-refresh.providers';
|
|
7
|
+
import { MICRO_OFFSET, TuiPullToRefreshService } from './pull-to-refresh.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
-
import * as i2 from "
|
|
10
|
-
import * as i3 from "@
|
|
11
|
-
import * as i4 from "
|
|
12
|
-
import * as i5 from "rxjs";
|
|
13
|
-
const IOS_LOADING_DISTANCE = PULLED_DISTANCE / 2;
|
|
14
|
-
const ANDROID_MAX_DISTANCE = PULLED_DISTANCE * 1.5;
|
|
15
|
-
function translateY(distance) {
|
|
16
|
-
return `translateY(${distance}px)`;
|
|
17
|
-
}
|
|
9
|
+
import * as i1 from "@taiga-ui/cdk";
|
|
10
|
+
import * as i2 from "@tinkoff/ng-polymorpheus";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
import * as i4 from "rxjs";
|
|
18
13
|
export class TuiPullToRefreshComponent {
|
|
19
|
-
constructor(isIOS, pulling$) {
|
|
14
|
+
constructor(isIOS, threshold, component, pulling$) {
|
|
20
15
|
this.isIOS = isIOS;
|
|
16
|
+
this.threshold = threshold;
|
|
17
|
+
this.component = component;
|
|
21
18
|
this.pulling$ = pulling$;
|
|
22
|
-
this.pulled = this.pulling$.pipe(distinctUntilChanged(), filter(distance => distance ===
|
|
23
|
-
|
|
24
|
-
this.dropped$ = this.pulling$.pipe(map(distance => distance <= MICRO_OFFSET || distance ===
|
|
25
|
-
this.contentTransform$ = this.isIOS
|
|
26
|
-
? this.pulling$.pipe(map(distance => distance
|
|
19
|
+
this.pulled = this.pulling$.pipe(distinctUntilChanged(), filter(distance => distance === this.threshold));
|
|
20
|
+
// TODO: Move to iOS loader somehow, like contentTransform$ below
|
|
21
|
+
this.dropped$ = this.pulling$.pipe(map(distance => distance <= MICRO_OFFSET || distance === this.threshold), distinctUntilChanged());
|
|
22
|
+
this.contentTransform$ = this.isIOS && this.component === TUI_IOS_LOADER
|
|
23
|
+
? this.pulling$.pipe(map(distance => `translateY(${distance / 2}px)`))
|
|
27
24
|
: of(null);
|
|
28
25
|
}
|
|
29
|
-
get loaderTransform$() {
|
|
30
|
-
return this.pulling$.pipe(map(distance => translateY(Math.min(distance, ANDROID_MAX_DISTANCE))));
|
|
31
|
-
}
|
|
32
26
|
}
|
|
33
|
-
TuiPullToRefreshComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshComponent, deps: [{ token: TUI_IS_IOS }, { token:
|
|
34
|
-
TuiPullToRefreshComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPullToRefreshComponent, selector: "tui-pull-to-refresh", outputs: { pulled: "pulled" }, providers:
|
|
35
|
-
__decorate([
|
|
36
|
-
tuiPure
|
|
37
|
-
], TuiPullToRefreshComponent.prototype, "loaderTransform$", null);
|
|
27
|
+
TuiPullToRefreshComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshComponent, deps: [{ token: TUI_IS_IOS }, { token: TUI_PULL_TO_REFRESH_THRESHOLD }, { token: TUI_PULL_TO_REFRESH_COMPONENT }, { token: TuiPullToRefreshService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
TuiPullToRefreshComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPullToRefreshComponent, selector: "tui-pull-to-refresh", outputs: { pulled: "pulled" }, providers: [TuiPullToRefreshService], ngImport: i0, template: "<div\n tuiOverscroll\n [class.t-drop-animation]=\"dropped$ | async\"\n [style.transform]=\"contentTransform$ | async\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-container *polymorpheusOutlet=\"component; context: {$implicit: (pulling$ | async) || 0}\"></ng-container>\n", styles: [":host{position:relative;display:block;overflow:hidden}.t-drop-animation{transition:all var(--tui-duration) cubic-bezier(.4,0,.2,1)}\n"], directives: [{ type: i1.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshComponent, decorators: [{
|
|
39
30
|
type: Component,
|
|
40
31
|
args: [{
|
|
@@ -42,15 +33,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
42
33
|
templateUrl: './pull-to-refresh.template.html',
|
|
43
34
|
styleUrls: ['./pull-to-refresh.style.less'],
|
|
44
35
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
45
|
-
providers:
|
|
36
|
+
providers: [TuiPullToRefreshService],
|
|
46
37
|
}]
|
|
47
38
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
48
39
|
type: Inject,
|
|
49
40
|
args: [TUI_IS_IOS]
|
|
50
|
-
}] }, { type:
|
|
41
|
+
}] }, { type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [TUI_PULL_TO_REFRESH_THRESHOLD]
|
|
44
|
+
}] }, { type: undefined, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [TUI_PULL_TO_REFRESH_COMPONENT]
|
|
47
|
+
}] }, { type: i4.Observable, decorators: [{
|
|
51
48
|
type: Inject,
|
|
52
|
-
args: [
|
|
49
|
+
args: [TuiPullToRefreshService]
|
|
53
50
|
}] }]; }, propDecorators: { pulled: [{
|
|
54
51
|
type: Output
|
|
55
|
-
}]
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaC9wdWxsLXRvLXJlZnJlc2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvcHVsbC10by1yZWZyZXNoL3B1bGwtdG8tcmVmcmVzaC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsVUFBVSxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsNkJBQTZCLEdBQ2hDLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFTaEYsTUFBTSxPQUFPLHlCQUF5QjtJQWtCbEMsWUFDeUMsS0FBYyxFQUNLLFNBQWlCLEVBRWhFLFNBQThELEVBQzdCLFFBQTRCO1FBSmpDLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDSyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBRWhFLGNBQVMsR0FBVCxTQUFTLENBQXFEO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBckJqRSxXQUFNLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyRCxvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUNsRCxDQUFDO1FBRUYsaUVBQWlFO1FBQ3hELGFBQVEsR0FBd0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxZQUFZLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDeEUsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztRQUVPLHNCQUFpQixHQUN0QixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssY0FBYztZQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsY0FBYyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBUWhCLENBQUM7O3VIQXhCSyx5QkFBeUIsa0JBbUJ0QixVQUFVLGFBQ1YsNkJBQTZCLGFBQzdCLDZCQUE2QixhQUU3Qix1QkFBdUI7MkdBdkIxQix5QkFBeUIsNkVBRnZCLENBQUMsdUJBQXVCLENBQUMsMEJDbEJ4QywrUkFTQTs0RkRXYSx5QkFBeUI7a0JBUHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDdkM7OzBCQW9CUSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQ3BDLE1BQU07MkJBQUMsNkJBQTZCOzswQkFFcEMsTUFBTTsyQkFBQyx1QkFBdUI7NENBckIxQixNQUFNO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0lTX0lPUywgVHVpQ29udGV4dFdpdGhJbXBsaWNpdH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lPU19MT0FERVJ9IGZyb20gJy4vbG9hZGVyLWlvcy9sb2FkZXItaW9zLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIFRVSV9QVUxMX1RPX1JFRlJFU0hfQ09NUE9ORU5ULFxuICAgIFRVSV9QVUxMX1RPX1JFRlJFU0hfVEhSRVNIT0xELFxufSBmcm9tICcuL3B1bGwtdG8tcmVmcmVzaC5wcm92aWRlcnMnO1xuaW1wb3J0IHtNSUNST19PRkZTRVQsIFR1aVB1bGxUb1JlZnJlc2hTZXJ2aWNlfSBmcm9tICcuL3B1bGwtdG8tcmVmcmVzaC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHVsbC10by1yZWZyZXNoJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVsbC10by1yZWZyZXNoLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1bGwtdG8tcmVmcmVzaC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpUHVsbFRvUmVmcmVzaFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQdWxsVG9SZWZyZXNoQ29tcG9uZW50IHtcbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBwdWxsZWQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLnB1bGxpbmckLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcihkaXN0YW5jZSA9PiBkaXN0YW5jZSA9PT0gdGhpcy50aHJlc2hvbGQpLFxuICAgICk7XG5cbiAgICAvLyBUT0RPOiBNb3ZlIHRvIGlPUyBsb2FkZXIgc29tZWhvdywgbGlrZSBjb250ZW50VHJhbnNmb3JtJCBiZWxvd1xuICAgIHJlYWRvbmx5IGRyb3BwZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5wdWxsaW5nJC5waXBlKFxuICAgICAgICBtYXAoZGlzdGFuY2UgPT4gZGlzdGFuY2UgPD0gTUlDUk9fT0ZGU0VUIHx8IGRpc3RhbmNlID09PSB0aGlzLnRocmVzaG9sZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGNvbnRlbnRUcmFuc2Zvcm0kOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+ID1cbiAgICAgICAgdGhpcy5pc0lPUyAmJiB0aGlzLmNvbXBvbmVudCA9PT0gVFVJX0lPU19MT0FERVJcbiAgICAgICAgICAgID8gdGhpcy5wdWxsaW5nJC5waXBlKG1hcChkaXN0YW5jZSA9PiBgdHJhbnNsYXRlWSgke2Rpc3RhbmNlIC8gMn1weClgKSlcbiAgICAgICAgICAgIDogb2YobnVsbCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSU9TOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9QVUxMX1RPX1JFRlJFU0hfVEhSRVNIT0xEKSBwcml2YXRlIHJlYWRvbmx5IHRocmVzaG9sZDogbnVtYmVyLFxuICAgICAgICBASW5qZWN0KFRVSV9QVUxMX1RPX1JFRlJFU0hfQ09NUE9ORU5UKVxuICAgICAgICByZWFkb25seSBjb21wb25lbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PixcbiAgICAgICAgQEluamVjdChUdWlQdWxsVG9SZWZyZXNoU2VydmljZSkgcmVhZG9ubHkgcHVsbGluZyQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHt9XG59XG4iLCI8ZGl2XG4gICAgdHVpT3ZlcnNjcm9sbFxuICAgIFtjbGFzcy50LWRyb3AtYW5pbWF0aW9uXT1cImRyb3BwZWQkIHwgYXN5bmNcIlxuICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiY29udGVudFRyYW5zZm9ybSQgfCBhc3luY1wiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXBvbmVudDsgY29udGV4dDogeyRpbXBsaWNpdDogKHB1bGxpbmckIHwgYXN5bmMpIHx8IDB9XCI+PC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { TuiOverscrollModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
|
|
4
4
|
import { TuiSvgModule } from '@taiga-ui/core';
|
|
5
|
+
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
5
6
|
import { TuiMobileLoaderAndroidComponent } from './loader-android/loader-android.component';
|
|
6
7
|
import { TuiMobileLoaderIOSComponent } from './loader-ios/loader-ios.component';
|
|
7
8
|
import { TuiPullToRefreshComponent } from './pull-to-refresh.component';
|
|
@@ -11,12 +12,28 @@ export class TuiPullToRefreshModule {
|
|
|
11
12
|
TuiPullToRefreshModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
13
|
TuiPullToRefreshModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshModule, declarations: [TuiPullToRefreshComponent,
|
|
13
14
|
TuiMobileLoaderAndroidComponent,
|
|
14
|
-
TuiMobileLoaderIOSComponent], imports: [CommonModule,
|
|
15
|
-
|
|
15
|
+
TuiMobileLoaderIOSComponent], imports: [CommonModule,
|
|
16
|
+
TuiSvgModule,
|
|
17
|
+
TuiOverscrollModule,
|
|
18
|
+
TuiRepeatTimesModule,
|
|
19
|
+
PolymorpheusModule], exports: [TuiPullToRefreshComponent] });
|
|
20
|
+
TuiPullToRefreshModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshModule, imports: [[
|
|
21
|
+
CommonModule,
|
|
22
|
+
TuiSvgModule,
|
|
23
|
+
TuiOverscrollModule,
|
|
24
|
+
TuiRepeatTimesModule,
|
|
25
|
+
PolymorpheusModule,
|
|
26
|
+
]] });
|
|
16
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshModule, decorators: [{
|
|
17
28
|
type: NgModule,
|
|
18
29
|
args: [{
|
|
19
|
-
imports: [
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule,
|
|
32
|
+
TuiSvgModule,
|
|
33
|
+
TuiOverscrollModule,
|
|
34
|
+
TuiRepeatTimesModule,
|
|
35
|
+
PolymorpheusModule,
|
|
36
|
+
],
|
|
20
37
|
declarations: [
|
|
21
38
|
TuiPullToRefreshComponent,
|
|
22
39
|
TuiMobileLoaderAndroidComponent,
|
|
@@ -25,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
25
42
|
exports: [TuiPullToRefreshComponent],
|
|
26
43
|
}]
|
|
27
44
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaC9wdWxsLXRvLXJlZnJlc2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUYsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBaUJ0RSxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3FIQUF0QixzQkFBc0IsaUJBTjNCLHlCQUF5QjtRQUN6QiwrQkFBK0I7UUFDL0IsMkJBQTJCLGFBVDNCLFlBQVk7UUFDWixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixrQkFBa0IsYUFPWix5QkFBeUI7cUhBRTFCLHNCQUFzQixZQWR0QjtZQUNMLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixrQkFBa0I7U0FDckI7NEZBUVEsc0JBQXNCO2tCQWZsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQiwyQkFBMkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aU92ZXJzY3JvbGxNb2R1bGUsIFR1aVJlcGVhdFRpbWVzTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU3ZnTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlNb2JpbGVMb2FkZXJBbmRyb2lkQ29tcG9uZW50fSBmcm9tICcuL2xvYWRlci1hbmRyb2lkL2xvYWRlci1hbmRyb2lkLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aU1vYmlsZUxvYWRlcklPU0NvbXBvbmVudH0gZnJvbSAnLi9sb2FkZXItaW9zL2xvYWRlci1pb3MuY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHVsbFRvUmVmcmVzaENvbXBvbmVudH0gZnJvbSAnLi9wdWxsLXRvLXJlZnJlc2guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpU3ZnTW9kdWxlLFxuICAgICAgICBUdWlPdmVyc2Nyb2xsTW9kdWxlLFxuICAgICAgICBUdWlSZXBlYXRUaW1lc01vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFR1aVB1bGxUb1JlZnJlc2hDb21wb25lbnQsXG4gICAgICAgIFR1aU1vYmlsZUxvYWRlckFuZHJvaWRDb21wb25lbnQsXG4gICAgICAgIFR1aU1vYmlsZUxvYWRlcklPU0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtUdWlQdWxsVG9SZWZyZXNoQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHVsbFRvUmVmcmVzaE1vZHVsZSB7fVxuIl19
|
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export const MICRO_OFFSET = Math.pow(10, -6);
|
|
7
|
-
export const PULLED_DISTANCE = 50;
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
+
import { TUI_IS_IOS } from '@taiga-ui/cdk';
|
|
3
|
+
import { EMPTY } from 'rxjs';
|
|
4
|
+
import { TUI_ANDROID_LOADER } from './loader-android/loader-android.component';
|
|
5
|
+
import { TUI_IOS_LOADER } from './loader-ios/loader-ios.component';
|
|
8
6
|
/**
|
|
9
|
-
* Stream that emits
|
|
7
|
+
* Stream that emits when loading is over
|
|
10
8
|
*/
|
|
11
|
-
export const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaC9wdWxsLXRvLXJlZnJlc2gucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQUEsRUFBRSxFQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUVsQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsZUFBZSxDQUFDLENBQUM7QUFFbkYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWU7SUFDckQ7UUFDSSxPQUFPLEVBQUUsV0FBVztRQUNwQixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUMxQyxVQUFVLEVBQUUsQ0FDUixLQUFjLEVBQ2QsT0FBNEIsRUFDNUIsRUFBQyxhQUFhLEVBQTBCLEVBQ3RCLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQ1IsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQzNDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNuQixpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQ0MsU0FBUyxDQUFDLEVBQUUsQ0FDUixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwQyxFQUNELFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFDdkQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNiLENBQ0osQ0FDSixFQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQy9CLENBQUMsSUFBSSxDQUNGLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN2QixPQUFPLENBQUMsQ0FBQztpQkFDWjtnQkFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssZUFBZSxDQUFDO2dCQUN6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxlQUFlLENBQUM7Z0JBRXZELE9BQU8sY0FBYyxJQUFJLE9BQU87b0JBQzVCLENBQUMsQ0FBQyxlQUFlO29CQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ1IsQ0FBQztRQUNOLENBQUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9MT0FERUR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0lTX0lPUywgdHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2VuZFdpdGgsIGZpbHRlciwgbWFwLCBzY2FuLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgTUlDUk9fT0ZGU0VUID0gMTAgKiogLTY7XG5leHBvcnQgY29uc3QgUFVMTEVEX0RJU1RBTkNFID0gNTA7XG5cbi8qKlxuICogU3RyZWFtIHRoYXQgZW1pdHMgY29udGVudCBwdWxsaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfUFVMTElORyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPG51bWJlcj4+KGBbVFVJX1BVTExJTkddYCk7XG5cbmV4cG9ydCBjb25zdCBUVUlfUFVMTF9UT19SRUZSRVNIX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9QVUxMSU5HLFxuICAgICAgICBkZXBzOiBbVFVJX0lTX0lPUywgVFVJX0xPQURFRCwgRWxlbWVudFJlZl0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICAgIGlzSU9TOiBib29sZWFuLFxuICAgICAgICAgICAgbG9hZGVkJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICk6IE9ic2VydmFibGU8bnVtYmVyPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgYHRvdWNoc3RhcnRgLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9PT0gMCksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCh0b3VjaFN0YXJ0ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCBgdG91Y2htb3ZlYCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdWNoTW92ZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hNb3ZlLnRvdWNoZXNbMF0uY2xpZW50WSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3VjaFN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCBgdG91Y2hlbmRgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kV2l0aCgwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBsb2FkZWQkLnBpcGUobWFwKCgpID0+IE5hTikpLFxuICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgIHNjYW4oKG1heCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKGN1cnJlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFuZHJvaWRMb2FkaW5nID0gIWlzSU9TICYmIG1heCA9PT0gUFVMTEVEX0RJU1RBTkNFO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wcGVkID0gY3VycmVudCA9PT0gMCAmJiBtYXggPiBQVUxMRURfRElTVEFOQ0U7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFuZHJvaWRMb2FkaW5nIHx8IGRyb3BwZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gUFVMTEVEX0RJU1RBTkNFXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnQgKyBNSUNST19PRkZTRVQ7XG4gICAgICAgICAgICAgICAgfSwgMCksXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgIH0sXG5dO1xuIl19
|
|
9
|
+
export const TUI_PULL_TO_REFRESH_LOADED = new InjectionToken(`[TUI_PULL_TO_REFRESH_LOADED]`, {
|
|
10
|
+
factory: () => EMPTY,
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Pull threshold in pixels until loading starts
|
|
14
|
+
*/
|
|
15
|
+
export const TUI_PULL_TO_REFRESH_THRESHOLD = new InjectionToken(`[TUI_PULL_TO_REFRESH_THRESHOLD]`, {
|
|
16
|
+
factory: () => 50,
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Loading indicator component that gets current pull distance in pixels as context
|
|
20
|
+
*/
|
|
21
|
+
export const TUI_PULL_TO_REFRESH_COMPONENT = new InjectionToken(`[TUI_PULL_TO_REFRESH_COMPONENT]`, {
|
|
22
|
+
factory: () => (inject(TUI_IS_IOS) ? TUI_IOS_LOADER : TUI_ANDROID_LOADER),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated renamed to {@link TUI_PULL_TO_REFRESH_LOADED}
|
|
26
|
+
*/
|
|
27
|
+
export const TUI_LOADED = TUI_PULL_TO_REFRESH_LOADED;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaC9wdWxsLXRvLXJlZnJlc2gucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRWpFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQ3hELDhCQUE4QixFQUM5QjtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO0NBQ3ZCLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzNELGlDQUFpQyxFQUNqQztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBRTdELGlDQUFpQyxFQUFFO0lBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztDQUM1RSxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19JT1MsIFR1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0FORFJPSURfTE9BREVSfSBmcm9tICcuL2xvYWRlci1hbmRyb2lkL2xvYWRlci1hbmRyb2lkLmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9JT1NfTE9BREVSfSBmcm9tICcuL2xvYWRlci1pb3MvbG9hZGVyLWlvcy5jb21wb25lbnQnO1xuXG4vKipcbiAqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gbG9hZGluZyBpcyBvdmVyXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfUFVMTF9UT19SRUZSRVNIX0xPQURFRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHVua25vd24+PihcbiAgICBgW1RVSV9QVUxMX1RPX1JFRlJFU0hfTE9BREVEXWAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBFTVBUWSxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBQdWxsIHRocmVzaG9sZCBpbiBwaXhlbHMgdW50aWwgbG9hZGluZyBzdGFydHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9QVUxMX1RPX1JFRlJFU0hfVEhSRVNIT0xEID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oXG4gICAgYFtUVUlfUFVMTF9UT19SRUZSRVNIX1RIUkVTSE9MRF1gLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gNTAsXG4gICAgfSxcbik7XG5cbi8qKlxuICogTG9hZGluZyBpbmRpY2F0b3IgY29tcG9uZW50IHRoYXQgZ2V0cyBjdXJyZW50IHB1bGwgZGlzdGFuY2UgaW4gcGl4ZWxzIGFzIGNvbnRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9QVUxMX1RPX1JFRlJFU0hfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PlxuPihgW1RVSV9QVUxMX1RPX1JFRlJFU0hfQ09NUE9ORU5UXWAsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAoaW5qZWN0KFRVSV9JU19JT1MpID8gVFVJX0lPU19MT0FERVIgOiBUVUlfQU5EUk9JRF9MT0FERVIpLFxufSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byB7QGxpbmsgVFVJX1BVTExfVE9fUkVGUkVTSF9MT0FERUR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfTE9BREVEID0gVFVJX1BVTExfVE9fUkVGUkVTSF9MT0FERUQ7XG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ElementRef, Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { TUI_IS_IOS, tuiTypedFromEvent } from '@taiga-ui/cdk';
|
|
3
|
+
import { EMPTY, merge, Observable } from 'rxjs';
|
|
4
|
+
import { endWith, filter, map, scan, switchMap, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { TUI_PULL_TO_REFRESH_COMPONENT, TUI_PULL_TO_REFRESH_LOADED, TUI_PULL_TO_REFRESH_THRESHOLD, } from './pull-to-refresh.providers';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "rxjs";
|
|
8
|
+
export const MICRO_OFFSET = Math.pow(10, -6);
|
|
9
|
+
export class TuiPullToRefreshService extends Observable {
|
|
10
|
+
constructor(el, isIos, loaded$, threshold, component) {
|
|
11
|
+
super(subscriber => (component ? this.pulling$ : EMPTY).subscribe(subscriber));
|
|
12
|
+
this.el = el;
|
|
13
|
+
this.isIos = isIos;
|
|
14
|
+
this.loaded$ = loaded$;
|
|
15
|
+
this.threshold = threshold;
|
|
16
|
+
this.pulling$ = merge(tuiTypedFromEvent(this.element, `touchstart`, { passive: true }).pipe(filter(() => this.element.scrollTop === 0), switchMap(touchStart => tuiTypedFromEvent(this.element, `touchmove`).pipe(map(touchMove => touchMove.touches[0].clientY - touchStart.touches[0].clientY), takeUntil(tuiTypedFromEvent(this.element, `touchend`)), endWith(0)))), this.loaded$.pipe(map(() => NaN))).pipe(scan((max, current) => {
|
|
17
|
+
if (Number.isNaN(current)) {
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
const androidLoading = !this.isIos && max === this.threshold;
|
|
21
|
+
const dropped = current === 0 && max > this.threshold;
|
|
22
|
+
return androidLoading || dropped
|
|
23
|
+
? this.threshold
|
|
24
|
+
: current + current * MICRO_OFFSET;
|
|
25
|
+
}, 0));
|
|
26
|
+
}
|
|
27
|
+
get element() {
|
|
28
|
+
return this.el.nativeElement;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
TuiPullToRefreshService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshService, deps: [{ token: ElementRef }, { token: TUI_IS_IOS }, { token: TUI_PULL_TO_REFRESH_LOADED }, { token: TUI_PULL_TO_REFRESH_THRESHOLD }, { token: TUI_PULL_TO_REFRESH_COMPONENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
TuiPullToRefreshService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshService });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPullToRefreshService, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
36
|
+
type: Inject,
|
|
37
|
+
args: [ElementRef]
|
|
38
|
+
}] }, { type: undefined, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: [TUI_IS_IOS]
|
|
41
|
+
}] }, { type: i1.Observable, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [TUI_PULL_TO_REFRESH_LOADED]
|
|
44
|
+
}] }, { type: undefined, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [TUI_PULL_TO_REFRESH_THRESHOLD]
|
|
47
|
+
}] }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [TUI_PULL_TO_REFRESH_COMPONENT]
|
|
50
|
+
}] }]; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9wdWxsLXRvLXJlZnJlc2gvcHVsbC10by1yZWZyZXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLDZCQUE2QixHQUNoQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFFckMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQUEsRUFBRSxFQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7QUFHckMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQWtCO0lBK0IzRCxZQUN5QyxFQUEyQixFQUMzQixLQUFjLEVBQ0UsT0FBNEIsRUFDekIsU0FBaUIsRUFDbEMsU0FBa0I7UUFFekQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBTjFDLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDRSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBbEM1RCxhQUFRLEdBQUcsS0FBSyxDQUM3QixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUMxQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDbkIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FDQyxTQUFTLENBQUMsRUFBRSxDQUNSLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNuRSxFQUNELFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3RELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDYixDQUNKLENBQ0osRUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEMsQ0FBQyxJQUFJLENBQ0YsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUVELE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUM3RCxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRXRELE9BQU8sY0FBYyxJQUFJLE9BQU87Z0JBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDaEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzNDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDUixDQUFDO0lBVUYsQ0FBQztJQUVELElBQVksT0FBTztRQUNmLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQzs7cUhBM0NRLHVCQUF1QixrQkFnQ3BCLFVBQVUsYUFDVixVQUFVLGFBQ1YsMEJBQTBCLGFBQzFCLDZCQUE2QixhQUM3Qiw2QkFBNkI7eUhBcENoQyx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBaUNGLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDakMsTUFBTTsyQkFBQyw2QkFBNkI7OzBCQUNwQyxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0lTX0lPUywgdHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtFTVBUWSwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtlbmRXaXRoLCBmaWx0ZXIsIG1hcCwgc2Nhbiwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfUFVMTF9UT19SRUZSRVNIX0NPTVBPTkVOVCxcbiAgICBUVUlfUFVMTF9UT19SRUZSRVNIX0xPQURFRCxcbiAgICBUVUlfUFVMTF9UT19SRUZSRVNIX1RIUkVTSE9MRCxcbn0gZnJvbSAnLi9wdWxsLXRvLXJlZnJlc2gucHJvdmlkZXJzJztcblxuZXhwb3J0IGNvbnN0IE1JQ1JPX09GRlNFVCA9IDEwICoqIC02O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpUHVsbFRvUmVmcmVzaFNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHVsbGluZyQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50LCBgdG91Y2hzdGFydGAsIHtwYXNzaXZlOiB0cnVlfSkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wID09PSAwKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0b3VjaFN0YXJ0ID0+XG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50LCBgdG91Y2htb3ZlYCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hNb3ZlID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hNb3ZlLnRvdWNoZXNbMF0uY2xpZW50WSAtIHRvdWNoU3RhcnQudG91Y2hlc1swXS5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50LCBgdG91Y2hlbmRgKSksXG4gICAgICAgICAgICAgICAgICAgIGVuZFdpdGgoMCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMubG9hZGVkJC5waXBlKG1hcCgoKSA9PiBOYU4pKSxcbiAgICApLnBpcGUoXG4gICAgICAgIHNjYW4oKG1heCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihjdXJyZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBhbmRyb2lkTG9hZGluZyA9ICF0aGlzLmlzSW9zICYmIG1heCA9PT0gdGhpcy50aHJlc2hvbGQ7XG4gICAgICAgICAgICBjb25zdCBkcm9wcGVkID0gY3VycmVudCA9PT0gMCAmJiBtYXggPiB0aGlzLnRocmVzaG9sZDtcblxuICAgICAgICAgICAgcmV0dXJuIGFuZHJvaWRMb2FkaW5nIHx8IGRyb3BwZWRcbiAgICAgICAgICAgICAgICA/IHRoaXMudGhyZXNob2xkXG4gICAgICAgICAgICAgICAgOiBjdXJyZW50ICsgY3VycmVudCAqIE1JQ1JPX09GRlNFVDtcbiAgICAgICAgfSwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX1BVTExfVE9fUkVGUkVTSF9MT0FERUQpIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVkJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChUVUlfUFVMTF9UT19SRUZSRVNIX1RIUkVTSE9MRCkgcHJpdmF0ZSByZWFkb25seSB0aHJlc2hvbGQ6IG51bWJlcixcbiAgICAgICAgQEluamVjdChUVUlfUFVMTF9UT19SRUZSRVNIX0NPTVBPTkVOVCkgY29tcG9uZW50OiB1bmtub3duLFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IChjb21wb25lbnQgPyB0aGlzLnB1bGxpbmckIDogRU1QVFkpLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxufVxuIl19
|
package/esm2015/index.js
CHANGED
|
@@ -2,7 +2,6 @@ export * from '@taiga-ui/addon-mobile/components';
|
|
|
2
2
|
export * from '@taiga-ui/addon-mobile/const';
|
|
3
3
|
export * from '@taiga-ui/addon-mobile/directives';
|
|
4
4
|
export * from '@taiga-ui/addon-mobile/interfaces';
|
|
5
|
-
export * from '@taiga-ui/addon-mobile/tokens';
|
|
6
5
|
export * from '@taiga-ui/addon-mobile/types';
|
|
7
6
|
export * from '@taiga-ui/addon-mobile/utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb25zdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS91dGlscyc7XG4iXX0=
|