@taiga-ui/cdk 2.45.0 → 2.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
  2. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +4 -4
  5. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +2 -2
  7. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
  9. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-date-time.umd.js +4 -9
  12. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +132 -50
  15. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
  17. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +41 -22
  19. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +2 -2
  21. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-directives-item.umd.js +1 -1
  23. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-observables.umd.js +1 -1
  26. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-tokens.umd.js +4 -6
  29. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  31. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-utils-focus.umd.js +2 -0
  35. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-utils-os.umd.js +25 -0
  38. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -0
  39. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +2 -0
  40. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -0
  41. package/bundles/taiga-ui-cdk-utils.umd.js +12 -4
  42. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-utils.umd.min.js +1 -1
  44. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  45. package/components/portal-host/portal.service.d.ts +1 -1
  46. package/date-time/date-fillers.d.ts +0 -2
  47. package/date-time/day-range.d.ts +1 -2
  48. package/date-time/day.d.ts +0 -1
  49. package/date-time/month-range.d.ts +0 -1
  50. package/date-time/month.d.ts +0 -1
  51. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  52. package/directives/auto-focus/autofocus.directive.d.ts +4 -13
  53. package/directives/auto-focus/autofocus.options.d.ts +13 -0
  54. package/directives/auto-focus/handlers/abstract.handler.d.ts +11 -0
  55. package/directives/auto-focus/handlers/default.handler.d.ts +9 -0
  56. package/directives/auto-focus/handlers/ios.handler.d.ts +10 -0
  57. package/directives/auto-focus/index.d.ts +4 -0
  58. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  59. package/directives/autofilled/autofilled-style.component.d.ts +2 -0
  60. package/directives/autofilled/autofilled.directive.d.ts +5 -4
  61. package/directives/autofilled/index.d.ts +1 -0
  62. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  63. package/directives/item/item.directive.d.ts +1 -1
  64. package/esm2015/abstract/interactive.js +2 -2
  65. package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
  66. package/esm2015/components/portal-host/portal.service.js +2 -2
  67. package/esm2015/date-time/date-fillers.js +1 -3
  68. package/esm2015/date-time/day-range.js +2 -2
  69. package/esm2015/date-time/day.js +2 -3
  70. package/esm2015/date-time/month-range.js +1 -2
  71. package/esm2015/date-time/month.js +2 -3
  72. package/esm2015/date-time/year.js +2 -2
  73. package/esm2015/directives/auto-focus/autofocus.directive.js +11 -87
  74. package/esm2015/directives/auto-focus/autofocus.options.js +27 -0
  75. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +25 -0
  76. package/esm2015/directives/auto-focus/handlers/default.handler.js +39 -0
  77. package/esm2015/directives/auto-focus/handlers/ios.handler.js +70 -0
  78. package/esm2015/directives/auto-focus/index.js +5 -1
  79. package/esm2015/directives/autofilled/autofilled-style.component.js +13 -0
  80. package/esm2015/directives/autofilled/autofilled.directive.js +23 -37
  81. package/esm2015/directives/autofilled/autofilled.module.js +4 -2
  82. package/esm2015/directives/autofilled/index.js +2 -1
  83. package/esm2015/directives/item/item.directive.js +2 -2
  84. package/esm2015/observables/replay-control-value-changes.js +2 -2
  85. package/esm2015/tokens/index.js +2 -1
  86. package/esm2015/tokens/is-apple.js +5 -0
  87. package/esm2015/tokens/is-ios.js +4 -6
  88. package/esm2015/utils/browser/index.js +2 -2
  89. package/esm2015/utils/browser/{is-IE.js → is-ie.js} +1 -1
  90. package/esm2015/utils/focus/set-native-focused.js +3 -1
  91. package/esm2015/utils/index.js +2 -1
  92. package/esm2015/utils/os/index.js +3 -0
  93. package/esm2015/utils/os/is-apple.js +6 -0
  94. package/esm2015/utils/os/is-ios.js +7 -0
  95. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  96. package/esm5/abstract/interactive.js +2 -2
  97. package/esm5/components/dialog-host/dialog-host.component.js +5 -5
  98. package/esm5/components/portal-host/portal.service.js +2 -2
  99. package/esm5/date-time/date-fillers.js +1 -3
  100. package/esm5/date-time/day-range.js +2 -2
  101. package/esm5/date-time/day.js +2 -3
  102. package/esm5/date-time/month-range.js +1 -2
  103. package/esm5/date-time/month.js +2 -3
  104. package/esm5/date-time/year.js +2 -2
  105. package/esm5/directives/auto-focus/autofocus.directive.js +11 -97
  106. package/esm5/directives/auto-focus/autofocus.options.js +27 -0
  107. package/esm5/directives/auto-focus/handlers/abstract.handler.js +34 -0
  108. package/esm5/directives/auto-focus/handlers/default.handler.js +43 -0
  109. package/esm5/directives/auto-focus/handlers/ios.handler.js +75 -0
  110. package/esm5/directives/auto-focus/index.js +5 -1
  111. package/esm5/directives/autofilled/autofilled-style.component.js +16 -0
  112. package/esm5/directives/autofilled/autofilled.directive.js +24 -21
  113. package/esm5/directives/autofilled/autofilled.module.js +4 -2
  114. package/esm5/directives/autofilled/index.js +2 -1
  115. package/esm5/directives/item/item.directive.js +2 -2
  116. package/esm5/observables/replay-control-value-changes.js +2 -2
  117. package/esm5/tokens/index.js +2 -1
  118. package/esm5/tokens/is-apple.js +5 -0
  119. package/esm5/tokens/is-ios.js +4 -8
  120. package/esm5/utils/browser/index.js +2 -2
  121. package/esm5/utils/browser/{is-IE.js → is-ie.js} +1 -1
  122. package/esm5/utils/focus/set-native-focused.js +3 -1
  123. package/esm5/utils/index.js +2 -1
  124. package/esm5/utils/os/index.js +3 -0
  125. package/esm5/utils/os/is-apple.js +6 -0
  126. package/esm5/utils/os/is-ios.js +7 -0
  127. package/esm5/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  128. package/fesm2015/taiga-ui-cdk-abstract.js +1 -1
  129. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  130. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +4 -4
  131. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  132. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  133. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  134. package/fesm2015/taiga-ui-cdk-date-time.js +4 -9
  135. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  136. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +113 -46
  137. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  138. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +33 -37
  139. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  140. package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
  141. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  142. package/fesm2015/taiga-ui-cdk-observables.js +1 -1
  143. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  144. package/fesm2015/taiga-ui-cdk-tokens.js +6 -7
  145. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  146. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  147. package/fesm2015/taiga-ui-cdk-utils-focus.js +2 -0
  148. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  149. package/fesm2015/taiga-ui-cdk-utils-os.js +18 -0
  150. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -0
  151. package/fesm2015/taiga-ui-cdk-utils.js +1 -0
  152. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  153. package/fesm5/taiga-ui-cdk-abstract.js +1 -1
  154. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  155. package/fesm5/taiga-ui-cdk-components-dialog-host.js +4 -4
  156. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  157. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  158. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  159. package/fesm5/taiga-ui-cdk-date-time.js +4 -9
  160. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  161. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +126 -51
  162. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  163. package/fesm5/taiga-ui-cdk-directives-autofilled.js +38 -22
  164. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  165. package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
  166. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
  167. package/fesm5/taiga-ui-cdk-observables.js +1 -1
  168. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  169. package/fesm5/taiga-ui-cdk-tokens.js +6 -9
  170. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  171. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  172. package/fesm5/taiga-ui-cdk-utils-focus.js +2 -0
  173. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  174. package/fesm5/taiga-ui-cdk-utils-os.js +18 -0
  175. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -0
  176. package/fesm5/taiga-ui-cdk-utils.js +1 -0
  177. package/fesm5/taiga-ui-cdk-utils.js.map +1 -1
  178. package/observables/replay-control-value-changes.d.ts +1 -1
  179. package/package.json +1 -1
  180. package/schematics/ng-add/constants/modules.d.ts +1 -1
  181. package/schematics/ng-add/constants/modules.js +2 -2
  182. package/schematics/ng-add/schema.d.ts +1 -1
  183. package/schematics/ng-add/schema.json +3 -3
  184. package/schematics/ng-add/steps/add-taiga-modules.js +1 -1
  185. package/tokens/index.d.ts +1 -0
  186. package/tokens/is-apple.d.ts +2 -0
  187. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  188. package/utils/browser/index.d.ts +1 -1
  189. package/utils/browser/{is-IE.d.ts → is-ie.d.ts} +0 -0
  190. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
  191. package/utils/focus/set-native-focused.d.ts +2 -0
  192. package/utils/index.d.ts +1 -0
  193. package/utils/os/index.d.ts +2 -0
  194. package/utils/os/is-apple.d.ts +1 -0
  195. package/utils/os/is-ios.d.ts +1 -0
  196. package/utils/os/package.json +13 -0
  197. package/utils/os/taiga-ui-cdk-utils-os.d.ts +4 -0
  198. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -0
  199. package/utils/taiga-ui-cdk-utils.metadata.json +1 -1
@@ -1,90 +1,20 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { AfterViewInit, Directive, ElementRef, Inject, Input, NgZone, Optional, Renderer2, Self, } from '@angular/core';
3
- import { ANIMATION_FRAME } from '@ng-web-apis/common';
4
- import { POLLING_TIME } from '@taiga-ui/cdk/constants';
5
- import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
6
- import { setNativeFocused } from '@taiga-ui/cdk/utils/focus';
7
- import { Observable, race, timer } from 'rxjs';
8
- import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
9
- const TIMEOUT = 1000;
10
- const NG_ANIMATION_SELECTOR = '.ng-animating';
11
- // TODO: in 3.0 change input name to tuiAutoFocus and handle empty string
12
- // TODO: refactor on this whole thing in 3.0
2
+ import { Directive, Inject, Input } from '@angular/core';
3
+ import { TUI_AUTOFOCUS_HANDLER, TUI_AUTOFOCUS_PROVIDERS, } from './autofocus.options';
4
+ // TODO: 3.0 change input name to tuiAutoFocus and handle empty string
13
5
  let TuiAutoFocusDirective = class TuiAutoFocusDirective {
14
- constructor(tuiFocusableComponent, isIos, animationFrame$, ngZone, elementRef, renderer) {
15
- this.tuiFocusableComponent = tuiFocusableComponent;
16
- this.isIos = isIos;
17
- this.animationFrame$ = animationFrame$;
18
- this.ngZone = ngZone;
19
- this.elementRef = elementRef;
20
- this.renderer = renderer;
6
+ constructor(handler) {
7
+ this.handler = handler;
21
8
  this.autoFocus = true;
22
9
  }
23
10
  ngAfterViewInit() {
24
- if (!this.autoFocus) {
25
- return;
11
+ if (this.autoFocus) {
12
+ this.handler.setFocus();
26
13
  }
27
- if (this.isTextFieldElement) {
28
- if (this.isIos) {
29
- this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
30
- }
31
- else {
32
- race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => setNativeFocused(this.element));
33
- }
34
- return;
35
- }
36
- setNativeFocused(this.element);
37
- }
38
- get element() {
39
- var _a;
40
- return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
41
- this.elementRef.nativeElement);
42
- }
43
- get isTextFieldElement() {
44
- return this.element.matches('input, textarea');
45
- }
46
- iosWebkitAutofocus() {
47
- var _a;
48
- const fakeInput = this.renderer.createElement('input');
49
- fakeInput.style.position = 'absolute';
50
- fakeInput.style.opacity = '0';
51
- fakeInput.style.height = '0';
52
- const blurHandler = () => setNativeFocused(fakeInput);
53
- const focusHandler = () => {
54
- setTimeout(() => {
55
- setNativeFocused(this.element);
56
- /**
57
- * @note:
58
- * We can't remove the element immediately, because it breaks flow
59
- */
60
- setTimeout(() => {
61
- fakeInput.removeEventListener('blur', blurHandler);
62
- fakeInput.removeEventListener('focus', focusHandler);
63
- fakeInput.remove();
64
- });
65
- });
66
- };
67
- /**
68
- * @note: ping-pong eager strategy hack
69
- * After creating an element and bringing it into DOM,
70
- * the browser automatically focuses on the invisible element.
71
- * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
72
- * then we try to focus again on an invisible element, so that the keyboard slowly appears.
73
- * This ping pong allows the keyboard to not overlap the modal window.
74
- */
75
- fakeInput.addEventListener('blur', blurHandler, { once: true });
76
- fakeInput.addEventListener('focus', focusHandler);
77
- (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
78
- setNativeFocused(fakeInput);
79
14
  }
80
15
  };
81
16
  TuiAutoFocusDirective.ctorParameters = () => [
82
- { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
83
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
84
- { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
85
- { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
86
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
87
- { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] }
17
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_AUTOFOCUS_HANDLER,] }] }
88
18
  ];
89
19
  __decorate([
90
20
  Input()
@@ -92,15 +22,9 @@ __decorate([
92
22
  TuiAutoFocusDirective = __decorate([
93
23
  Directive({
94
24
  selector: '[tuiAutoFocus]',
25
+ providers: TUI_AUTOFOCUS_PROVIDERS,
95
26
  }),
96
- __param(0, 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))
27
+ __param(0, Inject(TUI_AUTOFOCUS_HANDLER))
104
28
  ], TuiAutoFocusDirective);
105
29
  export { TuiAutoFocusDirective };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUMsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFJOUIsWUFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUVuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZHhDLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFlZCxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0gsSUFBSSxDQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDckIsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUMxQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUNKLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsT0FBTztTQUNWO1FBRUQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLE9BQU87O1FBQ2YsT0FBTyxDQUNILE9BQUEsSUFBSSxDQUFDLHFCQUFxQiwwQ0FBRSxzQkFBc0I7WUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBWSxrQkFBa0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLE1BQU0sU0FBUyxHQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUU3QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxHQUFTLEVBQUU7WUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRS9COzs7bUJBR0c7Z0JBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixTQUFTLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUNuRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUNyRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRjs7Ozs7OztXQU9HO1FBQ0gsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWxELE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLDBDQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7UUFFbkQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKLENBQUE7OzRDQTFGUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7MENBRWxDLE1BQU0sU0FBQyxVQUFVO1lBQ3lDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBRUUsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07WUFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtZQUdTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTOztBQWJyQjtJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUhqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUM7SUFNTyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFbkMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUVsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtHQWZiLHFCQUFxQixDQStGakM7U0EvRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUiwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtzZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNraXBXaGlsZSwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBUT0RPOiBpbiAzLjAgY2hhbmdlIGlucHV0IG5hbWUgdG8gdHVpQXV0b0ZvY3VzIGFuZCBoYW5kbGUgZW1wdHkgc3RyaW5nXG4vLyBUT0RPOiByZWZhY3RvciBvbiB0aGlzIHdob2xlIHRoaW5nIGluIDMuMFxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmlvc1dlYmtpdEF1dG9mb2N1cygpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgdGltZXIoVElNRU9VVCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsZW1lbnQuY2xvc2VzdChOR19BTklNQVRJT05fU0VMRUNUT1IpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnR1aUZvY3VzYWJsZUNvbXBvbmVudD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1RleHRGaWVsZEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubWF0Y2hlcygnaW5wdXQsIHRleHRhcmVhJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpb3NXZWJraXRBdXRvZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgY29uc3QgYmx1ckhhbmRsZXIgPSAoKTogdm9pZCA9PiBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgICAgIGNvbnN0IGZvY3VzSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5lbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmYWtlSW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUUxQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLHNFQUFzRTtBQUt0RSxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUk5QixZQUNvRCxPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUhoRixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSWQsQ0FBQztJQUVKLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSixDQUFBOzs0Q0FSUSxNQUFNLFNBQUMscUJBQXFCOztBQUhqQztJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUpqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFNBQVMsRUFBRSx1QkFBdUI7S0FDckMsQ0FBQztJQU1PLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7R0FMekIscUJBQXFCLENBYWpDO1NBYlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9BVVRPRk9DVVNfSEFORExFUixcbiAgICBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbiAgICBUdWlBdXRvZm9jdXNIYW5kbGVyLFxufSBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcblxuLy8gVE9ETzogMy4wIGNoYW5nZSBpbnB1dCBuYW1lIHRvIHR1aUF1dG9Gb2N1cyBhbmQgaGFuZGxlIGVtcHR5IHN0cmluZ1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG4gICAgcHJvdmlkZXJzOiBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhdXRvRm9jdXMgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FVVE9GT0NVU19IQU5ETEVSKSBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IFR1aUF1dG9mb2N1c0hhbmRsZXIsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlci5zZXRGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { ElementRef, inject, InjectionToken, NgZone, Optional, Renderer2, Self, } from '@angular/core';
2
+ import { ANIMATION_FRAME } from '@ng-web-apis/common';
3
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_APPLE } from '@taiga-ui/cdk/tokens';
4
+ import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
5
+ import { TuiIosAutofocusHandler } from './handlers/ios.handler';
6
+ export const TUI_AUTOFOCUS_HANDLER = new InjectionToken('Autofocusing handler');
7
+ // TODO: 3.0 remove in ivy compilation
8
+ export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone) {
9
+ return inject(TUI_IS_APPLE)
10
+ ? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone)
11
+ : new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
12
+ }
13
+ export const TUI_AUTOFOCUS_PROVIDERS = [
14
+ {
15
+ provide: TUI_AUTOFOCUS_HANDLER,
16
+ // TODO: replace to useClass in v3.0
17
+ useFactory: tuiAutofocusHandlerFactory,
18
+ deps: [
19
+ [new Optional(), new Self(), TUI_FOCUSABLE_ITEM_ACCESSOR],
20
+ ElementRef,
21
+ ANIMATION_FRAME,
22
+ Renderer2,
23
+ NgZone,
24
+ ],
25
+ },
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImF1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQywyQkFBMkIsRUFBRSxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU05RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsc0JBQXNCLENBQ3pCLENBQUM7QUFFRixzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxxQkFBeUQsRUFDekQsVUFBbUMsRUFDbkMsZUFBbUMsRUFDbkMsUUFBbUIsRUFDbkIsTUFBYztJQUVkLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN2QixDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUNqRixDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FDMUIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLG9DQUFvQztRQUNwQyxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLDJCQUEyQixDQUFDO1lBQ3pELFVBQVU7WUFDVixlQUFlO1lBQ2YsU0FBUztZQUNULE1BQU07U0FDVDtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsIFRVSV9JU19BUFBMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXInO1xuaW1wb3J0IHtUdWlJb3NBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBzZXRGb2N1cygpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0FVVE9GT0NVU19IQU5ETEVSID0gbmV3IEluamVjdGlvblRva2VuPFR1aUF1dG9mb2N1c0hhbmRsZXI+KFxuICAgICdBdXRvZm9jdXNpbmcgaGFuZGxlcicsXG4pO1xuXG4vLyBUT0RPOiAzLjAgcmVtb3ZlIGluIGl2eSBjb21waWxhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUF1dG9mb2N1c0hhbmRsZXJGYWN0b3J5KFxuICAgIHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIG5nWm9uZTogTmdab25lLFxuKTogVHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgcmV0dXJuIGluamVjdChUVUlfSVNfQVBQTEUpXG4gICAgICAgID8gbmV3IFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmLCByZW5kZXJlciwgbmdab25lKVxuICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICBhbmltYXRpb25GcmFtZSQsXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIHRvIHVzZUNsYXNzIGluIHYzLjBcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQXV0b2ZvY3VzSGFuZGxlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SXSxcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBBTklNQVRJT05fRlJBTUUsXG4gICAgICAgICAgICBSZW5kZXJlcjIsXG4gICAgICAgICAgICBOZ1pvbmUsXG4gICAgICAgIF0sXG4gICAgfSxcbl07XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ElementRef } from '@angular/core';
3
+ let AbstractTuiAutofocusHandler = class AbstractTuiAutofocusHandler {
4
+ constructor(tuiFocusableComponent, elementRef) {
5
+ this.tuiFocusableComponent = tuiFocusableComponent;
6
+ this.elementRef = elementRef;
7
+ }
8
+ get element() {
9
+ var _a;
10
+ return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
11
+ this.elementRef.nativeElement);
12
+ }
13
+ get isTextFieldElement() {
14
+ return this.element.matches('input, textarea');
15
+ }
16
+ };
17
+ AbstractTuiAutofocusHandler.ctorParameters = () => [
18
+ { type: undefined },
19
+ { type: ElementRef }
20
+ ];
21
+ AbstractTuiAutofocusHandler = __decorate([
22
+ Directive()
23
+ ], AbstractTuiAutofocusHandler);
24
+ export { AbstractTuiAutofocusHandler };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTcEQsSUFBc0IsMkJBQTJCLEdBQWpELE1BQXNCLDJCQUEyQjtJQUM3QyxZQUN1QixxQkFBeUQsRUFDekQsVUFBbUM7UUFEbkMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUN6RCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUN2RCxDQUFDO0lBRUosSUFBYyxPQUFPOztRQUNqQixPQUFPLENBQ0gsT0FBQSxJQUFJLENBQUMscUJBQXFCLDBDQUFFLHNCQUFzQjtZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDaEMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUdKLENBQUE7OztZQWZzQyxVQUFVOztBQUgzQiwyQkFBMkI7SUFEaEQsU0FBUyxFQUFFO0dBQ1UsMkJBQTJCLENBa0JoRDtTQWxCcUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuLi9hdXRvZm9jdXMub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlciBpbXBsZW1lbnRzIFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIHByb3RlY3RlZCBnZXQgZWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNUZXh0RmllbGRFbGVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm1hdGNoZXMoJ2lucHV0LCB0ZXh0YXJlYScpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IHNldEZvY3VzKCk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, Optional, Self } from '@angular/core';
3
+ import { ANIMATION_FRAME } from '@ng-web-apis/common';
4
+ import { POLLING_TIME } from '@taiga-ui/cdk/constants';
5
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
6
+ import { Observable, race, timer } from 'rxjs';
7
+ import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
8
+ import { AbstractTuiAutofocusHandler } from './abstract.handler';
9
+ const TIMEOUT = 1000;
10
+ const NG_ANIMATION_SELECTOR = '.ng-animating';
11
+ let TuiDefaultAutofocusHandler = class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
12
+ constructor(tuiFocusableComponent, elementRef, animationFrame$) {
13
+ super(tuiFocusableComponent, elementRef);
14
+ this.animationFrame$ = animationFrame$;
15
+ }
16
+ setFocus() {
17
+ if (this.isTextFieldElement) {
18
+ race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus());
19
+ }
20
+ else {
21
+ this.element.focus();
22
+ }
23
+ }
24
+ };
25
+ TuiDefaultAutofocusHandler.ctorParameters = () => [
26
+ { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
27
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
28
+ { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
29
+ ];
30
+ TuiDefaultAutofocusHandler = __decorate([
31
+ Directive(),
32
+ __param(0, Optional()),
33
+ __param(0, Self()),
34
+ __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
35
+ __param(1, Inject(ElementRef)),
36
+ __param(2, Inject(ANIMATION_FRAME))
37
+ ], TuiDefaultAutofocusHandler);
38
+ export { TuiDefaultAutofocusHandler };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMvIiwic291cmNlcyI6WyJoYW5kbGVycy9kZWZhdWx0LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDckIsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFHOUMsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMkIsU0FBUSwyQkFBMkI7SUFDdkUsWUFJSSxxQkFBeUQsRUFDckMsVUFBbUMsRUFDYixlQUFtQztRQUU3RSxLQUFLLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFGQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7SUFHakYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQ0EsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixZQUFZLENBQUMsWUFBWSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ3RELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQ0osQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztDQUNKLENBQUE7OzRDQXpCUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7WUFFSCxVQUFVLHVCQUF6QyxNQUFNLFNBQUMsVUFBVTtZQUN5QyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTs7QUFQbEIsMEJBQTBCO0lBRHRDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtHQVBuQiwwQkFBMEIsQ0EyQnRDO1NBM0JZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7UE9MTElOR19USU1FfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGUsIHJhY2UsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBza2lwV2hpbGUsIHRha2UsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0Fic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9hYnN0cmFjdC5oYW5kbGVyJztcblxuY29uc3QgVElNRU9VVCA9IDEwMDA7XG5jb25zdCBOR19BTklNQVRJT05fU0VMRUNUT1IgPSAnLm5nLWFuaW1hdGluZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aURlZmF1bHRBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUilcbiAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50OiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgIHRpbWVyKFRJTUVPVVQpLFxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50LmNsb3Nlc3QoTkdfQU5JTUFUSU9OX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbGVtZW50LmZvY3VzKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, NgZone, Optional, Renderer2, Self, } from '@angular/core';
3
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
4
+ import { AbstractTuiAutofocusHandler } from './abstract.handler';
5
+ let TuiIosAutofocusHandler = class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
6
+ constructor(tuiFocusableComponent, elementRef, renderer, ngZone) {
7
+ super(tuiFocusableComponent, elementRef);
8
+ this.renderer = renderer;
9
+ this.ngZone = ngZone;
10
+ }
11
+ setFocus() {
12
+ if (this.isTextFieldElement) {
13
+ this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
14
+ }
15
+ else {
16
+ this.element.focus();
17
+ }
18
+ }
19
+ iosWebkitAutofocus() {
20
+ var _a;
21
+ const fakeInput = this.renderer.createElement('input');
22
+ fakeInput.style.position = 'absolute';
23
+ fakeInput.style.opacity = '0';
24
+ fakeInput.style.height = '0';
25
+ const blurHandler = () => fakeInput.focus();
26
+ const focusHandler = () => {
27
+ setTimeout(() => {
28
+ this.element.focus();
29
+ /**
30
+ * @note:
31
+ * We can't remove the element immediately, because it breaks flow
32
+ */
33
+ setTimeout(() => {
34
+ fakeInput.removeEventListener('blur', blurHandler);
35
+ fakeInput.removeEventListener('focus', focusHandler);
36
+ fakeInput.remove();
37
+ });
38
+ });
39
+ };
40
+ /**
41
+ * @note: ping-pong eager strategy hack
42
+ * After creating an element and bringing it into DOM,
43
+ * the browser automatically focuses on the invisible element.
44
+ * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
45
+ * then we try to focus again on an invisible element, so that the keyboard slowly appears.
46
+ * This ping pong allows the keyboard to not overlap the modal window.
47
+ */
48
+ fakeInput.addEventListener('blur', blurHandler, { once: true });
49
+ fakeInput.addEventListener('focus', focusHandler);
50
+ (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
51
+ fakeInput.focus();
52
+ }
53
+ };
54
+ TuiIosAutofocusHandler.ctorParameters = () => [
55
+ { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
56
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
57
+ { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
58
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] }
59
+ ];
60
+ TuiIosAutofocusHandler = __decorate([
61
+ Directive(),
62
+ __param(0, Optional()),
63
+ __param(0, Self()),
64
+ __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
65
+ __param(1, Inject(ElementRef)),
66
+ __param(2, Inject(Renderer2)),
67
+ __param(3, Inject(NgZone))
68
+ ], TuiIosAutofocusHandler);
69
+ export { TuiIosAutofocusHandler };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImhhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRy9ELElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXVCLFNBQVEsMkJBQTJCO0lBQ25FLFlBSUkscUJBQXlELEVBQ3JDLFVBQW1DLEVBRXRDLFFBQW1CLEVBRW5CLE1BQWM7UUFFL0IsS0FBSyxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSnhCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFFbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLE1BQU0sU0FBUyxHQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUU3QixNQUFNLFdBQVcsR0FBRyxHQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsR0FBUyxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFckI7OzttQkFHRztnQkFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ25ELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQ3JELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGOzs7Ozs7O1dBT0c7UUFDSCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzlELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbEQsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsMENBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRTtRQUVuRCxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNKLENBQUE7OzRDQTVEUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7WUFFSCxVQUFVLHVCQUF6QyxNQUFNLFNBQUMsVUFBVTtZQUVTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTO1lBR1EsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07O0FBVFQsc0JBQXNCO0lBRGxDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtHQVRWLHNCQUFzQixDQThEbEM7U0E5RFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1J9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICB0dWlGb2N1c2FibGVDb21wb25lbnQ6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoTmdab25lKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICkge1xuICAgICAgICBzdXBlcih0dWlGb2N1c2FibGVDb21wb25lbnQsIGVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIHNldEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1RleHRGaWVsZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuaW9zV2Via2l0QXV0b2ZvY3VzKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlvc1dlYmtpdEF1dG9mb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmFrZUlucHV0OiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9ICcwJztcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cygpO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,7 @@
1
1
  export * from './autofocus.directive';
2
2
  export * from './autofocus.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5tb2R1bGUnO1xuIl19
3
+ export * from './autofocus.options';
4
+ export * from './handlers/abstract.handler';
5
+ export * from './handlers/default.handler';
6
+ export * from './handlers/ios.handler';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZvY3VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2RlZmF1bHQuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ViewEncapsulation } from '@angular/core';
3
+ let TuiAutofilledStyleComponent = class TuiAutofilledStyleComponent {
4
+ };
5
+ TuiAutofilledStyleComponent = __decorate([
6
+ Component({
7
+ template: '',
8
+ encapsulation: ViewEncapsulation.None,
9
+ styles: [".tui-autofill,.tui-autofill input{transition:box-shadow 10ms}.tui-autofill input::-webkit-credit-card-auto-fill-button,.tui-autofill::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}"]
10
+ })
11
+ ], TuiAutofilledStyleComponent);
12
+ export { TuiAutofilledStyleComponent };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQtc3R5bGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzNELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0NBQUcsQ0FBQTtBQUE5QiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLEVBQUU7UUFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLDJCQUEyQixDQUFHO1NBQTlCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdXRvZmlsbGVkLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQge31cbiJdfQ==
@@ -1,54 +1,40 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { Directive, ElementRef, Inject, Output } from '@angular/core';
3
- import { typedFromEvent } from '@taiga-ui/cdk/observables';
2
+ import { Directive, EventEmitter, HostBinding, HostListener, Inject, Output, } from '@angular/core';
4
3
  import { TuiDirectiveStylesService } from '@taiga-ui/cdk/services';
5
- import { map, skip } from 'rxjs/operators';
6
- const ON = 'tuiAutofillOn';
7
- const OFF = 'tuiAutofillOff';
8
- const STYLE = `
9
- @keyframes ${ON} {
10
- from {
11
- content: '1';
12
- }
13
-
14
- to {
15
- content: '2';
16
- }
17
- }
18
-
19
- @keyframes ${OFF} {
20
- from {
21
- content: '2';
22
- }
23
-
24
- to {
25
- content: '1';
26
- }
27
- }`;
28
- // @dynamic
4
+ import { TuiAutofilledStyleComponent } from './autofilled-style.component';
29
5
  let TuiAutofilledDirective = class TuiAutofilledDirective {
30
- constructor(elementRef, directiveStyles) {
31
- this.elementRef = elementRef;
32
- this.tuiAutofilledChange = typedFromEvent(this.elementRef.nativeElement, 'animationstart').pipe(map(({ animationName }) => animationName === ON), skip(1));
33
- directiveStyles.addStyle(STYLE, 'TuiAutofilledDirective');
6
+ constructor(directiveStyles) {
7
+ this.autofilled = false;
8
+ this.tuiAutofilledChange = new EventEmitter();
9
+ directiveStyles.addComponent(TuiAutofilledStyleComponent);
10
+ }
11
+ transitionStartHandler({ propertyName, target }) {
12
+ var _a;
13
+ const matchedAutofill = propertyName.includes('box-shadow') && ((_a = target) === null || _a === void 0 ? void 0 : _a.matches('input'));
14
+ if (matchedAutofill) {
15
+ this.autofilled = !this.autofilled;
16
+ this.tuiAutofilledChange.emit(this.autofilled);
17
+ }
34
18
  }
35
19
  };
36
20
  TuiAutofilledDirective.ctorParameters = () => [
37
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
38
21
  { type: TuiDirectiveStylesService, decorators: [{ type: Inject, args: [TuiDirectiveStylesService,] }] }
39
22
  ];
23
+ __decorate([
24
+ HostBinding('class._autofilled')
25
+ ], TuiAutofilledDirective.prototype, "autofilled", void 0);
40
26
  __decorate([
41
27
  Output()
42
28
  ], TuiAutofilledDirective.prototype, "tuiAutofilledChange", void 0);
29
+ __decorate([
30
+ HostListener('transitionstart', ['$event'])
31
+ ], TuiAutofilledDirective.prototype, "transitionStartHandler", null);
43
32
  TuiAutofilledDirective = __decorate([
44
33
  Directive({
45
34
  selector: '[tuiAutofilledChange]',
46
- host: {
47
- class: 'tui-autofill',
48
- },
35
+ host: { class: 'tui-autofill' },
49
36
  }),
50
- __param(0, Inject(ElementRef)),
51
- __param(1, Inject(TuiDirectiveStylesService))
37
+ __param(0, Inject(TuiDirectiveStylesService))
52
38
  ], TuiAutofilledDirective);
53
39
  export { TuiAutofilledDirective };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztBQUMzQixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUM3QixNQUFNLEtBQUssR0FBRzthQUNELEVBQUU7Ozs7Ozs7Ozs7YUFVRixHQUFHOzs7Ozs7OztFQVFkLENBQUM7QUFFSCxXQUFXO0FBT1gsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFVL0IsWUFDeUMsVUFBd0MsRUFFN0UsZUFBMEM7UUFGTCxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQVR4RSx3QkFBbUIsR0FBRyxjQUFjLENBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixnQkFBZ0IsQ0FDbkIsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLENBQUMsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxLQUFLLEVBQUUsQ0FBQyxFQUM5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQztRQU9FLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNKLENBQUE7O1lBTndELFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO1lBRUQseUJBQXlCLHVCQUR6QyxNQUFNLFNBQUMseUJBQXlCOztBQVZyQztJQURDLE1BQU0sRUFBRTttRUFPUDtBQVJPLHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLElBQUksRUFBRTtZQUNGLEtBQUssRUFBRSxjQUFjO1NBQ3hCO0tBQ0osQ0FBQztJQVlPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7R0FaN0Isc0JBQXNCLENBaUJsQztTQWpCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1R1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHttYXAsIHNraXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgT04gPSAndHVpQXV0b2ZpbGxPbic7XG5jb25zdCBPRkYgPSAndHVpQXV0b2ZpbGxPZmYnO1xuY29uc3QgU1RZTEUgPSBgXG5Aa2V5ZnJhbWVzICR7T059IHtcbiAgICBmcm9tIHtcbiAgICAgICAgY29udGVudDogJzEnO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgY29udGVudDogJzInO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyAke09GRn0ge1xuICAgIGZyb20ge1xuICAgICAgICBjb250ZW50OiAnMic7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBjb250ZW50OiAnMSc7XG4gICAgfVxufWA7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlBdXRvZmlsbGVkQ2hhbmdlXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1hdXRvZmlsbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZERpcmVjdGl2ZSB7XG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHVpQXV0b2ZpbGxlZENoYW5nZSA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FuaW1hdGlvbnN0YXJ0JyxcbiAgICApLnBpcGUoXG4gICAgICAgIG1hcCgoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBPTiksXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlEaXJlY3RpdmVTdHlsZXNTZXJ2aWNlKVxuICAgICAgICBkaXJlY3RpdmVTdHlsZXM6IFR1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIGRpcmVjdGl2ZVN0eWxlcy5hZGRTdHlsZShTVFlMRSwgJ1R1aUF1dG9maWxsZWREaXJlY3RpdmUnKTtcbiAgICB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFNekUsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFPL0IsWUFDdUMsZUFBMEM7UUFOakYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUdWLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLdkQsZUFBZSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQWtCOztRQUMxRCxNQUFNLGVBQWUsR0FDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBSyxNQUFrQiwwQ0FBRSxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUM7UUFFakYsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFmMkQseUJBQXlCLHVCQUE1RSxNQUFNLFNBQUMseUJBQXlCOztBQU5yQztJQURDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzswREFDZDtBQUduQjtJQURDLE1BQU0sRUFBRTttRUFDa0Q7QUFTM0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvRUFTM0M7QUF0QlEsc0JBQXNCO0lBSmxDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQztLQUNoQyxDQUFDO0lBU08sV0FBQSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtHQVI3QixzQkFBc0IsQ0F1QmxDO1NBdkJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudH0gZnJvbSAnLi9hdXRvZmlsbGVkLXN0eWxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUF1dG9maWxsZWRDaGFuZ2VdJyxcbiAgICBob3N0OiB7Y2xhc3M6ICd0dWktYXV0b2ZpbGwnfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZERpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYXV0b2ZpbGxlZCcpXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHVpQXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2UpIGRpcmVjdGl2ZVN0eWxlczogVHVpRGlyZWN0aXZlU3R5bGVzU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgZGlyZWN0aXZlU3R5bGVzLmFkZENvbXBvbmVudChUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25zdGFydCcsIFsnJGV2ZW50J10pXG4gICAgdHJhbnNpdGlvblN0YXJ0SGFuZGxlcih7cHJvcGVydHlOYW1lLCB0YXJnZXR9OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZEF1dG9maWxsID1cbiAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbmNsdWRlcygnYm94LXNoYWRvdycpICYmICh0YXJnZXQgYXMgRWxlbWVudCk/Lm1hdGNoZXMoJ2lucHV0Jyk7XG5cbiAgICAgICAgaWYgKG1hdGNoZWRBdXRvZmlsbCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gIXRoaXMuYXV0b2ZpbGxlZDtcbiAgICAgICAgICAgIHRoaXMudHVpQXV0b2ZpbGxlZENoYW5nZS5lbWl0KHRoaXMuYXV0b2ZpbGxlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,13 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
3
  import { TuiAutofilledDirective } from './autofilled.directive';
4
+ import { TuiAutofilledStyleComponent } from './autofilled-style.component';
4
5
  let TuiAutofilledModule = class TuiAutofilledModule {
5
6
  };
6
7
  TuiAutofilledModule = __decorate([
7
8
  NgModule({
8
- declarations: [TuiAutofilledDirective],
9
9
  exports: [TuiAutofilledDirective],
10
+ entryComponents: [TuiAutofilledStyleComponent],
11
+ declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],
10
12
  })
11
13
  ], TuiAutofilledModule);
12
14
  export { TuiAutofilledModule };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBTTlELElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFKL0IsUUFBUSxDQUFDO1FBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDcEMsQ0FBQztHQUNXLG1CQUFtQixDQUFHO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWREaXJlY3RpdmV9IGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1R1aUF1dG9maWxsZWREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlBdXRvZmlsbGVkRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZE1vZHVsZSB7fVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBT3pFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFML0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7UUFDakMsZUFBZSxFQUFFLENBQUMsMkJBQTJCLENBQUM7UUFDOUMsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUM7S0FDdEUsQ0FBQztHQUNXLG1CQUFtQixDQUFHO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWREaXJlY3RpdmV9IGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnR9IGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtUdWlBdXRvZmlsbGVkRGlyZWN0aXZlXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUF1dG9maWxsZWREaXJlY3RpdmUsIFR1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9maWxsZWRNb2R1bGUge31cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './autofilled.directive';
2
2
  export * from './autofilled.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvZmlsbGVkLm1vZHVsZSc7XG4iXX0=
3
+ export * from './autofilled-style.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZmlsbGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9maWxsZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuIl19
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Directive } from '@angular/core';
3
3
  /**
4
4
  * Blank directive to query for {@link TemplateRef}
5
- * TODO: Migrate everything to this directive
5
+ * TODO: 3.0 Migrate everything to this directive
6
6
  */
7
7
  let TuiItemDirective = class TuiItemDirective {
8
8
  };
@@ -12,4 +12,4 @@ TuiItemDirective = __decorate([
12
12
  })
13
13
  ], TuiItemDirective);
14
14
  export { TuiItemDirective };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaXRlbS8iLCJzb3VyY2VzIjpbIml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDOzs7R0FHRztBQUlILElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0NBQUcsQ0FBQTtBQUFuQixnQkFBZ0I7SUFINUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHNCQUFzQjtLQUNuQyxDQUFDO0dBQ1csZ0JBQWdCLENBQUc7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJsYW5rIGRpcmVjdGl2ZSB0byBxdWVyeSBmb3Ige0BsaW5rIFRlbXBsYXRlUmVmfVxuICogVE9ETzogTWlncmF0ZSBldmVyeXRoaW5nIHRvIHRoaXMgZGlyZWN0aXZlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbdHVpSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJdGVtRGlyZWN0aXZlIHt9XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaXRlbS8iLCJzb3VyY2VzIjpbIml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDOzs7R0FHRztBQUlILElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0NBQUcsQ0FBQTtBQUFuQixnQkFBZ0I7SUFINUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHNCQUFzQjtLQUNuQyxDQUFDO0dBQ1csZ0JBQWdCLENBQUc7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJsYW5rIGRpcmVjdGl2ZSB0byBxdWVyeSBmb3Ige0BsaW5rIFRlbXBsYXRlUmVmfVxuICogVE9ETzogMy4wIE1pZ3JhdGUgZXZlcnl0aGluZyB0byB0aGlzIGRpcmVjdGl2ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3R1aUl0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSXRlbURpcmVjdGl2ZSB7fVxuIl19
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import { startWith } from 'rxjs/operators';
4
4
  /**
5
5
  * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
6
- * TODO: rename function in 3.0. The name should be shorter.
6
+ * TODO: 3.0 name should be shorter.
7
7
  */
8
8
  export function tuiReplayedValueChangesFrom(control) {
9
9
  return new Observable(subscriber => {
@@ -13,4 +13,4 @@ export function tuiReplayedValueChangesFrom(control) {
13
13
  control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);
14
14
  });
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWNvbnRyb2wtdmFsdWUtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMvIiwic291cmNlcyI6WyJyZXBsYXktY29udHJvbC12YWx1ZS1jaGFuZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsT0FBbUQ7SUFFbkQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUN4QztRQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlWYWx1ZUNoYW5nZXNFeGNlcHRpb259IGZyb20gJ0B0YWlnYS11aS9jZGsvZXhjZXB0aW9ucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBUdXJucyBBYnN0cmFjdENvbnRyb2wvQWJzdHJhY3QtY29udHJvbC1kaXJlY3RpdmUgdmFsdWVDaGFuZ2VzIGludG8gUmVwbGF5U3ViamVjdCgxKVxuICogVE9ETzogcmVuYW1lIGZ1bmN0aW9uIGluIDMuMC4gVGhlIG5hbWUgc2hvdWxkIGJlIHNob3J0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb208VD4oXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlLFxuKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHVpVmFsdWVDaGFuZ2VzRXhjZXB0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWNvbnRyb2wtdmFsdWUtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMvIiwic291cmNlcyI6WyJyZXBsYXktY29udHJvbC12YWx1ZS1jaGFuZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsT0FBbUQ7SUFFbkQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUN4QztRQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlWYWx1ZUNoYW5nZXNFeGNlcHRpb259IGZyb20gJ0B0YWlnYS11aS9jZGsvZXhjZXB0aW9ucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBUdXJucyBBYnN0cmFjdENvbnRyb2wvQWJzdHJhY3QtY29udHJvbC1kaXJlY3RpdmUgdmFsdWVDaGFuZ2VzIGludG8gUmVwbGF5U3ViamVjdCgxKVxuICogVE9ETzogMy4wIG5hbWUgc2hvdWxkIGJlIHNob3J0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb208VD4oXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlLFxuKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHVpVmFsdWVDaGFuZ2VzRXhjZXB0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xufVxuIl19
@@ -4,6 +4,7 @@ export * from './default-renderer';
4
4
  export * from './dialogs';
5
5
  export * from './focusable-item-accessor';
6
6
  export * from './is-android';
7
+ export * from './is-apple';
7
8
  export * from './is-cypress';
8
9
  export * from './is-ios';
9
10
  export * from './is-mobile';
@@ -14,4 +15,4 @@ export * from './take-only-trusted-events';
14
15
  export * from './touch-supported';
15
16
  export * from './window-height';
16
17
  export * from './zoom-options';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0tYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY3lwcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWlvcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW1vYmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZWQtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Nhbml0aXplcic7XG5leHBvcnQgKiBmcm9tICcuL3N3aXBlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWtlLW9ubHktdHJ1c3RlZC1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b3VjaC1zdXBwb3J0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3ctaGVpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vem9vbS1vcHRpb25zJztcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0tYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtYXBwbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jeXByZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW9zJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpcGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rha2Utb25seS10cnVzdGVkLWV2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RvdWNoLXN1cHBvcnRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy1oZWlnaHQnO1xuZXhwb3J0ICogZnJvbSAnLi96b29tLW9wdGlvbnMnO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { NAVIGATOR } from '@ng-web-apis/common';
3
+ import { isApple } from '@taiga-ui/cdk/utils';
4
+ export const TUI_IS_APPLE = new InjectionToken('Apple(safari/webkit) detection', { factory: () => isApple(inject(NAVIGATOR)) });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXBwbGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImlzLWFwcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUMxQyxnQ0FBZ0MsRUFDaEMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOQVZJR0FUT1J9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtpc0FwcGxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19BUFBMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgICAnQXBwbGUoc2FmYXJpL3dlYmtpdCkgZGV0ZWN0aW9uJyxcbiAgICB7ZmFjdG9yeTogKCkgPT4gaXNBcHBsZShpbmplY3QoTkFWSUdBVE9SKSl9LFxuKTtcbiJdfQ==
@@ -1,9 +1,7 @@
1
1
  import { inject, InjectionToken } from '@angular/core';
2
- import { NAVIGATOR, USER_AGENT } from '@ng-web-apis/common';
3
- const IOS_REG_EXP = /ipad|iphone|ipod/;
2
+ import { NAVIGATOR } from '@ng-web-apis/common';
3
+ import { isIos } from '@taiga-ui/cdk/utils';
4
4
  export const TUI_IS_IOS = new InjectionToken('iOS browser detection', {
5
- factory: () => IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()) ||
6
- (inject(USER_AGENT).toLowerCase().includes('apple') &&
7
- inject(NAVIGATOR).maxTouchPoints > 1),
5
+ factory: () => isIos(inject(NAVIGATOR)),
8
6
  });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsdUJBQXVCLEVBQUU7SUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNWLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDL0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7Q0FDaEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkFWSUdBVE9SLCBVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcblxuY29uc3QgSU9TX1JFR19FWFAgPSAvaXBhZHxpcGhvbmV8aXBvZC87XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfSU9TID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdpT1MgYnJvd3NlciBkZXRlY3Rpb24nLCB7XG4gICAgZmFjdG9yeTogKCkgPT5cbiAgICAgICAgSU9TX1JFR19FWFAudGVzdChpbmplY3QoVVNFUl9BR0VOVCkudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgKGluamVjdChVU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdhcHBsZScpICYmXG4gICAgICAgICAgICBpbmplY3QoTkFWSUdBVE9SKS5tYXhUb3VjaFBvaW50cyA+IDEpLFxufSk7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJpcy1pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsdUJBQXVCLEVBQUU7SUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDMUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkFWSUdBVE9SfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7aXNJb3N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX0lPUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignaU9TIGJyb3dzZXIgZGV0ZWN0aW9uJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGlzSW9zKGluamVjdChOQVZJR0FUT1IpKSxcbn0pO1xuIl19
@@ -1,6 +1,6 @@
1
1
  export * from './is-edge';
2
2
  export * from './is-edge-older-than';
3
3
  export * from './is-firefox';
4
- export * from './is-IE';
4
+ export * from './is-ie';
5
5
  export * from './is-safari';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1lZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZWRnZS1vbGRlci10aGFuJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZmlyZWZveCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLUlFJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtc2FmYXJpJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1lZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZWRnZS1vbGRlci10aGFuJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZmlyZWZveCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWllJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtc2FmYXJpJztcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export function isIE(userAgent) {
2
2
  return userAgent.toLowerCase().includes('trident');
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtSUUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpcy1JRS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLFNBQWlCO0lBQ2xDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzSUUodXNlckFnZW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3RyaWRlbnQnKTtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2Jyb3dzZXIvIiwic291cmNlcyI6WyJpcy1pZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLFNBQWlCO0lBQ2xDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzSUUodXNlckFnZW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3RyaWRlbnQnKTtcbn1cbiJdfQ==
@@ -1,4 +1,6 @@
1
1
  /**
2
+ * @deprecated: use native element.focus()
3
+ * TODO: remove in v3.0
2
4
  * Focuses or blurs and element
3
5
  *
4
6
  * @param element native element
@@ -13,4 +15,4 @@ export function setNativeFocused(element, focused = true, preventScroll = false)
13
15
  element.blur();
14
16
  }
15
17
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5hdGl2ZS1mb2N1c2VkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbInNldC1uYXRpdmUtZm9jdXNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQXlCLEVBQ3pCLFVBQW1CLElBQUksRUFDdkIsZ0JBQXlCLEtBQUs7SUFFOUIsSUFBSSxPQUFPLEVBQUU7UUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQztLQUNsQztTQUFNO1FBQ0gsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ2xCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm9jdXNlcyBvciBibHVycyBhbmQgZWxlbWVudFxuICpcbiAqIEBwYXJhbSBlbGVtZW50IG5hdGl2ZSBlbGVtZW50XG4gKiBAcGFyYW0gZm9jdXNlZCBib29sZWFuIGZvY3VzZWQgc3RhdGVcbiAqIEBwYXJhbSBwcmV2ZW50U2Nyb2xsIG9wdGlvbmFsIGZsYWcgdG8gcHJldmVudCBuYXRpdmUgc2Nyb2xsIHRvIHRoZSBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXROYXRpdmVGb2N1c2VkKFxuICAgIGVsZW1lbnQ6IEhUTUxPclNWR0VsZW1lbnQsXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgcHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlLFxuKTogdm9pZCB7XG4gICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuYmx1cigpO1xuICAgIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5hdGl2ZS1mb2N1c2VkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cy8iLCJzb3VyY2VzIjpbInNldC1uYXRpdmUtZm9jdXNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsT0FBeUIsRUFDekIsVUFBbUIsSUFBSSxFQUN2QixnQkFBeUIsS0FBSztJQUU5QixJQUFJLE9BQU8sRUFBRTtRQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDO0tBQ2xDO1NBQU07UUFDSCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIG5hdGl2ZSBlbGVtZW50LmZvY3VzKClcbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKiBGb2N1c2VzIG9yIGJsdXJzIGFuZCBlbGVtZW50XG4gKlxuICogQHBhcmFtIGVsZW1lbnQgbmF0aXZlIGVsZW1lbnRcbiAqIEBwYXJhbSBmb2N1c2VkIGJvb2xlYW4gZm9jdXNlZCBzdGF0ZVxuICogQHBhcmFtIHByZXZlbnRTY3JvbGwgb3B0aW9uYWwgZmxhZyB0byBwcmV2ZW50IG5hdGl2ZSBzY3JvbGwgdG8gdGhlIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldE5hdGl2ZUZvY3VzZWQoXG4gICAgZWxlbWVudDogSFRNTE9yU1ZHRWxlbWVudCxcbiAgICBmb2N1c2VkOiBib29sZWFuID0gdHJ1ZSxcbiAgICBwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UsXG4pOiB2b2lkIHtcbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICBlbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5ibHVyKCk7XG4gICAgfVxufVxuIl19