@taiga-ui/cdk 2.36.0 → 2.37.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/abstract/control.d.ts +2 -2
- package/abstract/index.d.ts +2 -0
- package/abstract/portal-host.d.ts +13 -0
- package/abstract/portal-service.d.ts +14 -0
- package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js +94 -6
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +280 -0
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +16 -0
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js +10 -114
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components.umd.js +12 -4
- package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +2 -2
- 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 +78 -36
- 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-for.umd.js +3 -2
- package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +17 -4
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +1 -2
- 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-focus.umd.js +1 -1
- 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/components/dropdown-host/dropdown-host.component.d.ts +8 -0
- package/components/dropdown-host/dropdown-host.module.d.ts +2 -0
- package/components/dropdown-host/index.d.ts +2 -0
- package/components/dropdown-host/package.json +13 -0
- package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +4 -0
- package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +1 -0
- package/components/index.d.ts +1 -0
- package/components/portal-host/index.d.ts +0 -2
- package/components/portal-host/portal.service.d.ts +4 -11
- package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
- package/components/taiga-ui-cdk-components.metadata.json +1 -1
- package/directives/auto-focus/autofocus.directive.d.ts +8 -4
- package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
- package/directives/for/for.directive.d.ts +4 -4
- package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
- package/esm2015/abstract/control.js +5 -3
- package/esm2015/abstract/index.js +3 -1
- package/esm2015/abstract/portal-host.js +44 -0
- package/esm2015/abstract/portal-service.js +34 -0
- package/esm2015/components/dropdown-host/dropdown-host.component.js +36 -0
- package/esm2015/components/dropdown-host/dropdown-host.module.js +13 -0
- package/esm2015/components/dropdown-host/index.js +3 -0
- package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/portal-host/index.js +1 -3
- package/esm2015/components/portal-host/portal.service.js +6 -26
- package/esm2015/date-time/time.js +3 -3
- package/esm2015/directives/auto-focus/autofocus.directive.js +71 -39
- package/esm2015/directives/for/for.directive.js +6 -5
- package/esm2015/services/directive-styles.service.js +19 -6
- package/esm2015/tokens/is-ios.js +2 -3
- package/esm2015/utils/focus/get-closest-keyboard-focusable.js +2 -2
- package/esm5/abstract/control.js +5 -3
- package/esm5/abstract/index.js +3 -1
- package/esm5/abstract/portal-host.js +50 -0
- package/esm5/abstract/portal-service.js +42 -0
- package/esm5/components/dropdown-host/dropdown-host.component.js +41 -0
- package/esm5/components/dropdown-host/dropdown-host.module.js +16 -0
- package/esm5/components/dropdown-host/index.js +3 -0
- package/esm5/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
- package/esm5/components/index.js +2 -1
- package/esm5/components/portal-host/index.js +1 -3
- package/esm5/components/portal-host/portal.service.js +10 -33
- package/esm5/date-time/time.js +3 -3
- package/esm5/directives/auto-focus/autofocus.directive.js +81 -39
- package/esm5/directives/for/for.directive.js +6 -5
- package/esm5/services/directive-styles.service.js +19 -6
- package/esm5/tokens/is-ios.js +2 -3
- package/esm5/utils/focus/get-closest-keyboard-focusable.js +2 -2
- package/fesm2015/taiga-ui-cdk-abstract.js +77 -4
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +51 -0
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-components-portal-host.js +7 -97
- package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components.js +1 -0
- package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +2 -2
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +70 -38
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for.js +5 -4
- package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +18 -5
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +1 -2
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +91 -4
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js +59 -0
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
- package/fesm5/taiga-ui-cdk-components-portal-host.js +10 -112
- package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components.js +1 -0
- package/fesm5/taiga-ui-cdk-components.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +2 -2
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js +80 -38
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-for.js +5 -4
- package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +18 -5
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +1 -2
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/package.json +1 -1
- package/services/directive-styles.service.d.ts +7 -2
- package/services/taiga-ui-cdk-services.metadata.json +1 -1
- package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
- package/utils/focus/get-closest-keyboard-focusable.d.ts +1 -1
- package/components/portal-host/portal-host.component.d.ts +0 -15
- package/components/portal-host/portal-host.module.d.ts +0 -2
- package/esm2015/components/portal-host/portal-host.component.js +0 -65
- package/esm2015/components/portal-host/portal-host.module.js +0 -13
- package/esm5/components/portal-host/portal-host.component.js +0 -71
- package/esm5/components/portal-host/portal-host.module.js +0 -16
|
@@ -1,44 +1,99 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { AfterViewInit, Directive, ElementRef, Inject,
|
|
2
|
+
import { AfterViewInit, Directive, ElementRef, Inject, Input, NgZone, Optional, Renderer2, Self, } from '@angular/core';
|
|
3
3
|
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
4
4
|
import { POLLING_TIME } from '@taiga-ui/cdk/constants';
|
|
5
5
|
import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
6
6
|
import { setNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
7
7
|
import { Observable, race, timer } from 'rxjs';
|
|
8
|
-
import {
|
|
8
|
+
import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
|
|
9
9
|
var TIMEOUT = 1000;
|
|
10
10
|
var NG_ANIMATION_SELECTOR = '.ng-animating';
|
|
11
|
-
// @bad TODO: Consider removing iOS hacks
|
|
12
11
|
// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string
|
|
12
|
+
// TODO: refactor on this whole thing in 3.0
|
|
13
13
|
var TuiAutoFocusDirective = /** @class */ (function () {
|
|
14
|
-
function TuiAutoFocusDirective(
|
|
15
|
-
this.injector = injector;
|
|
16
|
-
this.elementRef = elementRef;
|
|
14
|
+
function TuiAutoFocusDirective(tuiFocusableComponent, isIos, animationFrame$, ngZone, elementRef, renderer) {
|
|
17
15
|
this.tuiFocusableComponent = tuiFocusableComponent;
|
|
18
16
|
this.isIos = isIos;
|
|
19
17
|
this.animationFrame$ = animationFrame$;
|
|
18
|
+
this.ngZone = ngZone;
|
|
19
|
+
this.elementRef = elementRef;
|
|
20
|
+
this.renderer = renderer;
|
|
20
21
|
this.autoFocus = true;
|
|
21
22
|
}
|
|
22
23
|
TuiAutoFocusDirective.prototype.ngAfterViewInit = function () {
|
|
23
|
-
var
|
|
24
|
+
var _this = this;
|
|
24
25
|
if (!this.autoFocus) {
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
if (this.isTextFieldElement) {
|
|
29
|
+
if (this.isIos) {
|
|
30
|
+
this.ngZone.runOutsideAngular(function () { return _this.iosWebkitAutofocus(); });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(function () { return _this.element.closest(NG_ANIMATION_SELECTOR); }), skipWhile(Boolean), take(1))).subscribe(function () { return setNativeFocused(_this.element); });
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
31
36
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
setNativeFocused(this.element);
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(TuiAutoFocusDirective.prototype, "element", {
|
|
40
|
+
get: function () {
|
|
41
|
+
var _a;
|
|
42
|
+
return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
|
|
43
|
+
this.elementRef.nativeElement);
|
|
44
|
+
},
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: true
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(TuiAutoFocusDirective.prototype, "isTextFieldElement", {
|
|
49
|
+
get: function () {
|
|
50
|
+
return this.element.matches('input, textarea');
|
|
51
|
+
},
|
|
52
|
+
enumerable: true,
|
|
53
|
+
configurable: true
|
|
54
|
+
});
|
|
55
|
+
TuiAutoFocusDirective.prototype.iosWebkitAutofocus = function () {
|
|
56
|
+
var _this = this;
|
|
57
|
+
var _a;
|
|
58
|
+
var fakeInput = this.renderer.createElement('input');
|
|
59
|
+
fakeInput.style.position = 'absolute';
|
|
60
|
+
fakeInput.style.opacity = '0';
|
|
61
|
+
fakeInput.style.height = '0';
|
|
62
|
+
var blurHandler = function () { return setNativeFocused(fakeInput); };
|
|
63
|
+
var focusHandler = function () {
|
|
64
|
+
setTimeout(function () {
|
|
65
|
+
setNativeFocused(_this.element);
|
|
66
|
+
/**
|
|
67
|
+
* @note:
|
|
68
|
+
* We can't remove the element immediately, because it breaks flow
|
|
69
|
+
*/
|
|
70
|
+
setTimeout(function () {
|
|
71
|
+
fakeInput.removeEventListener('blur', blurHandler);
|
|
72
|
+
fakeInput.removeEventListener('focus', focusHandler);
|
|
73
|
+
fakeInput.remove();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* @note: ping-pong eager strategy hack
|
|
79
|
+
* After creating an element and bringing it into DOM,
|
|
80
|
+
* the browser automatically focuses on the invisible element.
|
|
81
|
+
* And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
|
|
82
|
+
* then we try to focus again on an invisible element, so that the keyboard slowly appears.
|
|
83
|
+
* This ping pong allows the keyboard to not overlap the modal window.
|
|
84
|
+
*/
|
|
85
|
+
fakeInput.addEventListener('blur', blurHandler, { once: true });
|
|
86
|
+
fakeInput.addEventListener('focus', focusHandler);
|
|
87
|
+
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
|
|
88
|
+
setNativeFocused(fakeInput);
|
|
35
89
|
};
|
|
36
90
|
TuiAutoFocusDirective.ctorParameters = function () { return [
|
|
37
|
-
{ type: Injector, decorators: [{ type: Inject, args: [INJECTOR,] }] },
|
|
38
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
39
91
|
{ type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
|
|
40
92
|
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
|
|
41
|
-
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
|
|
93
|
+
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
|
|
94
|
+
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
95
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
96
|
+
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] }
|
|
42
97
|
]; };
|
|
43
98
|
__decorate([
|
|
44
99
|
Input()
|
|
@@ -47,29 +102,16 @@ var TuiAutoFocusDirective = /** @class */ (function () {
|
|
|
47
102
|
Directive({
|
|
48
103
|
selector: '[tuiAutoFocus]',
|
|
49
104
|
}),
|
|
50
|
-
__param(0,
|
|
51
|
-
__param(
|
|
52
|
-
__param(
|
|
53
|
-
__param(
|
|
54
|
-
__param(2, Inject(
|
|
55
|
-
__param(3, Inject(
|
|
56
|
-
__param(4, Inject(
|
|
105
|
+
__param(0, Optional()),
|
|
106
|
+
__param(0, Self()),
|
|
107
|
+
__param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
|
|
108
|
+
__param(1, Inject(TUI_IS_IOS)),
|
|
109
|
+
__param(2, Inject(ANIMATION_FRAME)),
|
|
110
|
+
__param(3, Inject(NgZone)),
|
|
111
|
+
__param(4, Inject(ElementRef)),
|
|
112
|
+
__param(5, Inject(Renderer2))
|
|
57
113
|
], TuiAutoFocusDirective);
|
|
58
114
|
return TuiAutoFocusDirective;
|
|
59
115
|
}());
|
|
60
116
|
export { TuiAutoFocusDirective };
|
|
61
|
-
function veryVerySadIosFix(injector) {
|
|
62
|
-
var renderer = injector.get(Renderer2);
|
|
63
|
-
var nativeElement = injector.get(ViewContainerRef).element.nativeElement;
|
|
64
|
-
var decoy = renderer.createElement('input');
|
|
65
|
-
decoy.style.position = 'absolute';
|
|
66
|
-
decoy.style.opacity = '0';
|
|
67
|
-
decoy.style.height = '0';
|
|
68
|
-
renderer.setAttribute(decoy, 'readonly', 'readonly');
|
|
69
|
-
renderer.appendChild(nativeElement, decoy);
|
|
70
|
-
decoy.addEventListener('blur', function () { return renderer.removeChild(nativeElement, decoy); }, {
|
|
71
|
-
once: true,
|
|
72
|
-
});
|
|
73
|
-
setNativeFocused(decoy);
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDckIsSUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFFOUMseUNBQXlDO0FBQ3pDLHlFQUF5RTtBQUl6RTtJQUlJLCtCQUN1QyxRQUFrQixFQUNoQixVQUFtQyxFQUl2RCxxQkFBeUQsRUFDckMsS0FBYyxFQUNULGVBQW1DO1FBUDFDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFJdkQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FB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b250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1BPTExJTkdfVElNRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUiwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtzZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBAYmFkIFRPRE86IENvbnNpZGVyIHJlbW92aW5nIGlPUyBoYWNrc1xuLy8gVE9ETzogaW4gMy4wIGNoYW5nZSBpbnB1dCBuYW1lIHRvIHR1aUF1dG9Gb2N1cyBhbmQgaGFuZGxlIGVtcHR5IHN0cmluZ1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KElOSkVDVE9SKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgdGhpcy50dWlGb2N1c2FibGVDb21wb25lbnQ/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHxcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLmlzSW9zKSB7XG4gICAgICAgICAgICB2ZXJ5VmVyeVNhZElvc0ZpeCh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJhY2UoXG4gICAgICAgICAgICB0aW1lcihUSU1FT1VUKSxcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgdGhyb3R0bGVUaW1lKFBPTExJTkdfVElNRSksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IGVsZW1lbnQuY2xvc2VzdChOR19BTklNQVRJT05fU0VMRUNUT1IpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIodiA9PiAhdiksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdmVyeVZlcnlTYWRJb3NGaXgoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgY29uc3QgcmVuZGVyZXIgPSBpbmplY3Rvci5nZXQoUmVuZGVyZXIyKTtcbiAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBpbmplY3Rvci5nZXQoVmlld0NvbnRhaW5lclJlZikuZWxlbWVudDtcbiAgICBjb25zdCBkZWNveTogSFRNTEVsZW1lbnQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuXG4gICAgZGVjb3kuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGRlY295LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgZGVjb3kuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuXG4gICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKGRlY295LCAncmVhZG9ubHknLCAncmVhZG9ubHknKTtcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZChuYXRpdmVFbGVtZW50LCBkZWNveSk7XG4gICAgZGVjb3kuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHJlbmRlcmVyLnJlbW92ZUNoaWxkKG5hdGl2ZUVsZW1lbnQsIGRlY295KSwge1xuICAgICAgICBvbmNlOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgc2V0TmF0aXZlRm9jdXNlZChkZWNveSk7XG59XG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLElBQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUM7SUFJSSwrQkFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxlQUFVLEdBQVYs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QUFDO0lBQ2hDLENBQUM7O2dEQXpGSSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7OENBRWxDLE1BQU0sU0FBQyxVQUFVO2dCQUN5QyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTtnQkFFRSxNQUFNLHVCQUQ5QixNQUFNLFNBQUMsTUFBTTtnQkFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtnQkFHUyxTQUFTLHVCQURuQyxNQUFNLFNBQUMsU0FBUzs7SUFickI7UUFEQyxLQUFLLEVBQUU7NERBQ1M7SUFGUixxQkFBcUI7UUFIakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGdCQUFnQjtTQUM3QixDQUFDO1FBTU8sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWQsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFbEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7T0FmYixxQkFBcUIsQ0ErRmpDO0lBQUQsNEJBQUM7Q0FBQSxBQS9GRCxJQStGQztTQS9GWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1BPTExJTkdfVElNRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLCBUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3NldE5hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2tpcFdoaWxlLCB0YWtlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgVElNRU9VVCA9IDEwMDA7XG5jb25zdCBOR19BTklNQVRJT05fU0VMRUNUT1IgPSAnLm5nLWFuaW1hdGluZyc7XG5cbi8vIFRPRE86IGluIDMuMCBjaGFuZ2UgaW5wdXQgbmFtZSB0byB0dWlBdXRvRm9jdXMgYW5kIGhhbmRsZSBlbXB0eSBzdHJpbmdcbi8vIFRPRE86IHJlZmFjdG9yIG9uIHRoaXMgd2hvbGUgdGhpbmcgaW4gMy4wXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlBdXRvRm9jdXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhdXRvRm9jdXMgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHVpRm9jdXNhYmxlQ29tcG9uZW50OiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KE5nWm9uZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0lvcykge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuaW9zV2Via2l0QXV0b2ZvY3VzKCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgICAgICB0aW1lcihUSU1FT1VUKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZWxlbWVudC5jbG9zZXN0KE5HX0FOSU1BVElPTl9TRUxFQ1RPUikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcFdoaWxlKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgoKSA9PiBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZWxlbWVudCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVGV4dEZpZWxkRWxlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5tYXRjaGVzKCdpbnB1dCwgdGV4dGFyZWEnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlvc1dlYmtpdEF1dG9mb2N1cygpIHtcbiAgICAgICAgY29uc3QgZmFrZUlucHV0OiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9ICcwJztcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpID0+IHNldE5hdGl2ZUZvY3VzZWQoZmFrZUlucHV0KTtcbiAgICAgICAgY29uc3QgZm9jdXNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogQG5vdGU6XG4gICAgICAgICAgICAgICAgICogV2UgY2FuJ3QgcmVtb3ZlIHRoZSBlbGVtZW50IGltbWVkaWF0ZWx5LCBiZWNhdXNlIGl0IGJyZWFrcyBmbG93XG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZha2VJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmb2N1c0hhbmRsZXIpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQG5vdGU6IHBpbmctcG9uZyBlYWdlciBzdHJhdGVneSBoYWNrXG4gICAgICAgICAqIEFmdGVyIGNyZWF0aW5nIGFuIGVsZW1lbnQgYW5kIGJyaW5naW5nIGl0IGludG8gRE9NLFxuICAgICAgICAgKiB0aGUgYnJvd3NlciBhdXRvbWF0aWNhbGx5IGZvY3VzZXMgb24gdGhlIGludmlzaWJsZSBlbGVtZW50LlxuICAgICAgICAgKiBBbmQgdGhlbiwgYWZ0ZXIgZm9jdXMgaXMgdHJpZ2dlcmVkLCB3ZSB0cnkgdG8gZm9jdXMgb24gdGFyZ2V0IGVsZW1lbnQsIGFuZCBpZiB3ZSBtYW5hZ2VkIHRvIHJlZm9jdXMsXG4gICAgICAgICAqIHRoZW4gd2UgdHJ5IHRvIGZvY3VzIGFnYWluIG9uIGFuIGludmlzaWJsZSBlbGVtZW50LCBzbyB0aGF0IHRoZSBrZXlib2FyZCBzbG93bHkgYXBwZWFycy5cbiAgICAgICAgICogVGhpcyBwaW5nIHBvbmcgYWxsb3dzIHRoZSBrZXlib2FyZCB0byBub3Qgb3ZlcmxhcCB0aGUgbW9kYWwgd2luZG93LlxuICAgICAgICAgKi9cbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBibHVySGFuZGxlciwge29uY2U6IHRydWV9KTtcbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50RWxlbWVudD8uYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, EmbeddedViewRef, Input, OnChanges, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
1
|
+
import { __decorate, __param } from "tslib";
|
|
2
|
+
import { Directive, EmbeddedViewRef, Inject, Input, OnChanges, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
3
3
|
var TuiForDirective = /** @class */ (function () {
|
|
4
4
|
function TuiForDirective(vcr) {
|
|
5
5
|
this.vcr = vcr;
|
|
@@ -16,7 +16,7 @@ var TuiForDirective = /** @class */ (function () {
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
TuiForDirective.ctorParameters = function () { return [
|
|
19
|
-
{ type: ViewContainerRef }
|
|
19
|
+
{ type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] }
|
|
20
20
|
]; };
|
|
21
21
|
__decorate([
|
|
22
22
|
Input()
|
|
@@ -30,9 +30,10 @@ var TuiForDirective = /** @class */ (function () {
|
|
|
30
30
|
TuiForDirective = __decorate([
|
|
31
31
|
Directive({
|
|
32
32
|
selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',
|
|
33
|
-
})
|
|
33
|
+
}),
|
|
34
|
+
__param(0, Inject(ViewContainerRef))
|
|
34
35
|
], TuiForDirective);
|
|
35
36
|
return TuiForDirective;
|
|
36
37
|
}());
|
|
37
38
|
export { TuiForDirective };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3IvIiwic291cmNlcyI6WyJmb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBS3ZCO0lBWUkseUJBQXVELEdBQXFCO1FBQXJCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBUjVFLFlBQU8sR0FBOEIsRUFBRSxDQUFDO0lBUXVDLENBQUM7SUFFaEYscUNBQVcsR0FBWDs7UUFDSSxNQUFBLElBQUksQ0FBQyxHQUFHLDBDQUFFLE9BQU8sR0FBRztRQUVwQixJQUFJLE9BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsTUFBTSxNQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQy9DLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDM0Q7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOztnQkFWMkQsZ0JBQWdCLHVCQUEvRCxNQUFNLFNBQUMsZ0JBQWdCOztJQVJwQztRQURDLEtBQUssRUFBRTtvREFDZ0M7SUFHeEM7UUFEQyxLQUFLLEVBQUU7c0RBQ21CO0lBRzNCO1FBREMsS0FBSyxFQUFFO3VEQUNvQjtJQVZuQixlQUFlO1FBSDNCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSwwREFBMEQ7U0FDdkUsQ0FBQztRQWFlLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7T0FaNUIsZUFBZSxDQXVCM0I7SUFBRCxzQkFBQztDQUFBLEFBdkJELElBdUJDO1NBdkJZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmdGb3JdW25nRm9yT2ZdW25nRm9yRWxzZV0sW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVtcHR5XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZvckRpcmVjdGl2ZTxULCBLID0ge30+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlZj86IEVtYmVkZGVkVmlld1JlZjx7fT47XG5cbiAgICBASW5wdXQoKVxuICAgIG5nRm9yT2Y6IFRbXSB8IHJlYWRvbmx5IFRbXSB8IG51bGwgPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmdGb3JFbHNlPzogVGVtcGxhdGVSZWY8Sz47XG5cbiAgICBASW5wdXQoKVxuICAgIG5nRm9yRW1wdHk/OiBUZW1wbGF0ZVJlZjxLPjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVmlld0NvbnRhaW5lclJlZikgcHJpdmF0ZSByZWFkb25seSB2Y3I6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5yZWY/LmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0Zvck9mPy5sZW5ndGggPT09IDAgJiYgdGhpcy5uZ0ZvckVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRW1wdHkpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLm5nRm9yT2YgJiYgdGhpcy5uZ0ZvckVsc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMubmdGb3JFbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Inject, Injectable, Renderer2 } from '@angular/core';
|
|
3
|
+
import { ComponentFactoryResolver, Inject, Injectable, INJECTOR, Injector, Renderer2, Type, } from '@angular/core';
|
|
4
4
|
import { TUI_DEFAULT_RENDERER } from '@taiga-ui/cdk/tokens';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
@@ -10,10 +10,19 @@ import * as i2 from "@taiga-ui/cdk/tokens";
|
|
|
10
10
|
* @dynamic
|
|
11
11
|
*/
|
|
12
12
|
var TuiDirectiveStylesService = /** @class */ (function () {
|
|
13
|
-
function TuiDirectiveStylesService(documentRef, renderer) {
|
|
13
|
+
function TuiDirectiveStylesService(resolver, injector, documentRef, renderer) {
|
|
14
|
+
this.resolver = resolver;
|
|
15
|
+
this.injector = injector;
|
|
14
16
|
this.documentRef = documentRef;
|
|
15
17
|
this.renderer = renderer;
|
|
18
|
+
this.map = new Map();
|
|
16
19
|
}
|
|
20
|
+
TuiDirectiveStylesService.prototype.addComponent = function (component) {
|
|
21
|
+
if (!this.map.has(component)) {
|
|
22
|
+
this.map.set(component, this.resolver.resolveComponentFactory(component).create(this.injector));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
/** @deprecated use components approach */
|
|
17
26
|
TuiDirectiveStylesService.prototype.addStyle = function (styles, attribute) {
|
|
18
27
|
if (this.documentRef.head.querySelector("style[" + attribute + "]")) {
|
|
19
28
|
return;
|
|
@@ -24,18 +33,22 @@ var TuiDirectiveStylesService = /** @class */ (function () {
|
|
|
24
33
|
this.documentRef.head.appendChild(style);
|
|
25
34
|
};
|
|
26
35
|
TuiDirectiveStylesService.ctorParameters = function () { return [
|
|
36
|
+
{ type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
|
|
37
|
+
{ type: Injector, decorators: [{ type: Inject, args: [INJECTOR,] }] },
|
|
27
38
|
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
28
39
|
{ type: Renderer2, decorators: [{ type: Inject, args: [TUI_DEFAULT_RENDERER,] }] }
|
|
29
40
|
]; };
|
|
30
|
-
TuiDirectiveStylesService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TuiDirectiveStylesService_Factory() { return new TuiDirectiveStylesService(i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(i2.TUI_DEFAULT_RENDERER)); }, token: TuiDirectiveStylesService, providedIn: "root" });
|
|
41
|
+
TuiDirectiveStylesService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TuiDirectiveStylesService_Factory() { return new TuiDirectiveStylesService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(i2.TUI_DEFAULT_RENDERER)); }, token: TuiDirectiveStylesService, providedIn: "root" });
|
|
31
42
|
TuiDirectiveStylesService = __decorate([
|
|
32
43
|
Injectable({
|
|
33
44
|
providedIn: 'root',
|
|
34
45
|
}),
|
|
35
|
-
__param(0, Inject(
|
|
36
|
-
__param(1, Inject(
|
|
46
|
+
__param(0, Inject(ComponentFactoryResolver)),
|
|
47
|
+
__param(1, Inject(INJECTOR)),
|
|
48
|
+
__param(2, Inject(DOCUMENT)),
|
|
49
|
+
__param(3, Inject(TUI_DEFAULT_RENDERER))
|
|
37
50
|
], TuiDirectiveStylesService);
|
|
38
51
|
return TuiDirectiveStylesService;
|
|
39
52
|
}());
|
|
40
53
|
export { TuiDirectiveStylesService };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLXN0eWxlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZS1zdHlsZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFMUQ7OztHQUdHO0FBSUg7SUFHSSxtQ0FFcUIsUUFBa0MsRUFDaEIsUUFBa0IsRUFDbEIsV0FBcUIsRUFDVCxRQUFtQjtRQUhqRCxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVByRCxRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFRdEQsQ0FBQztJQUVKLGdEQUFZLEdBQVosVUFBYSxTQUF3QjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQ1IsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekUsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELDBDQUEwQztJQUMxQyw0Q0FBUSxHQUFSLFVBQVMsTUFBYyxFQUFFLFNBQWlCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVMsU0FBUyxNQUFHLENBQUMsRUFBRTtZQUM1RCxPQUFPO1NBQ1Y7UUFFRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dCQTFCOEIsd0JBQXdCLHVCQURsRCxNQUFNLFNBQUMsd0JBQXdCO2dCQUVhLFFBQVEsdUJBQXBELE1BQU0sU0FBQyxRQUFRO2dCQUNnQyxRQUFRLHVCQUF2RCxNQUFNLFNBQUMsUUFBUTtnQkFDeUMsU0FBUyx1QkFBakUsTUFBTSxTQUFDLG9CQUFvQjs7O0lBUnZCLHlCQUF5QjtRQUhyQyxVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO1FBS08sV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUVoQyxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO09BUnhCLHlCQUF5QixDQWdDckM7b0NBbkREO0NBbURDLEFBaENELElBZ0NDO1NBaENZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJTkpFQ1RPUixcbiAgICBJbmplY3RvcixcbiAgICBSZW5kZXJlcjIsXG4gICAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX1JFTkRFUkVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5cbi8qKlxuICogU2VydmljZSB0byB1c2Ugc3R5bGVzIHdpdGggZGlyZWN0aXZlc1xuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGlyZWN0aXZlU3R5bGVzU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXAgPSBuZXcgTWFwPFR5cGU8dW5rbm93bj4sIHVua25vd24+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgQEluamVjdChJTkpFQ1RPUikgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFRVSV9ERUZBVUxUX1JFTkRFUkVSKSBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7fVxuXG4gICAgYWRkQ29tcG9uZW50KGNvbXBvbmVudDogVHlwZTx1bmtub3duPikge1xuICAgICAgICBpZiAoIXRoaXMubWFwLmhhcyhjb21wb25lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLm1hcC5zZXQoXG4gICAgICAgICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KS5jcmVhdGUodGhpcy5pbmplY3RvciksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBjb21wb25lbnRzIGFwcHJvYWNoICovXG4gICAgYWRkU3R5bGUoc3R5bGVzOiBzdHJpbmcsIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50UmVmLmhlYWQucXVlcnlTZWxlY3Rvcihgc3R5bGVbJHthdHRyaWJ1dGV9XWApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHN0eWxlLCAndGV4dENvbnRlbnQnLCBzdHlsZXMpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdHlsZSwgYXR0cmlidXRlLCAnJyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRSZWYuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgfVxufVxuIl19
|
package/esm5/tokens/is-ios.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { inject, InjectionToken } from '@angular/core';
|
|
2
2
|
import { NAVIGATOR, USER_AGENT } from '@ng-web-apis/common';
|
|
3
3
|
var IOS_REG_EXP = /ipad|iphone|ipod/;
|
|
4
|
-
var APPLE_REG_EXP = /apple/;
|
|
5
4
|
export var TUI_IS_IOS = new InjectionToken('iOS browser detection', {
|
|
6
5
|
factory: function () {
|
|
7
6
|
return IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()) ||
|
|
8
|
-
(
|
|
7
|
+
(inject(USER_AGENT).toLowerCase().includes('apple') &&
|
|
9
8
|
inject(NAVIGATOR).maxTouchPoints > 1);
|
|
10
9
|
},
|
|
11
10
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxJQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsdUJBQXVCLEVBQUU7SUFDM0UsT0FBTyxFQUFFO1FBQ0wsT0FBQSxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUZ6QyxDQUV5QztDQUNoRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOQVZJR0FUT1IsIFVTRVJfQUdFTlR9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuXG5jb25zdCBJT1NfUkVHX0VYUCA9IC9pcGFkfGlwaG9uZXxpcG9kLztcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19JT1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2lPUyBicm93c2VyIGRldGVjdGlvbicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PlxuICAgICAgICBJT1NfUkVHX0VYUC50ZXN0KGluamVjdChVU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICAoaW5qZWN0KFVTRVJfQUdFTlQpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2FwcGxlJykgJiZcbiAgICAgICAgICAgIGluamVjdChOQVZJR0FUT1IpLm1heFRvdWNoUG9pbnRzID4gMSksXG59KTtcbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { svgNodeFilter } from '@taiga-ui/cdk/constants';
|
|
|
2
2
|
import { isNativeKeyboardFocusable } from './is-native-keyboard-focusable';
|
|
3
3
|
import { isNativeMouseFocusable } from './is-native-mouse-focusable';
|
|
4
4
|
/**
|
|
5
|
-
* Finds closest element that can be focused with a keyboard or mouse in theory
|
|
5
|
+
* Finds the closest element that can be focused with a keyboard or mouse in theory
|
|
6
6
|
*
|
|
7
7
|
* @param initial current HTML element
|
|
8
8
|
* @param prev should it look backwards instead (find item that will be focused with Shift + Tab)
|
|
@@ -34,4 +34,4 @@ export function getClosestFocusable(initial, prev, root, keyboard) {
|
|
|
34
34
|
}
|
|
35
35
|
/** @deprecated use getClosestFocusable */
|
|
36
36
|
export var getClosestKeyboardFocusable = getClosestFocusable;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNsb3Nlc3Qta2V5Ym9hcmQtZm9jdXNhYmxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbImdldC1jbG9zZXN0LWtleWJvYXJkLWZvY3VzYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE9BQW9CLEVBQ3BCLElBQXFCLEVBQ3JCLElBQVUsRUFDVixRQUF3QjtJQUZ4QixxQkFBQSxFQUFBLFlBQXFCO0lBRXJCLHlCQUFBLEVBQUEsZUFBd0I7SUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBRTVFLCtDQUErQztJQUMvQyxzRkFBc0Y7SUFDdEYsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDbEQsSUFBSSxFQUNKLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLGFBQWEsRUFDYixLQUFLLENBQ1IsQ0FBQztJQUVGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUM3RCx1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsV0FBVyxZQUFZLFdBQVcsRUFBRTtZQUMvQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztTQUNwQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxJQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzdmdOb2RlRmlsdGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7aXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUta2V5Ym9hcmQtZm9jdXNhYmxlJztcbmltcG9ydCB7aXNOYXRpdmVNb3VzZUZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUtbW91c2UtZm9jdXNhYmxlJztcblxuLyoqXG4gKiBGaW5kcyB0aGUgY2xvc2VzdCBlbGVtZW50IHRoYXQgY2FuIGJlIGZvY3VzZWQgd2l0aCBhIGtleWJvYXJkIG9yIG1vdXNlIGluIHRoZW9yeVxuICpcbiAqIEBwYXJhbSBpbml0aWFsIGN1cnJlbnQgSFRNTCBlbGVtZW50XG4gKiBAcGFyYW0gcHJldiBzaG91bGQgaXQgbG9vayBiYWNrd2FyZHMgaW5zdGVhZCAoZmluZCBpdGVtIHRoYXQgd2lsbCBiZSBmb2N1c2VkIHdpdGggU2hpZnQgKyBUYWIpXG4gKiBAcGFyYW0gcm9vdCB0b3AgTm9kZSBsaW1pdGluZyB0aGUgc2VhcmNoIGFyZWFcbiAqIEBwYXJhbSBrZXlib2FyZCBkZXRlcm1pbmUgaWYgb25seSBrZXlib2FyZCBmb2N1cyBpcyBvZiBpbnRlcmVzdFxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENsb3Nlc3RGb2N1c2FibGUoXG4gICAgaW5pdGlhbDogSFRNTEVsZW1lbnQsXG4gICAgcHJldjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHJvb3Q6IE5vZGUsXG4gICAga2V5Ym9hcmQ6IGJvb2xlYW4gPSB0cnVlLFxuKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXJvb3Qub3duZXJEb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVjayA9IGtleWJvYXJkID8gaXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSA6IGlzTmF0aXZlTW91c2VGb2N1c2FibGU7XG5cbiAgICAvLyBEZXByZWNhdGVkIGJ1dCBvbnkgdGhpcyBvdmVybG9hZCB3b3JrcyBpbiBJRVxuICAgIC8vIEZpbHRlciBtdXN0IGJlIGEgZnVuY3Rpb24gaW4gSUUsIG90aGVyIG1vZGVybiBicm93c2VycyBhcmUgY29tcGxpYW50IHRvIHRoaXMgZm9ybWF0XG4gICAgY29uc3QgdHJlZVdhbGtlciA9IHJvb3Qub3duZXJEb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKFxuICAgICAgICByb290LFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICAgICAgZmFsc2UsXG4gICAgKTtcblxuICAgIHRyZWVXYWxrZXIuY3VycmVudE5vZGUgPSBpbml0aWFsO1xuXG4gICAgd2hpbGUgKHByZXYgPyB0cmVlV2Fsa2VyLnByZXZpb3VzTm9kZSgpIDogdHJlZVdhbGtlci5uZXh0Tm9kZSgpKSB7XG4gICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgIGlmICh0cmVlV2Fsa2VyLmN1cnJlbnROb2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGluaXRpYWwgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrKGluaXRpYWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGdldENsb3Nlc3RGb2N1c2FibGUgKi9cbmV4cG9ydCBjb25zdCBnZXRDbG9zZXN0S2V5Ym9hcmRGb2N1c2FibGUgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
|
-
import { EventEmitter, Input, Output, HostBinding, Directive, ChangeDetectorRef, Inject, Injectable, TemplateRef } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Input, Output, HostBinding, Directive, ChangeDetectorRef, Inject, Injectable, TemplateRef, Injector, ElementRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { NgModel, NgControl } from '@angular/forms';
|
|
4
4
|
import { tuiAssert } from '@taiga-ui/cdk/classes';
|
|
5
5
|
import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
|
|
@@ -8,6 +8,7 @@ import { Subject, merge, Observable, BehaviorSubject, EMPTY } from 'rxjs';
|
|
|
8
8
|
import { takeUntil, switchMap, ignoreElements, endWith } from 'rxjs/operators';
|
|
9
9
|
import { PolymorpheusTemplate } from '@tinkoff/ng-polymorpheus';
|
|
10
10
|
import { TuiIdService } from '@taiga-ui/cdk/services';
|
|
11
|
+
import { TuiNoHostException } from '@taiga-ui/cdk/exceptions';
|
|
11
12
|
import { DOCUMENT } from '@angular/common';
|
|
12
13
|
|
|
13
14
|
var AbstractTuiInteractive_1;
|
|
@@ -194,10 +195,12 @@ let AbstractTuiControl = class AbstractTuiControl extends AbstractTuiInteractive
|
|
|
194
195
|
return this.safeNgControlData(({ control }) => control, null);
|
|
195
196
|
}
|
|
196
197
|
get computedName() {
|
|
197
|
-
|
|
198
|
+
var _a, _b;
|
|
199
|
+
return (_b = (_a = this.controlName) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
|
|
198
200
|
}
|
|
199
201
|
get controlName() {
|
|
200
|
-
|
|
202
|
+
var _a, _b, _c;
|
|
203
|
+
return (_c = (_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : null;
|
|
201
204
|
}
|
|
202
205
|
get rawValue() {
|
|
203
206
|
const { ngControl } = this;
|
|
@@ -393,6 +396,76 @@ AbstractTuiNullableControl = __decorate([
|
|
|
393
396
|
Directive()
|
|
394
397
|
], AbstractTuiNullableControl);
|
|
395
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Abstract service for displaying portals
|
|
401
|
+
*/
|
|
402
|
+
let AbstractTuiPortalService = class AbstractTuiPortalService {
|
|
403
|
+
get safeHost() {
|
|
404
|
+
if (!this.host) {
|
|
405
|
+
throw new TuiNoHostException();
|
|
406
|
+
}
|
|
407
|
+
return this.host;
|
|
408
|
+
}
|
|
409
|
+
attach(host) {
|
|
410
|
+
this.host = host;
|
|
411
|
+
}
|
|
412
|
+
add(componentFactory, injector) {
|
|
413
|
+
return this.safeHost.addComponentChild(componentFactory, injector);
|
|
414
|
+
}
|
|
415
|
+
remove({ hostView }) {
|
|
416
|
+
hostView.destroy();
|
|
417
|
+
}
|
|
418
|
+
addTemplate(templateRef, context) {
|
|
419
|
+
return this.safeHost.addTemplateChild(templateRef, context);
|
|
420
|
+
}
|
|
421
|
+
removeTemplate(viewRef) {
|
|
422
|
+
viewRef.destroy();
|
|
423
|
+
}
|
|
424
|
+
};
|
|
425
|
+
AbstractTuiPortalService = __decorate([
|
|
426
|
+
Injectable()
|
|
427
|
+
], AbstractTuiPortalService);
|
|
428
|
+
|
|
429
|
+
var AbstractTuiPortalHostComponent_1;
|
|
430
|
+
/**
|
|
431
|
+
* Abstract class for host element for dynamically created portals.
|
|
432
|
+
*/
|
|
433
|
+
let AbstractTuiPortalHostComponent = AbstractTuiPortalHostComponent_1 = class AbstractTuiPortalHostComponent {
|
|
434
|
+
constructor(elementRef, portalService) {
|
|
435
|
+
this.elementRef = elementRef;
|
|
436
|
+
portalService.attach(this);
|
|
437
|
+
}
|
|
438
|
+
get clientRect() {
|
|
439
|
+
return this.elementRef.nativeElement.getBoundingClientRect();
|
|
440
|
+
}
|
|
441
|
+
addComponentChild(componentFactory, injector) {
|
|
442
|
+
return this.viewContainerRef.createComponent(componentFactory, undefined, Injector.create({
|
|
443
|
+
parent: injector,
|
|
444
|
+
providers: [
|
|
445
|
+
{
|
|
446
|
+
provide: AbstractTuiPortalHostComponent_1,
|
|
447
|
+
useValue: this,
|
|
448
|
+
},
|
|
449
|
+
],
|
|
450
|
+
}));
|
|
451
|
+
}
|
|
452
|
+
addTemplateChild(templateRef, context) {
|
|
453
|
+
return this.viewContainerRef.createEmbeddedView(templateRef, context);
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
AbstractTuiPortalHostComponent.ctorParameters = () => [
|
|
457
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
458
|
+
{ type: AbstractTuiPortalService, decorators: [{ type: Inject, args: [AbstractTuiPortalService,] }] }
|
|
459
|
+
];
|
|
460
|
+
__decorate([
|
|
461
|
+
ViewChild('viewContainer', { read: ViewContainerRef })
|
|
462
|
+
], AbstractTuiPortalHostComponent.prototype, "viewContainerRef", void 0);
|
|
463
|
+
AbstractTuiPortalHostComponent = AbstractTuiPortalHostComponent_1 = __decorate([
|
|
464
|
+
Directive(),
|
|
465
|
+
__param(0, Inject(ElementRef)),
|
|
466
|
+
__param(1, Inject(AbstractTuiPortalService))
|
|
467
|
+
], AbstractTuiPortalHostComponent);
|
|
468
|
+
|
|
396
469
|
var AbstractTuiThemeSwitcher_1;
|
|
397
470
|
/**
|
|
398
471
|
* Use this abstract class to create your own toggleable themes.
|
|
@@ -442,5 +515,5 @@ AbstractTuiThemeSwitcher = AbstractTuiThemeSwitcher_1 = __decorate([
|
|
|
442
515
|
* Generated bundle index. Do not edit.
|
|
443
516
|
*/
|
|
444
517
|
|
|
445
|
-
export { AbstractTuiControl, AbstractTuiDialogDirective, AbstractTuiDialogService, AbstractTuiInteractive, AbstractTuiMultipleControl, AbstractTuiNullableControl, AbstractTuiThemeSwitcher, TuiController };
|
|
518
|
+
export { AbstractTuiControl, AbstractTuiDialogDirective, AbstractTuiDialogService, AbstractTuiInteractive, AbstractTuiMultipleControl, AbstractTuiNullableControl, AbstractTuiPortalHostComponent, AbstractTuiPortalService, AbstractTuiThemeSwitcher, TuiController };
|
|
446
519
|
//# sourceMappingURL=taiga-ui-cdk-abstract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n protected constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | number | null {\n return this.controlName;\n }\n\n protected get controlName(): string | number | null {\n return this.ngControl && this.ngControl.name;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit() {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void) {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/portal-service.ts","ng://@taiga-ui/cdk/abstract/portal-host.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n protected constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit() {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void) {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\n\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent) {\n this.host = host;\n }\n\n add<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n return this.safeHost.addComponentChild(componentFactory, injector);\n }\n\n remove<C>({hostView}: ComponentRef<C>) {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>) {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(\n componentFactory: ComponentFactory<C>,\n injector: Injector,\n ): ComponentRef<C> {\n return this.viewContainerRef.createComponent<C>(\n componentFactory,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n {\n provide: AbstractTuiPortalHostComponent,\n useValue: this,\n },\n ],\n }),\n );\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|