@taiga-ui/cdk 2.45.0 → 2.46.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-cdk-abstract.umd.js +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +4 -4
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +4 -9
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +132 -50
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +41 -22
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +4 -6
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js +2 -0
- package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.js +25 -0
- package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-utils-os.umd.min.js +2 -0
- package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-utils.umd.js +12 -4
- package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils.umd.min.js +1 -1
- package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
- package/components/portal-host/portal.service.d.ts +1 -1
- package/date-time/date-fillers.d.ts +0 -2
- package/date-time/day-range.d.ts +1 -2
- package/date-time/day.d.ts +0 -1
- package/date-time/month-range.d.ts +0 -1
- package/date-time/month.d.ts +0 -1
- package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
- package/directives/auto-focus/autofocus.directive.d.ts +4 -13
- package/directives/auto-focus/autofocus.options.d.ts +13 -0
- package/directives/auto-focus/handlers/abstract.handler.d.ts +11 -0
- package/directives/auto-focus/handlers/default.handler.d.ts +9 -0
- package/directives/auto-focus/handlers/ios.handler.d.ts +10 -0
- package/directives/auto-focus/index.d.ts +4 -0
- package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
- package/directives/autofilled/autofilled-style.component.d.ts +2 -0
- package/directives/autofilled/autofilled.directive.d.ts +5 -4
- package/directives/autofilled/index.d.ts +1 -0
- package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
- package/directives/item/item.directive.d.ts +1 -1
- package/esm2015/abstract/interactive.js +2 -2
- package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
- package/esm2015/components/portal-host/portal.service.js +2 -2
- package/esm2015/date-time/date-fillers.js +1 -3
- package/esm2015/date-time/day-range.js +2 -2
- package/esm2015/date-time/day.js +2 -3
- package/esm2015/date-time/month-range.js +1 -2
- package/esm2015/date-time/month.js +2 -3
- package/esm2015/date-time/year.js +2 -2
- package/esm2015/directives/auto-focus/autofocus.directive.js +11 -87
- package/esm2015/directives/auto-focus/autofocus.options.js +27 -0
- package/esm2015/directives/auto-focus/handlers/abstract.handler.js +25 -0
- package/esm2015/directives/auto-focus/handlers/default.handler.js +39 -0
- package/esm2015/directives/auto-focus/handlers/ios.handler.js +70 -0
- package/esm2015/directives/auto-focus/index.js +5 -1
- package/esm2015/directives/autofilled/autofilled-style.component.js +13 -0
- package/esm2015/directives/autofilled/autofilled.directive.js +23 -37
- package/esm2015/directives/autofilled/autofilled.module.js +4 -2
- package/esm2015/directives/autofilled/index.js +2 -1
- package/esm2015/directives/item/item.directive.js +2 -2
- package/esm2015/observables/replay-control-value-changes.js +2 -2
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/is-apple.js +5 -0
- package/esm2015/tokens/is-ios.js +4 -6
- package/esm2015/utils/browser/index.js +2 -2
- package/esm2015/utils/browser/{is-IE.js → is-ie.js} +1 -1
- package/esm2015/utils/focus/set-native-focused.js +3 -1
- package/esm2015/utils/index.js +2 -1
- package/esm2015/utils/os/index.js +3 -0
- package/esm2015/utils/os/is-apple.js +6 -0
- package/esm2015/utils/os/is-ios.js +7 -0
- package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +5 -0
- package/esm5/abstract/interactive.js +2 -2
- package/esm5/components/dialog-host/dialog-host.component.js +5 -5
- package/esm5/components/portal-host/portal.service.js +2 -2
- package/esm5/date-time/date-fillers.js +1 -3
- package/esm5/date-time/day-range.js +2 -2
- package/esm5/date-time/day.js +2 -3
- package/esm5/date-time/month-range.js +1 -2
- package/esm5/date-time/month.js +2 -3
- package/esm5/date-time/year.js +2 -2
- package/esm5/directives/auto-focus/autofocus.directive.js +11 -97
- package/esm5/directives/auto-focus/autofocus.options.js +27 -0
- package/esm5/directives/auto-focus/handlers/abstract.handler.js +34 -0
- package/esm5/directives/auto-focus/handlers/default.handler.js +43 -0
- package/esm5/directives/auto-focus/handlers/ios.handler.js +75 -0
- package/esm5/directives/auto-focus/index.js +5 -1
- package/esm5/directives/autofilled/autofilled-style.component.js +16 -0
- package/esm5/directives/autofilled/autofilled.directive.js +24 -21
- package/esm5/directives/autofilled/autofilled.module.js +4 -2
- package/esm5/directives/autofilled/index.js +2 -1
- package/esm5/directives/item/item.directive.js +2 -2
- package/esm5/observables/replay-control-value-changes.js +2 -2
- package/esm5/tokens/index.js +2 -1
- package/esm5/tokens/is-apple.js +5 -0
- package/esm5/tokens/is-ios.js +4 -8
- package/esm5/utils/browser/index.js +2 -2
- package/esm5/utils/browser/{is-IE.js → is-ie.js} +1 -1
- package/esm5/utils/focus/set-native-focused.js +3 -1
- package/esm5/utils/index.js +2 -1
- package/esm5/utils/os/index.js +3 -0
- package/esm5/utils/os/is-apple.js +6 -0
- package/esm5/utils/os/is-ios.js +7 -0
- package/esm5/utils/os/taiga-ui-cdk-utils-os.js +5 -0
- package/fesm2015/taiga-ui-cdk-abstract.js +1 -1
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js +4 -4
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
- package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +4 -9
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +113 -46
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js +33 -37
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +6 -7
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js +2 -0
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-os.js +18 -0
- package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-utils.js +1 -0
- package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-dialog-host.js +4 -4
- package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
- package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +4 -9
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js +126 -51
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-autofilled.js +38 -22
- package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
- package/fesm5/taiga-ui-cdk-observables.js +1 -1
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +6 -9
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js +2 -0
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-os.js +18 -0
- package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -0
- package/fesm5/taiga-ui-cdk-utils.js +1 -0
- package/fesm5/taiga-ui-cdk-utils.js.map +1 -1
- package/observables/replay-control-value-changes.d.ts +1 -1
- package/package.json +1 -1
- package/schematics/ng-add/constants/modules.d.ts +1 -1
- package/schematics/ng-add/constants/modules.js +2 -2
- package/schematics/ng-add/schema.d.ts +1 -1
- package/schematics/ng-add/schema.json +3 -3
- package/schematics/ng-add/steps/add-taiga-modules.js +1 -1
- package/tokens/index.d.ts +1 -0
- package/tokens/is-apple.d.ts +2 -0
- package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
- package/utils/browser/index.d.ts +1 -1
- package/utils/browser/{is-IE.d.ts → is-ie.d.ts} +0 -0
- package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
- package/utils/focus/set-native-focused.d.ts +2 -0
- package/utils/index.d.ts +1 -0
- package/utils/os/index.d.ts +2 -0
- package/utils/os/is-apple.d.ts +1 -0
- package/utils/os/is-ios.d.ts +1 -0
- package/utils/os/package.json +13 -0
- package/utils/os/taiga-ui-cdk-utils-os.d.ts +4 -0
- package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -0
- package/utils/taiga-ui-cdk-utils.metadata.json +1 -1
|
@@ -1,90 +1,20 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
6
|
-
import { setNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
7
|
-
import { Observable, race, timer } from 'rxjs';
|
|
8
|
-
import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
|
|
9
|
-
const TIMEOUT = 1000;
|
|
10
|
-
const NG_ANIMATION_SELECTOR = '.ng-animating';
|
|
11
|
-
// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string
|
|
12
|
-
// TODO: refactor on this whole thing in 3.0
|
|
2
|
+
import { Directive, Inject, Input } from '@angular/core';
|
|
3
|
+
import { TUI_AUTOFOCUS_HANDLER, TUI_AUTOFOCUS_PROVIDERS, } from './autofocus.options';
|
|
4
|
+
// TODO: 3.0 change input name to tuiAutoFocus and handle empty string
|
|
13
5
|
let TuiAutoFocusDirective = class TuiAutoFocusDirective {
|
|
14
|
-
constructor(
|
|
15
|
-
this.
|
|
16
|
-
this.isIos = isIos;
|
|
17
|
-
this.animationFrame$ = animationFrame$;
|
|
18
|
-
this.ngZone = ngZone;
|
|
19
|
-
this.elementRef = elementRef;
|
|
20
|
-
this.renderer = renderer;
|
|
6
|
+
constructor(handler) {
|
|
7
|
+
this.handler = handler;
|
|
21
8
|
this.autoFocus = true;
|
|
22
9
|
}
|
|
23
10
|
ngAfterViewInit() {
|
|
24
|
-
if (
|
|
25
|
-
|
|
11
|
+
if (this.autoFocus) {
|
|
12
|
+
this.handler.setFocus();
|
|
26
13
|
}
|
|
27
|
-
if (this.isTextFieldElement) {
|
|
28
|
-
if (this.isIos) {
|
|
29
|
-
this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => setNativeFocused(this.element));
|
|
33
|
-
}
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
setNativeFocused(this.element);
|
|
37
|
-
}
|
|
38
|
-
get element() {
|
|
39
|
-
var _a;
|
|
40
|
-
return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
|
|
41
|
-
this.elementRef.nativeElement);
|
|
42
|
-
}
|
|
43
|
-
get isTextFieldElement() {
|
|
44
|
-
return this.element.matches('input, textarea');
|
|
45
|
-
}
|
|
46
|
-
iosWebkitAutofocus() {
|
|
47
|
-
var _a;
|
|
48
|
-
const fakeInput = this.renderer.createElement('input');
|
|
49
|
-
fakeInput.style.position = 'absolute';
|
|
50
|
-
fakeInput.style.opacity = '0';
|
|
51
|
-
fakeInput.style.height = '0';
|
|
52
|
-
const blurHandler = () => setNativeFocused(fakeInput);
|
|
53
|
-
const focusHandler = () => {
|
|
54
|
-
setTimeout(() => {
|
|
55
|
-
setNativeFocused(this.element);
|
|
56
|
-
/**
|
|
57
|
-
* @note:
|
|
58
|
-
* We can't remove the element immediately, because it breaks flow
|
|
59
|
-
*/
|
|
60
|
-
setTimeout(() => {
|
|
61
|
-
fakeInput.removeEventListener('blur', blurHandler);
|
|
62
|
-
fakeInput.removeEventListener('focus', focusHandler);
|
|
63
|
-
fakeInput.remove();
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* @note: ping-pong eager strategy hack
|
|
69
|
-
* After creating an element and bringing it into DOM,
|
|
70
|
-
* the browser automatically focuses on the invisible element.
|
|
71
|
-
* And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
|
|
72
|
-
* then we try to focus again on an invisible element, so that the keyboard slowly appears.
|
|
73
|
-
* This ping pong allows the keyboard to not overlap the modal window.
|
|
74
|
-
*/
|
|
75
|
-
fakeInput.addEventListener('blur', blurHandler, { once: true });
|
|
76
|
-
fakeInput.addEventListener('focus', focusHandler);
|
|
77
|
-
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
|
|
78
|
-
setNativeFocused(fakeInput);
|
|
79
14
|
}
|
|
80
15
|
};
|
|
81
16
|
TuiAutoFocusDirective.ctorParameters = () => [
|
|
82
|
-
{ type: undefined, decorators: [{ type:
|
|
83
|
-
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
|
|
84
|
-
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
|
|
85
|
-
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
86
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
87
|
-
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] }
|
|
17
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_AUTOFOCUS_HANDLER,] }] }
|
|
88
18
|
];
|
|
89
19
|
__decorate([
|
|
90
20
|
Input()
|
|
@@ -92,15 +22,9 @@ __decorate([
|
|
|
92
22
|
TuiAutoFocusDirective = __decorate([
|
|
93
23
|
Directive({
|
|
94
24
|
selector: '[tuiAutoFocus]',
|
|
25
|
+
providers: TUI_AUTOFOCUS_PROVIDERS,
|
|
95
26
|
}),
|
|
96
|
-
__param(0,
|
|
97
|
-
__param(0, Self()),
|
|
98
|
-
__param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
|
|
99
|
-
__param(1, Inject(TUI_IS_IOS)),
|
|
100
|
-
__param(2, Inject(ANIMATION_FRAME)),
|
|
101
|
-
__param(3, Inject(NgZone)),
|
|
102
|
-
__param(4, Inject(ElementRef)),
|
|
103
|
-
__param(5, Inject(Renderer2))
|
|
27
|
+
__param(0, Inject(TUI_AUTOFOCUS_HANDLER))
|
|
104
28
|
], TuiAutoFocusDirective);
|
|
105
29
|
export { TuiAutoFocusDirective };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUMsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFJOUIsWUFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUVuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZHhDLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFlZCxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0gsSUFBSSxDQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDckIsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUMxQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUNKLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsT0FBTztTQUNWO1FBRUQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLE9BQU87O1FBQ2YsT0FBTyxDQUNILE9BQUEsSUFBSSxDQUFDLHFCQUFxQiwwQ0FBRSxzQkFBc0I7WUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBWSxrQkFBa0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLE1BQU0sU0FBUyxHQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUU3QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxHQUFTLEVBQUU7WUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRS9COzs7bUJBR0c7Z0JBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixTQUFTLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUNuRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUNyRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRjs7Ozs7OztXQU9HO1FBQ0gsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWxELE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLDBDQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7UUFFbkQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKLENBQUE7OzRDQTFGUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7MENBRWxDLE1BQU0sU0FBQyxVQUFVO1lBQ3lDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBRUUsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07WUFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtZQUdTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTOztBQWJyQjtJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUhqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUM7SUFNTyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFbkMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUVsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtHQWZiLHFCQUFxQixDQStGakM7U0EvRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUiwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtzZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNraXBXaGlsZSwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBUT0RPOiBpbiAzLjAgY2hhbmdlIGlucHV0IG5hbWUgdG8gdHVpQXV0b0ZvY3VzIGFuZCBoYW5kbGUgZW1wdHkgc3RyaW5nXG4vLyBUT0RPOiByZWZhY3RvciBvbiB0aGlzIHdob2xlIHRoaW5nIGluIDMuMFxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmlvc1dlYmtpdEF1dG9mb2N1cygpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgdGltZXIoVElNRU9VVCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsZW1lbnQuY2xvc2VzdChOR19BTklNQVRJT05fU0VMRUNUT1IpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnR1aUZvY3VzYWJsZUNvbXBvbmVudD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1RleHRGaWVsZEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubWF0Y2hlcygnaW5wdXQsIHRleHRhcmVhJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpb3NXZWJraXRBdXRvZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgY29uc3QgYmx1ckhhbmRsZXIgPSAoKTogdm9pZCA9PiBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgICAgIGNvbnN0IGZvY3VzSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5lbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmYWtlSW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUUxQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLHNFQUFzRTtBQUt0RSxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUk5QixZQUNvRCxPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUhoRixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSWQsQ0FBQztJQUVKLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSixDQUFBOzs0Q0FSUSxNQUFNLFNBQUMscUJBQXFCOztBQUhqQztJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUpqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFNBQVMsRUFBRSx1QkFBdUI7S0FDckMsQ0FBQztJQU1PLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7R0FMekIscUJBQXFCLENBYWpDO1NBYlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9BVVRPRk9DVVNfSEFORExFUixcbiAgICBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbiAgICBUdWlBdXRvZm9jdXNIYW5kbGVyLFxufSBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcblxuLy8gVE9ETzogMy4wIGNoYW5nZSBpbnB1dCBuYW1lIHRvIHR1aUF1dG9Gb2N1cyBhbmQgaGFuZGxlIGVtcHR5IHN0cmluZ1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG4gICAgcHJvdmlkZXJzOiBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhdXRvRm9jdXMgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FVVE9GT0NVU19IQU5ETEVSKSBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IFR1aUF1dG9mb2N1c0hhbmRsZXIsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlci5zZXRGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ElementRef, inject, InjectionToken, NgZone, Optional, Renderer2, Self, } from '@angular/core';
|
|
2
|
+
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
3
|
+
import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_APPLE } from '@taiga-ui/cdk/tokens';
|
|
4
|
+
import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
|
|
5
|
+
import { TuiIosAutofocusHandler } from './handlers/ios.handler';
|
|
6
|
+
export const TUI_AUTOFOCUS_HANDLER = new InjectionToken('Autofocusing handler');
|
|
7
|
+
// TODO: 3.0 remove in ivy compilation
|
|
8
|
+
export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone) {
|
|
9
|
+
return inject(TUI_IS_APPLE)
|
|
10
|
+
? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone)
|
|
11
|
+
: new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
|
|
12
|
+
}
|
|
13
|
+
export const TUI_AUTOFOCUS_PROVIDERS = [
|
|
14
|
+
{
|
|
15
|
+
provide: TUI_AUTOFOCUS_HANDLER,
|
|
16
|
+
// TODO: replace to useClass in v3.0
|
|
17
|
+
useFactory: tuiAutofocusHandlerFactory,
|
|
18
|
+
deps: [
|
|
19
|
+
[new Optional(), new Self(), TUI_FOCUSABLE_ITEM_ACCESSOR],
|
|
20
|
+
ElementRef,
|
|
21
|
+
ANIMATION_FRAME,
|
|
22
|
+
Renderer2,
|
|
23
|
+
NgZone,
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImF1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQywyQkFBMkIsRUFBRSxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU05RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsc0JBQXNCLENBQ3pCLENBQUM7QUFFRixzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxxQkFBeUQsRUFDekQsVUFBbUMsRUFDbkMsZUFBbUMsRUFDbkMsUUFBbUIsRUFDbkIsTUFBYztJQUVkLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN2QixDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUNqRixDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FDMUIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLG9DQUFvQztRQUNwQyxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLDJCQUEyQixDQUFDO1lBQ3pELFVBQVU7WUFDVixlQUFlO1lBQ2YsU0FBUztZQUNULE1BQU07U0FDVDtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsIFRVSV9JU19BUFBMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXInO1xuaW1wb3J0IHtUdWlJb3NBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBzZXRGb2N1cygpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0FVVE9GT0NVU19IQU5ETEVSID0gbmV3IEluamVjdGlvblRva2VuPFR1aUF1dG9mb2N1c0hhbmRsZXI+KFxuICAgICdBdXRvZm9jdXNpbmcgaGFuZGxlcicsXG4pO1xuXG4vLyBUT0RPOiAzLjAgcmVtb3ZlIGluIGl2eSBjb21waWxhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUF1dG9mb2N1c0hhbmRsZXJGYWN0b3J5KFxuICAgIHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIG5nWm9uZTogTmdab25lLFxuKTogVHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgcmV0dXJuIGluamVjdChUVUlfSVNfQVBQTEUpXG4gICAgICAgID8gbmV3IFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmLCByZW5kZXJlciwgbmdab25lKVxuICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICBhbmltYXRpb25GcmFtZSQsXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIHRvIHVzZUNsYXNzIGluIHYzLjBcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQXV0b2ZvY3VzSGFuZGxlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SXSxcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBBTklNQVRJT05fRlJBTUUsXG4gICAgICAgICAgICBSZW5kZXJlcjIsXG4gICAgICAgICAgICBOZ1pvbmUsXG4gICAgICAgIF0sXG4gICAgfSxcbl07XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, ElementRef } from '@angular/core';
|
|
3
|
+
let AbstractTuiAutofocusHandler = class AbstractTuiAutofocusHandler {
|
|
4
|
+
constructor(tuiFocusableComponent, elementRef) {
|
|
5
|
+
this.tuiFocusableComponent = tuiFocusableComponent;
|
|
6
|
+
this.elementRef = elementRef;
|
|
7
|
+
}
|
|
8
|
+
get element() {
|
|
9
|
+
var _a;
|
|
10
|
+
return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
|
|
11
|
+
this.elementRef.nativeElement);
|
|
12
|
+
}
|
|
13
|
+
get isTextFieldElement() {
|
|
14
|
+
return this.element.matches('input, textarea');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
AbstractTuiAutofocusHandler.ctorParameters = () => [
|
|
18
|
+
{ type: undefined },
|
|
19
|
+
{ type: ElementRef }
|
|
20
|
+
];
|
|
21
|
+
AbstractTuiAutofocusHandler = __decorate([
|
|
22
|
+
Directive()
|
|
23
|
+
], AbstractTuiAutofocusHandler);
|
|
24
|
+
export { AbstractTuiAutofocusHandler };
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTcEQsSUFBc0IsMkJBQTJCLEdBQWpELE1BQXNCLDJCQUEyQjtJQUM3QyxZQUN1QixxQkFBeUQsRUFDekQsVUFBbUM7UUFEbkMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUN6RCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUN2RCxDQUFDO0lBRUosSUFBYyxPQUFPOztRQUNqQixPQUFPLENBQ0gsT0FBQSxJQUFJLENBQUMscUJBQXFCLDBDQUFFLHNCQUFzQjtZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDaEMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUdKLENBQUE7OztZQWZzQyxVQUFVOztBQUgzQiwyQkFBMkI7SUFEaEQsU0FBUyxFQUFFO0dBQ1UsMkJBQTJCLENBa0JoRDtTQWxCcUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuLi9hdXRvZm9jdXMub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlciBpbXBsZW1lbnRzIFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIHByb3RlY3RlZCBnZXQgZWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNUZXh0RmllbGRFbGVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm1hdGNoZXMoJ2lucHV0LCB0ZXh0YXJlYScpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IHNldEZvY3VzKCk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __decorate, __param } from "tslib";
|
|
2
|
+
import { Directive, ElementRef, Inject, Optional, Self } from '@angular/core';
|
|
3
|
+
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
4
|
+
import { POLLING_TIME } from '@taiga-ui/cdk/constants';
|
|
5
|
+
import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
|
|
6
|
+
import { Observable, race, timer } from 'rxjs';
|
|
7
|
+
import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
|
|
8
|
+
import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
|
9
|
+
const TIMEOUT = 1000;
|
|
10
|
+
const NG_ANIMATION_SELECTOR = '.ng-animating';
|
|
11
|
+
let TuiDefaultAutofocusHandler = class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
12
|
+
constructor(tuiFocusableComponent, elementRef, animationFrame$) {
|
|
13
|
+
super(tuiFocusableComponent, elementRef);
|
|
14
|
+
this.animationFrame$ = animationFrame$;
|
|
15
|
+
}
|
|
16
|
+
setFocus() {
|
|
17
|
+
if (this.isTextFieldElement) {
|
|
18
|
+
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.element.focus();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
TuiDefaultAutofocusHandler.ctorParameters = () => [
|
|
26
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
|
|
27
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
28
|
+
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
|
|
29
|
+
];
|
|
30
|
+
TuiDefaultAutofocusHandler = __decorate([
|
|
31
|
+
Directive(),
|
|
32
|
+
__param(0, Optional()),
|
|
33
|
+
__param(0, Self()),
|
|
34
|
+
__param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
|
|
35
|
+
__param(1, Inject(ElementRef)),
|
|
36
|
+
__param(2, Inject(ANIMATION_FRAME))
|
|
37
|
+
], TuiDefaultAutofocusHandler);
|
|
38
|
+
export { TuiDefaultAutofocusHandler };
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMvIiwic291cmNlcyI6WyJoYW5kbGVycy9kZWZhdWx0LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDckIsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFHOUMsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMkIsU0FBUSwyQkFBMkI7SUFDdkUsWUFJSSxxQkFBeUQsRUFDckMsVUFBbUMsRUFDYixlQUFtQztRQUU3RSxLQUFLLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFGQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7SUFHakYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQ0EsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixZQUFZLENBQUMsWUFBWSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ3RELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQ0osQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztDQUNKLENBQUE7OzRDQXpCUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7WUFFSCxVQUFVLHVCQUF6QyxNQUFNLFNBQUMsVUFBVTtZQUN5QyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTs7QUFQbEIsMEJBQTBCO0lBRHRDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtHQVBuQiwwQkFBMEIsQ0EyQnRDO1NBM0JZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7UE9MTElOR19USU1FfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGUsIHJhY2UsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBza2lwV2hpbGUsIHRha2UsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0Fic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9hYnN0cmFjdC5oYW5kbGVyJztcblxuY29uc3QgVElNRU9VVCA9IDEwMDA7XG5jb25zdCBOR19BTklNQVRJT05fU0VMRUNUT1IgPSAnLm5nLWFuaW1hdGluZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aURlZmF1bHRBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUilcbiAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50OiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgIHRpbWVyKFRJTUVPVVQpLFxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50LmNsb3Nlc3QoTkdfQU5JTUFUSU9OX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbGVtZW50LmZvY3VzKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __decorate, __param } from "tslib";
|
|
2
|
+
import { Directive, ElementRef, Inject, NgZone, Optional, Renderer2, Self, } from '@angular/core';
|
|
3
|
+
import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
|
|
4
|
+
import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
|
5
|
+
let TuiIosAutofocusHandler = class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
6
|
+
constructor(tuiFocusableComponent, elementRef, renderer, ngZone) {
|
|
7
|
+
super(tuiFocusableComponent, elementRef);
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.ngZone = ngZone;
|
|
10
|
+
}
|
|
11
|
+
setFocus() {
|
|
12
|
+
if (this.isTextFieldElement) {
|
|
13
|
+
this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.element.focus();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
iosWebkitAutofocus() {
|
|
20
|
+
var _a;
|
|
21
|
+
const fakeInput = this.renderer.createElement('input');
|
|
22
|
+
fakeInput.style.position = 'absolute';
|
|
23
|
+
fakeInput.style.opacity = '0';
|
|
24
|
+
fakeInput.style.height = '0';
|
|
25
|
+
const blurHandler = () => fakeInput.focus();
|
|
26
|
+
const focusHandler = () => {
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
this.element.focus();
|
|
29
|
+
/**
|
|
30
|
+
* @note:
|
|
31
|
+
* We can't remove the element immediately, because it breaks flow
|
|
32
|
+
*/
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
fakeInput.removeEventListener('blur', blurHandler);
|
|
35
|
+
fakeInput.removeEventListener('focus', focusHandler);
|
|
36
|
+
fakeInput.remove();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* @note: ping-pong eager strategy hack
|
|
42
|
+
* After creating an element and bringing it into DOM,
|
|
43
|
+
* the browser automatically focuses on the invisible element.
|
|
44
|
+
* And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
|
|
45
|
+
* then we try to focus again on an invisible element, so that the keyboard slowly appears.
|
|
46
|
+
* This ping pong allows the keyboard to not overlap the modal window.
|
|
47
|
+
*/
|
|
48
|
+
fakeInput.addEventListener('blur', blurHandler, { once: true });
|
|
49
|
+
fakeInput.addEventListener('focus', focusHandler);
|
|
50
|
+
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
|
|
51
|
+
fakeInput.focus();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
TuiIosAutofocusHandler.ctorParameters = () => [
|
|
55
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
|
|
56
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
57
|
+
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
|
|
58
|
+
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] }
|
|
59
|
+
];
|
|
60
|
+
TuiIosAutofocusHandler = __decorate([
|
|
61
|
+
Directive(),
|
|
62
|
+
__param(0, Optional()),
|
|
63
|
+
__param(0, Self()),
|
|
64
|
+
__param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
|
|
65
|
+
__param(1, Inject(ElementRef)),
|
|
66
|
+
__param(2, Inject(Renderer2)),
|
|
67
|
+
__param(3, Inject(NgZone))
|
|
68
|
+
], TuiIosAutofocusHandler);
|
|
69
|
+
export { TuiIosAutofocusHandler };
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImhhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRy9ELElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXVCLFNBQVEsMkJBQTJCO0lBQ25FLFlBSUkscUJBQXlELEVBQ3JDLFVBQW1DLEVBRXRDLFFBQW1CLEVBRW5CLE1BQWM7UUFFL0IsS0FBSyxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSnhCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFFbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLE1BQU0sU0FBUyxHQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUU3QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsR0FBUyxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFckI7OzttQkFHRztnQkFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ25ELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQ3JELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGOzs7Ozs7O1dBT0c7UUFDSCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzlELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbEQsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsMENBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRTtRQUVuRCxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNKLENBQUE7OzRDQTVEUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7WUFFSCxVQUFVLHVCQUF6QyxNQUFNLFNBQUMsVUFBVTtZQUVTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTO1lBR1EsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07O0FBVFQsc0JBQXNCO0lBRGxDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtHQVRWLHNCQUFzQixDQThEbEM7U0E5RFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1J9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICB0dWlGb2N1c2FibGVDb21wb25lbnQ6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoTmdab25lKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICkge1xuICAgICAgICBzdXBlcih0dWlGb2N1c2FibGVDb21wb25lbnQsIGVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIHNldEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1RleHRGaWVsZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuaW9zV2Via2l0QXV0b2ZvY3VzKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlvc1dlYmtpdEF1dG9mb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmFrZUlucHV0OiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9ICcwJztcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cygpO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export * from './autofocus.directive';
|
|
2
2
|
export * from './autofocus.module';
|
|
3
|
-
|
|
3
|
+
export * from './autofocus.options';
|
|
4
|
+
export * from './handlers/abstract.handler';
|
|
5
|
+
export * from './handlers/default.handler';
|
|
6
|
+
export * from './handlers/ios.handler';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZvY3VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2RlZmF1bHQuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
let TuiAutofilledStyleComponent = class TuiAutofilledStyleComponent {
|
|
4
|
+
};
|
|
5
|
+
TuiAutofilledStyleComponent = __decorate([
|
|
6
|
+
Component({
|
|
7
|
+
template: '',
|
|
8
|
+
encapsulation: ViewEncapsulation.None,
|
|
9
|
+
styles: [".tui-autofill,.tui-autofill input{transition:box-shadow 10ms}.tui-autofill input::-webkit-credit-card-auto-fill-button,.tui-autofill::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}"]
|
|
10
|
+
})
|
|
11
|
+
], TuiAutofilledStyleComponent);
|
|
12
|
+
export { TuiAutofilledStyleComponent };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQtc3R5bGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzNELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0NBQUcsQ0FBQTtBQUE5QiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLEVBQUU7UUFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLDJCQUEyQixDQUFHO1NBQTlCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdXRvZmlsbGVkLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQge31cbiJdfQ==
|
|
@@ -1,54 +1,40 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { Directive,
|
|
3
|
-
import { typedFromEvent } from '@taiga-ui/cdk/observables';
|
|
2
|
+
import { Directive, EventEmitter, HostBinding, HostListener, Inject, Output, } from '@angular/core';
|
|
4
3
|
import { TuiDirectiveStylesService } from '@taiga-ui/cdk/services';
|
|
5
|
-
import {
|
|
6
|
-
const ON = 'tuiAutofillOn';
|
|
7
|
-
const OFF = 'tuiAutofillOff';
|
|
8
|
-
const STYLE = `
|
|
9
|
-
@keyframes ${ON} {
|
|
10
|
-
from {
|
|
11
|
-
content: '1';
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
to {
|
|
15
|
-
content: '2';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@keyframes ${OFF} {
|
|
20
|
-
from {
|
|
21
|
-
content: '2';
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
to {
|
|
25
|
-
content: '1';
|
|
26
|
-
}
|
|
27
|
-
}`;
|
|
28
|
-
// @dynamic
|
|
4
|
+
import { TuiAutofilledStyleComponent } from './autofilled-style.component';
|
|
29
5
|
let TuiAutofilledDirective = class TuiAutofilledDirective {
|
|
30
|
-
constructor(
|
|
31
|
-
this.
|
|
32
|
-
this.tuiAutofilledChange =
|
|
33
|
-
directiveStyles.
|
|
6
|
+
constructor(directiveStyles) {
|
|
7
|
+
this.autofilled = false;
|
|
8
|
+
this.tuiAutofilledChange = new EventEmitter();
|
|
9
|
+
directiveStyles.addComponent(TuiAutofilledStyleComponent);
|
|
10
|
+
}
|
|
11
|
+
transitionStartHandler({ propertyName, target }) {
|
|
12
|
+
var _a;
|
|
13
|
+
const matchedAutofill = propertyName.includes('box-shadow') && ((_a = target) === null || _a === void 0 ? void 0 : _a.matches('input'));
|
|
14
|
+
if (matchedAutofill) {
|
|
15
|
+
this.autofilled = !this.autofilled;
|
|
16
|
+
this.tuiAutofilledChange.emit(this.autofilled);
|
|
17
|
+
}
|
|
34
18
|
}
|
|
35
19
|
};
|
|
36
20
|
TuiAutofilledDirective.ctorParameters = () => [
|
|
37
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
38
21
|
{ type: TuiDirectiveStylesService, decorators: [{ type: Inject, args: [TuiDirectiveStylesService,] }] }
|
|
39
22
|
];
|
|
23
|
+
__decorate([
|
|
24
|
+
HostBinding('class._autofilled')
|
|
25
|
+
], TuiAutofilledDirective.prototype, "autofilled", void 0);
|
|
40
26
|
__decorate([
|
|
41
27
|
Output()
|
|
42
28
|
], TuiAutofilledDirective.prototype, "tuiAutofilledChange", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
HostListener('transitionstart', ['$event'])
|
|
31
|
+
], TuiAutofilledDirective.prototype, "transitionStartHandler", null);
|
|
43
32
|
TuiAutofilledDirective = __decorate([
|
|
44
33
|
Directive({
|
|
45
34
|
selector: '[tuiAutofilledChange]',
|
|
46
|
-
host: {
|
|
47
|
-
class: 'tui-autofill',
|
|
48
|
-
},
|
|
35
|
+
host: { class: 'tui-autofill' },
|
|
49
36
|
}),
|
|
50
|
-
__param(0, Inject(
|
|
51
|
-
__param(1, Inject(TuiDirectiveStylesService))
|
|
37
|
+
__param(0, Inject(TuiDirectiveStylesService))
|
|
52
38
|
], TuiAutofilledDirective);
|
|
53
39
|
export { TuiAutofilledDirective };
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFNekUsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFPL0IsWUFDdUMsZUFBMEM7UUFOakYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUdWLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLdkQsZUFBZSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQWtCOztRQUMxRCxNQUFNLGVBQWUsR0FDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBSyxNQUFrQiwwQ0FBRSxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUM7UUFFakYsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFmMkQseUJBQXlCLHVCQUE1RSxNQUFNLFNBQUMseUJBQXlCOztBQU5yQztJQURDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzswREFDZDtBQUduQjtJQURDLE1BQU0sRUFBRTttRUFDa0Q7QUFTM0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvRUFTM0M7QUF0QlEsc0JBQXNCO0lBSmxDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQztLQUNoQyxDQUFDO0lBU08sV0FBQSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtHQVI3QixzQkFBc0IsQ0F1QmxDO1NBdkJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudH0gZnJvbSAnLi9hdXRvZmlsbGVkLXN0eWxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUF1dG9maWxsZWRDaGFuZ2VdJyxcbiAgICBob3N0OiB7Y2xhc3M6ICd0dWktYXV0b2ZpbGwnfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZERpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYXV0b2ZpbGxlZCcpXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHVpQXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2UpIGRpcmVjdGl2ZVN0eWxlczogVHVpRGlyZWN0aXZlU3R5bGVzU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgZGlyZWN0aXZlU3R5bGVzLmFkZENvbXBvbmVudChUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25zdGFydCcsIFsnJGV2ZW50J10pXG4gICAgdHJhbnNpdGlvblN0YXJ0SGFuZGxlcih7cHJvcGVydHlOYW1lLCB0YXJnZXR9OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZEF1dG9maWxsID1cbiAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbmNsdWRlcygnYm94LXNoYWRvdycpICYmICh0YXJnZXQgYXMgRWxlbWVudCk/Lm1hdGNoZXMoJ2lucHV0Jyk7XG5cbiAgICAgICAgaWYgKG1hdGNoZWRBdXRvZmlsbCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gIXRoaXMuYXV0b2ZpbGxlZDtcbiAgICAgICAgICAgIHRoaXMudHVpQXV0b2ZpbGxlZENoYW5nZS5lbWl0KHRoaXMuYXV0b2ZpbGxlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { TuiAutofilledDirective } from './autofilled.directive';
|
|
4
|
+
import { TuiAutofilledStyleComponent } from './autofilled-style.component';
|
|
4
5
|
let TuiAutofilledModule = class TuiAutofilledModule {
|
|
5
6
|
};
|
|
6
7
|
TuiAutofilledModule = __decorate([
|
|
7
8
|
NgModule({
|
|
8
|
-
declarations: [TuiAutofilledDirective],
|
|
9
9
|
exports: [TuiAutofilledDirective],
|
|
10
|
+
entryComponents: [TuiAutofilledStyleComponent],
|
|
11
|
+
declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],
|
|
10
12
|
})
|
|
11
13
|
], TuiAutofilledModule);
|
|
12
14
|
export { TuiAutofilledModule };
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBT3pFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFML0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7UUFDakMsZUFBZSxFQUFFLENBQUMsMkJBQTJCLENBQUM7UUFDOUMsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUM7S0FDdEUsQ0FBQztHQUNXLG1CQUFtQixDQUFHO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWREaXJlY3RpdmV9IGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnR9IGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtUdWlBdXRvZmlsbGVkRGlyZWN0aXZlXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUF1dG9maWxsZWREaXJlY3RpdmUsIFR1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9maWxsZWRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './autofilled.directive';
|
|
2
2
|
export * from './autofilled.module';
|
|
3
|
-
|
|
3
|
+
export * from './autofilled-style.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZmlsbGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9maWxsZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuIl19
|
|
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { Directive } from '@angular/core';
|
|
3
3
|
/**
|
|
4
4
|
* Blank directive to query for {@link TemplateRef}
|
|
5
|
-
* TODO: Migrate everything to this directive
|
|
5
|
+
* TODO: 3.0 Migrate everything to this directive
|
|
6
6
|
*/
|
|
7
7
|
let TuiItemDirective = class TuiItemDirective {
|
|
8
8
|
};
|
|
@@ -12,4 +12,4 @@ TuiItemDirective = __decorate([
|
|
|
12
12
|
})
|
|
13
13
|
], TuiItemDirective);
|
|
14
14
|
export { TuiItemDirective };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaXRlbS8iLCJzb3VyY2VzIjpbIml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDOzs7R0FHRztBQUlILElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0NBQUcsQ0FBQTtBQUFuQixnQkFBZ0I7SUFINUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHNCQUFzQjtLQUNuQyxDQUFDO0dBQ1csZ0JBQWdCLENBQUc7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJsYW5rIGRpcmVjdGl2ZSB0byBxdWVyeSBmb3Ige0BsaW5rIFRlbXBsYXRlUmVmfVxuICogVE9ETzogMy4wIE1pZ3JhdGUgZXZlcnl0aGluZyB0byB0aGlzIGRpcmVjdGl2ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3R1aUl0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSXRlbURpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { startWith } from 'rxjs/operators';
|
|
4
4
|
/**
|
|
5
5
|
* Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
|
|
6
|
-
* TODO:
|
|
6
|
+
* TODO: 3.0 name should be shorter.
|
|
7
7
|
*/
|
|
8
8
|
export function tuiReplayedValueChangesFrom(control) {
|
|
9
9
|
return new Observable(subscriber => {
|
|
@@ -13,4 +13,4 @@ export function tuiReplayedValueChangesFrom(control) {
|
|
|
13
13
|
control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWNvbnRyb2wtdmFsdWUtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMvIiwic291cmNlcyI6WyJyZXBsYXktY29udHJvbC12YWx1ZS1jaGFuZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsT0FBbUQ7SUFFbkQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUN4QztRQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlWYWx1ZUNoYW5nZXNFeGNlcHRpb259IGZyb20gJ0B0YWlnYS11aS9jZGsvZXhjZXB0aW9ucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBUdXJucyBBYnN0cmFjdENvbnRyb2wvQWJzdHJhY3QtY29udHJvbC1kaXJlY3RpdmUgdmFsdWVDaGFuZ2VzIGludG8gUmVwbGF5U3ViamVjdCgxKVxuICogVE9ETzogMy4wIG5hbWUgc2hvdWxkIGJlIHNob3J0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb208VD4oXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlLFxuKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHVpVmFsdWVDaGFuZ2VzRXhjZXB0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xufVxuIl19
|
package/esm2015/tokens/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from './default-renderer';
|
|
|
4
4
|
export * from './dialogs';
|
|
5
5
|
export * from './focusable-item-accessor';
|
|
6
6
|
export * from './is-android';
|
|
7
|
+
export * from './is-apple';
|
|
7
8
|
export * from './is-cypress';
|
|
8
9
|
export * from './is-ios';
|
|
9
10
|
export * from './is-mobile';
|
|
@@ -14,4 +15,4 @@ export * from './take-only-trusted-events';
|
|
|
14
15
|
export * from './touch-supported';
|
|
15
16
|
export * from './window-height';
|
|
16
17
|
export * from './zoom-options';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0tYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtYXBwbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jeXByZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW9zJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpcGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rha2Utb25seS10cnVzdGVkLWV2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RvdWNoLXN1cHBvcnRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy1oZWlnaHQnO1xuZXhwb3J0ICogZnJvbSAnLi96b29tLW9wdGlvbnMnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
+
import { NAVIGATOR } from '@ng-web-apis/common';
|
|
3
|
+
import { isApple } from '@taiga-ui/cdk/utils';
|
|
4
|
+
export const TUI_IS_APPLE = new InjectionToken('Apple(safari/webkit) detection', { factory: () => isApple(inject(NAVIGATOR)) });
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXBwbGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImlzLWFwcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUMxQyxnQ0FBZ0MsRUFDaEMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOQVZJR0FUT1J9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtpc0FwcGxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19BUFBMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgICAnQXBwbGUoc2FmYXJpL3dlYmtpdCkgZGV0ZWN0aW9uJyxcbiAgICB7ZmFjdG9yeTogKCkgPT4gaXNBcHBsZShpbmplY3QoTkFWSUdBVE9SKSl9LFxuKTtcbiJdfQ==
|
package/esm2015/tokens/is-ios.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
-
import { NAVIGATOR
|
|
3
|
-
|
|
2
|
+
import { NAVIGATOR } from '@ng-web-apis/common';
|
|
3
|
+
import { isIos } from '@taiga-ui/cdk/utils';
|
|
4
4
|
export const TUI_IS_IOS = new InjectionToken('iOS browser detection', {
|
|
5
|
-
factory: () =>
|
|
6
|
-
(inject(USER_AGENT).toLowerCase().includes('apple') &&
|
|
7
|
-
inject(NAVIGATOR).maxTouchPoints > 1),
|
|
5
|
+
factory: () => isIos(inject(NAVIGATOR)),
|
|
8
6
|
});
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsdUJBQXVCLEVBQUU7SUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDMUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkFWSUdBVE9SfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7aXNJb3N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX0lPUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignaU9TIGJyb3dzZXIgZGV0ZWN0aW9uJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGlzSW9zKGluamVjdChOQVZJR0FUT1IpKSxcbn0pO1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './is-edge';
|
|
2
2
|
export * from './is-edge-older-than';
|
|
3
3
|
export * from './is-firefox';
|
|
4
|
-
export * from './is-
|
|
4
|
+
export * from './is-ie';
|
|
5
5
|
export * from './is-safari';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1lZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZWRnZS1vbGRlci10aGFuJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZmlyZWZveCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWllJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtc2FmYXJpJztcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export function isIE(userAgent) {
|
|
2
2
|
return userAgent.toLowerCase().includes('trident');
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpcy1pZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLFNBQWlCO0lBQ2xDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzSUUodXNlckFnZW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3RyaWRlbnQnKTtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @deprecated: use native element.focus()
|
|
3
|
+
* TODO: remove in v3.0
|
|
2
4
|
* Focuses or blurs and element
|
|
3
5
|
*
|
|
4
6
|
* @param element native element
|
|
@@ -13,4 +15,4 @@ export function setNativeFocused(element, focused = true, preventScroll = false)
|
|
|
13
15
|
element.blur();
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5hdGl2ZS1mb2N1c2VkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbInNldC1uYXRpdmUtZm9jdXNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsT0FBeUIsRUFDekIsVUFBbUIsSUFBSSxFQUN2QixnQkFBeUIsS0FBSztJQUU5QixJQUFJLE9BQU8sRUFBRTtRQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDO0tBQ2xDO1NBQU07UUFDSCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIG5hdGl2ZSBlbGVtZW50LmZvY3VzKClcbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKiBGb2N1c2VzIG9yIGJsdXJzIGFuZCBlbGVtZW50XG4gKlxuICogQHBhcmFtIGVsZW1lbnQgbmF0aXZlIGVsZW1lbnRcbiAqIEBwYXJhbSBmb2N1c2VkIGJvb2xlYW4gZm9jdXNlZCBzdGF0ZVxuICogQHBhcmFtIHByZXZlbnRTY3JvbGwgb3B0aW9uYWwgZmxhZyB0byBwcmV2ZW50IG5hdGl2ZSBzY3JvbGwgdG8gdGhlIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldE5hdGl2ZUZvY3VzZWQoXG4gICAgZWxlbWVudDogSFRNTE9yU1ZHRWxlbWVudCxcbiAgICBmb2N1c2VkOiBib29sZWFuID0gdHJ1ZSxcbiAgICBwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UsXG4pOiB2b2lkIHtcbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICBlbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5ibHVyKCk7XG4gICAgfVxufVxuIl19
|