@taiga-ui/cdk 2.34.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.
Files changed (150) hide show
  1. package/abstract/control.d.ts +2 -2
  2. package/abstract/index.d.ts +2 -0
  3. package/abstract/portal-host.d.ts +13 -0
  4. package/abstract/portal-service.d.ts +14 -0
  5. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.js +94 -6
  7. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
  9. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +280 -0
  11. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -0
  12. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +16 -0
  13. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -0
  14. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +10 -114
  15. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +2 -2
  17. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-components.umd.js +12 -4
  19. package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-components.umd.min.js +1 -1
  21. package/bundles/taiga-ui-cdk-date-time.umd.js +8 -2
  22. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +77 -52
  25. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
  27. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-directives-for.umd.js +3 -2
  29. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives-for.umd.min.js +1 -1
  31. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-services.umd.js +19 -6
  33. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  35. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -1
  37. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  38. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  39. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-cdk-utils-focus.umd.js +1 -1
  41. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  43. package/components/dropdown-host/dropdown-host.component.d.ts +8 -0
  44. package/components/dropdown-host/dropdown-host.module.d.ts +2 -0
  45. package/components/dropdown-host/index.d.ts +2 -0
  46. package/components/dropdown-host/package.json +13 -0
  47. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +4 -0
  48. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +1 -0
  49. package/components/index.d.ts +1 -0
  50. package/components/portal-host/index.d.ts +0 -2
  51. package/components/portal-host/portal.service.d.ts +4 -11
  52. package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
  53. package/components/taiga-ui-cdk-components.metadata.json +1 -1
  54. package/date-time/month-range.d.ts +4 -0
  55. package/date-time/month.d.ts +2 -0
  56. package/directives/auto-focus/autofocus.directive.d.ts +8 -7
  57. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  58. package/directives/for/for.directive.d.ts +4 -4
  59. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
  60. package/esm2015/abstract/control.js +5 -3
  61. package/esm2015/abstract/index.js +3 -1
  62. package/esm2015/abstract/portal-host.js +44 -0
  63. package/esm2015/abstract/portal-service.js +34 -0
  64. package/esm2015/components/dropdown-host/dropdown-host.component.js +36 -0
  65. package/esm2015/components/dropdown-host/dropdown-host.module.js +13 -0
  66. package/esm2015/components/dropdown-host/index.js +3 -0
  67. package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
  68. package/esm2015/components/index.js +2 -1
  69. package/esm2015/components/portal-host/index.js +1 -3
  70. package/esm2015/components/portal-host/portal.service.js +6 -26
  71. package/esm2015/date-time/month-range.js +5 -1
  72. package/esm2015/date-time/month.js +3 -1
  73. package/esm2015/date-time/time.js +3 -3
  74. package/esm2015/directives/auto-focus/autofocus.directive.js +68 -52
  75. package/esm2015/directives/for/for.directive.js +6 -5
  76. package/esm2015/services/directive-styles.service.js +19 -6
  77. package/esm2015/services/parents-scroll.service.js +3 -2
  78. package/esm2015/tokens/is-ios.js +5 -3
  79. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +2 -2
  80. package/esm5/abstract/control.js +5 -3
  81. package/esm5/abstract/index.js +3 -1
  82. package/esm5/abstract/portal-host.js +50 -0
  83. package/esm5/abstract/portal-service.js +42 -0
  84. package/esm5/components/dropdown-host/dropdown-host.component.js +41 -0
  85. package/esm5/components/dropdown-host/dropdown-host.module.js +16 -0
  86. package/esm5/components/dropdown-host/index.js +3 -0
  87. package/esm5/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
  88. package/esm5/components/index.js +2 -1
  89. package/esm5/components/portal-host/index.js +1 -3
  90. package/esm5/components/portal-host/portal.service.js +10 -33
  91. package/esm5/date-time/month-range.js +5 -1
  92. package/esm5/date-time/month.js +3 -1
  93. package/esm5/date-time/time.js +3 -3
  94. package/esm5/directives/auto-focus/autofocus.directive.js +76 -52
  95. package/esm5/directives/for/for.directive.js +6 -5
  96. package/esm5/services/directive-styles.service.js +19 -6
  97. package/esm5/services/parents-scroll.service.js +3 -3
  98. package/esm5/tokens/is-ios.js +7 -3
  99. package/esm5/utils/focus/get-closest-keyboard-focusable.js +2 -2
  100. package/fesm2015/taiga-ui-cdk-abstract.js +77 -4
  101. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  102. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +51 -0
  103. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
  104. package/fesm2015/taiga-ui-cdk-components-portal-host.js +7 -97
  105. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  106. package/fesm2015/taiga-ui-cdk-components.js +1 -0
  107. package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
  108. package/fesm2015/taiga-ui-cdk-date-time.js +8 -2
  109. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  110. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +67 -51
  111. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  112. package/fesm2015/taiga-ui-cdk-directives-for.js +5 -4
  113. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  114. package/fesm2015/taiga-ui-cdk-services.js +20 -6
  115. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  116. package/fesm2015/taiga-ui-cdk-tokens.js +4 -2
  117. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  118. package/fesm2015/taiga-ui-cdk-utils-focus.js +1 -1
  119. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  120. package/fesm5/taiga-ui-cdk-abstract.js +91 -4
  121. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  122. package/fesm5/taiga-ui-cdk-components-dropdown-host.js +59 -0
  123. package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
  124. package/fesm5/taiga-ui-cdk-components-portal-host.js +10 -112
  125. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  126. package/fesm5/taiga-ui-cdk-components.js +1 -0
  127. package/fesm5/taiga-ui-cdk-components.js.map +1 -1
  128. package/fesm5/taiga-ui-cdk-date-time.js +8 -2
  129. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  130. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +75 -51
  131. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  132. package/fesm5/taiga-ui-cdk-directives-for.js +5 -4
  133. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  134. package/fesm5/taiga-ui-cdk-services.js +20 -7
  135. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  136. package/fesm5/taiga-ui-cdk-tokens.js +6 -2
  137. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  138. package/fesm5/taiga-ui-cdk-utils-focus.js +1 -1
  139. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  140. package/package.json +1 -1
  141. package/services/directive-styles.service.d.ts +7 -2
  142. package/services/parents-scroll.service.d.ts +1 -1
  143. package/services/taiga-ui-cdk-services.metadata.json +1 -1
  144. package/utils/focus/get-closest-keyboard-focusable.d.ts +1 -1
  145. package/components/portal-host/portal-host.component.d.ts +0 -15
  146. package/components/portal-host/portal-host.module.d.ts +0 -2
  147. package/esm2015/components/portal-host/portal-host.component.js +0 -65
  148. package/esm2015/components/portal-host/portal-host.module.js +0 -13
  149. package/esm5/components/portal-host/portal-host.component.js +0 -71
  150. package/esm5/components/portal-host/portal-host.module.js +0 -16
@@ -1,73 +1,90 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { AfterViewInit, ChangeDetectorRef, Directive, ElementRef, Inject, Input, Optional, Renderer2, Self, ViewContainerRef, } from '@angular/core';
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
- import { getClosestElement } from '@taiga-ui/cdk/utils/dom';
7
6
  import { setNativeFocused } from '@taiga-ui/cdk/utils/focus';
8
7
  import { Observable, race, timer } from 'rxjs';
9
- import { filter, map, take, throttleTime } from 'rxjs/operators';
10
- const IOS_TIMEOUT = 1000;
8
+ import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
9
+ const TIMEOUT = 1000;
11
10
  const NG_ANIMATION_SELECTOR = '.ng-animating';
12
- // @bad TODO: Consider removing iOS hacks
13
11
  // TODO: in 3.0 change input name to tuiAutoFocus and handle empty string
12
+ // TODO: refactor on this whole thing in 3.0
14
13
  let TuiAutoFocusDirective = class TuiAutoFocusDirective {
15
- constructor(changeDetectorRef, elementRef, tuiFocusableComponent, isIos, renderer, viewContainerRef, animationFrame$) {
16
- this.changeDetectorRef = changeDetectorRef;
17
- this.elementRef = elementRef;
14
+ constructor(tuiFocusableComponent, isIos, animationFrame$, ngZone, elementRef, renderer) {
18
15
  this.tuiFocusableComponent = tuiFocusableComponent;
19
16
  this.isIos = isIos;
20
- this.renderer = renderer;
21
- this.viewContainerRef = viewContainerRef;
22
17
  this.animationFrame$ = animationFrame$;
18
+ this.ngZone = ngZone;
19
+ this.elementRef = elementRef;
20
+ this.renderer = renderer;
23
21
  this.autoFocus = true;
24
22
  }
25
23
  ngAfterViewInit() {
26
24
  if (!this.autoFocus) {
27
25
  return;
28
26
  }
29
- const element = this.tuiFocusableComponent === null
30
- ? this.elementRef.nativeElement
31
- : this.tuiFocusableComponent.nativeFocusableElement;
32
- // TODO: iframe warning
33
- if (!(element instanceof HTMLElement)) {
34
- return;
35
- }
36
- if (!this.isIos) {
37
- setTimeout(() => {
38
- setNativeFocused(element);
39
- this.changeDetectorRef.markForCheck();
40
- });
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
+ }
41
34
  return;
42
35
  }
43
- this.veryVerySadIosFix(element);
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);
44
42
  }
45
- veryVerySadIosFix(element) {
46
- const { nativeElement } = this.viewContainerRef.element;
47
- const decoy = this.renderer.createElement('input');
48
- decoy.style.position = 'absolute';
49
- decoy.style.opacity = '0';
50
- decoy.style.height = '0';
51
- this.renderer.setAttribute(decoy, 'readonly', 'readonly');
52
- this.renderer.appendChild(nativeElement, decoy);
53
- setNativeFocused(decoy);
54
- race(timer(IOS_TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => getClosestElement(element, NG_ANIMATION_SELECTOR)), filter(element => !element), take(1))).subscribe(() => {
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 = () => {
55
54
  setTimeout(() => {
56
- setNativeFocused(element);
57
- this.changeDetectorRef.markForCheck();
58
- this.renderer.removeChild(nativeElement, decoy);
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
+ });
59
65
  });
60
- });
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);
61
79
  }
62
80
  };
63
81
  TuiAutoFocusDirective.ctorParameters = () => [
64
- { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
65
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
66
82
  { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
67
83
  { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
68
- { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
69
- { type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] },
70
- { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
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,] }] }
71
88
  ];
72
89
  __decorate([
73
90
  Input()
@@ -76,15 +93,14 @@ TuiAutoFocusDirective = __decorate([
76
93
  Directive({
77
94
  selector: '[tuiAutoFocus]',
78
95
  }),
79
- __param(0, Inject(ChangeDetectorRef)),
80
- __param(1, Inject(ElementRef)),
81
- __param(2, Optional()),
82
- __param(2, Self()),
83
- __param(2, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
84
- __param(3, Inject(TUI_IS_IOS)),
85
- __param(4, Inject(Renderer2)),
86
- __param(5, Inject(ViewContainerRef)),
87
- __param(6, Inject(ANIMATION_FRAME))
96
+ __param(0, Optional()),
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))
88
104
  ], TuiAutoFocusDirective);
89
105
  export { TuiAutoFocusDirective };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBQywyQkFBMkIsRUFBRSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9ELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUN6QixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztBQUU5Qyx5Q0FBeUM7QUFDekMseUVBQXlFO0FBSXpFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBRXFCLGlCQUFvQyxFQUVwQyxVQUFtQyxFQUluQyxxQkFBeUQsRUFDckMsS0FBYyxFQUNmLFFBQW1CLEVBRXRDLGdCQUFrQyxFQUNULGVBQW1DO1FBWDVELHNCQUFpQixHQUFqQixp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LFNBQUMsVUFBVTtZQUM0QixTQUFTLHVCQUF0RCxNQUFNLFNBQUMsU0FBUztZQUVrQixnQkFBZ0IsdUJBRGxELE1BQU0sU0FBQyxnQkFBZ0I7WUFFbUMsVUFBVSx1QkFBcEUsTUFBTSxTQUFDLGVBQWU7O0FBZjNCO0lBREMsS0FBSyxFQUFFO3dEQUNTO0FBRlIscUJBQXFCO0lBSGpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7S0FDN0IsQ0FBQztJQU1PLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFbEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7SUFDTixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBRW5DLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ2pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFeEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7R0FqQm5CLHFCQUFxQixDQTJFakM7U0EzRVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7UE9MTElOR19USU1FfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLCBUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge2dldENsb3Nlc3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3NldE5hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YWtlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgSU9TX1RJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBAYmFkIFRPRE86IENvbnNpZGVyIHJlbW92aW5nIGlPUyBoYWNrc1xuLy8gVE9ETzogaW4gMy4wIGNoYW5nZSBpbnB1dCBuYW1lIHRvIHR1aUF1dG9Gb2N1cyBhbmQgaGFuZGxlIGVtcHR5IHN0cmluZ1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50ID09PSBudWxsXG4gICAgICAgICAgICAgICAgPyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgIDogdGhpcy50dWlGb2N1c2FibGVDb21wb25lbnQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoIShlbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZlcnlWZXJ5U2FkSW9zRml4KGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyeVZlcnlTYWRJb3NGaXgoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRlY295OiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICBkZWNveS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGRlY295LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGRlY295LnN0eWxlLmhlaWdodCA9ICcwJztcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShkZWNveSwgJ3JlYWRvbmx5JywgJ3JlYWRvbmx5Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0aXZlRWxlbWVudCwgZGVjb3kpO1xuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGRlY295KTtcblxuICAgICAgICByYWNlPHVua25vd24+KFxuICAgICAgICAgICAgdGltZXIoSU9TX1RJTUVPVVQpLFxuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShcbiAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZ2V0Q2xvc2VzdEVsZW1lbnQoZWxlbWVudCwgTkdfQU5JTUFUSU9OX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGVsZW1lbnQgPT4gIWVsZW1lbnQpLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChuYXRpdmVFbGVtZW50LCBkZWNveSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUMsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFJOUIsWUFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0s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QUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7MENBRWxDLE1BQU0sU0FBQyxVQUFVO1lBQ3lDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBRUUsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07WUFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtZQUdTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTOztBQWJyQjtJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUhqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUM7SUFNTyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFbkMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUVsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtHQWZiLHFCQUFxQixDQStGakM7U0EvRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUiwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtzZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNraXBXaGlsZSwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBUT0RPOiBpbiAzLjAgY2hhbmdlIGlucHV0IG5hbWUgdG8gdHVpQXV0b0ZvY3VzIGFuZCBoYW5kbGUgZW1wdHkgc3RyaW5nXG4vLyBUT0RPOiByZWZhY3RvciBvbiB0aGlzIHdob2xlIHRoaW5nIGluIDMuMFxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmlvc1dlYmtpdEF1dG9mb2N1cygpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgdGltZXIoVElNRU9VVCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsZW1lbnQuY2xvc2VzdChOR19BTklNQVRJT05fU0VMRUNUT1IpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnR1aUZvY3VzYWJsZUNvbXBvbmVudD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1RleHRGaWVsZEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubWF0Y2hlcygnaW5wdXQsIHRleHRhcmVhJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpb3NXZWJraXRBdXRvZm9jdXMoKSB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgY29uc3QgYmx1ckhhbmRsZXIgPSAoKSA9PiBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgICAgIGNvbnN0IGZvY3VzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5lbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmYWtlSW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -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
  let TuiForDirective = class TuiForDirective {
4
4
  constructor(vcr) {
5
5
  this.vcr = vcr;
@@ -17,7 +17,7 @@ let TuiForDirective = class TuiForDirective {
17
17
  }
18
18
  };
19
19
  TuiForDirective.ctorParameters = () => [
20
- { type: ViewContainerRef }
20
+ { type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] }
21
21
  ];
22
22
  __decorate([
23
23
  Input()
@@ -31,7 +31,8 @@ __decorate([
31
31
  TuiForDirective = __decorate([
32
32
  Directive({
33
33
  selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',
34
- })
34
+ }),
35
+ __param(0, Inject(ViewContainerRef))
35
36
  ], TuiForDirective);
36
37
  export { TuiForDirective };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3IvIiwic291cmNlcyI6WyJmb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFLdkIsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQVl4QixZQUE2QixHQUFxQjtRQUFyQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQVJsRCxZQUFPLEdBQXFCLEVBQUUsQ0FBQztJQVFzQixDQUFDO0lBRXRELFdBQVc7O1FBQ1AsTUFBQSxJQUFJLENBQUMsR0FBRywwQ0FBRSxPQUFPLEdBQUc7UUFFcEIsSUFBSSxPQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sTUFBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBWHFDLGdCQUFnQjs7QUFSbEQ7SUFEQyxLQUFLLEVBQUU7Z0RBQ3VCO0FBRy9CO0lBREMsS0FBSyxFQUFFO2tEQUNvQjtBQUc1QjtJQURDLEtBQUssRUFBRTttREFDcUI7QUFWcEIsZUFBZTtJQUgzQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsMERBQTBEO0tBQ3ZFLENBQUM7R0FDVyxlQUFlLENBdUIzQjtTQXZCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmdGb3JdW25nRm9yT2ZdW25nRm9yRWxzZV0sW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVtcHR5XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWY/OiBFbWJlZGRlZFZpZXdSZWY8e30+O1xuXG4gICAgQElucHV0KClcbiAgICBuZ0Zvck9mOiB1bmtub3duW10gfCBudWxsID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIG5nRm9yRWxzZT86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBJbnB1dCgpXG4gICAgbmdGb3JFbXB0eT86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMucmVmPy5kZXN0cm95KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdGb3JPZj8ubGVuZ3RoID09PSAwICYmIHRoaXMubmdGb3JFbXB0eSkge1xuICAgICAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ0ZvckVtcHR5KTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5uZ0Zvck9mICYmIHRoaXMubmdGb3JFbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3IvIiwic291cmNlcyI6WyJmb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFZeEIsWUFBdUQsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFSNUUsWUFBTyxHQUE4QixFQUFFLENBQUM7SUFRdUMsQ0FBQztJQUVoRixXQUFXOztRQUNQLE1BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsT0FBTyxHQUFHO1FBRXBCLElBQUksT0FBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLE1BQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUM7Q0FDSixDQUFBOztZQVgrRCxnQkFBZ0IsdUJBQS9ELE1BQU0sU0FBQyxnQkFBZ0I7O0FBUnBDO0lBREMsS0FBSyxFQUFFO2dEQUNnQztBQUd4QztJQURDLEtBQUssRUFBRTtrREFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7bURBQ29CO0FBVm5CLGVBQWU7SUFIM0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDBEQUEwRDtLQUN2RSxDQUFDO0lBYWUsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQVo1QixlQUFlLENBdUIzQjtTQXZCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVsc2VdLFtuZ0Zvcl1bbmdGb3JPZl1bbmdGb3JFbXB0eV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb3JEaXJlY3RpdmU8VCwgSyA9IHt9PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWY/OiBFbWJlZGRlZFZpZXdSZWY8e30+O1xuXG4gICAgQElucHV0KClcbiAgICBuZ0Zvck9mOiBUW10gfCByZWFkb25seSBUW10gfCBudWxsID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIG5nRm9yRWxzZT86IFRlbXBsYXRlUmVmPEs+O1xuXG4gICAgQElucHV0KClcbiAgICBuZ0ZvckVtcHR5PzogVGVtcGxhdGVSZWY8Sz47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMucmVmPy5kZXN0cm95KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdGb3JPZj8ubGVuZ3RoID09PSAwICYmIHRoaXMubmdGb3JFbXB0eSkge1xuICAgICAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ0ZvckVtcHR5KTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5uZ0Zvck9mICYmIHRoaXMubmdGb3JFbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -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
  let TuiDirectiveStylesService = class TuiDirectiveStylesService {
13
- constructor(documentRef, renderer) {
13
+ constructor(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
+ addComponent(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
  addStyle(styles, attribute) {
18
27
  if (this.documentRef.head.querySelector(`style[${attribute}]`)) {
19
28
  return;
@@ -25,16 +34,20 @@ let TuiDirectiveStylesService = class TuiDirectiveStylesService {
25
34
  }
26
35
  };
27
36
  TuiDirectiveStylesService.ctorParameters = () => [
37
+ { type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
38
+ { type: Injector, decorators: [{ type: Inject, args: [INJECTOR,] }] },
28
39
  { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
29
40
  { type: Renderer2, decorators: [{ type: Inject, args: [TUI_DEFAULT_RENDERER,] }] }
30
41
  ];
31
- 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" });
42
+ 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" });
32
43
  TuiDirectiveStylesService = __decorate([
33
44
  Injectable({
34
45
  providedIn: 'root',
35
46
  }),
36
- __param(0, Inject(DOCUMENT)),
37
- __param(1, Inject(TUI_DEFAULT_RENDERER))
47
+ __param(0, Inject(ComponentFactoryResolver)),
48
+ __param(1, Inject(INJECTOR)),
49
+ __param(2, Inject(DOCUMENT)),
50
+ __param(3, Inject(TUI_DEFAULT_RENDERER))
38
51
  ], TuiDirectiveStylesService);
39
52
  export { TuiDirectiveStylesService };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLXN0eWxlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZS1zdHlsZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUUxRDs7O0dBR0c7QUFJSCxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQUNsQyxZQUN1QyxXQUFxQixFQUNULFFBQW1CO1FBRC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNuRSxDQUFDO0lBRUosUUFBUSxDQUFDLE1BQWMsRUFBRSxTQUFpQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDNUQsT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0osQ0FBQTs7WUFmdUQsUUFBUSx1QkFBdkQsTUFBTSxTQUFDLFFBQVE7WUFDeUMsU0FBUyx1QkFBakUsTUFBTSxTQUFDLG9CQUFvQjs7O0FBSHZCLHlCQUF5QjtJQUhyQyxVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0lBR08sV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtHQUh4Qix5QkFBeUIsQ0FpQnJDO1NBakJZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfUkVOREVSRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHVzZSBzdHlsZXMgd2l0aCBkaXJlY3RpdmVzXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEaXJlY3RpdmVTdHlsZXNTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX0RFRkFVTFRfUkVOREVSRVIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBhZGRTdHlsZShzdHlsZXM6IHN0cmluZywgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZWYuaGVhZC5xdWVyeVNlbGVjdG9yKGBzdHlsZVske2F0dHJpYnV0ZX1dYCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoc3R5bGUsICd0ZXh0Q29udGVudCcsIHN0eWxlcyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN0eWxlLCBhdHRyaWJ1dGUsICcnKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudFJlZi5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLXN0eWxlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZS1zdHlsZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFMUQ7OztHQUdHO0FBSUgsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFHbEMsWUFFcUIsUUFBa0MsRUFDaEIsUUFBa0IsRUFDbEIsV0FBcUIsRUFDVCxRQUFtQjtRQUhqRCxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVByRCxRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFRdEQsQ0FBQztJQUVKLFlBQVksQ0FBQyxTQUF3QjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQ1IsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekUsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsTUFBYyxFQUFFLFNBQWlCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUM1RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDSixDQUFBOztZQTNCa0Msd0JBQXdCLHVCQURsRCxNQUFNLFNBQUMsd0JBQXdCO1lBRWEsUUFBUSx1QkFBcEQsTUFBTSxTQUFDLFFBQVE7WUFDZ0MsUUFBUSx1QkFBdkQsTUFBTSxTQUFDLFFBQVE7WUFDeUMsU0FBUyx1QkFBakUsTUFBTSxTQUFDLG9CQUFvQjs7O0FBUnZCLHlCQUF5QjtJQUhyQyxVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0lBS08sV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUVoQyxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0dBUnhCLHlCQUF5QixDQWdDckM7U0FoQ1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElOSkVDVE9SLFxuICAgIEluamVjdG9yLFxuICAgIFJlbmRlcmVyMixcbiAgICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfUkVOREVSRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHVzZSBzdHlsZXMgd2l0aCBkaXJlY3RpdmVzXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEaXJlY3RpdmVTdHlsZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hcCA9IG5ldyBNYXA8VHlwZTx1bmtub3duPiwgdW5rbm93bj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBASW5qZWN0KElOSkVDVE9SKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX0RFRkFVTFRfUkVOREVSRVIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBhZGRDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPHVua25vd24+KSB7XG4gICAgICAgIGlmICghdGhpcy5tYXAuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubWFwLnNldChcbiAgICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpLmNyZWF0ZSh0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGNvbXBvbmVudHMgYXBwcm9hY2ggKi9cbiAgICBhZGRTdHlsZShzdHlsZXM6IHN0cmluZywgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZWYuaGVhZC5xdWVyeVNlbGVjdG9yKGBzdHlsZVske2F0dHJpYnV0ZX1dYCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoc3R5bGUsICd0ZXh0Q29udGVudCcsIHN0eWxlcyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN0eWxlLCBhdHRyaWJ1dGUsICcnKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudFJlZi5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG59XG4iXX0=
@@ -9,9 +9,10 @@ import { defer, merge, Observable } from 'rxjs';
9
9
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
10
10
  // @dynamic
11
11
  let TuiParentsScrollService = class TuiParentsScrollService extends Observable {
12
- constructor({ nativeElement }, windowRef) {
12
+ constructor(elementRef, windowRef) {
13
13
  super(subscriber => this.callback$.subscribe(subscriber));
14
14
  this.callback$ = defer(() => {
15
+ let { nativeElement } = elementRef;
15
16
  const eventTargets = [windowRef, nativeElement];
16
17
  while (nativeElement.parentElement) {
17
18
  nativeElement = nativeElement.parentElement;
@@ -31,4 +32,4 @@ TuiParentsScrollService = __decorate([
31
32
  __param(1, Inject(WINDOW))
32
33
  ], TuiParentsScrollService);
33
34
  export { TuiParentsScrollService };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50cy1zY3JvbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJwYXJlbnRzLXNjcm9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFOUM7O0dBRUc7QUFDSCw4RkFBOEY7QUFDOUYsV0FBVztBQUVYLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXdCLFNBQVEsVUFBaUI7SUFHMUQsWUFDd0IsRUFBQyxhQUFhLEVBQXNCLEVBQ3hDLFNBQWlCO1FBRWpDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sWUFBWSxHQUE0QixDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUV6RSxPQUFPLGFBQWEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hDLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO2dCQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3BDO1lBRUQsT0FBTyxLQUFLLENBQ1IsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFvQixPQUFPLENBQUMsRUFBRSxDQUM3QyxjQUFjLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUNwQyxDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQXBCNEMsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLFVBQVU7WUFDUyxNQUFNLHVCQUFoQyxNQUFNLFNBQUMsTUFBTTs7QUFMVCx1QkFBdUI7SUFEbkMsVUFBVSxFQUFFO0lBS0osV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7R0FMVix1QkFBdUIsQ0F3Qm5DO1NBeEJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtkZWZlciwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBzdWJzY3JpYmVzIHRvIHNjcm9sbCBldmVudHMgb2YgYWxsIHBhcmVudCBlbGVtZW50c1xuICovXG4vLyBBbWJpZW50IHR5cGUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBkeW5hbWljIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMzk1XG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsbGJhY2skOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHdpbmRvd1JlZjogV2luZG93LFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHRoaXMuY2FsbGJhY2skLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG5cbiAgICAgICAgdGhpcy5jYWxsYmFjayQgPSBkZWZlcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBldmVudFRhcmdldHM6IEFycmF5PEVsZW1lbnQgfCBXaW5kb3c+ID0gW3dpbmRvd1JlZiwgbmF0aXZlRWxlbWVudF07XG5cbiAgICAgICAgICAgIHdoaWxlIChuYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50ID0gbmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgICAgIGV2ZW50VGFyZ2V0cy5wdXNoKG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbWVyZ2U8RXZlbnQ+KFxuICAgICAgICAgICAgICAgIC4uLmV2ZW50VGFyZ2V0cy5tYXA8T2JzZXJ2YWJsZTxFdmVudD4+KGVsZW1lbnQgPT5cbiAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50cy1zY3JvbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJwYXJlbnRzLXNjcm9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFOUM7O0dBRUc7QUFDSCw4RkFBOEY7QUFDOUYsV0FBVztBQUVYLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXdCLFNBQVEsVUFBaUI7SUFHMUQsWUFDd0IsVUFBK0IsRUFDbkMsU0FBaUI7UUFFakMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxFQUFDLGFBQWEsRUFBQyxHQUFHLFVBQVUsQ0FBQztZQUNqQyxNQUFNLFlBQVksR0FBNEIsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFekUsT0FBTyxhQUFhLENBQUMsYUFBYSxFQUFFO2dCQUNoQyxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztnQkFDNUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNwQztZQUVELE9BQU8sS0FBSyxDQUNSLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBb0IsT0FBTyxDQUFDLEVBQUUsQ0FDN0MsY0FBYyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FDcEMsQ0FDSixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTs7WUFyQnVDLFVBQVUsdUJBQXpDLE1BQU0sU0FBQyxVQUFVO1lBQ1MsTUFBTSx1QkFBaEMsTUFBTSxTQUFDLE1BQU07O0FBTFQsdUJBQXVCO0lBRG5DLFVBQVUsRUFBRTtJQUtKLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0dBTFYsdUJBQXVCLENBeUJuQztTQXpCWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7ZGVmZXIsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgc3Vic2NyaWJlcyB0byBzY3JvbGwgZXZlbnRzIG9mIGFsbCBwYXJlbnQgZWxlbWVudHNcbiAqL1xuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGxiYWNrJDogT2JzZXJ2YWJsZTxFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgd2luZG93UmVmOiBXaW5kb3csXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5jYWxsYmFjayQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcblxuICAgICAgICB0aGlzLmNhbGxiYWNrJCA9IGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIGxldCB7bmF0aXZlRWxlbWVudH0gPSBlbGVtZW50UmVmO1xuICAgICAgICAgICAgY29uc3QgZXZlbnRUYXJnZXRzOiBBcnJheTxFbGVtZW50IHwgV2luZG93PiA9IFt3aW5kb3dSZWYsIG5hdGl2ZUVsZW1lbnRdO1xuXG4gICAgICAgICAgICB3aGlsZSAobmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgbmF0aXZlRWxlbWVudCA9IG5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgICAgICBldmVudFRhcmdldHMucHVzaChuYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG1lcmdlPEV2ZW50PihcbiAgICAgICAgICAgICAgICAuLi5ldmVudFRhcmdldHMubWFwPE9ic2VydmFibGU8RXZlbnQ+PihlbGVtZW50ID0+XG4gICAgICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsICdzY3JvbGwnKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,7 +1,9 @@
1
1
  import { inject, InjectionToken } from '@angular/core';
2
- import { USER_AGENT } from '@ng-web-apis/common';
2
+ import { NAVIGATOR, USER_AGENT } from '@ng-web-apis/common';
3
3
  const IOS_REG_EXP = /ipad|iphone|ipod/;
4
4
  export const TUI_IS_IOS = new InjectionToken('iOS browser detection', {
5
- factory: () => IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()),
5
+ factory: () => IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()) ||
6
+ (inject(USER_AGENT).toLowerCase().includes('apple') &&
7
+ inject(NAVIGATOR).maxTouchPoints > 1),
6
8
  });
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBVSx1QkFBdUIsRUFBRTtJQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Q0FDcEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VVNFUl9BR0VOVH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5cbmNvbnN0IElPU19SRUdfRVhQID0gL2lwYWR8aXBob25lfGlwb2QvO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX0lPUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignaU9TIGJyb3dzZXIgZGV0ZWN0aW9uJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IElPU19SRUdfRVhQLnRlc3QoaW5qZWN0KFVTRVJfQUdFTlQpLnRvTG93ZXJDYXNlKCkpLFxufSk7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsdUJBQXVCLEVBQUU7SUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNWLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDL0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7Q0FDaEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkFWSUdBVE9SLCBVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcblxuY29uc3QgSU9TX1JFR19FWFAgPSAvaXBhZHxpcGhvbmV8aXBvZC87XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfSU9TID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdpT1MgYnJvd3NlciBkZXRlY3Rpb24nLCB7XG4gICAgZmFjdG9yeTogKCkgPT5cbiAgICAgICAgSU9TX1JFR19FWFAudGVzdChpbmplY3QoVVNFUl9BR0VOVCkudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgKGluamVjdChVU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdhcHBsZScpICYmXG4gICAgICAgICAgICBpbmplY3QoTkFWSUdBVE9SKS5tYXhUb3VjaFBvaW50cyA+IDEpLFxufSk7XG4iXX0=
@@ -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)
@@ -32,4 +32,4 @@ export function getClosestFocusable(initial, prev = false, root, keyboard = true
32
32
  }
33
33
  /** @deprecated use getClosestFocusable */
34
34
  export const getClosestKeyboardFocusable = getClosestFocusable;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNsb3Nlc3Qta2V5Ym9hcmQtZm9jdXNhYmxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbImdldC1jbG9zZXN0LWtleWJvYXJkLWZvY3VzYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE9BQW9CLEVBQ3BCLE9BQWdCLEtBQUssRUFDckIsSUFBVSxFQUNWLFdBQW9CLElBQUk7SUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBRTVFLCtDQUErQztJQUMvQyxzRkFBc0Y7SUFDdEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDbEQsSUFBSSxFQUNKLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLGFBQWEsRUFDYixLQUFLLENBQ1IsQ0FBQztJQUVGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUM3RCx1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsV0FBVyxZQUFZLFdBQVcsRUFBRTtZQUMvQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztTQUNwQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzdmdOb2RlRmlsdGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7aXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUta2V5Ym9hcmQtZm9jdXNhYmxlJztcbmltcG9ydCB7aXNOYXRpdmVNb3VzZUZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUtbW91c2UtZm9jdXNhYmxlJztcblxuLyoqXG4gKiBGaW5kcyBjbG9zZXN0IGVsZW1lbnQgdGhhdCBjYW4gYmUgZm9jdXNlZCB3aXRoIGEga2V5Ym9hcmQgb3IgbW91c2UgaW4gdGhlb3J5XG4gKlxuICogQHBhcmFtIGluaXRpYWwgY3VycmVudCBIVE1MIGVsZW1lbnRcbiAqIEBwYXJhbSBwcmV2IHNob3VsZCBpdCBsb29rIGJhY2t3YXJkcyBpbnN0ZWFkIChmaW5kIGl0ZW0gdGhhdCB3aWxsIGJlIGZvY3VzZWQgd2l0aCBTaGlmdCArIFRhYilcbiAqIEBwYXJhbSByb290IHRvcCBOb2RlIGxpbWl0aW5nIHRoZSBzZWFyY2ggYXJlYVxuICogQHBhcmFtIGtleWJvYXJkIGRldGVybWluZSBpZiBvbmx5IGtleWJvYXJkIGZvY3VzIGlzIG9mIGludGVyZXN0XG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xvc2VzdEZvY3VzYWJsZShcbiAgICBpbml0aWFsOiBIVE1MRWxlbWVudCxcbiAgICBwcmV2OiBib29sZWFuID0gZmFsc2UsXG4gICAgcm9vdDogTm9kZSxcbiAgICBrZXlib2FyZDogYm9vbGVhbiA9IHRydWUsXG4pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghcm9vdC5vd25lckRvY3VtZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrID0ga2V5Ym9hcmQgPyBpc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlIDogaXNOYXRpdmVNb3VzZUZvY3VzYWJsZTtcblxuICAgIC8vIERlcHJlY2F0ZWQgYnV0IG9ueSB0aGlzIG92ZXJsb2FkIHdvcmtzIGluIElFXG4gICAgLy8gRmlsdGVyIG11c3QgYmUgYSBmdW5jdGlvbiBpbiBJRSwgb3RoZXIgbW9kZXJuIGJyb3dzZXJzIGFyZSBjb21wbGlhbnQgdG8gdGhpcyBmb3JtYXRcbiAgICBjb25zdCB0cmVlV2Fsa2VyID0gcm9vdC5vd25lckRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoXG4gICAgICAgIHJvb3QsXG4gICAgICAgIE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULFxuICAgICAgICBzdmdOb2RlRmlsdGVyLFxuICAgICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgdHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IGluaXRpYWw7XG5cbiAgICB3aGlsZSAocHJldiA/IHRyZWVXYWxrZXIucHJldmlvdXNOb2RlKCkgOiB0cmVlV2Fsa2VyLm5leHROb2RlKCkpIHtcbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKHRyZWVXYWxrZXIuY3VycmVudE5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgaW5pdGlhbCA9IHRyZWVXYWxrZXIuY3VycmVudE5vZGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hlY2soaW5pdGlhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgZ2V0Q2xvc2VzdEZvY3VzYWJsZSAqL1xuZXhwb3J0IGNvbnN0IGdldENsb3Nlc3RLZXlib2FyZEZvY3VzYWJsZSA9IGdldENsb3Nlc3RGb2N1c2FibGU7XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNsb3Nlc3Qta2V5Ym9hcmQtZm9jdXNhYmxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbImdldC1jbG9zZXN0LWtleWJvYXJkLWZvY3VzYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE9BQW9CLEVBQ3BCLE9BQWdCLEtBQUssRUFDckIsSUFBVSxFQUNWLFdBQW9CLElBQUk7SUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBRTVFLCtDQUErQztJQUMvQyxzRkFBc0Y7SUFDdEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDbEQsSUFBSSxFQUNKLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLGFBQWEsRUFDYixLQUFLLENBQ1IsQ0FBQztJQUVGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUM3RCx1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsV0FBVyxZQUFZLFdBQVcsRUFBRTtZQUMvQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztTQUNwQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzdmdOb2RlRmlsdGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7aXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUta2V5Ym9hcmQtZm9jdXNhYmxlJztcbmltcG9ydCB7aXNOYXRpdmVNb3VzZUZvY3VzYWJsZX0gZnJvbSAnLi9pcy1uYXRpdmUtbW91c2UtZm9jdXNhYmxlJztcblxuLyoqXG4gKiBGaW5kcyB0aGUgY2xvc2VzdCBlbGVtZW50IHRoYXQgY2FuIGJlIGZvY3VzZWQgd2l0aCBhIGtleWJvYXJkIG9yIG1vdXNlIGluIHRoZW9yeVxuICpcbiAqIEBwYXJhbSBpbml0aWFsIGN1cnJlbnQgSFRNTCBlbGVtZW50XG4gKiBAcGFyYW0gcHJldiBzaG91bGQgaXQgbG9vayBiYWNrd2FyZHMgaW5zdGVhZCAoZmluZCBpdGVtIHRoYXQgd2lsbCBiZSBmb2N1c2VkIHdpdGggU2hpZnQgKyBUYWIpXG4gKiBAcGFyYW0gcm9vdCB0b3AgTm9kZSBsaW1pdGluZyB0aGUgc2VhcmNoIGFyZWFcbiAqIEBwYXJhbSBrZXlib2FyZCBkZXRlcm1pbmUgaWYgb25seSBrZXlib2FyZCBmb2N1cyBpcyBvZiBpbnRlcmVzdFxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENsb3Nlc3RGb2N1c2FibGUoXG4gICAgaW5pdGlhbDogSFRNTEVsZW1lbnQsXG4gICAgcHJldjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHJvb3Q6IE5vZGUsXG4gICAga2V5Ym9hcmQ6IGJvb2xlYW4gPSB0cnVlLFxuKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXJvb3Qub3duZXJEb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVjayA9IGtleWJvYXJkID8gaXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSA6IGlzTmF0aXZlTW91c2VGb2N1c2FibGU7XG5cbiAgICAvLyBEZXByZWNhdGVkIGJ1dCBvbnkgdGhpcyBvdmVybG9hZCB3b3JrcyBpbiBJRVxuICAgIC8vIEZpbHRlciBtdXN0IGJlIGEgZnVuY3Rpb24gaW4gSUUsIG90aGVyIG1vZGVybiBicm93c2VycyBhcmUgY29tcGxpYW50IHRvIHRoaXMgZm9ybWF0XG4gICAgY29uc3QgdHJlZVdhbGtlciA9IHJvb3Qub3duZXJEb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKFxuICAgICAgICByb290LFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICAgICAgZmFsc2UsXG4gICAgKTtcblxuICAgIHRyZWVXYWxrZXIuY3VycmVudE5vZGUgPSBpbml0aWFsO1xuXG4gICAgd2hpbGUgKHByZXYgPyB0cmVlV2Fsa2VyLnByZXZpb3VzTm9kZSgpIDogdHJlZVdhbGtlci5uZXh0Tm9kZSgpKSB7XG4gICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgIGlmICh0cmVlV2Fsa2VyLmN1cnJlbnROb2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGluaXRpYWwgPSB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrKGluaXRpYWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGdldENsb3Nlc3RGb2N1c2FibGUgKi9cbmV4cG9ydCBjb25zdCBnZXRDbG9zZXN0S2V5Ym9hcmRGb2N1c2FibGUgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlO1xuIl19
@@ -116,14 +116,16 @@ var AbstractTuiControl = /** @class */ (function (_super) {
116
116
  });
117
117
  Object.defineProperty(AbstractTuiControl.prototype, "computedName", {
118
118
  get: function () {
119
- return this.controlName;
119
+ var _a, _b;
120
+ return (_b = (_a = this.controlName) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
120
121
  },
121
122
  enumerable: true,
122
123
  configurable: true
123
124
  });
124
125
  Object.defineProperty(AbstractTuiControl.prototype, "controlName", {
125
126
  get: function () {
126
- return this.ngControl && this.ngControl.name;
127
+ var _a, _b, _c;
128
+ 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;
127
129
  },
128
130
  enumerable: true,
129
131
  configurable: true
@@ -242,4 +244,4 @@ var AbstractTuiControl = /** @class */ (function (_super) {
242
244
  return AbstractTuiControl;
243
245
  }(AbstractTuiInteractive));
244
246
  export { AbstractTuiControl };
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvYWJzdHJhY3QvIiwic291cmNlcyI6WyJjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRDs7R0FFRztBQUVIO0lBQ1ksc0NBQXNCO0lBc0I5Qiw0QkFDcUIsU0FBMkIsRUFDekIsaUJBQW9DLEVBQ3BDLGdCQUF1RDtRQUg5RSxZQUtJLGlCQUFPLFNBV1Y7UUFmb0IsZUFBUyxHQUFULFNBQVMsQ0FBa0I7UUFDekIsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVDO1FBcEJ0RSxlQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTNCLGNBQVEsR0FBRyxjQUFjLENBQUM7UUFFZixtQkFBYSxHQUFHLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLGNBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS2xELGNBQVEsR0FBRyxLQUFL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QixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGVjb3JhdG9ycyc7XG5pbXBvcnQge1R1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmV9IGZyb20gJy4vaW50ZXJhY3RpdmUnO1xuXG4vKipcbiAqIEJhc2ljIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNsYXNzIHRvIGJ1aWxkIGZvcm0gY29tcG9uZW50cyB1cG9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQ29udHJvbDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgcHJpdmF0ZSBwcmV2aW91c0ludGVybmFsVmFsdWU/OiBUIHwgbnVsbDtcblxuICAgIHByaXZhdGUgb25Ub3VjaGVkID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFsbGJhY2tWYWx1ZSA9IHRoaXMuZ2V0RmFsbGJhY2tWYWx1ZSgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVhZG9ubHknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwc2V1ZG9JbnZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcj86IFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFQ+IHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgYE5nQ29udHJvbCBub3QgaW5qZWN0ZWQgaW4gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IVxcbmAsXG4gICAgICAgICAgICAgICAgJ1VzZSBbKG5nTW9kZWwpXSBvciBbZm9ybUNvbnRyb2xdIG9yIGZvcm1Db250cm9sTmFtZSBmb3IgY29ycmVjdCB3b3JrLicsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBUO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW52YWxpZCcpXG4gICAgZ2V0IGNvbXB1dGVkSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaW50ZXJhY3RpdmUgJiZcbiAgICAgICAgICAgICh0aGlzLnBzZXVkb0ludmFsaWQgIT09IG51bGxcbiAgICAgICAgICAgICAgICA/IHRoaXMucHNldWRvSW52YWxpZFxuICAgICAgICAgICAgICAgIDogdGhpcy50b3VjaGVkICYmIHRoaXMuaW52YWxpZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA/PyB0aGlzLmZhbGxiYWNrVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHNhZmVDdXJyZW50VmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhd1ZhbHVlID8/IHRoaXMuZmFsbGJhY2tWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHtpbnZhbGlkfSkgPT4gaW52YWxpZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHt2YWxpZH0pID0+IHZhbGlkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7dG91Y2hlZH0pID0+IHRvdWNoZWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7ZGlzYWJsZWR9KSA9PiBkaXNhYmxlZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCBpbnRlcmFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPEFic3RyYWN0Q29udHJvbCB8IG51bGw+KFxuICAgICAgICAgICAgKHtjb250cm9sfSkgPT4gY29udHJvbCxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTmFtZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbE5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb250cm9sTmFtZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLm5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcmF3VmFsdWUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHtuZ0NvbnRyb2x9ID0gdGhpcztcblxuICAgICAgICBpZiAobmdDb250cm9sID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID1cbiAgICAgICAgICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgJiYgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gbmdDb250cm9sLnZpZXdNb2RlbFxuICAgICAgICAgICAgICAgIDogbmdDb250cm9sLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5nQ29udHJvbD8udmFsdWVDaGFuZ2VzIHx8ICF0aGlzLm5nQ29udHJvbD8uc3RhdHVzQ2hhbmdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVyZ2UodGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzLCB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hMb2NhbFZhbHVlKHRoaXMuc2FmZUN1cnJlbnRWYWx1ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNoZWNrQ29udHJvbFVwZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFQgfCB1bmtub3duKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAoY29tcG9uZW50VmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlKHRoaXMudG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWUpKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPVxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsICYmIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHRoaXMubmdDb250cm9sLm1vZGVsXG4gICAgICAgICAgICAgICAgOiB2YWx1ZTtcblxuICAgICAgICB0aGlzLnJlZnJlc2hMb2NhbFZhbHVlKHRoaXMuZnJvbUNvbnRyb2xWYWx1ZShjb250cm9sVmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sTWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUodmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy52YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IodGhpcy52YWx1ZSwgdmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbnRyb2xTZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihvbGRWYWx1ZTogVCwgbmV3VmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG9sZFZhbHVlID09PSBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVOZ0NvbnRyb2xEYXRhPFQ+KFxuICAgICAgICBleHRyYWN0b3I6IChuZ0NvbnRyb2w6IE5nQ29udHJvbCkgPT4gVCB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlOiBULFxuICAgICk6IFQge1xuICAgICAgICByZXR1cm4gKHRoaXMubmdDb250cm9sICYmIGV4dHJhY3Rvcih0aGlzLm5nQ29udHJvbCkpID8/IGRlZmF1bHRGaWVsZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udHJvbE1hcmtBc1RvdWNoZWQoKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250cm9sU2V0VmFsdWUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoTG9jYWxWYWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlOiB1bmtub3duKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlVHJhbnNmb3JtZXJcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZVRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKVxuICAgICAgICAgICAgOiAoY29udHJvbFZhbHVlIGFzIFQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWU6IFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVUcmFuc2Zvcm1lclxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlVHJhbnNmb3JtZXIudG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWUpXG4gICAgICAgICAgICA6IGNvbXBvbmVudFZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvYWJzdHJhY3QvIiwic291cmNlcyI6WyJjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRDs7R0FFRztBQUVIO0lBQ1ksc0NBQXNCO0lBc0I5Qiw0QkFDcUIsU0FBMkIsRUFDekIsaUJBQW9DLEVBQ3BDLGdCQUF1RDtRQUg5RSxZQUtJLGlCQUFPLFNBV1Y7UUFmb0IsZUFBUyxHQUFULFNBQVMsQ0FBa0I7UUFDekIsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVDO1FBcEJ0RSxlQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTNCLGNBQVEsR0FBRyxjQUFjLENBQUM7UUFFZixtQkFBYSxHQUFHLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLGNBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS2xELGNBQVEsR0FBRyxLQUFL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QS9NRCxDQUNZLHNCQUFzQixHQThNakM7U0EvTXFCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9GVU5DVElPTn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kZWNvcmF0b3JzJztcbmltcG9ydCB7VHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlJbnRlcmFjdGl2ZX0gZnJvbSAnLi9pbnRlcmFjdGl2ZSc7XG5cbi8qKlxuICogQmFzaWMgQ29udHJvbFZhbHVlQWNjZXNzb3IgY2xhc3MgdG8gYnVpbGQgZm9ybSBjb21wb25lbnRzIHVwb25cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlDb250cm9sPFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgICBwcml2YXRlIHByZXZpb3VzSW50ZXJuYWxWYWx1ZT86IFQgfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQgPSBFTVBUWV9GVU5DVElPTjtcblxuICAgIHByaXZhdGUgb25DaGFuZ2UgPSBFTVBUWV9GVU5DVElPTjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYWxsYmFja1ZhbHVlID0gdGhpcy5nZXRGYWxsYmFja1ZhbHVlKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9yZWFkb25seScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBzZXVkb0ludmFsaWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyPzogVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VD4gfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBgTmdDb250cm9sIG5vdCBpbmplY3RlZCBpbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX0hXFxuYCxcbiAgICAgICAgICAgICAgICAnVXNlIFsobmdNb2RlbCldIG9yIFtmb3JtQ29udHJvbF0gb3IgZm9ybUNvbnRyb2xOYW1lIGZvciBjb3JyZWN0IHdvcmsuJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGYWxsYmFja1ZhbHVlKCk6IFQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pbnZhbGlkJylcbiAgICBnZXQgY29tcHV0ZWRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSAmJlxuICAgICAgICAgICAgKHRoaXMucHNldWRvSW52YWxpZCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgID8gdGhpcy5wc2V1ZG9JbnZhbGlkXG4gICAgICAgICAgICAgICAgOiB0aGlzLnRvdWNoZWQgJiYgdGhpcy5pbnZhbGlkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID8/IHRoaXMuZmFsbGJhY2tWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgc2FmZUN1cnJlbnRWYWx1ZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3VmFsdWUgPz8gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe2ludmFsaWR9KSA9PiBpbnZhbGlkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe3ZhbGlkfSkgPT4gdmFsaWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgdG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHt0b3VjaGVkfSkgPT4gdG91Y2hlZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHtkaXNhYmxlZH0pID0+IGRpc2FibGVkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGludGVyYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8QWJzdHJhY3RDb250cm9sIHwgbnVsbD4oXG4gICAgICAgICAgICAoe2NvbnRyb2x9KSA9PiBjb250cm9sLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWROYW1lKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sTmFtZT8udG9TdHJpbmcoKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29udHJvbE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbD8ubmFtZT8udG9TdHJpbmcoKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHJhd1ZhbHVlKCk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB7bmdDb250cm9sfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5nQ29udHJvbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9XG4gICAgICAgICAgICBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsICYmIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IG5nQ29udHJvbC52aWV3TW9kZWxcbiAgICAgICAgICAgICAgICA6IG5nQ29udHJvbC52YWx1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5uZ0NvbnRyb2w/LnZhbHVlQ2hhbmdlcyB8fCAhdGhpcy5uZ0NvbnRyb2w/LnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lcmdlKHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlcywgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBjaGVja0NvbnRyb2xVcGRhdGUoKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBUIHwgdW5rbm93bikgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKGNvbXBvbmVudFZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgICBvbkNoYW5nZSh0aGlzLnRvQ29udHJvbFZhbHVlKGNvbXBvbmVudFZhbHVlKSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID1cbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCAmJiB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyB0aGlzLm5nQ29udHJvbC5tb2RlbFxuICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZSh0aGlzLmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbE1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBUKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMudmFsdWVJZGVudGljYWxDb21wYXJhdG9yKHRoaXMudmFsdWUsIHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb250cm9sU2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3Iob2xkVmFsdWU6IFQsIG5ld1ZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBvbGRWYWx1ZSA9PT0gbmV3VmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYWZlTmdDb250cm9sRGF0YTxUPihcbiAgICAgICAgZXh0cmFjdG9yOiAobmdDb250cm9sOiBOZ0NvbnRyb2wpID0+IFQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICBkZWZhdWx0RmllbGRWYWx1ZTogVCxcbiAgICApOiBUIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLm5nQ29udHJvbCAmJiBleHRyYWN0b3IodGhpcy5uZ0NvbnRyb2wpKSA/PyBkZWZhdWx0RmllbGRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRyb2xNYXJrQXNUb3VjaGVkKCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udHJvbFNldFZhbHVlKHZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaExvY2FsVmFsdWUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZTogdW5rbm93bik6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICA/IHRoaXMudmFsdWVUcmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSlcbiAgICAgICAgICAgIDogKGNvbnRyb2xWYWx1ZSBhcyBUKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvQ29udHJvbFZhbHVlKGNvbXBvbmVudFZhbHVlOiBUKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlVHJhbnNmb3JtZXJcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZVRyYW5zZm9ybWVyLnRvQ29udHJvbFZhbHVlKGNvbXBvbmVudFZhbHVlKVxuICAgICAgICAgICAgOiBjb21wb25lbnRWYWx1ZTtcbiAgICB9XG59XG4iXX0=
@@ -5,5 +5,7 @@ export * from './dialog.service';
5
5
  export * from './interactive';
6
6
  export * from './multiple-control';
7
7
  export * from './nullable-control';
8
+ export * from './portal-host';
9
+ export * from './portal-service';
8
10
  export * from './theme-switcher';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGlwbGUtY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL251bGxhYmxlLWNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1zd2l0Y2hlcic7XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9nLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJhY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aXBsZS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbnVsbGFibGUtY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL3BvcnRhbC1ob3N0JztcbmV4cG9ydCAqIGZyb20gJy4vcG9ydGFsLXNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1zd2l0Y2hlcic7XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { ComponentFactory, ComponentRef, Directive, ElementRef, EmbeddedViewRef, Inject, Injector, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
3
+ import { AbstractTuiPortalService } from './portal-service';
4
+ /**
5
+ * Abstract class for host element for dynamically created portals.
6
+ */
7
+ var AbstractTuiPortalHostComponent = /** @class */ (function () {
8
+ function AbstractTuiPortalHostComponent(elementRef, portalService) {
9
+ this.elementRef = elementRef;
10
+ portalService.attach(this);
11
+ }
12
+ AbstractTuiPortalHostComponent_1 = AbstractTuiPortalHostComponent;
13
+ Object.defineProperty(AbstractTuiPortalHostComponent.prototype, "clientRect", {
14
+ get: function () {
15
+ return this.elementRef.nativeElement.getBoundingClientRect();
16
+ },
17
+ enumerable: true,
18
+ configurable: true
19
+ });
20
+ AbstractTuiPortalHostComponent.prototype.addComponentChild = function (componentFactory, injector) {
21
+ return this.viewContainerRef.createComponent(componentFactory, undefined, Injector.create({
22
+ parent: injector,
23
+ providers: [
24
+ {
25
+ provide: AbstractTuiPortalHostComponent_1,
26
+ useValue: this,
27
+ },
28
+ ],
29
+ }));
30
+ };
31
+ AbstractTuiPortalHostComponent.prototype.addTemplateChild = function (templateRef, context) {
32
+ return this.viewContainerRef.createEmbeddedView(templateRef, context);
33
+ };
34
+ var AbstractTuiPortalHostComponent_1;
35
+ AbstractTuiPortalHostComponent.ctorParameters = function () { return [
36
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
37
+ { type: AbstractTuiPortalService, decorators: [{ type: Inject, args: [AbstractTuiPortalService,] }] }
38
+ ]; };
39
+ __decorate([
40
+ ViewChild('viewContainer', { read: ViewContainerRef })
41
+ ], AbstractTuiPortalHostComponent.prototype, "viewContainerRef", void 0);
42
+ AbstractTuiPortalHostComponent = AbstractTuiPortalHostComponent_1 = __decorate([
43
+ Directive(),
44
+ __param(0, Inject(ElementRef)),
45
+ __param(1, Inject(AbstractTuiPortalService))
46
+ ], AbstractTuiPortalHostComponent);
47
+ return AbstractTuiPortalHostComponent;
48
+ }());
49
+ export { AbstractTuiPortalHostComponent };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWhvc3QuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsicG9ydGFsLWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFMUQ7O0dBRUc7QUFFSDtJQUlJLHdDQUVhLFVBQW1DLEVBQ1YsYUFBdUM7UUFEaEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFHNUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO3VDQVZpQiw4QkFBOEI7SUFZaEQsc0JBQUksc0RBQVU7YUFBZDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqRSxDQUFDOzs7T0FBQTtJQUVELDBEQUFpQixHQUFqQixVQUNJLGdCQUFxQyxFQUNyQyxRQUFrQjtRQUVsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQ3hDLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsZ0NBQThCO29CQUN2QyxRQUFRLEVBQUUsSUFBSTtpQkFDakI7YUFDSjtTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELHlEQUFnQixHQUFoQixVQUFvQixXQUEyQixFQUFFLE9BQVc7UUFDeEQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7OztnQkEvQndCLFVBQVUsdUJBRDlCLE1BQU0sU0FBQyxVQUFVO2dCQUUrQix3QkFBd0IsdUJBQXhFLE1BQU0sU0FBQyx3QkFBd0I7O0lBTHBDO1FBREMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxDQUFDOzRFQUNqQjtJQUZsQiw4QkFBOEI7UUFEbkQsU0FBUyxFQUFFO1FBTUgsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFbEIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtPQVBuQiw4QkFBOEIsQ0FzQ25EO0lBQUQscUNBQUM7Q0FBQSxBQXRDRCxJQXNDQztTQXRDcUIsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRGYWN0b3J5LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aVBvcnRhbFNlcnZpY2V9IGZyb20gJy4vcG9ydGFsLXNlcnZpY2UnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBob3N0IGVsZW1lbnQgZm9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgcG9ydGFscy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd2aWV3Q29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KVxuICAgIHZpZXdDb250YWluZXJSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQWJzdHJhY3RUdWlQb3J0YWxTZXJ2aWNlKSBwb3J0YWxTZXJ2aWNlOiBBYnN0cmFjdFR1aVBvcnRhbFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHBvcnRhbFNlcnZpY2UuYXR0YWNoKHRoaXMpO1xuICAgIH1cblxuICAgIGdldCBjbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgYWRkQ29tcG9uZW50Q2hpbGQ8Qz4oXG4gICAgICAgIGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Qz4sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxDPihcbiAgICAgICAgICAgIGNvbXBvbmVudEZhY3RvcnksXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHBhcmVudDogaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhZGRUZW1wbGF0ZUNoaWxkPEM+KHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxDPiwgY29udGV4dD86IEMpOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable, } from '@angular/core';
3
+ import { TuiNoHostException } from '@taiga-ui/cdk/exceptions';
4
+ /**
5
+ * Abstract service for displaying portals
6
+ */
7
+ var AbstractTuiPortalService = /** @class */ (function () {
8
+ function AbstractTuiPortalService() {
9
+ }
10
+ Object.defineProperty(AbstractTuiPortalService.prototype, "safeHost", {
11
+ get: function () {
12
+ if (!this.host) {
13
+ throw new TuiNoHostException();
14
+ }
15
+ return this.host;
16
+ },
17
+ enumerable: true,
18
+ configurable: true
19
+ });
20
+ AbstractTuiPortalService.prototype.attach = function (host) {
21
+ this.host = host;
22
+ };
23
+ AbstractTuiPortalService.prototype.add = function (componentFactory, injector) {
24
+ return this.safeHost.addComponentChild(componentFactory, injector);
25
+ };
26
+ AbstractTuiPortalService.prototype.remove = function (_a) {
27
+ var hostView = _a.hostView;
28
+ hostView.destroy();
29
+ };
30
+ AbstractTuiPortalService.prototype.addTemplate = function (templateRef, context) {
31
+ return this.safeHost.addTemplateChild(templateRef, context);
32
+ };
33
+ AbstractTuiPortalService.prototype.removeTemplate = function (viewRef) {
34
+ viewRef.destroy();
35
+ };
36
+ AbstractTuiPortalService = __decorate([
37
+ Injectable()
38
+ ], AbstractTuiPortalService);
39
+ return AbstractTuiPortalService;
40
+ }());
41
+ export { AbstractTuiPortalService };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsicG9ydGFsLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJSCxVQUFVLEdBR2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQ7O0dBRUc7QUFFSDtJQUFBO0lBOEJBLENBQUM7SUEzQkcsc0JBQWMsOENBQVE7YUFBdEI7WUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDWixNQUFNLElBQUksa0JBQWtCLEVBQUUsQ0FBQzthQUNsQztZQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixDQUFDOzs7T0FBQTtJQUVELHlDQUFNLEdBQU4sVUFBTyxJQUFvQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsc0NBQUcsR0FBSCxVQUFPLGdCQUFxQyxFQUFFLFFBQWtCO1FBQzVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQseUNBQU0sR0FBTixVQUFVLEVBQTJCO1lBQTFCLHNCQUFRO1FBQ2YsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw4Q0FBVyxHQUFYLFVBQWUsV0FBMkIsRUFBRSxPQUFXO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGlEQUFjLEdBQWQsVUFBa0IsT0FBMkI7UUFDekMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUE3QmlCLHdCQUF3QjtRQUQ3QyxVQUFVLEVBQUU7T0FDUyx3QkFBd0IsQ0E4QjdDO0lBQUQsK0JBQUM7Q0FBQSxBQTlCRCxJQThCQztTQTlCcUIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRGYWN0b3J5LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aU5vSG9zdEV4Y2VwdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9leGNlcHRpb25zJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnR9IGZyb20gJy4vcG9ydGFsLWhvc3QnO1xuXG4vKipcbiAqIEFic3RyYWN0IHNlcnZpY2UgZm9yIGRpc3BsYXlpbmcgcG9ydGFsc1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlQb3J0YWxTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgaG9zdD86IEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudDtcblxuICAgIHByb3RlY3RlZCBnZXQgc2FmZUhvc3QoKTogQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmhvc3QpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUdWlOb0hvc3RFeGNlcHRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhvc3Q7XG4gICAgfVxuXG4gICAgYXR0YWNoKGhvc3Q6IEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIH1cblxuICAgIGFkZDxDPihjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEM+LCBpbmplY3RvcjogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlSG9zdC5hZGRDb21wb25lbnRDaGlsZChjb21wb25lbnRGYWN0b3J5LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcmVtb3ZlPEM+KHtob3N0Vmlld306IENvbXBvbmVudFJlZjxDPikge1xuICAgICAgICBob3N0Vmlldy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgYWRkVGVtcGxhdGU8Qz4odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPEM+LCBjb250ZXh0PzogQyk6IEVtYmVkZGVkVmlld1JlZjxDPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVIb3N0LmFkZFRlbXBsYXRlQ2hpbGQodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJlbW92ZVRlbXBsYXRlPEM+KHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxDPikge1xuICAgICAgICB2aWV3UmVmLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=