@taiga-ui/cdk 4.7.0-canary.88a8f5b → 4.7.0-canary.949e554
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/constants/used-icons.d.ts +1 -1
- package/directives/auto-focus/autofocus.options.d.ts +8 -9
- package/directives/auto-focus/handlers/abstract.handler.d.ts +3 -2
- package/directives/auto-focus/handlers/default.handler.d.ts +2 -1
- package/directives/auto-focus/handlers/ios.handler.d.ts +2 -10
- package/esm2022/constants/used-icons.mjs +4 -1
- package/esm2022/directives/auto-focus/autofocus.options.mjs +21 -15
- package/esm2022/directives/auto-focus/handlers/abstract.handler.mjs +5 -4
- package/esm2022/directives/auto-focus/handlers/default.handler.mjs +4 -4
- package/esm2022/directives/auto-focus/handlers/ios.handler.mjs +4 -19
- package/esm2022/directives/pan/pan.service.mjs +10 -12
- package/esm2022/directives/swipe/swipe.service.mjs +23 -25
- package/esm2022/directives/zoom/zoom.service.mjs +27 -29
- package/esm2022/types/index.mjs +2 -1
- package/esm2022/types/loose-union.mjs +2 -0
- package/esm2022/utils/browser/is-safari.mjs +2 -1
- package/esm2022/utils/di/create-options.mjs +1 -1
- package/esm2022/utils/miscellaneous/create-token.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-constants.mjs +3 -0
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +31 -40
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +9 -11
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +22 -24
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +26 -28
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs +1 -0
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +9 -0
- package/schematics/ng-update/v4/steps/migrate-editor.js +5 -4
- package/types/index.d.ts +1 -0
- package/types/loose-union.d.ts +36 -0
- package/utils/di/create-options.d.ts +2 -3
- package/utils/miscellaneous/create-token.d.ts +2 -2
@@ -4,4 +4,4 @@
|
|
4
4
|
*
|
5
5
|
* Array of icons used in taiga-ui components
|
6
6
|
*/
|
7
|
-
export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@tui.mastercard", "@tui.maestro", "@tui.amex", "@tui.diners-club", "@tui.discover", "@tui.humo", "@tui.jcb", "@tui.ru-pay", "@tui.union-pay", "@tui.uzcard", "@tui.verve", "@tui.external-link", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.chevron-left", "@tui.minus", "@tui.file", "@tui.trash", "@tui.phone", "@tui.star", "@tui.calendar", "@tui.rotate-ccw-square", "@tui.arrow-left", "@tui.arrow-right", "@tui.plus", "@tui.minimize", "@tui.filter", "@tui.layout-grid", "@tui.move-up-right", "@tui.move-right", "@tui.move-down-right", "@tui.move-down", "@tui.move-down-left", "@tui.move-left", "@tui.move-up-left", "@tui.move-up", "@tui.clock"];
|
7
|
+
export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@tui.mastercard", "@tui.maestro", "@tui.amex", "@tui.diners-club", "@tui.discover", "@tui.humo", "@tui.jcb", "@tui.ru-pay", "@tui.union-pay", "@tui.uzcard", "@tui.verve", "@tui.external-link", "@tui.languages", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.chevron-left", "@tui.minus", "@tui.file", "@tui.trash", "@tui.phone", "@tui.heart", "@tui.heart-filled", "@tui.star", "@tui.calendar", "@tui.rotate-ccw-square", "@tui.arrow-left", "@tui.arrow-right", "@tui.plus", "@tui.minimize", "@tui.filter", "@tui.layout-grid", "@tui.move-up-right", "@tui.move-right", "@tui.move-down-right", "@tui.move-down", "@tui.move-down-left", "@tui.move-left", "@tui.move-up-left", "@tui.move-up", "@tui.clock"];
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import
|
2
|
-
import { ElementRef, InjectionToken, NgZone, Renderer2 } from '@angular/core';
|
1
|
+
import { ElementRef, NgZone, Renderer2 } from '@angular/core';
|
3
2
|
import type { Observable } from 'rxjs';
|
4
3
|
import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
|
5
4
|
import { TuiIosAutofocusHandler } from './handlers/ios.handler';
|
@@ -8,13 +7,13 @@ export interface TuiAutofocusHandler {
|
|
8
7
|
}
|
9
8
|
export interface TuiAutofocusOptions {
|
10
9
|
readonly delay: number;
|
10
|
+
readonly query: string;
|
11
|
+
readonly preventScroll: boolean;
|
11
12
|
}
|
12
|
-
export declare const
|
13
|
-
export declare const
|
14
|
-
export declare function tuiAutoFocusOptionsProvider(options: Partial<TuiAutofocusOptions>): Provider;
|
15
|
-
export declare const TUI_AUTOFOCUS_HANDLER: InjectionToken<TuiAutofocusHandler>;
|
13
|
+
export declare const TUI_AUTOFOCUS_OPTIONS: import("@angular/core").InjectionToken<TuiAutofocusOptions>, tuiAutoFocusOptionsProvider: (item: Partial<TuiAutofocusOptions>) => import("@angular/core").FactoryProvider;
|
14
|
+
export declare const TUI_AUTOFOCUS_HANDLER: import("@angular/core").InjectionToken<TuiAutofocusHandler>;
|
16
15
|
export declare const TUI_AUTOFOCUS_PROVIDERS: {
|
17
|
-
provide: InjectionToken<TuiAutofocusHandler>;
|
18
|
-
|
19
|
-
|
16
|
+
provide: import("@angular/core").InjectionToken<TuiAutofocusHandler>;
|
17
|
+
deps: (typeof ElementRef | import("@angular/core").InjectionToken<Window> | typeof NgZone | typeof Renderer2)[];
|
18
|
+
useFactory: (el: ElementRef<HTMLElement>, animationFrame$: Observable<number>, renderer: Renderer2, zone: NgZone, win: Window, isIos: boolean, options: TuiAutofocusOptions) => TuiDefaultAutofocusHandler | TuiIosAutofocusHandler;
|
20
19
|
}[];
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { ElementRef } from '@angular/core';
|
2
|
-
import type { TuiAutofocusHandler } from '../autofocus.options';
|
2
|
+
import type { TuiAutofocusHandler, TuiAutofocusOptions } from '../autofocus.options';
|
3
3
|
export declare abstract class AbstractTuiAutofocusHandler implements TuiAutofocusHandler {
|
4
4
|
protected readonly el: ElementRef<HTMLElement>;
|
5
|
-
|
5
|
+
protected readonly options: TuiAutofocusOptions;
|
6
|
+
constructor(el: ElementRef<HTMLElement>, options: TuiAutofocusOptions);
|
6
7
|
abstract setFocus(): void;
|
7
8
|
protected get element(): HTMLElement;
|
8
9
|
protected get isTextFieldElement(): boolean;
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import type { ElementRef, NgZone } from '@angular/core';
|
2
2
|
import type { Observable } from 'rxjs';
|
3
|
+
import type { TuiAutofocusOptions } from '../autofocus.options';
|
3
4
|
import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
4
5
|
export declare class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
|
5
6
|
private readonly animationFrame$;
|
6
7
|
private readonly zone;
|
7
|
-
constructor(el: ElementRef<HTMLElement>, animationFrame$: Observable<number>, zone: NgZone);
|
8
|
+
constructor(el: ElementRef<HTMLElement>, animationFrame$: Observable<number>, zone: NgZone, options: TuiAutofocusOptions);
|
8
9
|
setFocus(): void;
|
9
10
|
}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import type { ElementRef, NgZone, Renderer2 } from '@angular/core';
|
2
|
+
import type { TuiAutofocusOptions } from '../autofocus.options';
|
2
3
|
import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
3
4
|
export declare class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
4
5
|
private readonly renderer;
|
5
6
|
private readonly zone;
|
6
7
|
private readonly win;
|
7
|
-
constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, zone: NgZone, win: Window);
|
8
|
+
constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, zone: NgZone, win: Window, options: TuiAutofocusOptions);
|
8
9
|
setFocus(): void;
|
9
10
|
private iosWebkitAutofocus;
|
10
11
|
/**
|
@@ -35,15 +36,6 @@ export declare class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler
|
|
35
36
|
* and then that dialog will be shaking
|
36
37
|
*/
|
37
38
|
private insideDialog;
|
38
|
-
/**
|
39
|
-
* @note:
|
40
|
-
* This is necessary so that the viewport isn't recalculated
|
41
|
-
* and then the dialogs don't shake.
|
42
|
-
*
|
43
|
-
* Also, we need to fixed height viewport,
|
44
|
-
* so that when focusing the dialogs don't shake
|
45
|
-
*/
|
46
|
-
private patchCssStyles;
|
47
39
|
/**
|
48
40
|
* @note:
|
49
41
|
* inherit basic attributes values from real input
|
@@ -20,6 +20,7 @@ export const TUI_USED_ICONS = [
|
|
20
20
|
'@tui.uzcard',
|
21
21
|
'@tui.verve',
|
22
22
|
'@tui.external-link',
|
23
|
+
'@tui.languages',
|
23
24
|
'@tui.search',
|
24
25
|
'@tui.sun',
|
25
26
|
'@tui.moon',
|
@@ -46,6 +47,8 @@ export const TUI_USED_ICONS = [
|
|
46
47
|
'@tui.file',
|
47
48
|
'@tui.trash',
|
48
49
|
'@tui.phone',
|
50
|
+
'@tui.heart',
|
51
|
+
'@tui.heart-filled',
|
49
52
|
'@tui.star',
|
50
53
|
'@tui.calendar',
|
51
54
|
'@tui.rotate-ccw-square',
|
@@ -65,4 +68,4 @@ export const TUI_USED_ICONS = [
|
|
65
68
|
'@tui.move-up',
|
66
69
|
'@tui.clock',
|
67
70
|
];
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlZC1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdXNlZC1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixVQUFVO0lBQ1YsV0FBVztJQUNYLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFdBQVc7SUFDWCxVQUFVO0lBQ1YsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7SUFDWCxjQUFjO0lBQ2QsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsWUFBWTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbjpcbiAqIEFVVE9HRU5FUkFURURcbiAqXG4gKiBBcnJheSBvZiBpY29ucyB1c2VkIGluIHRhaWdhLXVpIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9VU0VEX0lDT05TID0gW1xuICAgICdAdHVpLm1pcicsXG4gICAgJ0B0dWkudmlzYScsXG4gICAgJ0B0dWkuZWxlY3Ryb24nLFxuICAgICdAdHVpLm1hc3RlcmNhcmQnLFxuICAgICdAdHVpLm1hZXN0cm8nLFxuICAgICdAdHVpLmFtZXgnLFxuICAgICdAdHVpLmRpbmVycy1jbHViJyxcbiAgICAnQHR1aS5kaXNjb3ZlcicsXG4gICAgJ0B0dWkuaHVtbycsXG4gICAgJ0B0dWkuamNiJyxcbiAgICAnQHR1aS5ydS1wYXknLFxuICAgICdAdHVpLnVuaW9uLXBheScsXG4gICAgJ0B0dWkudXpjYXJkJyxcbiAgICAnQHR1aS52ZXJ2ZScsXG4gICAgJ0B0dWkuZXh0ZXJuYWwtbGluaycsXG4gICAgJ0B0dWkubGFuZ3VhZ2VzJyxcbiAgICAnQHR1aS5zZWFyY2gnLFxuICAgICdAdHVpLnN1bicsXG4gICAgJ0B0dWkubW9vbicsXG4gICAgJ0B0dWkuY29kZScsXG4gICAgJ0B0dWkubWVudScsXG4gICAgJ0B0dWkuY29weScsXG4gICAgJ0B0dWkuY2hlY2snLFxuICAgICdAdHVpLmxpbmsnLFxuICAgICdAdHVpLmV5ZS1vZmYnLFxuICAgICdAdHVpLmV5ZScsXG4gICAgJ0B0dWkuZ3JpcC12ZXJ0aWNhbCcsXG4gICAgJ0B0dWkuY2hldnJvbi11cCcsXG4gICAgJ0B0dWkuY2hldnJvbi1kb3duJyxcbiAgICAnQHR1aS5jaGV2cm9ucy11cC1kb3duJyxcbiAgICAnQHR1aS5pbmZvJyxcbiAgICAnQHR1aS5jaXJjbGUtY2hlY2snLFxuICAgICdAdHVpLmNpcmNsZS14JyxcbiAgICAnQHR1aS5jaXJjbGUtYWxlcnQnLFxuICAgICdAdHVpLmNpcmNsZS1oZWxwJyxcbiAgICAnQHR1aS54JyxcbiAgICAnQHR1aS5jaGV2cm9uLXJpZ2h0JyxcbiAgICAnQHR1aS5jaGV2cm9uLWxlZnQnLFxuICAgICdAdHVpLm1pbnVzJyxcbiAgICAnQHR1aS5maWxlJyxcbiAgICAnQHR1aS50cmFzaCcsXG4gICAgJ0B0dWkucGhvbmUnLFxuICAgICdAdHVpLmhlYXJ0JyxcbiAgICAnQHR1aS5oZWFydC1maWxsZWQnLFxuICAgICdAdHVpLnN0YXInLFxuICAgICdAdHVpLmNhbGVuZGFyJyxcbiAgICAnQHR1aS5yb3RhdGUtY2N3LXNxdWFyZScsXG4gICAgJ0B0dWkuYXJyb3ctbGVmdCcsXG4gICAgJ0B0dWkuYXJyb3ctcmlnaHQnLFxuICAgICdAdHVpLnBsdXMnLFxuICAgICdAdHVpLm1pbmltaXplJyxcbiAgICAnQHR1aS5maWx0ZXInLFxuICAgICdAdHVpLmxheW91dC1ncmlkJyxcbiAgICAnQHR1aS5tb3ZlLXVwLXJpZ2h0JyxcbiAgICAnQHR1aS5tb3ZlLXJpZ2h0JyxcbiAgICAnQHR1aS5tb3ZlLWRvd24tcmlnaHQnLFxuICAgICdAdHVpLm1vdmUtZG93bicsXG4gICAgJ0B0dWkubW92ZS1kb3duLWxlZnQnLFxuICAgICdAdHVpLm1vdmUtbGVmdCcsXG4gICAgJ0B0dWkubW92ZS11cC1sZWZ0JyxcbiAgICAnQHR1aS5tb3ZlLXVwJyxcbiAgICAnQHR1aS5jbG9jaycsXG5dIGFzIGNvbnN0O1xuIl19
|
@@ -1,24 +1,30 @@
|
|
1
|
-
import { ElementRef,
|
1
|
+
import { ElementRef, NgZone, Renderer2 } from '@angular/core';
|
2
2
|
import { WA_ANIMATION_FRAME, WA_WINDOW } from '@ng-web-apis/common';
|
3
3
|
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
4
|
-
import {
|
4
|
+
import { tuiCreateOptions, tuiCreateToken } from '@taiga-ui/cdk/utils';
|
5
5
|
import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
|
6
6
|
import { TuiIosAutofocusHandler } from './handlers/ios.handler';
|
7
|
-
export const
|
8
|
-
delay: NaN,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
}
|
14
|
-
export const TUI_AUTOFOCUS_HANDLER = new InjectionToken('[TUI_AUTOFOCUS_HANDLER]');
|
7
|
+
export const [TUI_AUTOFOCUS_OPTIONS, tuiAutoFocusOptionsProvider] = tuiCreateOptions({
|
8
|
+
delay: NaN,
|
9
|
+
query: 'input, textarea, select, [contenteditable]',
|
10
|
+
preventScroll: false,
|
11
|
+
});
|
12
|
+
export const TUI_AUTOFOCUS_HANDLER = tuiCreateToken();
|
15
13
|
export const TUI_AUTOFOCUS_PROVIDERS = [
|
16
14
|
{
|
17
15
|
provide: TUI_AUTOFOCUS_HANDLER,
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
deps: [
|
17
|
+
ElementRef,
|
18
|
+
WA_ANIMATION_FRAME,
|
19
|
+
Renderer2,
|
20
|
+
NgZone,
|
21
|
+
WA_WINDOW,
|
22
|
+
TUI_IS_IOS,
|
23
|
+
TUI_AUTOFOCUS_OPTIONS,
|
24
|
+
],
|
25
|
+
useFactory: (el, animationFrame$, renderer, zone, win, isIos, options) => isIos
|
26
|
+
? new TuiIosAutofocusHandler(el, renderer, zone, win, options)
|
27
|
+
: new TuiDefaultAutofocusHandler(el, animationFrame$, zone, options),
|
22
28
|
},
|
23
29
|
];
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2F1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQVk5RCxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLEdBQzdELGdCQUFnQixDQUFzQjtJQUNsQyxLQUFLLEVBQUUsR0FBRztJQUNWLEtBQUssRUFBRSw0Q0FBNEM7SUFDbkQsYUFBYSxFQUFFLEtBQUs7Q0FDdkIsQ0FBQyxDQUFDO0FBRVAsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxFQUF1QixDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DO1FBQ0ksT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixJQUFJLEVBQUU7WUFDRixVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxNQUFNO1lBQ04sU0FBUztZQUNULFVBQVU7WUFDVixxQkFBcUI7U0FDeEI7UUFDRCxVQUFVLEVBQUUsQ0FDUixFQUEyQixFQUMzQixlQUFtQyxFQUNuQyxRQUFtQixFQUNuQixJQUFZLEVBQ1osR0FBVyxFQUNYLEtBQWMsRUFDZCxPQUE0QixFQUM5QixFQUFFLENBQ0EsS0FBSztZQUNELENBQUMsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUM7WUFDOUQsQ0FBQyxDQUFDLElBQUksMEJBQTBCLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDO0tBQy9FO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgTmdab25lLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9BTklNQVRJT05fRlJBTUUsIFdBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQ3JlYXRlT3B0aW9ucywgdHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURlZmF1bHRBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2RlZmF1bHQuaGFuZGxlcic7XG5pbXBvcnQge1R1aUlvc0F1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvaW9zLmhhbmRsZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHNldEZvY3VzKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXV0b2ZvY3VzT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZGVsYXk6IG51bWJlcjtcbiAgICByZWFkb25seSBxdWVyeTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHByZXZlbnRTY3JvbGw6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBbVFVJX0FVVE9GT0NVU19PUFRJT05TLCB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXJdID1cbiAgICB0dWlDcmVhdGVPcHRpb25zPFR1aUF1dG9mb2N1c09wdGlvbnM+KHtcbiAgICAgICAgZGVsYXk6IE5hTiwgLy8gTmFOID0gbm8gZGVsYXkvc3luY1xuICAgICAgICBxdWVyeTogJ2lucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBbY29udGVudGVkaXRhYmxlXScsXG4gICAgICAgIHByZXZlbnRTY3JvbGw6IGZhbHNlLFxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0FVVE9GT0NVU19IQU5ETEVSID0gdHVpQ3JlYXRlVG9rZW48VHVpQXV0b2ZvY3VzSGFuZGxlcj4oKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBFbGVtZW50UmVmLFxuICAgICAgICAgICAgV0FfQU5JTUFUSU9OX0ZSQU1FLFxuICAgICAgICAgICAgUmVuZGVyZXIyLFxuICAgICAgICAgICAgTmdab25lLFxuICAgICAgICAgICAgV0FfV0lORE9XLFxuICAgICAgICAgICAgVFVJX0lTX0lPUyxcbiAgICAgICAgICAgIFRVSV9BVVRPRk9DVVNfT1BUSU9OUyxcbiAgICAgICAgXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgem9uZTogTmdab25lLFxuICAgICAgICAgICAgd2luOiBXaW5kb3csXG4gICAgICAgICAgICBpc0lvczogYm9vbGVhbixcbiAgICAgICAgICAgIG9wdGlvbnM6IFR1aUF1dG9mb2N1c09wdGlvbnMsXG4gICAgICAgICkgPT5cbiAgICAgICAgICAgIGlzSW9zXG4gICAgICAgICAgICAgICAgPyBuZXcgVHVpSW9zQXV0b2ZvY3VzSGFuZGxlcihlbCwgcmVuZGVyZXIsIHpvbmUsIHdpbiwgb3B0aW9ucylcbiAgICAgICAgICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihlbCwgYW5pbWF0aW9uRnJhbWUkLCB6b25lLCBvcHRpb25zKSxcbiAgICB9LFxuXTtcbiJdfQ==
|
@@ -1,16 +1,17 @@
|
|
1
1
|
export class AbstractTuiAutofocusHandler {
|
2
|
-
constructor(el) {
|
2
|
+
constructor(el, options) {
|
3
3
|
this.el = el;
|
4
|
+
this.options = options;
|
4
5
|
}
|
5
6
|
get element() {
|
6
7
|
// TODO: Remove when legacy controls are dropped
|
7
8
|
const el = this.el.nativeElement.tagName.includes('-')
|
8
|
-
? this.el.nativeElement.querySelector(
|
9
|
+
? this.el.nativeElement.querySelector(this.options.query)
|
9
10
|
: this.el.nativeElement;
|
10
11
|
return el || this.el.nativeElement;
|
11
12
|
}
|
12
13
|
get isTextFieldElement() {
|
13
|
-
return this.element.matches(
|
14
|
+
return this.element.matches(this.options.query);
|
14
15
|
}
|
15
16
|
}
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMvaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLDJCQUEyQjtJQUM3QyxZQUN1QixFQUEyQixFQUMzQixPQUE0QjtRQUQ1QixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUNoRCxDQUFDO0lBSUosSUFBYyxPQUFPO1FBQ2pCLGdEQUFnRDtRQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUU1QixPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBYyxrQkFBa0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUge1R1aUF1dG9mb2N1c0hhbmRsZXIsIFR1aUF1dG9mb2N1c09wdGlvbnN9IGZyb20gJy4uL2F1dG9mb2N1cy5vcHRpb25zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlciBpbXBsZW1lbnRzIFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uczogVHVpQXV0b2ZvY3VzT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0Rm9jdXMoKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBnZXQgZWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSB3aGVuIGxlZ2FjeSBjb250cm9scyBhcmUgZHJvcHBlZFxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC50YWdOYW1lLmluY2x1ZGVzKCctJylcbiAgICAgICAgICAgID8gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KHRoaXMub3B0aW9ucy5xdWVyeSlcbiAgICAgICAgICAgIDogdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiBlbCB8fCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc1RleHRGaWVsZEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubWF0Y2hlcyh0aGlzLm9wdGlvbnMucXVlcnkpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -4,18 +4,18 @@ import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
|
4
4
|
const TIMEOUT = 1000;
|
5
5
|
const NG_ANIMATION_SELECTOR = '.ng-animating';
|
6
6
|
export class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
|
7
|
-
constructor(el, animationFrame$, zone) {
|
8
|
-
super(el);
|
7
|
+
constructor(el, animationFrame$, zone, options) {
|
8
|
+
super(el, options);
|
9
9
|
this.animationFrame$ = animationFrame$;
|
10
10
|
this.zone = zone;
|
11
11
|
}
|
12
12
|
setFocus() {
|
13
13
|
if (this.isTextFieldElement) {
|
14
|
-
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(100, tuiZonefreeScheduler(this.zone)), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus({ preventScroll:
|
14
|
+
race(timer(this.options.delay || TIMEOUT), this.animationFrame$.pipe(throttleTime(100, tuiZonefreeScheduler(this.zone)), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus({ preventScroll: this.options.preventScroll }));
|
15
15
|
}
|
16
16
|
else {
|
17
17
|
this.element.focus({ preventScroll: true });
|
18
18
|
}
|
19
19
|
}
|
20
20
|
}
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3JFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRS9ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztBQUNyQixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztBQUU5QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMkJBQTJCO0lBQ3ZFLFlBQ0ksRUFBMkIsRUFDVixlQUFtQyxFQUNuQyxJQUFZLEVBQzdCLE9BQTRCO1FBRTVCLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFKRixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUlqQyxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FDQSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixZQUFZLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNsRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUNKLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FDbEUsQ0FBQztTQUNMO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0VsZW1lbnRSZWYsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVpvbmVmcmVlU2NoZWR1bGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCByYWNlLCBza2lwV2hpbGUsIHRha2UsIHRocm90dGxlVGltZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpQXV0b2ZvY3VzT3B0aW9uc30gZnJvbSAnLi4vYXV0b2ZvY3VzLm9wdGlvbnMnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG5leHBvcnQgY2xhc3MgVHVpRGVmYXVsdEF1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBvcHRpb25zOiBUdWlBdXRvZm9jdXNPcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihlbCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1RleHRGaWVsZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJhY2UoXG4gICAgICAgICAgICAgICAgdGltZXIodGhpcy5vcHRpb25zLmRlbGF5IHx8IFRJTUVPVVQpLFxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZSgxMDAsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMuem9uZSkpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50LmNsb3Nlc3QoTkdfQU5JTUFUSU9OX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRoaXMub3B0aW9ucy5wcmV2ZW50U2Nyb2xsfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -13,12 +13,11 @@ const TEXTFIELD_ATTRS = [
|
|
13
13
|
'maxlength',
|
14
14
|
];
|
15
15
|
export class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
16
|
-
constructor(el, renderer, zone, win) {
|
17
|
-
super(el);
|
16
|
+
constructor(el, renderer, zone, win, options) {
|
17
|
+
super(el, options);
|
18
18
|
this.renderer = renderer;
|
19
19
|
this.zone = zone;
|
20
20
|
this.win = win;
|
21
|
-
this.patchCssStyles();
|
22
21
|
}
|
23
22
|
setFocus() {
|
24
23
|
if (this.isTextFieldElement) {
|
@@ -41,7 +40,7 @@ export class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
41
40
|
fakeInput.removeEventListener('blur', blurHandler);
|
42
41
|
fakeInput.removeEventListener('focus', focusHandler);
|
43
42
|
elementFocusTimeoutId = this.win.setTimeout(() => {
|
44
|
-
this.element.focus({ preventScroll:
|
43
|
+
this.element.focus({ preventScroll: this.options.preventScroll });
|
45
44
|
fakeInput.remove();
|
46
45
|
}, duration);
|
47
46
|
});
|
@@ -108,20 +107,6 @@ export class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
108
107
|
insideDialog() {
|
109
108
|
return !!this.element.closest('tui-dialog');
|
110
109
|
}
|
111
|
-
/**
|
112
|
-
* @note:
|
113
|
-
* This is necessary so that the viewport isn't recalculated
|
114
|
-
* and then the dialogs don't shake.
|
115
|
-
*
|
116
|
-
* Also, we need to fixed height viewport,
|
117
|
-
* so that when focusing the dialogs don't shake
|
118
|
-
*/
|
119
|
-
patchCssStyles() {
|
120
|
-
[this.win.document.documentElement, this.win.document.body].forEach((element) => {
|
121
|
-
element.style.setProperty('overflow', 'auto');
|
122
|
-
element.style.setProperty('height', '100%');
|
123
|
-
});
|
124
|
-
}
|
125
110
|
/**
|
126
111
|
* @note:
|
127
112
|
* inherit basic attributes values from real input
|
@@ -137,4 +122,4 @@ export class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
137
122
|
});
|
138
123
|
}
|
139
124
|
}
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2hhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFL0QsTUFBTSxlQUFlLEdBQUc7SUFDcEIsTUFBTTtJQUNOLFdBQVc7SUFDWCxjQUFjO0lBQ2QsUUFBUTtJQUNSLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxNQUFNO0lBQ04sV0FBVztDQUNMLENBQUM7QUFFWCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMkJBQTJCO0lBQ25FLFlBQ0ksRUFBMkIsRUFDVixRQUFtQixFQUNuQixJQUFZLEVBQ1osR0FBVztRQUU1QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFKTyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBRzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxTQUFTLEdBQXFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNuRCxJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUU5QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxZQUFZLEdBQUcsR0FBUyxFQUFFO1lBQzVCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRWpDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDMUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBRXBDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ25ELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBRXJELHFCQUFxQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztvQkFDM0MsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRixTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzlELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpQkc7SUFDSyxhQUFhO1FBQ2pCLE1BQU0sU0FBUyxHQUFxQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxNQUFNLElBQUksR0FBWSxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ25DLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0MsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTywwQkFBMEI7UUFDOUIsT0FBTyxDQUNILFVBQVUsQ0FDTixJQUFJLENBQUMsR0FBRzthQUNILGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDOUIsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FDMUMsSUFBSSxDQUFDLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxZQUFZO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssY0FBYztRQUNsQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssa0NBQWtDLENBQUMsU0FBMkI7UUFDbEUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0VsZW1lbnRSZWYsIE5nWm9uZSwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSXNQcmVzZW50LCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2Fic3RyYWN0LmhhbmRsZXInO1xuXG5jb25zdCBURVhURklFTERfQVRUUlMgPSBbXG4gICAgJ3R5cGUnLFxuICAgICdpbnB1dE1vZGUnLFxuICAgICdhdXRvY29tcGxldGUnLFxuICAgICdhY2NlcHQnLFxuICAgICdtaW4nLFxuICAgICdtYXgnLFxuICAgICdzdGVwJyxcbiAgICAncGF0dGVybicsXG4gICAgJ3NpemUnLFxuICAgICdtYXhsZW5ndGgnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNsYXNzIFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgd2luOiBXaW5kb3csXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsKTtcbiAgICAgICAgdGhpcy5wYXRjaENzc1N0eWxlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5pb3NXZWJraXRBdXRvZm9jdXMoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW9zV2Via2l0QXV0b2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLm1ha2VGYWtlSW5wdXQoKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLmdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk7XG4gICAgICAgIGxldCBmYWtlRm9jdXNUaW1lb3V0SWQgPSAwO1xuICAgICAgICBsZXQgZWxlbWVudEZvY3VzVGltZW91dElkID0gMDtcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmFrZUZvY3VzVGltZW91dElkKTtcblxuICAgICAgICAgICAgZmFrZUZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGVsZW1lbnRGb2N1c1RpbWVvdXRJZCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmb2N1c0hhbmRsZXIpO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudEZvY3VzVGltZW91dElkID0gdGhpcy53aW4uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5zaWRlRGlhbG9nKCkpIHtcbiAgICAgICAgICAgIHRoaXMud2luLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnRFbGVtZW50Py5hcHBlbmRDaGlsZChmYWtlSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogZW11bGF0ZSB0ZXh0ZmllbGQgcG9zaXRpb24gaW4gbGF5b3V0IHdpdGggY3Vyc29yXG4gICAgICogYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIHJlcXVpcmVkIG5vdGU6XG4gICAgICogW2Zha2VJbnB1dC5yZWFkT25seSA9IHRydWVdIH5cbiAgICAgKiBkb24ndCB1c2Uge3JlYWRPbmx5OiB0cnVlfSB2YWx1ZSwgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgYXV0b2ZpbGxcbiAgICAgKlxuICAgICAqIFtmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9IDBdIH5cbiAgICAgKiBkb24ndCB1c2Uge29wYWNpdHk6IDB9LCBzb21ldGltZXMgaXQncyBkb2Vzbid0IHdvcmsgZm9yIGVtdWxhdGUgcmVhbCBpbnB1dFxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS5mb250U2l6ZSA9IDE2cHhdIH5cbiAgICAgKiBkaXNhYmxlIHBvc3NpYmxlIGF1dG8gem9vbVxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS50b3AvbGVmdF0gflxuICAgICAqIGVtdWxhdGUgcG9zaXRpb24gY3Vyc29yIGJlZm9yZSBmb2N1cyB0byByZWFsIHRleHRmaWVsZCBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBtYWtlRmFrZUlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGNvbnN0IHJlY3Q6IERPTVJlY3QgPSB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy5wYXRjaEZha2VJbnB1dEZyb21Gb2N1c2FibGVFbGVtZW50KGZha2VJbnB1dCk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9IHR1aVB4KHJlY3QuaGVpZ2h0KTtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLndpZHRoID0gdHVpUHgocmVjdC53aWR0aCAvIDIpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuekluZGV4ID0gJy05OTk5OTk5OSc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jYXJldENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmJvcmRlciA9ICdub25lJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm91dGxpbmUgPSAnbm9uZSc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5jb2xvciA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5iYWNrZ3JvdW5kID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmN1cnNvciA9ICdub25lJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmZvbnRTaXplID0gdHVpUHgoMTYpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUudG9wID0gdHVpUHgocmVjdC50b3ApO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUubGVmdCA9IHR1aVB4KHJlY3QubGVmdCk7XG5cbiAgICAgICAgcmV0dXJuIGZha2VJbnB1dDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIHRoaXMud2luXG4gICAgICAgICAgICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJy0tdHVpLWR1cmF0aW9uJyksXG4gICAgICAgICAgICApIHx8IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiB1bmZvcnR1bmF0ZWx5LCBpbiBvbGRlciB2ZXJzaW9ucyBvZiBpT1NcbiAgICAgKiB0aGVyZSBpcyBhIGJ1ZyB0aGF0IHRoZSBmYWtlIGlucHV0IGN1cnNvclxuICAgICAqIHdpbGwgbW92ZSBhbG9uZyB3aXRoIHRoZSBkaWFsb2cgYW5pbWF0aW9uXG4gICAgICogYW5kIHRoZW4gdGhhdCBkaWFsb2cgd2lsbCBiZSBzaGFraW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbnNpZGVEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZWxlbWVudC5jbG9zZXN0KCd0dWktZGlhbG9nJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB0aGUgdmlld3BvcnQgaXNuJ3QgcmVjYWxjdWxhdGVkXG4gICAgICogYW5kIHRoZW4gdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2UuXG4gICAgICpcbiAgICAgKiBBbHNvLCB3ZSBuZWVkIHRvIGZpeGVkIGhlaWdodCB2aWV3cG9ydCxcbiAgICAgKiBzbyB0aGF0IHdoZW4gZm9jdXNpbmcgdGhlIGRpYWxvZ3MgZG9uJ3Qgc2hha2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhdGNoQ3NzU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBbdGhpcy53aW4uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB0aGlzLndpbi5kb2N1bWVudC5ib2R5XS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdvdmVyZmxvdycsICdhdXRvJyk7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLCAnMTAwJScpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiBpbmhlcml0IGJhc2ljIGF0dHJpYnV0ZXMgdmFsdWVzIGZyb20gcmVhbCBpbnB1dFxuICAgICAqIGZvciBoZWxwIGlPUyBkZXRlY3Qgd2hhdCBkbyB5b3Ugd2FudCBzZWUgb24ga2V5Ym9hcmQsXG4gICAgICogZm9yIGV4YW1wbGUgW2lucHV0TW9kZT1udW1lcmljLCBhdXRvY29tcGxldGU9Y2MtbnVtYmVyXVxuICAgICAqL1xuICAgIHByaXZhdGUgcGF0Y2hGYWtlSW5wdXRGcm9tRm9jdXNhYmxlRWxlbWVudChmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgVEVYVEZJRUxEX0FUVFJTLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2hhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFL0QsTUFBTSxlQUFlLEdBQUc7SUFDcEIsTUFBTTtJQUNOLFdBQVc7SUFDWCxjQUFjO0lBQ2QsUUFBUTtJQUNSLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxNQUFNO0lBQ04sV0FBVztDQUNMLENBQUM7QUFFWCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMkJBQTJCO0lBQ25FLFlBQ0ksRUFBMkIsRUFDVixRQUFtQixFQUNuQixJQUFZLEVBQ1osR0FBVyxFQUM1QixPQUE0QjtRQUU1QixLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTEYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUloQyxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxTQUFTLEdBQXFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNuRCxJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUU5QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxZQUFZLEdBQUcsR0FBUyxFQUFFO1lBQzVCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRWpDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDMUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBRXBDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ25ELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBRXJELHFCQUFxQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDO29CQUNoRSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDOUQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVsRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNLLGFBQWE7UUFDakIsTUFBTSxTQUFTLEdBQXFCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxHQUFZLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUUzRCxJQUFJLENBQUMsa0NBQWtDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkQsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUMzQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDaEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0MsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLDBCQUEwQjtRQUM5QixPQUFPLENBQ0gsVUFBVSxDQUNOLElBQUksQ0FBQyxHQUFHO2FBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUM5QixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUMxQyxJQUFJLENBQUMsQ0FDVCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFlBQVk7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssa0NBQWtDLENBQUMsU0FBMkI7UUFDbEUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0VsZW1lbnRSZWYsIE5nWm9uZSwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSXNQcmVzZW50LCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtUdWlBdXRvZm9jdXNPcHRpb25zfSBmcm9tICcuLi9hdXRvZm9jdXMub3B0aW9ucyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9hYnN0cmFjdC5oYW5kbGVyJztcblxuY29uc3QgVEVYVEZJRUxEX0FUVFJTID0gW1xuICAgICd0eXBlJyxcbiAgICAnaW5wdXRNb2RlJyxcbiAgICAnYXV0b2NvbXBsZXRlJyxcbiAgICAnYWNjZXB0JyxcbiAgICAnbWluJyxcbiAgICAnbWF4JyxcbiAgICAnc3RlcCcsXG4gICAgJ3BhdHRlcm4nLFxuICAgICdzaXplJyxcbiAgICAnbWF4bGVuZ3RoJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjbGFzcyBUdWlJb3NBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBvcHRpb25zOiBUdWlBdXRvZm9jdXNPcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihlbCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1RleHRGaWVsZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmlvc1dlYmtpdEF1dG9mb2N1cygpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpb3NXZWJraXRBdXRvZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTElucHV0RWxlbWVudCA9IHRoaXMubWFrZUZha2VJbnB1dCgpO1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuZ2V0RHVyYXRpb25UaW1lQmVmb3JlRm9jdXMoKTtcbiAgICAgICAgbGV0IGZha2VGb2N1c1RpbWVvdXRJZCA9IDA7XG4gICAgICAgIGxldCBlbGVtZW50Rm9jdXNUaW1lb3V0SWQgPSAwO1xuXG4gICAgICAgIGNvbnN0IGJsdXJIYW5kbGVyID0gKCk6IHZvaWQgPT4gZmFrZUlucHV0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIGNvbnN0IGZvY3VzSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChmYWtlRm9jdXNUaW1lb3V0SWQpO1xuXG4gICAgICAgICAgICBmYWtlRm9jdXNUaW1lb3V0SWQgPSB0aGlzLndpbi5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZWxlbWVudEZvY3VzVGltZW91dElkKTtcblxuICAgICAgICAgICAgICAgIGZha2VJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIGZha2VJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50Rm9jdXNUaW1lb3V0SWQgPSB0aGlzLndpbi5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0aGlzLm9wdGlvbnMucHJldmVudFNjcm9sbH0pO1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSwgZHVyYXRpb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBibHVySGFuZGxlciwge29uY2U6IHRydWV9KTtcbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcblxuICAgICAgICBpZiAodGhpcy5pbnNpZGVEaWFsb2coKSkge1xuICAgICAgICAgICAgdGhpcy53aW4uZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmYWtlSW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBmYWtlSW5wdXQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiBlbXVsYXRlIHRleHRmaWVsZCBwb3NpdGlvbiBpbiBsYXlvdXQgd2l0aCBjdXJzb3JcbiAgICAgKiBiZWZvcmUgZm9jdXMgdG8gcmVhbCB0ZXh0ZmllbGQgZWxlbWVudFxuICAgICAqXG4gICAgICogcmVxdWlyZWQgbm90ZTpcbiAgICAgKiBbZmFrZUlucHV0LnJlYWRPbmx5ID0gdHJ1ZV0gflxuICAgICAqIGRvbid0IHVzZSB7cmVhZE9ubHk6IHRydWV9IHZhbHVlLCBpdCdzIGRvZXNuJ3Qgd29yayBmb3IgZW11bGF0ZSBhdXRvZmlsbFxuICAgICAqXG4gICAgICogW2Zha2VJbnB1dC5zdHlsZS5vcGFjaXR5ID0gMF0gflxuICAgICAqIGRvbid0IHVzZSB7b3BhY2l0eTogMH0sIHNvbWV0aW1lcyBpdCdzIGRvZXNuJ3Qgd29yayBmb3IgZW11bGF0ZSByZWFsIGlucHV0XG4gICAgICpcbiAgICAgKiBbZmFrZUlucHV0LnN0eWxlLmZvbnRTaXplID0gMTZweF0gflxuICAgICAqIGRpc2FibGUgcG9zc2libGUgYXV0byB6b29tXG4gICAgICpcbiAgICAgKiBbZmFrZUlucHV0LnN0eWxlLnRvcC9sZWZ0XSB+XG4gICAgICogZW11bGF0ZSBwb3NpdGlvbiBjdXJzb3IgYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIG1ha2VGYWtlSW5wdXQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTElucHV0RWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICB0aGlzLnBhdGNoRmFrZUlucHV0RnJvbUZvY3VzYWJsZUVsZW1lbnQoZmFrZUlucHV0KTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuaGVpZ2h0ID0gdHVpUHgocmVjdC5oZWlnaHQpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUud2lkdGggPSB0dWlQeChyZWN0LndpZHRoIC8gMik7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS56SW5kZXggPSAnLTk5OTk5OTk5JztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmNhcmV0Q29sb3IgPSAndHJhbnNwYXJlbnQnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuYm9yZGVyID0gJ25vbmUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUub3V0bGluZSA9ICdub25lJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmNvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmJhY2tncm91bmQgPSAndHJhbnNwYXJlbnQnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuY3Vyc29yID0gJ25vbmUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuZm9udFNpemUgPSB0dWlQeCgxNik7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS50b3AgPSB0dWlQeChyZWN0LnRvcCk7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5sZWZ0ID0gdHVpUHgocmVjdC5sZWZ0KTtcblxuICAgICAgICByZXR1cm4gZmFrZUlucHV0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RHVyYXRpb25UaW1lQmVmb3JlRm9jdXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgdGhpcy53aW5cbiAgICAgICAgICAgICAgICAgICAgLmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnLS10dWktZHVyYXRpb24nKSxcbiAgICAgICAgICAgICkgfHwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBub3RlOlxuICAgICAqIHVuZm9ydHVuYXRlbHksIGluIG9sZGVyIHZlcnNpb25zIG9mIGlPU1xuICAgICAqIHRoZXJlIGlzIGEgYnVnIHRoYXQgdGhlIGZha2UgaW5wdXQgY3Vyc29yXG4gICAgICogd2lsbCBtb3ZlIGFsb25nIHdpdGggdGhlIGRpYWxvZyBhbmltYXRpb25cbiAgICAgKiBhbmQgdGhlbiB0aGF0IGRpYWxvZyB3aWxsIGJlIHNoYWtpbmdcbiAgICAgKi9cbiAgICBwcml2YXRlIGluc2lkZURpYWxvZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbGVtZW50LmNsb3Nlc3QoJ3R1aS1kaWFsb2cnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiBpbmhlcml0IGJhc2ljIGF0dHJpYnV0ZXMgdmFsdWVzIGZyb20gcmVhbCBpbnB1dFxuICAgICAqIGZvciBoZWxwIGlPUyBkZXRlY3Qgd2hhdCBkbyB5b3Ugd2FudCBzZWUgb24ga2V5Ym9hcmQsXG4gICAgICogZm9yIGV4YW1wbGUgW2lucHV0TW9kZT1udW1lcmljLCBhdXRvY29tcGxldGU9Y2MtbnVtYmVyXVxuICAgICAqL1xuICAgIHByaXZhdGUgcGF0Y2hGYWtlSW5wdXRGcm9tRm9jdXNhYmxlRWxlbWVudChmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgVEVYVEZJRUxEX0FUVFJTLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
@@ -8,17 +8,15 @@ class TuiPanService extends Observable {
|
|
8
8
|
constructor() {
|
9
9
|
const el = tuiInjectElement();
|
10
10
|
const doc = inject(DOCUMENT);
|
11
|
-
super((subscriber) => {
|
12
|
-
merge(tuiTypedFromEvent(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
.subscribe(subscriber);
|
21
|
-
});
|
11
|
+
super((subscriber) => merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(el, 'mousedown'))
|
12
|
+
.pipe(switchMap(() => merge(tuiTypedFromEvent(doc, 'touchmove', {
|
13
|
+
passive: true,
|
14
|
+
}).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), tuiTypedFromEvent(doc, 'mousemove'))), pairwise(), map(([first, second]) => {
|
15
|
+
const deltaX = (second?.clientX ?? 0) - (first?.clientX ?? 0);
|
16
|
+
const deltaY = (second?.clientY ?? 0) - (first?.clientY ?? 0);
|
17
|
+
return [deltaX, deltaY];
|
18
|
+
}), takeUntil(merge(tuiTypedFromEvent(doc, 'touchend'), tuiTypedFromEvent(doc, 'mouseup'))), repeat())
|
19
|
+
.subscribe(subscriber));
|
22
20
|
}
|
23
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPanService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
24
22
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPanService }); }
|
@@ -27,4 +25,4 @@ export { TuiPanService };
|
|
27
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPanService, decorators: [{
|
28
26
|
type: Injectable
|
29
27
|
}], ctorParameters: function () { return []; } });
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9wYW4vcGFuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BQ2EsYUFBYyxTQUFRLFVBQXFDO0lBQ3BFO1FBQ0ksTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0IsS0FBSyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDakIsS0FBSyxDQUNELGlCQUFpQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDcEQsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUNyQzthQUNJLElBQUksQ0FDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsS0FBSyxDQUNELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUU7WUFDaEMsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakMsRUFDRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQ3RDLENBQ0osRUFDRCxRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUU5RCxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBcUIsQ0FBQztRQUNoRCxDQUFDLENBQUMsRUFDRixTQUFTLENBQ0wsS0FBSyxDQUNELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFDbEMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUNwQyxDQUNKLEVBQ0QsTUFBTSxFQUFFLENBQ1g7YUFDQSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDOytHQXZDUSxhQUFhO21IQUFiLGFBQWE7O1NBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgT2JzZXJ2YWJsZSxcbiAgICBwYWlyd2lzZSxcbiAgICByZXBlYXQsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlQYW5TZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PlxuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KSxcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ21vdXNlZG93bicpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNobW92ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPCAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHRvdWNoZXNbMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAnbW91c2Vtb3ZlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFtmaXJzdCwgc2Vjb25kXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFYID0gKHNlY29uZD8uY2xpZW50WCA/PyAwKSAtIChmaXJzdD8uY2xpZW50WCA/PyAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IChzZWNvbmQ/LmNsaWVudFkgPz8gMCkgLSAoZmlyc3Q/LmNsaWVudFkgPz8gMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbZGVsdGFYLCBkZWx0YVldIGFzIFtudW1iZXIsIG51bWJlcl07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwoXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChkb2MsICd0b3VjaGVuZCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ21vdXNldXAnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCgpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -11,30 +11,28 @@ class TuiSwipeService extends Observable {
|
|
11
11
|
const doc = inject(DOCUMENT);
|
12
12
|
const el = tuiInjectElement();
|
13
13
|
const { timeout, threshold } = inject(TUI_SWIPE_OPTIONS);
|
14
|
-
super((subscriber) => {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
.subscribe(subscriber);
|
37
|
-
});
|
14
|
+
super((subscriber) => merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(doc, 'touchend'))
|
15
|
+
.pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
|
16
|
+
first.touches[0]?.identifier ===
|
17
|
+
second.changedTouches[0]?.identifier), map(([start, end]) => {
|
18
|
+
const startX = start.touches[0]?.clientX ?? 0;
|
19
|
+
const startY = start.touches[0]?.clientY ?? 0;
|
20
|
+
const endX = end.changedTouches[0]?.clientX ?? 0;
|
21
|
+
const endY = end.changedTouches[0]?.clientY ?? 0;
|
22
|
+
const distanceX = startX - endX;
|
23
|
+
const distanceY = startY - endY;
|
24
|
+
const duration = end.timeStamp - start.timeStamp;
|
25
|
+
if ((Math.abs(distanceX) > threshold ||
|
26
|
+
Math.abs(distanceY) > threshold) &&
|
27
|
+
duration < timeout) {
|
28
|
+
return {
|
29
|
+
direction: tuiGetSwipeDirection(distanceX, distanceY),
|
30
|
+
events: [start, end],
|
31
|
+
};
|
32
|
+
}
|
33
|
+
return null;
|
34
|
+
}), filter(tuiIsPresent))
|
35
|
+
.subscribe(subscriber));
|
38
36
|
}
|
39
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSwipeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
40
38
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSwipeService }); }
|
@@ -49,4 +47,4 @@ function tuiGetSwipeDirection(deltaX, deltaY) {
|
|
49
47
|
}
|
50
48
|
return deltaX > 0 ? 'left' : 'right';
|
51
49
|
}
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3N3aXBlL3N3aXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHbEQsTUFDYSxlQUFnQixTQUFRLFVBQXlCO0lBQzFEO1FBQ0ksTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNqQixLQUFLLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUNwRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQ3JDO2FBQ0ksSUFBSSxDQUNELFFBQVEsRUFBRSxFQUNWLE1BQU0sQ0FDRixDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVU7Z0JBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUMvQyxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDakQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1lBRWpELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDaEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFFakQsSUFDSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUztnQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3BDLFFBQVEsR0FBRyxPQUFPLEVBQ3BCO2dCQUNFLE9BQU87b0JBQ0gsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQTZCO2lCQUNuRCxDQUFDO2FBQ0w7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsWUFBWSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQzsrR0E5Q1EsZUFBZTttSEFBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7QUFrRFgsU0FBUyxvQkFBb0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN4RCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQyxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCBwYWlyd2lzZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1NXSVBFX09QVElPTlN9IGZyb20gJy4vc3dpcGUub3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7VHVpU3dpcGVEaXJlY3Rpb24sIFR1aVN3aXBlRXZlbnR9IGZyb20gJy4vc3dpcGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpU3dpcGVTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlTd2lwZUV2ZW50PiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCB7dGltZW91dCwgdGhyZXNob2xkfSA9IGluamVjdChUVUlfU1dJUEVfT1BUSU9OUyk7XG5cbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNoZW5kJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIChbZmlyc3QsIHNlY29uZF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgISFmaXJzdC50b3VjaGVzLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LnRvdWNoZXNbMF0/LmlkZW50aWZpZXIgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZC5jaGFuZ2VkVG91Y2hlc1swXT8uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0dWlHZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHVpR2V0U3dpcGVEaXJlY3Rpb24oZGVsdGFYOiBudW1iZXIsIGRlbHRhWTogbnVtYmVyKTogVHVpU3dpcGVEaXJlY3Rpb24ge1xuICAgIGlmIChNYXRoLmFicyhkZWx0YVkpID4gTWF0aC5hYnMoZGVsdGFYKSkge1xuICAgICAgICByZXR1cm4gZGVsdGFZID4gMCA/ICd0b3AnIDogJ2JvdHRvbSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbHRhWCA+IDAgPyAnbGVmdCcgOiAncmlnaHQnO1xufVxuIl19
|