@taiga-ui/addon-mobile 2.52.0 → 2.53.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.umd.js +1 -0
- 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-pull-to-refresh.umd.js +1 -0
- 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.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +5 -0
- 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-directives-ripple.umd.js +2 -0
- 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-utils.umd.js +6 -0
- package/bundles/taiga-ui-addon-mobile-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-utils.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-utils.umd.min.js.map +1 -1
- package/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.metadata.json +1 -1
- package/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.metadata.json +1 -1
- package/components/sheet/taiga-ui-addon-mobile-components-sheet.metadata.json +1 -1
- package/directives/ripple/taiga-ui-addon-mobile-directives-ripple.metadata.json +1 -1
- package/esm2015/components/mobile-calendar/mobile-calendar.providers.js +2 -1
- package/esm2015/components/pull-to-refresh/pull-to-refresh.providers.js +2 -1
- package/esm2015/components/sheet/components/sheet/sheet.providers.js +3 -1
- package/esm2015/components/sheet/ios.hacks.js +4 -1
- package/esm2015/directives/ripple/ripple.providers.js +3 -1
- package/esm2015/utils/find-touch-index.js +6 -1
- package/esm5/components/mobile-calendar/mobile-calendar.providers.js +2 -1
- package/esm5/components/pull-to-refresh/pull-to-refresh.providers.js +2 -1
- package/esm5/components/sheet/components/sheet/sheet.providers.js +3 -1
- package/esm5/components/sheet/ios.hacks.js +4 -1
- package/esm5/directives/ripple/ripple.providers.js +3 -1
- package/esm5/utils/find-touch-index.js +6 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js +1 -0
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +1 -0
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +5 -0
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +2 -0
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-utils.js +6 -1
- package/fesm2015/taiga-ui-addon-mobile-utils.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js +1 -0
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js +1 -0
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js +5 -0
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-ripple.js +2 -0
- package/fesm5/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-utils.js +6 -1
- package/fesm5/taiga-ui-addon-mobile-utils.js.map +1 -1
- package/package.json +4 -4
- package/utils/find-touch-index.d.ts +4 -0
- package/utils/taiga-ui-addon-mobile-utils.metadata.json +1 -1
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated: use {@link tuiFindTouchIndex} instead
|
|
3
|
+
*/
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1
5
|
export function findTouchIndex(touches, id) {
|
|
2
6
|
for (let i = 0; i < touches.length; i++) {
|
|
3
7
|
const { identifier } = touches[i];
|
|
@@ -7,4 +11,5 @@ export function findTouchIndex(touches, id) {
|
|
|
7
11
|
}
|
|
8
12
|
return -1;
|
|
9
13
|
}
|
|
10
|
-
|
|
14
|
+
export const tuiFindTouchIndex = findTouchIndex;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC10b3VjaC1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvdXRpbHMvIiwic291cmNlcyI6WyJmaW5kLXRvdWNoLWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBa0IsRUFBRSxFQUFVO0lBQ3pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEMsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7S0FDSjtJQUVELE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlGaW5kVG91Y2hJbmRleH0gaW5zdGVhZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gZmluZFRvdWNoSW5kZXgodG91Y2hlczogVG91Y2hMaXN0LCBpZDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRvdWNoZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qge2lkZW50aWZpZXJ9ID0gdG91Y2hlc1tpXTtcblxuICAgICAgICBpZiAoaWRlbnRpZmllciA9PT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgY29uc3QgdHVpRmluZFRvdWNoSW5kZXggPSBmaW5kVG91Y2hJbmRleDtcbiJdfQ==
|
|
@@ -24,7 +24,8 @@ export var TUI_MOBILE_CALENDAR_PROVIDERS = [
|
|
|
24
24
|
useFactory: valueStreamFactory,
|
|
25
25
|
},
|
|
26
26
|
];
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
27
28
|
export function valueStreamFactory(value$, destroy$, changeDetectorRef) {
|
|
28
29
|
return (value$ || EMPTY).pipe(watch(changeDetectorRef), takeUntil(destroy$));
|
|
29
30
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXIvIiwic291cmNlcyI6WyJtb2JpbGUtY2FsZW5kYXIucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCxVQUFVLEVBRVYsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXJFLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5QywyQkFBMkIsQ0FDOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUFlO0lBQ3JELGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEI7UUFDSSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxRQUFRLEVBQUUseUJBQXlCO0tBQ3RDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQztZQUMxQyxpQkFBaUI7WUFDakIsaUJBQWlCO1NBQ3BCO1FBQ0QsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztDQUNKLENBQUM7QUFFRixnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixNQUE2QyxFQUM3QyxRQUEwQixFQUMxQixpQkFBb0M7SUFFcEMsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VklSVFVBTF9TQ1JPTExfU1RSQVRFR1l9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRVSV9JU19JT1MsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpU2Nyb2xsU2VydmljZSxcbiAgICB3YXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9EQVRBX1NUUkVBTX0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJTdHJhdGVneX0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXIuc3RyYXRlZ3knO1xuXG5leHBvcnQgY29uc3QgVFVJX1ZBTFVFX1NUUkVBTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPFR1aURheVJhbmdlIHwgbnVsbD4+KFxuICAgICdTdHJlYW0gZm9yIHVwZGF0aW5nIHZhbHVlJyxcbik7XG5leHBvcnQgY29uc3QgVFVJX01PQklMRV9DQUxFTkRBUl9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpU2Nyb2xsU2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFZJUlRVQUxfU0NST0xMX1NUUkFURUdZLFxuICAgICAgICBkZXBzOiBbVFVJX0lTX0lPUywgVHVpU2Nyb2xsU2VydmljZV0sXG4gICAgICAgIHVzZUNsYXNzOiBUdWlNb2JpbGVDYWxlbmRhclN0cmF0ZWd5LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVkFMVUVfU1RSRUFNLFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9DQUxFTkRBUl9EQVRBX1NUUkVBTV0sXG4gICAgICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBdLFxuICAgICAgICB1c2VGYWN0b3J5OiB2YWx1ZVN0cmVhbUZhY3RvcnksXG4gICAgfSxcbl07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZVN0cmVhbUZhY3RvcnkoXG4gICAgdmFsdWUkOiBPYnNlcnZhYmxlPFR1aURheVJhbmdlIHwgbnVsbD4gfCBudWxsLFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbik6IE9ic2VydmFibGU8VHVpRGF5UmFuZ2UgfCBudWxsPiB7XG4gICAgcmV0dXJuICh2YWx1ZSQgfHwgRU1QVFkpLnBpcGUod2F0Y2goY2hhbmdlRGV0ZWN0b3JSZWYpLCB0YWtlVW50aWwoZGVzdHJveSQpKTtcbn1cbiJdfQ==
|
|
@@ -13,6 +13,7 @@ export var TUI_PULL_TO_REFRESH_PROVIDERS = [
|
|
|
13
13
|
useFactory: pullingFactory,
|
|
14
14
|
},
|
|
15
15
|
];
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
16
17
|
export function pullingFactory(isIOS, loaded$, _a) {
|
|
17
18
|
var nativeElement = _a.nativeElement;
|
|
18
19
|
return merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(filter(function () { return nativeElement.scrollTop === 0; }), switchMap(function (touchStart) {
|
|
@@ -28,4 +29,4 @@ export function pullingFactory(isIOS, loaded$, _a) {
|
|
|
28
29
|
return androidLoading || dropped ? PULLED_DISTANCE : current + MICRO_OFFSET;
|
|
29
30
|
}, 0));
|
|
30
31
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC10by1yZWZyZXNoLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9wdWxsLXRvLXJlZnJlc2gvIiwic291cmNlcyI6WyJwdWxsLXRvLXJlZnJlc2gucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RixNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsU0FBQSxFQUFFLEVBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQztBQUNyQyxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FDekMsbUNBQW1DLENBQ3RDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBZTtJQUNyRDtRQUNJLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO1FBQzFDLFVBQVUsRUFBRSxjQUFjO0tBQzdCO0NBQ0osQ0FBQztBQUVGLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsY0FBYyxDQUMxQixLQUFjLEVBQ2QsT0FBNEIsRUFDNUIsRUFBd0M7UUFBdkMsZ0NBQWE7SUFFZCxPQUFPLEtBQUssQ0FDUixjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0QsTUFBTSxDQUFDLGNBQU0sT0FBQSxhQUFhLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxFQUMzQyxTQUFTLENBQUMsVUFBQSxVQUFVO1FBQ2hCLE9BQUEsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FDQyxVQUFBLFNBQVM7WUFDTCxPQUFBLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztRQUE1RCxDQUE0RCxDQUNuRSxFQUNELFNBQVMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3BELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDYjtJQVBELENBT0MsQ0FDSixDQUNKLEVBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDM0IsQ0FBQyxJQUFJLENBQ0YsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFFLE9BQU87UUFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQUMsQ0FBQztTQUNaO1FBRUQsSUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLGVBQWUsQ0FBQztRQUN6RCxJQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxlQUFlLENBQUM7UUFFdkQsT0FBTyxjQUFjLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7SUFDaEYsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNSLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfTE9BREVEfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9JU19JT1MsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtlbmRXaXRoLCBmaWx0ZXIsIG1hcCwgbWFwVG8sIHNjYW4sIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBNSUNST19PRkZTRVQgPSAxMCAqKiAtNjtcbmV4cG9ydCBjb25zdCBQVUxMRURfRElTVEFOQ0UgPSA1MDtcblxuZXhwb3J0IGNvbnN0IFRVSV9QVUxMSU5HID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8bnVtYmVyPj4oXG4gICAgJ1N0cmVhbSB0aGF0IGVtaXRzIGNvbnRlbnQgcHVsbGluZycsXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX1BVTExfVE9fUkVGUkVTSF9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUFVMTElORyxcbiAgICAgICAgZGVwczogW1RVSV9JU19JT1MsIFRVSV9MT0FERUQsIEVsZW1lbnRSZWZdLFxuICAgICAgICB1c2VGYWN0b3J5OiBwdWxsaW5nRmFjdG9yeSxcbiAgICB9LFxuXTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIHB1bGxpbmdGYWN0b3J5KFxuICAgIGlzSU9TOiBib29sZWFuLFxuICAgIGxvYWRlZCQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcbik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcsIHtwYXNzaXZlOiB0cnVlfSkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9PT0gMCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAodG91Y2hTdGFydCA9PlxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaG1vdmUnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VjaE1vdmUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3VjaE1vdmUudG91Y2hlc1swXS5jbGllbnRZIC0gdG91Y2hTdGFydC50b3VjaGVzWzBdLmNsaWVudFksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAndG91Y2hlbmQnKSksXG4gICAgICAgICAgICAgICAgICAgIGVuZFdpdGgoMCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIGxvYWRlZCQucGlwZShtYXBUbyhOYU4pKSxcbiAgICApLnBpcGUoXG4gICAgICAgIHNjYW4oKG1heCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzTmFOKGN1cnJlbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGFuZHJvaWRMb2FkaW5nID0gIWlzSU9TICYmIG1heCA9PT0gUFVMTEVEX0RJU1RBTkNFO1xuICAgICAgICAgICAgY29uc3QgZHJvcHBlZCA9IGN1cnJlbnQgPT09IDAgJiYgbWF4ID4gUFVMTEVEX0RJU1RBTkNFO1xuXG4gICAgICAgICAgICByZXR1cm4gYW5kcm9pZExvYWRpbmcgfHwgZHJvcHBlZCA/IFBVTExFRF9ESVNUQU5DRSA6IGN1cnJlbnQgKyBNSUNST19PRkZTRVQ7XG4gICAgICAgIH0sIDApLFxuICAgICk7XG59XG4iXX0=
|
|
@@ -27,14 +27,16 @@ export var TUI_SHEET_PROVIDERS = [
|
|
|
27
27
|
useExisting: ElementRef,
|
|
28
28
|
},
|
|
29
29
|
];
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
30
31
|
export function sheetDraggedFactory(_a) {
|
|
31
32
|
var nativeElement = _a.nativeElement;
|
|
32
33
|
return merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(mapTo(true)), typedFromEvent(nativeElement, 'touchend').pipe(mapTo(false)));
|
|
33
34
|
}
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
34
36
|
export function sheetScrollFactory(_a, ngZone, documentRef, isIos) {
|
|
35
37
|
var nativeElement = _a.nativeElement;
|
|
36
38
|
return isIos
|
|
37
39
|
? iosScrollFactory(nativeElement, documentRef, ngZone)
|
|
38
40
|
: merge(typedFromEvent(nativeElement, 'scroll'), typedFromEvent(nativeElement, 'load', { capture: true })).pipe(map(function () { return nativeElement.scrollTop; }), tuiZonefree(ngZone), share());
|
|
39
41
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zaGVldC9zaGVldC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFakQsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLDhCQUE4QixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLDRCQUE0QixDQUMvQixDQUFDO0FBRUYscURBQXFEO0FBQ3JELE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5Qyw4Q0FBOEMsRUFDOUM7SUFDSSxPQUFPLEVBQUUsY0FBTSxPQUFBLEVBQUUsRUFBRixDQUFFO0NBQ3BCLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFlO0lBQzNDO1FBQ0ksT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDbEIsVUFBVSxFQUFFLG1CQUFtQjtLQUNsQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUM7UUFDaEQsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsV0FBVyxFQUFFLFVBQVU7S0FDMUI7Q0FDSixDQUFDO0FBRUYsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUVWO1FBRHRCLGdDQUFhO0lBRWIsT0FBTyxLQUFLLENBQ1IsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzlFLGNBQWMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0FBQ04sQ0FBQztBQUVELGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLEVBQXdDLEVBQ3hDLE1BQWMsRUFDZCxXQUFxQixFQUNyQixLQUFjO1FBSGIsZ0NBQWE7SUFLZCxPQUFPLEtBQUs7UUFDUixDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDdEQsQ0FBQyxDQUFDLEtBQUssQ0FDRCxjQUFjLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUN2QyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUN6RCxDQUFDLElBQUksQ0FDRixHQUFHLENBQUMsY0FBTSxPQUFBLGFBQWEsQ0FBQyxTQUFTLEVBQXZCLENBQXVCLENBQUMsRUFDbEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUNuQixLQUFLLEVBQUUsQ0FDVixDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0lTX0lPUywgdHVpWm9uZWZyZWUsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIG1hcFRvLCBzaGFyZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge2lvc1Njcm9sbEZhY3Rvcnl9IGZyb20gJy4uLy4uL2lvcy5oYWNrcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfU0hFRVRfU0NST0xMID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oXG4gICAgJ0N1cnJlbnQgc2Nyb2xsVG9wIG9mIGEgc2hlZXQnLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9TSEVFVF9EUkFHR0VEID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAgICdUaGUgc2hlZXQgaXMgYmVpbmcgZHJhZ2dlZCcsXG4pO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIG9wdGlvbiBhcmd1bWVudCBmb3IgZWFjaCBTaGVldCAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TSEVFVF9PRkZTRVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPihcbiAgICAnT2Zmc2V0IGZyb20gdGhlIHRvcCBhdCB3aGljaCB0aGUgc2hlZXQgc3RvcHMnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gMTYsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfU0hFRVRfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1NIRUVUX0RSQUdHRUQsXG4gICAgICAgIGRlcHM6IFtFbGVtZW50UmVmXSxcbiAgICAgICAgdXNlRmFjdG9yeTogc2hlZXREcmFnZ2VkRmFjdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1NIRUVUX1NDUk9MTCxcbiAgICAgICAgZGVwczogW0VsZW1lbnRSZWYsIE5nWm9uZSwgRE9DVU1FTlQsIFRVSV9JU19JT1NdLFxuICAgICAgICB1c2VGYWN0b3J5OiBzaGVldFNjcm9sbEZhY3RvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9TQ1JPTExfUkVGLFxuICAgICAgICB1c2VFeGlzdGluZzogRWxlbWVudFJlZixcbiAgICB9LFxuXTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIHNoZWV0RHJhZ2dlZEZhY3Rvcnkoe1xuICAgIG5hdGl2ZUVsZW1lbnQsXG59OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUobWFwVG8odHJ1ZSkpLFxuICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAndG91Y2hlbmQnKS5waXBlKG1hcFRvKGZhbHNlKSksXG4gICAgKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIHNoZWV0U2Nyb2xsRmFjdG9yeShcbiAgICB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICBpc0lvczogYm9vbGVhbixcbik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGlzSW9zXG4gICAgICAgID8gaW9zU2Nyb2xsRmFjdG9yeShuYXRpdmVFbGVtZW50LCBkb2N1bWVudFJlZiwgbmdab25lKVxuICAgICAgICA6IG1lcmdlKFxuICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnc2Nyb2xsJyksXG4gICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdsb2FkJywge2NhcHR1cmU6IHRydWV9KSxcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFRvcCksXG4gICAgICAgICAgICAgIHR1aVpvbmVmcmVlKG5nWm9uZSksXG4gICAgICAgICAgICAgIHNoYXJlKCksXG4gICAgICAgICAgKTtcbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { __read } from "tslib";
|
|
|
2
2
|
import { tuiZonefree, typedFromEvent } from '@taiga-ui/cdk';
|
|
3
3
|
import { concat, merge, race, timer, zip } from 'rxjs';
|
|
4
4
|
import { debounceTime, delay, filter, map, mapTo, share, startWith, switchMap, switchMapTo, take, takeUntil, } from 'rxjs/operators';
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
5
6
|
export function iosScrollFactory(element, documentRef, ngZone) {
|
|
6
7
|
var load$ = typedFromEvent(element, 'load', { capture: true });
|
|
7
8
|
var touchstart$ = typedFromEvent(element, 'touchstart', { passive: true });
|
|
@@ -21,12 +22,14 @@ export function iosScrollFactory(element, documentRef, ngZone) {
|
|
|
21
22
|
})));
|
|
22
23
|
return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());
|
|
23
24
|
}
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
24
26
|
export function processDragged(dragged$, scroll$) {
|
|
25
27
|
var touchstart$ = dragged$.pipe(filter(Boolean));
|
|
26
28
|
var touchend$ = dragged$.pipe(filter(function (v) { return !v; }));
|
|
27
29
|
var race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), mapTo(false));
|
|
28
30
|
return touchstart$.pipe(switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))), startWith(false));
|
|
29
31
|
}
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
30
33
|
export function fakeSmoothScroll(_a, offset) {
|
|
31
34
|
var style = _a.style;
|
|
32
35
|
style.transition = 'none';
|
|
@@ -36,4 +39,4 @@ export function fakeSmoothScroll(_a, offset) {
|
|
|
36
39
|
style.transform = '';
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhY2tzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LyIsInNvdXJjZXMiOlsiaW9zLmhhY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBYyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQ0gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQW9CLEVBQ3BCLFdBQXFCLEVBQ3JCLE1BQWM7SUFFZCxJQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQy9ELElBQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDM0UsSUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUM3RSxJQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFELElBQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLFNBQVMsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDLENBQUM7SUFDckYsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUNqQixLQUFLLENBQUMsSUFBSSxDQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxTQUFTLEVBQWpCLENBQWlCLENBQUMsQ0FDL0IsRUFDRCxXQUFXLENBQUMsSUFBSSxDQUNaLFNBQVMsQ0FBQyxVQUFDLEVBQVM7WUFBUixvQkFBTztRQUNSLElBQUEsNEJBQU8sQ0FBZTtRQUN0QixJQUFBLDZCQUFTLENBQVk7UUFFNUIsT0FBTyxNQUFNO1FBQ1Qsa0VBQWtFO1FBQ2xFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsVUFBQyxFQUFXO2dCQUFYLGtCQUFXLEVBQVQsdUJBQU87WUFBTyxPQUFBLFNBQVMsR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87UUFBeEMsQ0FBd0MsQ0FBQyxFQUM5RCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQ3ZCLEVBQ0QsT0FBTyxDQUNWLENBQUM7SUFDTixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBRUQsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxjQUFjLENBQzFCLFFBQTZCLEVBQzdCLE9BQTRCO0lBRTVCLElBQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsRUFBRixDQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQ2YsQ0FBQztJQUVGLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FDbkIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDbkIsQ0FBQztBQUNOLENBQUM7QUFFRCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQW9CLEVBQUUsTUFBYztRQUFuQyxnQkFBSztJQUNuQyxLQUFLLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUMxQixLQUFLLENBQUMsU0FBUyxHQUFHLCtCQUE2QixNQUFNLFdBQVEsQ0FBQztJQUU5RCxVQUFVLENBQUM7UUFDUCxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVpvbmVmcmVlLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2NvbmNhdCwgbWVyZ2UsIE9ic2VydmFibGUsIHJhY2UsIHRpbWVyLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGVsYXksXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtYXBUbyxcbiAgICBzaGFyZSxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxuICAgIHN3aXRjaE1hcFRvLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBpb3NTY3JvbGxGYWN0b3J5KFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgbG9hZCQgPSB0eXBlZEZyb21FdmVudChlbGVtZW50LCAnbG9hZCcsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgY29uc3QgdG91Y2hzdGFydCQgPSB0eXBlZEZyb21FdmVudChlbGVtZW50LCAndG91Y2hzdGFydCcsIHtwYXNzaXZlOiB0cnVlfSk7XG4gICAgY29uc3QgdG91Y2htb3ZlJCA9IHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2htb3ZlJywge3Bhc3NpdmU6IHRydWV9KTtcbiAgICBjb25zdCB0b3VjaGVuZCQgPSB0eXBlZEZyb21FdmVudChkb2N1bWVudFJlZiwgJ3RvdWNoZW5kJyk7XG4gICAgY29uc3Qgc2Nyb2xsJCA9IHR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsICdzY3JvbGwnKS5waXBlKG1hcCgoKSA9PiBlbGVtZW50LnNjcm9sbFRvcCkpO1xuICAgIGNvbnN0IHJlc3VsdCQgPSBtZXJnZShcbiAgICAgICAgbG9hZCQucGlwZShcbiAgICAgICAgICAgIGRlbGF5KDApLFxuICAgICAgICAgICAgbWFwKCgpID0+IGVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgKSxcbiAgICAgICAgdG91Y2hzdGFydCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoe3RvdWNoZXN9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge3NjcmVlbll9ID0gdG91Y2hlc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCB7c2Nyb2xsVG9wfSA9IGVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29uY2F0KFxuICAgICAgICAgICAgICAgICAgICAvLyBTb21ldGltZXMgdG91Y2ggaXMgdHJpZ2dlcmVkIHdpdGhvdXQgc2Nyb2xsIGluIGlPUywgZmlsdGVyIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgemlwKHRvdWNobW92ZSQsIHNjcm9sbCQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKFt7dG91Y2hlc31dKSA9PiBzY3JvbGxUb3AgKyBzY3JlZW5ZIC0gdG91Y2hlc1swXS5zY3JlZW5ZKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGwkLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGNvbmNhdChzY3JvbGwkLnBpcGUodGFrZSgxKSksIHJlc3VsdCQpLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgc2hhcmUoKSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzRHJhZ2dlZChcbiAgICBkcmFnZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICBzY3JvbGwkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgdG91Y2hzdGFydCQgPSBkcmFnZ2VkJC5waXBlKGZpbHRlcihCb29sZWFuKSk7XG4gICAgY29uc3QgdG91Y2hlbmQkID0gZHJhZ2dlZCQucGlwZShmaWx0ZXIodiA9PiAhdikpO1xuICAgIGNvbnN0IHJhY2UkID0gcmFjZShzY3JvbGwkLCB0aW1lcigxMDApKS5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwVG8oZmFsc2UpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdG91Y2hzdGFydCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwVG8odG91Y2hlbmQkLnBpcGUoc3dpdGNoTWFwVG8ocmFjZSQpLCBzdGFydFdpdGgodHJ1ZSkpKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICApO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gZmFrZVNtb290aFNjcm9sbCh7c3R5bGV9OiBIVE1MRWxlbWVudCwgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBzdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnO1xuICAgIHN0eWxlLnRyYW5zZm9ybSA9IGBzY2FsZVgoLTEpIHRyYW5zbGF0ZTNkKDAsICR7b2Zmc2V0fXB4LCAwKWA7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc3R5bGUudHJhbnNpdGlvbiA9ICcnO1xuICAgICAgICBzdHlsZS50cmFuc2Zvcm0gPSAnJztcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -19,6 +19,7 @@ export var TUI_RIPPLE_PROVIDERS = [
|
|
|
19
19
|
useFactory: rippleEndFactory,
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
22
23
|
export function rippleStartFactory(touchSupported, isIOS, _a, renderer) {
|
|
23
24
|
var nativeElement = _a.nativeElement;
|
|
24
25
|
return isIOS || !touchSupported
|
|
@@ -37,6 +38,7 @@ export function rippleStartFactory(touchSupported, isIOS, _a, renderer) {
|
|
|
37
38
|
return ripple;
|
|
38
39
|
}));
|
|
39
40
|
}
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
40
42
|
export function rippleEndFactory(touchSupported, isIOS, _a, destroy$) {
|
|
41
43
|
var nativeElement = _a.nativeElement;
|
|
42
44
|
return isIOS || !touchSupported
|
|
@@ -49,4 +51,4 @@ export function rippleEndFactory(touchSupported, isIOS, _a, destroy$) {
|
|
|
49
51
|
return target;
|
|
50
52
|
}), filter(isPresent), takeUntil(destroy$));
|
|
51
53
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9yaXBwbGUvIiwic291cmNlcyI6WyJyaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsSUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7QUFDekMsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLGtDQUFrQyxDQUNyQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFlO0lBQzVDLGlCQUFpQjtJQUNqQjtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDOUQsVUFBVSxFQUFFLGtCQUFrQjtLQUNqQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztRQUN0RSxVQUFVLEVBQUUsZ0JBQWdCO0tBQy9CO0NBQ0osQ0FBQztBQUVGLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLGNBQXVCLEVBQ3ZCLEtBQWMsRUFDZCxFQUF3QyxFQUN4QyxRQUFtQjtRQURsQixnQ0FBYTtJQUdkLE9BQU8sS0FBSyxJQUFJLENBQUMsY0FBYztRQUMzQixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLFVBQUMsRUFBUztnQkFBUixvQkFBTztZQUNILElBQUEsZ0NBQWdELEVBQS9DLG9CQUFPLEVBQUUsb0JBQXNDLENBQUM7WUFDakQsSUFBQSwwQ0FDbUMsRUFEbEMsZ0JBQUssRUFBRSxrQkFBTSxFQUFFLFlBQUcsRUFBRSxjQUNjLENBQUM7WUFDMUMsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztZQUMxRCxJQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQU0sQ0FBQyxHQUFHLE9BQU8sR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ2xDLElBQU0sQ0FBQyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1lBQ2pDLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFN0MsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDeEMsUUFBUSxDQUFDLFlBQVksQ0FDakIsTUFBTSxFQUNOLE9BQU8sRUFDUCxzQ0FDVyxTQUFTLDZDQUNSLFNBQVMsMkNBQ1gsQ0FBQywwQ0FDRixDQUFDLHFEQUNVLFNBQVMsNEJBQzlCLENBQ0YsQ0FBQztZQUVGLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDWixDQUFDO0FBRUQsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsY0FBdUIsRUFDdkIsS0FBYyxFQUNkLEVBQXdDLEVBQ3hDLFFBQTBCO1FBRHpCLGdDQUFhO0lBR2QsT0FBTyxLQUFLLElBQUksQ0FBQyxjQUFjO1FBQzNCLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsVUFBQyxFQUFlO2dCQUFkLGdDQUFhO1lBQU0sT0FBQSxhQUFhLEtBQUssVUFBVTtRQUE1QixDQUE0QixDQUFDLEVBQ3pELEdBQUcsQ0FBQyxVQUFDLEVBQVE7Z0JBQVAsa0JBQU07WUFBTSxPQUFBLE1BQU07UUFBTixDQUFNLENBQUMsRUFDekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGlzUHJlc2VudCxcbiAgICBUVUlfSVNfSU9TLFxuICAgIFRVSV9UT1VDSF9TVVBQT1JURUQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFJJUFBMRV9PTiA9ICd0dWlSaXBwbGVPbic7XG5leHBvcnQgY29uc3QgUklQUExFX09GRiA9ICd0dWlSaXBwbGVPZmYnO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfU1RBUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgICdTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIGFkZCcsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfRU5EID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+PihcbiAgICAnU3RyZWFtIG9mIHJpcHBsZSBlbGVtZW50cyB0byByZW1vdmUnLFxuKTtcbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfU1RBUlQsXG4gICAgICAgIGRlcHM6IFtUVUlfVE9VQ0hfU1VQUE9SVEVELCBUVUlfSVNfSU9TLCBFbGVtZW50UmVmLCBSZW5kZXJlcjJdLFxuICAgICAgICB1c2VGYWN0b3J5OiByaXBwbGVTdGFydEZhY3RvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfRU5ELFxuICAgICAgICBkZXBzOiBbVFVJX1RPVUNIX1NVUFBPUlRFRCwgVFVJX0lTX0lPUywgRWxlbWVudFJlZiwgVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgICAgICB1c2VGYWN0b3J5OiByaXBwbGVFbmRGYWN0b3J5LFxuICAgIH0sXG5dO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gcmlwcGxlU3RhcnRGYWN0b3J5KFxuICAgIHRvdWNoU3VwcG9ydGVkOiBib29sZWFuLFxuICAgIGlzSU9TOiBib29sZWFuLFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbik6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gaXNJT1MgfHwgIXRvdWNoU3VwcG9ydGVkXG4gICAgICAgID8gRU1QVFlcbiAgICAgICAgOiB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoe3RvdWNoZXN9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7Y2xpZW50WCwgY2xpZW50WX0gPSB0b3VjaGVzW3RvdWNoZXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICBjb25zdCB7d2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0fSA9XG4gICAgICAgICAgICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJhZGl1cyA9IE1hdGguc3FydCh3aWR0aCAqIHdpZHRoICsgaGVpZ2h0ICogaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHJhZGl1cyAqIDI7XG4gICAgICAgICAgICAgICAgICBjb25zdCB4ID0gY2xpZW50WCAtIGxlZnQgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCB5ID0gY2xpZW50WSAtIHRvcCAtIHJhZGl1cztcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJpcHBsZSA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgICAgICAgICByZW5kZXJlci5hZGRDbGFzcyhyaXBwbGUsICd0dWktcmlwcGxlJyk7XG4gICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgcmlwcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR7ZGltZW5zaW9ufXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAke2RpbWVuc2lvbn1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICR7eH1weDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogJHt5fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICR7UklQUExFX09OfTtcbiAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiByaXBwbGU7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiByaXBwbGVFbmRGYWN0b3J5KFxuICAgIHRvdWNoU3VwcG9ydGVkOiBib29sZWFuLFxuICAgIGlzSU9TOiBib29sZWFuLFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4pOiBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0PiB7XG4gICAgcmV0dXJuIGlzSU9TIHx8ICF0b3VjaFN1cHBvcnRlZFxuICAgICAgICA/IEVNUFRZXG4gICAgICAgIDogdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbmVuZCcpLnBpcGUoXG4gICAgICAgICAgICAgIGZpbHRlcigoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBSSVBQTEVfT0ZGKSxcbiAgICAgICAgICAgICAgbWFwKCh7dGFyZ2V0fSkgPT4gdGFyZ2V0KSxcbiAgICAgICAgICAgICAgZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgKTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated: use {@link tuiFindTouchIndex} instead
|
|
3
|
+
*/
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1
5
|
export function findTouchIndex(touches, id) {
|
|
2
6
|
for (var i = 0; i < touches.length; i++) {
|
|
3
7
|
var identifier = touches[i].identifier;
|
|
@@ -7,4 +11,5 @@ export function findTouchIndex(touches, id) {
|
|
|
7
11
|
}
|
|
8
12
|
return -1;
|
|
9
13
|
}
|
|
10
|
-
|
|
14
|
+
export var tuiFindTouchIndex = findTouchIndex;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC10b3VjaC1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvdXRpbHMvIiwic291cmNlcyI6WyJmaW5kLXRvdWNoLWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBa0IsRUFBRSxFQUFVO0lBQ3pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzlCLElBQUEsa0NBQVUsQ0FBZTtRQUVoQyxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDWjtLQUNKO0lBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHR1aUZpbmRUb3VjaEluZGV4fSBpbnN0ZWFkXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBmaW5kVG91Y2hJbmRleCh0b3VjaGVzOiBUb3VjaExpc3QsIGlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG91Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB7aWRlbnRpZmllcn0gPSB0b3VjaGVzW2ldO1xuXG4gICAgICAgIGlmIChpZGVudGlmaWVyID09PSBpZCkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gLTE7XG59XG5cbmV4cG9ydCBjb25zdCB0dWlGaW5kVG91Y2hJbmRleCA9IGZpbmRUb3VjaEluZGV4O1xuIl19
|
|
@@ -169,6 +169,7 @@ const TUI_MOBILE_CALENDAR_PROVIDERS = [
|
|
|
169
169
|
useFactory: valueStreamFactory,
|
|
170
170
|
},
|
|
171
171
|
];
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
172
173
|
function valueStreamFactory(value$, destroy$, changeDetectorRef) {
|
|
173
174
|
return (value$ || EMPTY).pipe(watch(changeDetectorRef), takeUntil(destroy$));
|
|
174
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-mobile-calendar.js","sources":["ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.const.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.strategy.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.providers.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.component.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.module.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.ts"],"sourcesContent":["import {MONTHS_IN_YEAR} from '@taiga-ui/cdk';\n\nexport const SCROLL_DEBOUNCE_TIME = 80;\nexport const YEARS_IN_ROW = 5;\nexport const STARTING_YEAR = 1900;\nexport const RANGE = 196;\nexport const BUFFER = 500;\nexport const ANDROID_LABEL = 64;\nexport const ANDROID_WEEK = 48;\nexport const IOS_LABEL = 50;\nexport const IOS_WEEK = 50;\nexport const YEARLY_CYCLE = 28;\nexport const ANDROID_CYCLE = getCycle(ANDROID_LABEL, ANDROID_WEEK);\nexport const IOS_CYCLE = getCycle(IOS_LABEL, IOS_WEEK);\n\nfunction getCycle(label: number, week: number): ReadonlyArray<readonly number[]> {\n return Array.from({length: YEARLY_CYCLE}, (_, i) =>\n Array.from(\n {length: MONTHS_IN_YEAR},\n (_, month) => label + weekCount(i, month) * week,\n ),\n );\n}\n\nfunction weekCount(year: number, month: number): number {\n const firstOfMonth = new Date(year + STARTING_YEAR, month, 1);\n const lastOfMonth = new Date(year + STARTING_YEAR, month + 1, 0);\n const days = lastOfMonth.getDate() + (firstOfMonth.getDay() || 7) - 1;\n\n return Math.ceil(days / 7);\n}\n","import {CdkVirtualScrollViewport, VirtualScrollStrategy} from '@angular/cdk/scrolling';\nimport {MONTHS_IN_YEAR, tuiPure, TuiScrollService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {\n ANDROID_CYCLE,\n BUFFER,\n IOS_CYCLE,\n RANGE,\n YEARLY_CYCLE,\n} from './mobile-calendar.const';\n\nconst ANDROID_CYCLE_HEIGHT = reduceCycle(ANDROID_CYCLE);\nconst IOS_CYCLE_HEIGHT = reduceCycle(IOS_CYCLE);\n\nfunction reduceCycle(\n cycle: ReadonlyArray<readonly number[]>,\n lastYear: number = 28,\n lastMonth: number = 12,\n): number {\n return cycle.reduce(\n (total, year, yearIndex) =>\n yearIndex <= lastYear\n ? total +\n year.reduce(\n (sum, month, monthIndex) =>\n yearIndex < lastYear ||\n (yearIndex === lastYear && monthIndex < lastMonth)\n ? sum + month\n : sum,\n 0,\n )\n : total,\n 0,\n );\n}\n\n/**\n * This scroll strategy is hard wired with styles for iOS and Android.\n * It is dependent on month height on those platforms and is designed to\n * work for {@link TuiMobileCalendarComponent} with years 1906 to 2102\n */\nexport class TuiMobileCalendarStrategy implements VirtualScrollStrategy {\n private readonly index$ = new Subject<number>();\n\n private viewport: CdkVirtualScrollViewport | null = null;\n\n constructor(\n private readonly isIos: boolean,\n private readonly scrollService: TuiScrollService,\n ) {}\n\n @tuiPure\n get scrolledIndexChange(): Observable<number> {\n return this.index$.pipe(distinctUntilChanged());\n }\n\n attach(viewport: CdkVirtualScrollViewport): void {\n const cycle = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n\n this.viewport = viewport;\n this.viewport.setTotalContentSize(cycle * 7);\n this.updateRenderedRange(this.viewport);\n }\n\n detach(): void {\n this.index$.complete();\n this.viewport = null;\n }\n\n onContentScrolled(): void {\n if (this.viewport) {\n this.updateRenderedRange(this.viewport);\n }\n }\n\n /** These do not matter for this case */\n onDataLengthChanged(): void {}\n onContentRendered(): void {}\n onRenderedOffsetChanged(): void {}\n\n scrollToIndex(index: number, behavior: ScrollBehavior): void {\n if (!this.viewport) {\n return;\n }\n\n const scrollTop = this.getOffsetForIndex(index);\n\n if (behavior !== 'smooth') {\n this.viewport.scrollToOffset(scrollTop, behavior);\n\n return;\n }\n\n this.scrollService\n .scroll$(this.viewport.elementRef.nativeElement, scrollTop)\n .subscribe();\n }\n\n private getOffsetForIndex(index: number): number {\n const month = index % MONTHS_IN_YEAR;\n const year = (index - month) / MONTHS_IN_YEAR;\n\n return this.computeHeight(year, month);\n }\n\n private getIndexForOffset(offset: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const cycleHeight = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n const remainder = offset % cycleHeight;\n const years = ((offset - remainder) / cycleHeight) * YEARLY_CYCLE;\n\n let accumulator = 0;\n\n for (let year = 0; year < cycle.length; year++) {\n for (let month = 0; month < cycle[year].length; month++) {\n accumulator += cycle[year][month];\n\n if (accumulator - cycle[year][month] / 2 > remainder) {\n return Math.max((years + year) * MONTHS_IN_YEAR + month, 0);\n }\n }\n }\n\n return RANGE;\n }\n\n private computeHeight(year: number, month?: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const remainder = year % YEARLY_CYCLE;\n const remainderHeight = reduceCycle(cycle, remainder, month);\n const fullCycles = (year - remainder) / YEARLY_CYCLE;\n const fullCyclesHeight = this.isIos\n ? fullCycles * IOS_CYCLE_HEIGHT\n : fullCycles * ANDROID_CYCLE_HEIGHT;\n\n return fullCyclesHeight + remainderHeight;\n }\n\n private updateRenderedRange(viewport: CdkVirtualScrollViewport): void {\n const offset = viewport.measureScrollOffset();\n const {start, end} = viewport.getRenderedRange();\n const viewportSize = viewport.getViewportSize();\n const dataLength = viewport.getDataLength();\n const newRange = {start, end};\n const firstVisibleIndex = this.getIndexForOffset(offset);\n const startBuffer = offset - this.getOffsetForIndex(start);\n\n if (startBuffer < BUFFER && start !== 0) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER * 2));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER),\n );\n } else {\n const endBuffer = this.getOffsetForIndex(end) - offset - viewportSize;\n\n if (endBuffer < BUFFER && end !== dataLength) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER * 2),\n );\n }\n }\n\n viewport.setRenderedRange(newRange);\n viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));\n this.index$.next(firstVisibleIndex);\n }\n}\n","import {VIRTUAL_SCROLL_STRATEGY} from '@angular/cdk/scrolling';\nimport {ChangeDetectorRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TuiDayRange,\n TuiDestroyService,\n TuiScrollService,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit';\nimport {EMPTY, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiMobileCalendarStrategy} from './mobile-calendar.strategy';\n\nexport const TUI_VALUE_STREAM = new InjectionToken<Observable<TuiDayRange | null>>(\n 'Stream for updating value',\n);\nexport const TUI_MOBILE_CALENDAR_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiScrollService,\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n deps: [TUI_IS_IOS, TuiScrollService],\n useClass: TuiMobileCalendarStrategy,\n },\n {\n provide: TUI_VALUE_STREAM,\n deps: [\n [new Optional(), TUI_CALENDAR_DATA_STREAM],\n TuiDestroyService,\n ChangeDetectorRef,\n ],\n useFactory: valueStreamFactory,\n },\n];\n\nexport function valueStreamFactory(\n value$: Observable<TuiDayRange | null> | null,\n destroy$: Observable<void>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<TuiDayRange | null> {\n return (value$ || EMPTY).pipe(watch(changeDetectorRef), takeUntil(destroy$));\n}\n","import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n MONTHS_IN_YEAR,\n TUI_FIRST_DAY,\n TUI_IS_IOS,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD, TUI_ORDERED_SHORT_WEEK_DAYS} from '@taiga-ui/core';\nimport {\n TUI_CANCEL_WORD,\n TUI_CHOOSE_DAY_OR_RANGE_TEXTS,\n TUI_DONE_WORD,\n} from '@taiga-ui/kit';\nimport {identity, MonoTypeOperatorFunction, Observable, race, timer} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n flatMap,\n map,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n windowToggle,\n} from 'rxjs/operators';\n\nimport {\n RANGE,\n SCROLL_DEBOUNCE_TIME,\n STARTING_YEAR,\n YEARS_IN_ROW,\n} from './mobile-calendar.const';\nimport {\n TUI_MOBILE_CALENDAR_PROVIDERS,\n TUI_VALUE_STREAM,\n} from './mobile-calendar.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-mobile-calendar',\n templateUrl: './mobile-calendar.template.html',\n styleUrls: ['./mobile-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_MOBILE_CALENDAR_PROVIDERS,\n host: {'[class._ios]': 'isIOS'},\n})\nexport class TuiMobileCalendarComponent {\n @ViewChild('yearsScrollRef')\n private readonly yearsScrollRef?: CdkVirtualScrollViewport;\n\n @ViewChild('monthsScrollRef')\n private readonly monthsScrollRef?: CdkVirtualScrollViewport;\n\n private readonly today = TuiDay.currentLocal();\n private activeYear = this.initialYear;\n private activeMonth = this.initialMonth;\n\n @Input()\n @tuiDefaultProp()\n single = true;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly cancel = new EventEmitter<void>();\n\n @Output()\n readonly confirm = new EventEmitter<TuiDayRange | TuiDay>();\n\n value: TuiDay | TuiDayRange | null = null;\n\n readonly years = Array.from({length: RANGE}, (_, i) => i + STARTING_YEAR);\n\n readonly months = Array.from(\n {length: RANGE * 12},\n (_, i) =>\n new TuiMonth(\n Math.floor(i / MONTHS_IN_YEAR) + STARTING_YEAR,\n i % MONTHS_IN_YEAR,\n ),\n );\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TUI_VALUE_STREAM) valueChanges: Observable<TuiDayRange | null>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_CANCEL_WORD) readonly cancelWord$: Observable<string>,\n @Inject(TUI_DONE_WORD) readonly doneWord$: Observable<string>,\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<\n [string, string, string, string, string, string, string]\n >,\n @Inject(TUI_CHOOSE_DAY_OR_RANGE_TEXTS)\n readonly chooseDayOrRangeTexts$: Observable<[string, string]>,\n ) {\n valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n get yearWidth(): number {\n return this.documentRef.documentElement.clientWidth / YEARS_IN_ROW;\n }\n\n ngAfterViewInit(): void {\n // Virtual scroll has not yet rendered items even in ngAfterViewInit\n this.waitScrolledChange();\n }\n\n onClose(): void {\n this.cancel.emit();\n }\n\n onConfirm(): void {\n if (this.value) {\n this.confirm.emit(this.value);\n } else {\n this.cancel.emit();\n }\n }\n\n onDayClick(day: TuiDay): void {\n if (this.single) {\n this.value = day;\n\n return;\n }\n\n if (\n this.value === null ||\n this.value instanceof TuiDay ||\n !this.value.isSingleDay\n ) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.value = TuiDayRange.sort(this.value.from, day);\n }\n\n getState(index: number): 'active' | 'adjacent' | null {\n if (this.isYearActive(index)) {\n return 'active';\n }\n\n if (this.isYearActive(index - 1) || this.isYearActive(index + 1)) {\n return 'adjacent';\n }\n\n return null;\n }\n\n onMonthChange(month: number): void {\n // Skipping initial callback where index === 0\n if (!month || this.activeMonth === month) {\n return;\n }\n\n this.activeMonth = month;\n\n const activeYear = this.monthToYear(month);\n\n if (activeYear === this.activeYear) {\n return;\n }\n\n this.activeYear = activeYear;\n this.scrollToActiveYear();\n }\n\n setYear(year: number): void {\n if (this.activeYear === year) {\n return;\n }\n\n this.activeMonth += this.getMonthOffset(year);\n this.activeYear = year;\n this.scrollToActiveYear('smooth');\n\n // Delay is required to run months scroll in the next frame to prevent flicker\n setTimeout(() => {\n this.scrollToActiveMonth();\n });\n }\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) ||\n (max !== null && item.dayAfter(max)) ||\n disabledItemHandler(item);\n\n private get initialYear(): number {\n if (!this.value) {\n return this.today.year;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.year;\n }\n\n return this.value.from.year;\n }\n\n private get initialMonth(): number {\n if (!this.value) {\n return this.today.month + (this.today.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.month + (this.value.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n return (\n this.value.from.month +\n (this.value.from.year - STARTING_YEAR) * MONTHS_IN_YEAR\n );\n }\n\n private getYearsViewportSize(): number {\n return this.yearsScrollRef?.getViewportSize() || 0;\n }\n\n private updateViewportDimension(): void {\n this.yearsScrollRef?.checkViewportSize();\n this.monthsScrollRef?.checkViewportSize();\n }\n\n private lateInit(): MonoTypeOperatorFunction<number> {\n return this.getYearsViewportSize() > 0 ? identity : delay(200);\n }\n\n private waitScrolledChange(): void {\n this.updateViewportDimension();\n\n this.monthsScrollRef?.scrolledIndexChange\n .pipe(this.lateInit(), take(1), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateViewportDimension();\n this.initYearScroll();\n this.initMonthScroll();\n this.scrollToActiveYear();\n this.scrollToActiveMonth();\n });\n }\n\n private initYearScroll(): void {\n const {yearsScrollRef} = this;\n\n if (!yearsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchstart',\n );\n const touchend$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n const click$ = typedFromEvent(yearsScrollRef.elementRef.nativeElement, 'click');\n\n // Refresh activeYear\n yearsScrollRef\n .elementScrolled()\n .pipe(\n // Ignore smooth scroll resulting from click on the exact year\n windowToggle(touchstart$, () => click$),\n flatMap(x => x),\n // Delay is required to run months scroll in the next frame to prevent flicker\n delay(0),\n map(\n () =>\n Math.round(\n yearsScrollRef.measureScrollOffset() / this.yearWidth,\n ) +\n Math.floor(YEARS_IN_ROW / 2) +\n STARTING_YEAR,\n ),\n filter(activeYear => activeYear !== this.activeYear),\n takeUntil(this.destroy$),\n )\n .subscribe(activeYear => {\n this.activeMonth += this.getMonthOffset(activeYear);\n this.activeYear = activeYear;\n this.scrollToActiveMonth();\n });\n\n // Smooth scroll to activeYear after scrolling is done\n touchstart$\n .pipe(\n switchMap(() => touchend$),\n switchMap(() =>\n race<unknown>(\n yearsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveYear('smooth');\n });\n }\n\n private initMonthScroll(): void {\n const {monthsScrollRef} = this;\n\n if (!monthsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchstart',\n {passive: true},\n );\n const touchend$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n\n // Smooth scroll to the closest month after scrolling is done\n touchstart$\n .pipe(\n switchMapTo(touchend$),\n switchMapTo(\n race<unknown>(\n monthsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveMonth('smooth');\n });\n }\n\n private scrollToActiveYear(behavior?: ScrollBehavior): void {\n this.yearsScrollRef?.scrollToIndex(\n Math.max(this.activeYear - STARTING_YEAR - 2, 0),\n behavior,\n );\n }\n\n private scrollToActiveMonth(behavior?: ScrollBehavior): void {\n this.monthsScrollRef?.scrollToIndex(this.activeMonth, behavior);\n }\n\n private isYearActive(index: number): boolean {\n return index === this.activeYear;\n }\n\n private monthToYear(month: number): number {\n return Math.ceil((month + 1) / MONTHS_IN_YEAR) + STARTING_YEAR - 1;\n }\n\n private getMonthOffset(year: number): number {\n return (year - this.activeYear) * MONTHS_IN_YEAR;\n }\n}\n","import {ScrollingModule} from '@angular/cdk/scrolling';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRippleModule} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {TuiTouchableModule} from '@taiga-ui/addon-mobile/directives/touchable';\nimport {TuiPrimitiveCalendarMobileModule} from '@taiga-ui/addon-mobile/internal/primitive-calendar-mobile';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLinkModule, TuiMonthPipeModule} from '@taiga-ui/core';\n\nimport {TuiMobileCalendarComponent} from './mobile-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ScrollingModule,\n TuiTouchableModule,\n TuiRippleModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiPrimitiveCalendarMobileModule,\n TuiButtonModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiMobileCalendarComponent],\n exports: [TuiMobileCalendarComponent],\n})\nexport class TuiMobileCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-mobile-calendar.js","sources":["ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.const.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.strategy.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.providers.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.component.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.module.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.ts"],"sourcesContent":["import {MONTHS_IN_YEAR} from '@taiga-ui/cdk';\n\nexport const SCROLL_DEBOUNCE_TIME = 80;\nexport const YEARS_IN_ROW = 5;\nexport const STARTING_YEAR = 1900;\nexport const RANGE = 196;\nexport const BUFFER = 500;\nexport const ANDROID_LABEL = 64;\nexport const ANDROID_WEEK = 48;\nexport const IOS_LABEL = 50;\nexport const IOS_WEEK = 50;\nexport const YEARLY_CYCLE = 28;\nexport const ANDROID_CYCLE = getCycle(ANDROID_LABEL, ANDROID_WEEK);\nexport const IOS_CYCLE = getCycle(IOS_LABEL, IOS_WEEK);\n\nfunction getCycle(label: number, week: number): ReadonlyArray<readonly number[]> {\n return Array.from({length: YEARLY_CYCLE}, (_, i) =>\n Array.from(\n {length: MONTHS_IN_YEAR},\n (_, month) => label + weekCount(i, month) * week,\n ),\n );\n}\n\nfunction weekCount(year: number, month: number): number {\n const firstOfMonth = new Date(year + STARTING_YEAR, month, 1);\n const lastOfMonth = new Date(year + STARTING_YEAR, month + 1, 0);\n const days = lastOfMonth.getDate() + (firstOfMonth.getDay() || 7) - 1;\n\n return Math.ceil(days / 7);\n}\n","import {CdkVirtualScrollViewport, VirtualScrollStrategy} from '@angular/cdk/scrolling';\nimport {MONTHS_IN_YEAR, tuiPure, TuiScrollService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {\n ANDROID_CYCLE,\n BUFFER,\n IOS_CYCLE,\n RANGE,\n YEARLY_CYCLE,\n} from './mobile-calendar.const';\n\nconst ANDROID_CYCLE_HEIGHT = reduceCycle(ANDROID_CYCLE);\nconst IOS_CYCLE_HEIGHT = reduceCycle(IOS_CYCLE);\n\nfunction reduceCycle(\n cycle: ReadonlyArray<readonly number[]>,\n lastYear: number = 28,\n lastMonth: number = 12,\n): number {\n return cycle.reduce(\n (total, year, yearIndex) =>\n yearIndex <= lastYear\n ? total +\n year.reduce(\n (sum, month, monthIndex) =>\n yearIndex < lastYear ||\n (yearIndex === lastYear && monthIndex < lastMonth)\n ? sum + month\n : sum,\n 0,\n )\n : total,\n 0,\n );\n}\n\n/**\n * This scroll strategy is hard wired with styles for iOS and Android.\n * It is dependent on month height on those platforms and is designed to\n * work for {@link TuiMobileCalendarComponent} with years 1906 to 2102\n */\nexport class TuiMobileCalendarStrategy implements VirtualScrollStrategy {\n private readonly index$ = new Subject<number>();\n\n private viewport: CdkVirtualScrollViewport | null = null;\n\n constructor(\n private readonly isIos: boolean,\n private readonly scrollService: TuiScrollService,\n ) {}\n\n @tuiPure\n get scrolledIndexChange(): Observable<number> {\n return this.index$.pipe(distinctUntilChanged());\n }\n\n attach(viewport: CdkVirtualScrollViewport): void {\n const cycle = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n\n this.viewport = viewport;\n this.viewport.setTotalContentSize(cycle * 7);\n this.updateRenderedRange(this.viewport);\n }\n\n detach(): void {\n this.index$.complete();\n this.viewport = null;\n }\n\n onContentScrolled(): void {\n if (this.viewport) {\n this.updateRenderedRange(this.viewport);\n }\n }\n\n /** These do not matter for this case */\n onDataLengthChanged(): void {}\n onContentRendered(): void {}\n onRenderedOffsetChanged(): void {}\n\n scrollToIndex(index: number, behavior: ScrollBehavior): void {\n if (!this.viewport) {\n return;\n }\n\n const scrollTop = this.getOffsetForIndex(index);\n\n if (behavior !== 'smooth') {\n this.viewport.scrollToOffset(scrollTop, behavior);\n\n return;\n }\n\n this.scrollService\n .scroll$(this.viewport.elementRef.nativeElement, scrollTop)\n .subscribe();\n }\n\n private getOffsetForIndex(index: number): number {\n const month = index % MONTHS_IN_YEAR;\n const year = (index - month) / MONTHS_IN_YEAR;\n\n return this.computeHeight(year, month);\n }\n\n private getIndexForOffset(offset: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const cycleHeight = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n const remainder = offset % cycleHeight;\n const years = ((offset - remainder) / cycleHeight) * YEARLY_CYCLE;\n\n let accumulator = 0;\n\n for (let year = 0; year < cycle.length; year++) {\n for (let month = 0; month < cycle[year].length; month++) {\n accumulator += cycle[year][month];\n\n if (accumulator - cycle[year][month] / 2 > remainder) {\n return Math.max((years + year) * MONTHS_IN_YEAR + month, 0);\n }\n }\n }\n\n return RANGE;\n }\n\n private computeHeight(year: number, month?: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const remainder = year % YEARLY_CYCLE;\n const remainderHeight = reduceCycle(cycle, remainder, month);\n const fullCycles = (year - remainder) / YEARLY_CYCLE;\n const fullCyclesHeight = this.isIos\n ? fullCycles * IOS_CYCLE_HEIGHT\n : fullCycles * ANDROID_CYCLE_HEIGHT;\n\n return fullCyclesHeight + remainderHeight;\n }\n\n private updateRenderedRange(viewport: CdkVirtualScrollViewport): void {\n const offset = viewport.measureScrollOffset();\n const {start, end} = viewport.getRenderedRange();\n const viewportSize = viewport.getViewportSize();\n const dataLength = viewport.getDataLength();\n const newRange = {start, end};\n const firstVisibleIndex = this.getIndexForOffset(offset);\n const startBuffer = offset - this.getOffsetForIndex(start);\n\n if (startBuffer < BUFFER && start !== 0) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER * 2));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER),\n );\n } else {\n const endBuffer = this.getOffsetForIndex(end) - offset - viewportSize;\n\n if (endBuffer < BUFFER && end !== dataLength) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER * 2),\n );\n }\n }\n\n viewport.setRenderedRange(newRange);\n viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));\n this.index$.next(firstVisibleIndex);\n }\n}\n","import {VIRTUAL_SCROLL_STRATEGY} from '@angular/cdk/scrolling';\nimport {ChangeDetectorRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TuiDayRange,\n TuiDestroyService,\n TuiScrollService,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit';\nimport {EMPTY, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiMobileCalendarStrategy} from './mobile-calendar.strategy';\n\nexport const TUI_VALUE_STREAM = new InjectionToken<Observable<TuiDayRange | null>>(\n 'Stream for updating value',\n);\nexport const TUI_MOBILE_CALENDAR_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiScrollService,\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n deps: [TUI_IS_IOS, TuiScrollService],\n useClass: TuiMobileCalendarStrategy,\n },\n {\n provide: TUI_VALUE_STREAM,\n deps: [\n [new Optional(), TUI_CALENDAR_DATA_STREAM],\n TuiDestroyService,\n ChangeDetectorRef,\n ],\n useFactory: valueStreamFactory,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function valueStreamFactory(\n value$: Observable<TuiDayRange | null> | null,\n destroy$: Observable<void>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<TuiDayRange | null> {\n return (value$ || EMPTY).pipe(watch(changeDetectorRef), takeUntil(destroy$));\n}\n","import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n MONTHS_IN_YEAR,\n TUI_FIRST_DAY,\n TUI_IS_IOS,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD, TUI_ORDERED_SHORT_WEEK_DAYS} from '@taiga-ui/core';\nimport {\n TUI_CANCEL_WORD,\n TUI_CHOOSE_DAY_OR_RANGE_TEXTS,\n TUI_DONE_WORD,\n} from '@taiga-ui/kit';\nimport {identity, MonoTypeOperatorFunction, Observable, race, timer} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n flatMap,\n map,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n windowToggle,\n} from 'rxjs/operators';\n\nimport {\n RANGE,\n SCROLL_DEBOUNCE_TIME,\n STARTING_YEAR,\n YEARS_IN_ROW,\n} from './mobile-calendar.const';\nimport {\n TUI_MOBILE_CALENDAR_PROVIDERS,\n TUI_VALUE_STREAM,\n} from './mobile-calendar.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-mobile-calendar',\n templateUrl: './mobile-calendar.template.html',\n styleUrls: ['./mobile-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_MOBILE_CALENDAR_PROVIDERS,\n host: {'[class._ios]': 'isIOS'},\n})\nexport class TuiMobileCalendarComponent {\n @ViewChild('yearsScrollRef')\n private readonly yearsScrollRef?: CdkVirtualScrollViewport;\n\n @ViewChild('monthsScrollRef')\n private readonly monthsScrollRef?: CdkVirtualScrollViewport;\n\n private readonly today = TuiDay.currentLocal();\n private activeYear = this.initialYear;\n private activeMonth = this.initialMonth;\n\n @Input()\n @tuiDefaultProp()\n single = true;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly cancel = new EventEmitter<void>();\n\n @Output()\n readonly confirm = new EventEmitter<TuiDayRange | TuiDay>();\n\n value: TuiDay | TuiDayRange | null = null;\n\n readonly years = Array.from({length: RANGE}, (_, i) => i + STARTING_YEAR);\n\n readonly months = Array.from(\n {length: RANGE * 12},\n (_, i) =>\n new TuiMonth(\n Math.floor(i / MONTHS_IN_YEAR) + STARTING_YEAR,\n i % MONTHS_IN_YEAR,\n ),\n );\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TUI_VALUE_STREAM) valueChanges: Observable<TuiDayRange | null>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_CANCEL_WORD) readonly cancelWord$: Observable<string>,\n @Inject(TUI_DONE_WORD) readonly doneWord$: Observable<string>,\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<\n [string, string, string, string, string, string, string]\n >,\n @Inject(TUI_CHOOSE_DAY_OR_RANGE_TEXTS)\n readonly chooseDayOrRangeTexts$: Observable<[string, string]>,\n ) {\n valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n get yearWidth(): number {\n return this.documentRef.documentElement.clientWidth / YEARS_IN_ROW;\n }\n\n ngAfterViewInit(): void {\n // Virtual scroll has not yet rendered items even in ngAfterViewInit\n this.waitScrolledChange();\n }\n\n onClose(): void {\n this.cancel.emit();\n }\n\n onConfirm(): void {\n if (this.value) {\n this.confirm.emit(this.value);\n } else {\n this.cancel.emit();\n }\n }\n\n onDayClick(day: TuiDay): void {\n if (this.single) {\n this.value = day;\n\n return;\n }\n\n if (\n this.value === null ||\n this.value instanceof TuiDay ||\n !this.value.isSingleDay\n ) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.value = TuiDayRange.sort(this.value.from, day);\n }\n\n getState(index: number): 'active' | 'adjacent' | null {\n if (this.isYearActive(index)) {\n return 'active';\n }\n\n if (this.isYearActive(index - 1) || this.isYearActive(index + 1)) {\n return 'adjacent';\n }\n\n return null;\n }\n\n onMonthChange(month: number): void {\n // Skipping initial callback where index === 0\n if (!month || this.activeMonth === month) {\n return;\n }\n\n this.activeMonth = month;\n\n const activeYear = this.monthToYear(month);\n\n if (activeYear === this.activeYear) {\n return;\n }\n\n this.activeYear = activeYear;\n this.scrollToActiveYear();\n }\n\n setYear(year: number): void {\n if (this.activeYear === year) {\n return;\n }\n\n this.activeMonth += this.getMonthOffset(year);\n this.activeYear = year;\n this.scrollToActiveYear('smooth');\n\n // Delay is required to run months scroll in the next frame to prevent flicker\n setTimeout(() => {\n this.scrollToActiveMonth();\n });\n }\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) ||\n (max !== null && item.dayAfter(max)) ||\n disabledItemHandler(item);\n\n private get initialYear(): number {\n if (!this.value) {\n return this.today.year;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.year;\n }\n\n return this.value.from.year;\n }\n\n private get initialMonth(): number {\n if (!this.value) {\n return this.today.month + (this.today.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.month + (this.value.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n return (\n this.value.from.month +\n (this.value.from.year - STARTING_YEAR) * MONTHS_IN_YEAR\n );\n }\n\n private getYearsViewportSize(): number {\n return this.yearsScrollRef?.getViewportSize() || 0;\n }\n\n private updateViewportDimension(): void {\n this.yearsScrollRef?.checkViewportSize();\n this.monthsScrollRef?.checkViewportSize();\n }\n\n private lateInit(): MonoTypeOperatorFunction<number> {\n return this.getYearsViewportSize() > 0 ? identity : delay(200);\n }\n\n private waitScrolledChange(): void {\n this.updateViewportDimension();\n\n this.monthsScrollRef?.scrolledIndexChange\n .pipe(this.lateInit(), take(1), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateViewportDimension();\n this.initYearScroll();\n this.initMonthScroll();\n this.scrollToActiveYear();\n this.scrollToActiveMonth();\n });\n }\n\n private initYearScroll(): void {\n const {yearsScrollRef} = this;\n\n if (!yearsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchstart',\n );\n const touchend$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n const click$ = typedFromEvent(yearsScrollRef.elementRef.nativeElement, 'click');\n\n // Refresh activeYear\n yearsScrollRef\n .elementScrolled()\n .pipe(\n // Ignore smooth scroll resulting from click on the exact year\n windowToggle(touchstart$, () => click$),\n flatMap(x => x),\n // Delay is required to run months scroll in the next frame to prevent flicker\n delay(0),\n map(\n () =>\n Math.round(\n yearsScrollRef.measureScrollOffset() / this.yearWidth,\n ) +\n Math.floor(YEARS_IN_ROW / 2) +\n STARTING_YEAR,\n ),\n filter(activeYear => activeYear !== this.activeYear),\n takeUntil(this.destroy$),\n )\n .subscribe(activeYear => {\n this.activeMonth += this.getMonthOffset(activeYear);\n this.activeYear = activeYear;\n this.scrollToActiveMonth();\n });\n\n // Smooth scroll to activeYear after scrolling is done\n touchstart$\n .pipe(\n switchMap(() => touchend$),\n switchMap(() =>\n race<unknown>(\n yearsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveYear('smooth');\n });\n }\n\n private initMonthScroll(): void {\n const {monthsScrollRef} = this;\n\n if (!monthsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchstart',\n {passive: true},\n );\n const touchend$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n\n // Smooth scroll to the closest month after scrolling is done\n touchstart$\n .pipe(\n switchMapTo(touchend$),\n switchMapTo(\n race<unknown>(\n monthsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveMonth('smooth');\n });\n }\n\n private scrollToActiveYear(behavior?: ScrollBehavior): void {\n this.yearsScrollRef?.scrollToIndex(\n Math.max(this.activeYear - STARTING_YEAR - 2, 0),\n behavior,\n );\n }\n\n private scrollToActiveMonth(behavior?: ScrollBehavior): void {\n this.monthsScrollRef?.scrollToIndex(this.activeMonth, behavior);\n }\n\n private isYearActive(index: number): boolean {\n return index === this.activeYear;\n }\n\n private monthToYear(month: number): number {\n return Math.ceil((month + 1) / MONTHS_IN_YEAR) + STARTING_YEAR - 1;\n }\n\n private getMonthOffset(year: number): number {\n return (year - this.activeYear) * MONTHS_IN_YEAR;\n }\n}\n","import {ScrollingModule} from '@angular/cdk/scrolling';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRippleModule} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {TuiTouchableModule} from '@taiga-ui/addon-mobile/directives/touchable';\nimport {TuiPrimitiveCalendarMobileModule} from '@taiga-ui/addon-mobile/internal/primitive-calendar-mobile';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLinkModule, TuiMonthPipeModule} from '@taiga-ui/core';\n\nimport {TuiMobileCalendarComponent} from './mobile-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ScrollingModule,\n TuiTouchableModule,\n TuiRippleModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiPrimitiveCalendarMobileModule,\n TuiButtonModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiMobileCalendarComponent],\n exports: [TuiMobileCalendarComponent],\n})\nexport class TuiMobileCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,7 @@ const TUI_PULL_TO_REFRESH_PROVIDERS = [
|
|
|
80
80
|
useFactory: pullingFactory,
|
|
81
81
|
},
|
|
82
82
|
];
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
83
84
|
function pullingFactory(isIOS, loaded$, { nativeElement }) {
|
|
84
85
|
return merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(filter(() => nativeElement.scrollTop === 0), switchMap(touchStart => typedFromEvent(nativeElement, 'touchmove').pipe(map(touchMove => touchMove.touches[0].clientY - touchStart.touches[0].clientY), takeUntil(typedFromEvent(nativeElement, 'touchend')), endWith(0)))), loaded$.pipe(mapTo(NaN))).pipe(scan((max, current) => {
|
|
85
86
|
if (isNaN(current)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-pull-to-refresh.js","sources":["ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-android/loader-android.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-ios/loader-ios.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.providers.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.module.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\n\nconst HIDDEN_DISTANCE = 2;\nconst ROTATE_X_DEFAULT = 180;\nconst ROTATE_X_MAX = 500;\nconst ROTATE_X_MULTIPLIER = 2.3;\n\n@Component({\n selector: 'tui-mobile-android-loader',\n templateUrl: './loader-android.template.html',\n styleUrls: ['./loader-android.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMobileLoaderAndroidComponent {\n @Input()\n pulled = 0;\n\n get transform(): string {\n const rotateX = Math.min(\n ROTATE_X_DEFAULT + this.pulled * ROTATE_X_MULTIPLIER,\n ROTATE_X_MAX,\n );\n\n return `rotate(${rotateX} 0 0)`;\n }\n\n @HostBinding('class._hidden')\n get hidden(): boolean {\n return this.pulled < HIDDEN_DISTANCE;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nconst LOADED_STEP = 8;\nconst ROTATE_X_STEP = 30;\n\n@Component({\n selector: 'tui-mobile-ios-loader',\n templateUrl: './loader-ios.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiMobileLoaderIOSComponent {\n @Input()\n pulled = 0;\n\n readonly steps = 12;\n\n get finished(): boolean {\n return this.pulled >= 100;\n }\n\n isShown(index: number): boolean {\n return this.pulled > (index + 1) * LOADED_STEP;\n }\n\n calculateTransform(index: number): string {\n return `rotate(${index * ROTATE_X_STEP} 50 50)`;\n }\n\n calculateAnimationBegin(index: number): string {\n return `${(index * LOADED_STEP) / 100}s`;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_LOADED} from '@taiga-ui/addon-mobile/tokens';\nimport {TUI_IS_IOS, typedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {endWith, filter, map, mapTo, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const MICRO_OFFSET = 10 ** -6;\nexport const PULLED_DISTANCE = 50;\n\nexport const TUI_PULLING = new InjectionToken<Observable<number>>(\n 'Stream that emits content pulling',\n);\n\nexport const TUI_PULL_TO_REFRESH_PROVIDERS: Provider[] = [\n {\n provide: TUI_PULLING,\n deps: [TUI_IS_IOS, TUI_LOADED, ElementRef],\n useFactory: pullingFactory,\n },\n];\n\nexport function pullingFactory(\n isIOS: boolean,\n loaded$: Observable<unknown>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<number> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(() => nativeElement.scrollTop === 0),\n switchMap(touchStart =>\n typedFromEvent(nativeElement, 'touchmove').pipe(\n map(\n touchMove =>\n touchMove.touches[0].clientY - touchStart.touches[0].clientY,\n ),\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n endWith(0),\n ),\n ),\n ),\n loaded$.pipe(mapTo(NaN)),\n ).pipe(\n scan((max, current) => {\n if (isNaN(current)) {\n return 0;\n }\n\n const androidLoading = !isIOS && max === PULLED_DISTANCE;\n const dropped = current === 0 && max > PULLED_DISTANCE;\n\n return androidLoading || dropped ? PULLED_DISTANCE : current + MICRO_OFFSET;\n }, 0),\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject, Output} from '@angular/core';\nimport {TUI_IS_IOS, tuiPure} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo} from 'rxjs/operators';\n\nimport {\n MICRO_OFFSET,\n PULLED_DISTANCE,\n TUI_PULL_TO_REFRESH_PROVIDERS,\n TUI_PULLING,\n} from './pull-to-refresh.providers';\n\nconst IOS_LOADING_DISTANCE = PULLED_DISTANCE / 2;\nconst ANDROID_MAX_DISTANCE = PULLED_DISTANCE * 1.5;\n\nfunction translateY(distance: number): string {\n return `translateY(${distance}px)`;\n}\n\n@Component({\n selector: 'tui-pull-to-refresh',\n templateUrl: './pull-to-refresh.template.html',\n styleUrls: ['./pull-to-refresh.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_PULL_TO_REFRESH_PROVIDERS],\n})\nexport class TuiPullToRefreshComponent {\n @Output()\n readonly pulled: Observable<void> = this.pulling$.pipe(\n distinctUntilChanged(),\n filter(distance => distance === PULLED_DISTANCE),\n mapTo(undefined),\n );\n\n readonly pulledInPercent$: Observable<number> = this.pulling$.pipe(\n map(distance => (distance * 100) / PULLED_DISTANCE),\n );\n\n readonly dropped$: Observable<boolean> = this.pulling$.pipe(\n map(distance => distance <= MICRO_OFFSET || distance === PULLED_DISTANCE),\n distinctUntilChanged(),\n );\n\n readonly contentTransform$: Observable<string | null> = this.isIOS\n ? this.pulling$.pipe(\n map(distance =>\n distance === PULLED_DISTANCE ? IOS_LOADING_DISTANCE : distance,\n ),\n map(translateY),\n )\n : of(null);\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_PULLING) private readonly pulling$: Observable<number>,\n ) {}\n\n @tuiPure\n get loaderTransform$(): Observable<string> {\n return this.pulling$.pipe(\n map(distance => translateY(Math.min(distance, ANDROID_MAX_DISTANCE))),\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiOverscrollModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiMobileLoaderAndroidComponent} from './loader-android/loader-android.component';\nimport {TuiMobileLoaderIOSComponent} from './loader-ios/loader-ios.component';\nimport {TuiPullToRefreshComponent} from './pull-to-refresh.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiOverscrollModule, TuiRepeatTimesModule],\n declarations: [\n TuiPullToRefreshComponent,\n TuiMobileLoaderAndroidComponent,\n TuiMobileLoaderIOSComponent,\n ],\n exports: [TuiPullToRefreshComponent],\n})\nexport class TuiPullToRefreshModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-pull-to-refresh.js","sources":["ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-android/loader-android.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-ios/loader-ios.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.providers.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.module.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\n\nconst HIDDEN_DISTANCE = 2;\nconst ROTATE_X_DEFAULT = 180;\nconst ROTATE_X_MAX = 500;\nconst ROTATE_X_MULTIPLIER = 2.3;\n\n@Component({\n selector: 'tui-mobile-android-loader',\n templateUrl: './loader-android.template.html',\n styleUrls: ['./loader-android.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMobileLoaderAndroidComponent {\n @Input()\n pulled = 0;\n\n get transform(): string {\n const rotateX = Math.min(\n ROTATE_X_DEFAULT + this.pulled * ROTATE_X_MULTIPLIER,\n ROTATE_X_MAX,\n );\n\n return `rotate(${rotateX} 0 0)`;\n }\n\n @HostBinding('class._hidden')\n get hidden(): boolean {\n return this.pulled < HIDDEN_DISTANCE;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nconst LOADED_STEP = 8;\nconst ROTATE_X_STEP = 30;\n\n@Component({\n selector: 'tui-mobile-ios-loader',\n templateUrl: './loader-ios.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiMobileLoaderIOSComponent {\n @Input()\n pulled = 0;\n\n readonly steps = 12;\n\n get finished(): boolean {\n return this.pulled >= 100;\n }\n\n isShown(index: number): boolean {\n return this.pulled > (index + 1) * LOADED_STEP;\n }\n\n calculateTransform(index: number): string {\n return `rotate(${index * ROTATE_X_STEP} 50 50)`;\n }\n\n calculateAnimationBegin(index: number): string {\n return `${(index * LOADED_STEP) / 100}s`;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_LOADED} from '@taiga-ui/addon-mobile/tokens';\nimport {TUI_IS_IOS, typedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {endWith, filter, map, mapTo, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const MICRO_OFFSET = 10 ** -6;\nexport const PULLED_DISTANCE = 50;\n\nexport const TUI_PULLING = new InjectionToken<Observable<number>>(\n 'Stream that emits content pulling',\n);\n\nexport const TUI_PULL_TO_REFRESH_PROVIDERS: Provider[] = [\n {\n provide: TUI_PULLING,\n deps: [TUI_IS_IOS, TUI_LOADED, ElementRef],\n useFactory: pullingFactory,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function pullingFactory(\n isIOS: boolean,\n loaded$: Observable<unknown>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<number> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(() => nativeElement.scrollTop === 0),\n switchMap(touchStart =>\n typedFromEvent(nativeElement, 'touchmove').pipe(\n map(\n touchMove =>\n touchMove.touches[0].clientY - touchStart.touches[0].clientY,\n ),\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n endWith(0),\n ),\n ),\n ),\n loaded$.pipe(mapTo(NaN)),\n ).pipe(\n scan((max, current) => {\n if (isNaN(current)) {\n return 0;\n }\n\n const androidLoading = !isIOS && max === PULLED_DISTANCE;\n const dropped = current === 0 && max > PULLED_DISTANCE;\n\n return androidLoading || dropped ? PULLED_DISTANCE : current + MICRO_OFFSET;\n }, 0),\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject, Output} from '@angular/core';\nimport {TUI_IS_IOS, tuiPure} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo} from 'rxjs/operators';\n\nimport {\n MICRO_OFFSET,\n PULLED_DISTANCE,\n TUI_PULL_TO_REFRESH_PROVIDERS,\n TUI_PULLING,\n} from './pull-to-refresh.providers';\n\nconst IOS_LOADING_DISTANCE = PULLED_DISTANCE / 2;\nconst ANDROID_MAX_DISTANCE = PULLED_DISTANCE * 1.5;\n\nfunction translateY(distance: number): string {\n return `translateY(${distance}px)`;\n}\n\n@Component({\n selector: 'tui-pull-to-refresh',\n templateUrl: './pull-to-refresh.template.html',\n styleUrls: ['./pull-to-refresh.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_PULL_TO_REFRESH_PROVIDERS],\n})\nexport class TuiPullToRefreshComponent {\n @Output()\n readonly pulled: Observable<void> = this.pulling$.pipe(\n distinctUntilChanged(),\n filter(distance => distance === PULLED_DISTANCE),\n mapTo(undefined),\n );\n\n readonly pulledInPercent$: Observable<number> = this.pulling$.pipe(\n map(distance => (distance * 100) / PULLED_DISTANCE),\n );\n\n readonly dropped$: Observable<boolean> = this.pulling$.pipe(\n map(distance => distance <= MICRO_OFFSET || distance === PULLED_DISTANCE),\n distinctUntilChanged(),\n );\n\n readonly contentTransform$: Observable<string | null> = this.isIOS\n ? this.pulling$.pipe(\n map(distance =>\n distance === PULLED_DISTANCE ? IOS_LOADING_DISTANCE : distance,\n ),\n map(translateY),\n )\n : of(null);\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_PULLING) private readonly pulling$: Observable<number>,\n ) {}\n\n @tuiPure\n get loaderTransform$(): Observable<string> {\n return this.pulling$.pipe(\n map(distance => translateY(Math.min(distance, ANDROID_MAX_DISTANCE))),\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiOverscrollModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiMobileLoaderAndroidComponent} from './loader-android/loader-android.component';\nimport {TuiMobileLoaderIOSComponent} from './loader-ios/loader-ios.component';\nimport {TuiPullToRefreshComponent} from './pull-to-refresh.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiOverscrollModule, TuiRepeatTimesModule],\n declarations: [\n TuiPullToRefreshComponent,\n TuiMobileLoaderAndroidComponent,\n TuiMobileLoaderIOSComponent,\n ],\n exports: [TuiPullToRefreshComponent],\n})\nexport class TuiPullToRefreshModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { DOCUMENT, CommonModule } from '@angular/common';
|
|
|
9
9
|
import { WINDOW } from '@ng-web-apis/common';
|
|
10
10
|
import { PolymorpheusTemplate, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
11
11
|
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
13
|
function iosScrollFactory(element, documentRef, ngZone) {
|
|
13
14
|
const load$ = typedFromEvent(element, 'load', { capture: true });
|
|
14
15
|
const touchstart$ = typedFromEvent(element, 'touchstart', { passive: true });
|
|
@@ -24,12 +25,14 @@ function iosScrollFactory(element, documentRef, ngZone) {
|
|
|
24
25
|
})));
|
|
25
26
|
return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());
|
|
26
27
|
}
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
27
29
|
function processDragged(dragged$, scroll$) {
|
|
28
30
|
const touchstart$ = dragged$.pipe(filter(Boolean));
|
|
29
31
|
const touchend$ = dragged$.pipe(filter(v => !v));
|
|
30
32
|
const race$ = race(scroll$, timer(100)).pipe(debounceTime(200), take(1), mapTo(false));
|
|
31
33
|
return touchstart$.pipe(switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))), startWith(false));
|
|
32
34
|
}
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
33
36
|
function fakeSmoothScroll({ style }, offset) {
|
|
34
37
|
style.transition = 'none';
|
|
35
38
|
style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;
|
|
@@ -94,9 +97,11 @@ const TUI_SHEET_PROVIDERS = [
|
|
|
94
97
|
useExisting: ElementRef,
|
|
95
98
|
},
|
|
96
99
|
];
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
97
101
|
function sheetDraggedFactory({ nativeElement, }) {
|
|
98
102
|
return merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(mapTo(true)), typedFromEvent(nativeElement, 'touchend').pipe(mapTo(false)));
|
|
99
103
|
}
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
100
105
|
function sheetScrollFactory({ nativeElement }, ngZone, documentRef, isIos) {
|
|
101
106
|
return isIos
|
|
102
107
|
? iosScrollFactory(nativeElement, documentRef, ngZone)
|