@taiga-ui/cdk 2.20.0 → 2.24.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 (204) hide show
  1. package/README.md +7 -3
  2. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  3. package/abstract/theme-switcher.d.ts +2 -1
  4. package/bundles/taiga-ui-cdk-abstract.umd.js +29 -15
  5. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
  7. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -1
  9. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +1 -1
  10. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
  11. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +1 -1
  12. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +13 -31
  13. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +2 -2
  15. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-directives-pan.umd.js +266 -0
  17. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -0
  18. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +16 -0
  19. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -0
  20. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +266 -0
  21. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -0
  22. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +16 -0
  23. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -0
  24. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +269 -0
  25. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -0
  26. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +16 -0
  27. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -0
  28. package/bundles/taiga-ui-cdk-directives.umd.js +28 -4
  29. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  31. package/bundles/taiga-ui-cdk-services.umd.js +154 -5
  32. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-services.umd.min.js +2 -2
  34. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-tokens.umd.js +16 -4
  36. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  38. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-utils-dom.umd.js +1 -3
  40. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +17 -0
  43. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js +1 -1
  45. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  46. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  47. package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
  48. package/directives/autofilled/autofilled.directive.d.ts +4 -5
  49. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  50. package/directives/index.d.ts +3 -0
  51. package/directives/pan/index.d.ts +2 -0
  52. package/directives/pan/package.json +13 -0
  53. package/directives/pan/pan.directive.d.ts +5 -0
  54. package/directives/pan/pan.module.d.ts +5 -0
  55. package/directives/pan/taiga-ui-cdk-directives-pan.d.ts +4 -0
  56. package/directives/pan/taiga-ui-cdk-directives-pan.metadata.json +1 -0
  57. package/directives/swipe/index.d.ts +2 -0
  58. package/directives/swipe/package.json +13 -0
  59. package/directives/swipe/swipe.directive.d.ts +5 -0
  60. package/directives/swipe/swipe.module.d.ts +5 -0
  61. package/directives/swipe/taiga-ui-cdk-directives-swipe.d.ts +4 -0
  62. package/directives/swipe/taiga-ui-cdk-directives-swipe.metadata.json +1 -0
  63. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  64. package/directives/zoom/index.d.ts +2 -0
  65. package/directives/zoom/package.json +13 -0
  66. package/directives/zoom/taiga-ui-cdk-directives-zoom.d.ts +4 -0
  67. package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +1 -0
  68. package/directives/zoom/zoom.directive.d.ts +5 -0
  69. package/directives/zoom/zoom.module.d.ts +5 -0
  70. package/esm2015/abstract/control.js +7 -5
  71. package/esm2015/abstract/interactive.js +9 -6
  72. package/esm2015/abstract/theme-switcher.js +17 -7
  73. package/esm2015/components/dialog-host/dialog-host.component.js +1 -1
  74. package/esm2015/components/portal-host/portal-host.component.js +1 -1
  75. package/esm2015/directives/autofilled/autofilled.directive.js +11 -31
  76. package/esm2015/directives/index.js +4 -1
  77. package/esm2015/directives/pan/index.js +3 -0
  78. package/esm2015/directives/pan/pan.directive.js +22 -0
  79. package/esm2015/directives/pan/pan.module.js +16 -0
  80. package/esm2015/directives/pan/taiga-ui-cdk-directives-pan.js +5 -0
  81. package/esm2015/directives/swipe/index.js +3 -0
  82. package/esm2015/directives/swipe/swipe.directive.js +22 -0
  83. package/esm2015/directives/swipe/swipe.module.js +16 -0
  84. package/esm2015/directives/swipe/taiga-ui-cdk-directives-swipe.js +5 -0
  85. package/esm2015/directives/zoom/index.js +3 -0
  86. package/esm2015/directives/zoom/taiga-ui-cdk-directives-zoom.js +5 -0
  87. package/esm2015/directives/zoom/zoom.directive.js +25 -0
  88. package/esm2015/directives/zoom/zoom.module.js +16 -0
  89. package/esm2015/interfaces/index.js +1 -1
  90. package/esm2015/interfaces/swipe.js +1 -0
  91. package/esm2015/interfaces/zoom.js +1 -0
  92. package/esm2015/services/hovered.service.js +2 -2
  93. package/esm2015/services/index.js +4 -1
  94. package/esm2015/services/pan.service.js +35 -0
  95. package/esm2015/services/swipe.service.js +52 -0
  96. package/esm2015/services/zoom.service.js +55 -0
  97. package/esm2015/tokens/active-element.js +4 -5
  98. package/esm2015/tokens/index.js +3 -1
  99. package/esm2015/tokens/swipe-options.js +5 -0
  100. package/esm2015/tokens/zoom-options.js +7 -0
  101. package/esm2015/utils/dom/contains-or-after.js +2 -4
  102. package/esm2015/utils/miscellaneous/distance-between-touches.js +4 -0
  103. package/esm2015/utils/miscellaneous/fallback-value.js +2 -1
  104. package/esm2015/utils/miscellaneous/get-swipe-direction.js +9 -0
  105. package/esm2015/utils/miscellaneous/index.js +3 -1
  106. package/esm5/abstract/control.js +7 -5
  107. package/esm5/abstract/interactive.js +9 -6
  108. package/esm5/abstract/theme-switcher.js +15 -5
  109. package/esm5/components/dialog-host/dialog-host.component.js +1 -1
  110. package/esm5/components/portal-host/portal-host.component.js +1 -1
  111. package/esm5/directives/autofilled/autofilled.directive.js +14 -33
  112. package/esm5/directives/index.js +4 -1
  113. package/esm5/directives/pan/index.js +3 -0
  114. package/esm5/directives/pan/pan.directive.js +23 -0
  115. package/esm5/directives/pan/pan.module.js +19 -0
  116. package/esm5/directives/pan/taiga-ui-cdk-directives-pan.js +5 -0
  117. package/esm5/directives/swipe/index.js +3 -0
  118. package/esm5/directives/swipe/swipe.directive.js +23 -0
  119. package/esm5/directives/swipe/swipe.module.js +19 -0
  120. package/esm5/directives/swipe/taiga-ui-cdk-directives-swipe.js +5 -0
  121. package/esm5/directives/zoom/index.js +3 -0
  122. package/esm5/directives/zoom/taiga-ui-cdk-directives-zoom.js +5 -0
  123. package/esm5/directives/zoom/zoom.directive.js +26 -0
  124. package/esm5/directives/zoom/zoom.module.js +19 -0
  125. package/esm5/interfaces/index.js +1 -1
  126. package/esm5/interfaces/swipe.js +1 -0
  127. package/esm5/interfaces/zoom.js +1 -0
  128. package/esm5/services/hovered.service.js +2 -2
  129. package/esm5/services/index.js +4 -1
  130. package/esm5/services/pan.service.js +45 -0
  131. package/esm5/services/swipe.service.js +60 -0
  132. package/esm5/services/zoom.service.js +65 -0
  133. package/esm5/tokens/active-element.js +5 -5
  134. package/esm5/tokens/index.js +3 -1
  135. package/esm5/tokens/swipe-options.js +5 -0
  136. package/esm5/tokens/zoom-options.js +7 -0
  137. package/esm5/utils/dom/contains-or-after.js +2 -4
  138. package/esm5/utils/miscellaneous/distance-between-touches.js +5 -0
  139. package/esm5/utils/miscellaneous/fallback-value.js +2 -1
  140. package/esm5/utils/miscellaneous/get-swipe-direction.js +9 -0
  141. package/esm5/utils/miscellaneous/index.js +3 -1
  142. package/fesm2015/taiga-ui-cdk-abstract.js +27 -14
  143. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  144. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +1 -1
  145. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  146. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +10 -30
  147. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  148. package/fesm2015/taiga-ui-cdk-directives-pan.js +40 -0
  149. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -0
  150. package/fesm2015/taiga-ui-cdk-directives-swipe.js +40 -0
  151. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -0
  152. package/fesm2015/taiga-ui-cdk-directives-zoom.js +43 -0
  153. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -0
  154. package/fesm2015/taiga-ui-cdk-directives.js +3 -0
  155. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  156. package/fesm2015/taiga-ui-cdk-services.js +125 -6
  157. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  158. package/fesm2015/taiga-ui-cdk-tokens.js +14 -5
  159. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  160. package/fesm2015/taiga-ui-cdk-utils-dom.js +1 -3
  161. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  162. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +15 -1
  163. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  164. package/fesm5/taiga-ui-cdk-abstract.js +26 -12
  165. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  166. package/fesm5/taiga-ui-cdk-components-dialog-host.js +1 -1
  167. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  168. package/fesm5/taiga-ui-cdk-directives-autofilled.js +13 -32
  169. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  170. package/fesm5/taiga-ui-cdk-directives-pan.js +44 -0
  171. package/fesm5/taiga-ui-cdk-directives-pan.js.map +1 -0
  172. package/fesm5/taiga-ui-cdk-directives-swipe.js +44 -0
  173. package/fesm5/taiga-ui-cdk-directives-swipe.js.map +1 -0
  174. package/fesm5/taiga-ui-cdk-directives-zoom.js +47 -0
  175. package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -0
  176. package/fesm5/taiga-ui-cdk-directives.js +3 -0
  177. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  178. package/fesm5/taiga-ui-cdk-services.js +153 -6
  179. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  180. package/fesm5/taiga-ui-cdk-tokens.js +15 -5
  181. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  182. package/fesm5/taiga-ui-cdk-utils-dom.js +1 -3
  183. package/fesm5/taiga-ui-cdk-utils-dom.js.map +1 -1
  184. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +16 -1
  185. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  186. package/interfaces/index.d.ts +2 -0
  187. package/interfaces/swipe.d.ts +9 -0
  188. package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
  189. package/interfaces/zoom.d.ts +9 -0
  190. package/package.json +3 -3
  191. package/services/index.d.ts +3 -0
  192. package/services/pan.service.d.ts +8 -0
  193. package/services/swipe.service.d.ts +9 -0
  194. package/services/taiga-ui-cdk-services.metadata.json +1 -1
  195. package/services/zoom.service.d.ts +6 -0
  196. package/tokens/index.d.ts +2 -0
  197. package/tokens/swipe-options.d.ts +3 -0
  198. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  199. package/tokens/zoom-options.d.ts +3 -0
  200. package/utils/miscellaneous/distance-between-touches.d.ts +1 -0
  201. package/utils/miscellaneous/fallback-value.d.ts +1 -0
  202. package/utils/miscellaneous/get-swipe-direction.d.ts +2 -0
  203. package/utils/miscellaneous/index.d.ts +2 -0
  204. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.metadata.json +1 -1
@@ -0,0 +1,60 @@
1
+ import { __decorate, __extends, __param, __read } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ElementRef, Inject, Injectable } from '@angular/core';
4
+ import { typedFromEvent } from '@taiga-ui/cdk/observables';
5
+ import { TUI_SWIPE_OPTIONS } from '@taiga-ui/cdk/tokens';
6
+ import { getSwipeDirection, isPresent } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { merge, Observable } from 'rxjs';
8
+ import { filter, map, pairwise } from 'rxjs/operators';
9
+ /**
10
+ * @dynamic
11
+ */
12
+ var TuiSwipeService = /** @class */ (function (_super) {
13
+ __extends(TuiSwipeService, _super);
14
+ function TuiSwipeService(_a, _b, documentRef) {
15
+ var nativeElement = _a.nativeElement;
16
+ var timeout = _b.timeout, threshold = _b.threshold;
17
+ return _super.call(this, function (subscriber) {
18
+ merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }), typedFromEvent(documentRef, 'touchend'))
19
+ .pipe(pairwise(), filter(function (_a) {
20
+ var _b = __read(_a, 2), first = _b[0], second = _b[1];
21
+ return !!first.touches.length &&
22
+ first.touches[0].identifier ===
23
+ second.changedTouches[0].identifier;
24
+ }), map(function (_a) {
25
+ var _b = __read(_a, 2), start = _b[0], end = _b[1];
26
+ var startX = start.touches[0].clientX;
27
+ var startY = start.touches[0].clientY;
28
+ var endX = end.changedTouches[0].clientX;
29
+ var endY = end.changedTouches[0].clientY;
30
+ var distanceX = startX - endX;
31
+ var distanceY = startY - endY;
32
+ var duration = end.timeStamp - start.timeStamp;
33
+ if ((Math.abs(distanceX) > threshold ||
34
+ Math.abs(distanceY) > threshold) &&
35
+ duration < timeout) {
36
+ return {
37
+ direction: getSwipeDirection(distanceX, distanceY),
38
+ events: [start, end],
39
+ };
40
+ }
41
+ return null;
42
+ }), filter(isPresent))
43
+ .subscribe(subscriber);
44
+ }) || this;
45
+ }
46
+ TuiSwipeService.ctorParameters = function () { return [
47
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
48
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_SWIPE_OPTIONS,] }] },
49
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
50
+ ]; };
51
+ TuiSwipeService = __decorate([
52
+ Injectable(),
53
+ __param(0, Inject(ElementRef)),
54
+ __param(1, Inject(TUI_SWIPE_OPTIONS)),
55
+ __param(2, Inject(DOCUMENT))
56
+ ], TuiSwipeService);
57
+ return TuiSwipeService;
58
+ }(Observable));
59
+ export { TuiSwipeService };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJzd2lwZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQ7O0dBRUc7QUFFSDtJQUFxQyxtQ0FBb0I7SUFDckQseUJBQ3dCLEVBQW9DLEVBQzdCLEVBQXFDLEVBQzlDLFdBQXFCO1lBRmxCLGdDQUFhO1lBQ04sb0JBQU8sRUFBRSx3QkFBUztlQUc5QyxrQkFBTSxVQUFBLFVBQVU7WUFDWixLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDNUQsY0FBYyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FDMUM7aUJBQ0ksSUFBSSxDQUNELFFBQVEsRUFBRSxFQUNWLE1BQU0sQ0FDRixVQUFDLEVBQWU7b0JBQWYsa0JBQWUsRUFBZCxhQUFLLEVBQUUsY0FBTTtnQkFDWCxPQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU07b0JBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTt3QkFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO1lBRnZDLENBRXVDLENBQzlDLEVBQ0QsR0FBRyxDQUFDLFVBQUMsRUFBWTtvQkFBWixrQkFBWSxFQUFYLGFBQUssRUFBRSxXQUFHO2dCQUNaLElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDeEMsSUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQzNDLElBQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUUzQyxJQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxJQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBRWpELElBQ0ksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVM7b0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNwQyxRQUFRLEdBQUcsT0FBTyxFQUNwQjtvQkFDRSxPQUFPO3dCQUNILFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUNsRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUE2QjtxQkFDbkQsQ0FBQztpQkFDTDtnQkFFRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsU0FBUyxDQUFDLENBQ3BCO2lCQUNBLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7SUFDTixDQUFDOztnQkE1Q3dDLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxVQUFVO2dEQUNqQixNQUFNLFNBQUMsaUJBQWlCO2dCQUNNLFFBQVEsdUJBQXRDLE1BQU0sU0FBQyxRQUFROztJQUpYLGVBQWU7UUFEM0IsVUFBVSxFQUFFO1FBR0osV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtPQUpaLGVBQWUsQ0ErQzNCO0lBQUQsc0JBQUM7Q0FBQSxBQS9DRCxDQUFxQyxVQUFVLEdBK0M5QztTQS9DWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpU3dpcGUsIFR1aVN3aXBlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfU1dJUEVfT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtnZXRTd2lwZURpcmVjdGlvbiwgaXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBwYWlyd2lzZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlTd2lwZVNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPFR1aVN3aXBlPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9TV0lQRV9PUFRJT05TKSB7dGltZW91dCwgdGhyZXNob2xkfTogVHVpU3dpcGVPcHRpb25zLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2hlbmQnKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgKFtmaXJzdCwgc2Vjb25kXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIWZpcnN0LnRvdWNoZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QudG91Y2hlc1swXS5pZGVudGlmaWVyID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBnZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihpc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { __decorate, __extends, __param } from "tslib";
2
+ import { ElementRef, Inject, Injectable } from '@angular/core';
3
+ import { preventDefault, typedFromEvent } from '@taiga-ui/cdk/observables';
4
+ import { TUI_ZOOM_OPTIONS } from '@taiga-ui/cdk/tokens';
5
+ import { distanceBetweenTouches } from '@taiga-ui/cdk/utils';
6
+ import { merge, Observable } from 'rxjs';
7
+ import { filter, map, scan, switchMap, takeUntil } from 'rxjs/operators';
8
+ var TOUCH_SENSITIVITY = 0.01;
9
+ // @dynamic
10
+ var TuiZoomService = /** @class */ (function (_super) {
11
+ __extends(TuiZoomService, _super);
12
+ function TuiZoomService(_a, _b) {
13
+ var nativeElement = _a.nativeElement;
14
+ var wheelSensitivity = _b.wheelSensitivity;
15
+ return _super.call(this, function (subscriber) {
16
+ merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(filter(function (_a) {
17
+ var touches = _a.touches;
18
+ return touches.length > 1;
19
+ }), switchMap(function (startEvent) {
20
+ return typedFromEvent(nativeElement, 'touchmove', {
21
+ passive: true,
22
+ }).pipe(takeUntil(typedFromEvent(nativeElement, 'touchend')), scan(function (prev, event) {
23
+ var distance = distanceBetweenTouches(event);
24
+ return {
25
+ event: event,
26
+ distance: distance,
27
+ delta: (distance - prev.distance) *
28
+ TOUCH_SENSITIVITY,
29
+ };
30
+ }, {
31
+ event: startEvent,
32
+ distance: distanceBetweenTouches(startEvent),
33
+ delta: 0,
34
+ }), map(function (_a) {
35
+ var event = _a.event, delta = _a.delta;
36
+ event.preventDefault();
37
+ var clientX = (event.touches[0].clientX +
38
+ event.touches[1].clientX) /
39
+ 2;
40
+ var clientY = (event.touches[0].clientY +
41
+ event.touches[1].clientY) /
42
+ 2;
43
+ return { clientX: clientX, clientY: clientY, delta: delta, event: event };
44
+ }));
45
+ })), typedFromEvent(nativeElement, 'wheel', { passive: false }).pipe(preventDefault(), map(function (wheel) { return ({
46
+ clientX: wheel.clientX,
47
+ clientY: wheel.clientY,
48
+ delta: -wheel.deltaY * wheelSensitivity,
49
+ event: wheel,
50
+ }); }))).subscribe(subscriber);
51
+ }) || this;
52
+ }
53
+ TuiZoomService.ctorParameters = function () { return [
54
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
55
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ZOOM_OPTIONS,] }] }
56
+ ]; };
57
+ TuiZoomService = __decorate([
58
+ Injectable(),
59
+ __param(0, Inject(ElementRef)),
60
+ __param(1, Inject(TUI_ZOOM_OPTIONS))
61
+ ], TuiZoomService);
62
+ return TuiZoomService;
63
+ }(Observable));
64
+ export { TuiZoomService };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbInpvb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUUvQixXQUFXO0FBRVg7SUFBb0Msa0NBQW1CO0lBQ25ELHdCQUN3QixFQUF3QyxFQUNsQyxFQUFrQztZQUR2QyxnQ0FBYTtZQUNQLHNDQUFnQjtlQUUzQyxrQkFBTSxVQUFBLFVBQVU7WUFDWixLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELE1BQU0sQ0FBQyxVQUFDLEVBQVM7b0JBQVIsb0JBQU87Z0JBQU0sT0FBQSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBbEIsQ0FBa0IsQ0FBQyxFQUN6QyxTQUFTLENBQUMsVUFBQSxVQUFVO2dCQUNoQixPQUFBLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFO29CQUN2QyxPQUFPLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSCxTQUFTLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUNwRCxJQUFJLENBQ0EsVUFBQyxJQUFJLEVBQUUsS0FBSztvQkFDUixJQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFFL0MsT0FBTzt3QkFDSCxLQUFLLE9BQUE7d0JBQ0wsUUFBUSxVQUFBO3dCQUNSLEtBQUssRUFDRCxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDOzRCQUMxQixpQkFBaUI7cUJBQ3hCLENBQUM7Z0JBQ04sQ0FBQyxFQUNEO29CQUNJLEtBQUssRUFBRSxVQUFVO29CQUNqQixRQUFRLEVBQUUsc0JBQXNCLENBQUMsVUFBVSxDQUFDO29CQUM1QyxLQUFLLEVBQUUsQ0FBQztpQkFDWCxDQUNKLEVBQ0QsR0FBRyxDQUFDLFVBQUMsRUFBYzt3QkFBYixnQkFBSyxFQUFFLGdCQUFLO29CQUNkLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFFdkIsSUFBTSxPQUFPLEdBQ1QsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87d0JBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO3dCQUM3QixDQUFDLENBQUM7b0JBQ04sSUFBTSxPQUFPLEdBQ1QsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87d0JBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO3dCQUM3QixDQUFDLENBQUM7b0JBRU4sT0FBTyxFQUFDLE9BQU8sU0FBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLEtBQUssT0FBQSxFQUFFLEtBQUssT0FBQSxFQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUNMO1lBcENELENBb0NDLENBQ0osQ0FDSixFQUNELGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN6RCxjQUFjLEVBQUUsRUFDaEIsR0FBRyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsQ0FBQztnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0I7Z0JBQ3ZDLEtBQUssRUFBRSxLQUFLO2FBQ2YsQ0FBQyxFQUxXLENBS1gsQ0FBQyxDQUNOLENBQ0osQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7Z0JBMUR3QyxVQUFVLHVCQUE5QyxNQUFNLFNBQUMsVUFBVTtnREFDakIsTUFBTSxTQUFDLGdCQUFnQjs7SUFIbkIsY0FBYztRQUQxQixVQUFVLEVBQUU7UUFHSixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO09BSHBCLGNBQWMsQ0E2RDFCO0lBQUQscUJBQUM7Q0FBQSxBQTdERCxDQUFvQyxVQUFVLEdBNkQ3QztTQTdEWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlab29tLCBUdWlab29tT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7cHJldmVudERlZmF1bHQsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX1pPT01fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtkaXN0YW5jZUJldHdlZW5Ub3VjaGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc2Nhbiwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgVE9VQ0hfU0VOU0lUSVZJVFkgPSAwLjAxO1xuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aVpvb21TZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlab29tPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfWk9PTV9PUFRJT05TKSB7d2hlZWxTZW5zaXRpdml0eX06IFR1aVpvb21PcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHN0YXJ0RXZlbnQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaG1vdmUnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJldiwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhldmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXN0YW5jZSAtIHByZXYuZGlzdGFuY2UpICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVE9VQ0hfU0VOU0lUSVZJVFksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiBkaXN0YW5jZUJldHdlZW5Ub3VjaGVzKHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHtldmVudCwgZGVsdGF9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50WCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudG91Y2hlc1swXS5jbGllbnRYICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC50b3VjaGVzWzFdLmNsaWVudFgpIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWVudFkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudG91Y2hlc1sxXS5jbGllbnRZKSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7Y2xpZW50WCwgY2xpZW50WSwgZGVsdGEsIGV2ZW50fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnd2hlZWwnLCB7cGFzc2l2ZTogZmFsc2V9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgICAgICBtYXAod2hlZWwgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHdoZWVsLmNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRZOiB3aGVlbC5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IC13aGVlbC5kZWx0YVkgKiB3aGVlbFNlbnNpdGl2aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHdoZWVsLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -39,10 +39,10 @@ export var TUI_ACTIVE_ELEMENT = new InjectionToken('Active element on the docume
39
39
  });
40
40
  // Checks if focusout event should be considered leaving active zone
41
41
  function isValidFocusout(target, removedElement) {
42
- var _a;
42
+ if (removedElement === void 0) { removedElement = null; }
43
43
  return (
44
44
  // Not due to switching tabs/going to DevTools
45
- ((_a = target.ownerDocument) === null || _a === void 0 ? void 0 : _a.activeElement) !== target &&
45
+ getDocumentOrShadowRoot(target).activeElement !== target &&
46
46
  // Not due to button/input becoming disabled
47
47
  !target.disabled &&
48
48
  // Not due to element being removed from DOM
@@ -53,11 +53,11 @@ function shadowRootActiveElement(root) {
53
53
  var target = _a.target;
54
54
  return target;
55
55
  })), typedFromEvent(root, 'focusout').pipe(filter(function (_a) {
56
- var target = _a.target;
57
- return isValidFocusout(target, null);
56
+ var target = _a.target, relatedTarget = _a.relatedTarget;
57
+ return !!relatedTarget && isValidFocusout(target);
58
58
  }), map(function (_a) {
59
59
  var relatedTarget = _a.relatedTarget;
60
60
  return relatedTarget;
61
61
  })));
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImFjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFFLHVCQUF1QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0UsT0FBTyxFQUFDLEtBQUssRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCwrQ0FBK0MsRUFDL0M7SUFDSSxPQUFPLEVBQUU7UUFDTCxJQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFD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QyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVE7WUFBUCxrQkFBTTtRQUFNLE9BQUEsTUFBTTtJQUFOLENBQU0sQ0FBQyxDQUFDLEVBQy9ELGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNqQyxNQUFNLENBQUMsVUFBQyxFQUFRO1lBQVAsa0JBQU07UUFBTSxPQUFBLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO0lBQTdCLENBQTZCLENBQUMsRUFDbkQsR0FBRyxDQUFDLFVBQUMsRUFBZTtZQUFkLGdDQUFhO1FBQU0sT0FBQSxhQUFhO0lBQWIsQ0FBYSxDQUFDLENBQzFDLENBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtnZXRBY3R1YWxUYXJnZXQsIGdldERvY3VtZW50T3JTaGFkb3dSb290fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGUsIG9mLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWFwVG8sXG4gICAgcmVwZWF0V2hlbixcbiAgICBzaGFyZSxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RVSV9SRU1PVkVEX0VMRU1FTlR9IGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcblxuZXhwb3J0IGNvbnN0IFRVSV9BQ1RJVkVfRUxFTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4+KFxuICAgICdBY3RpdmUgZWxlbWVudCBvbiB0aGUgZG9jdW1lbnQgZm9yIEFjdGl2ZVpvbmUnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQkID0gaW5qZWN0KFRVSV9SRU1PVkVEX0VMRU1FTlQpO1xuICAgICAgICAgICAgY29uc3Qgd2luZG93UmVmID0gaW5qZWN0KFdJTkRPVyk7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudFJlZiA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c291dCQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdmb2N1c291dCcpO1xuICAgICAgICAgICAgY29uc3QgZm9jdXNpbiQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdmb2N1c2luJyk7XG4gICAgICAgICAgICBjb25zdCBibHVyJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2JsdXInKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNlZG93biQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdtb3VzZWRvd24nKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNldXAkID0gdHlwZWRGcm9tRXZlbnQod2luZG93UmVmLCAnbW91c2V1cCcpO1xuXG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZWRvd24kKSxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0V2hlbigoKSA9PiBtb3VzZXVwJCksXG4gICAgICAgICAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHJlbW92ZWRFbGVtZW50JCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoW2V2ZW50LCByZW1vdmVkRWxlbWVudF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkRm9jdXNvdXQoZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSwgcmVtb3ZlZEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFt7cmVsYXRlZFRhcmdldH1dKSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGJsdXIkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudFJlZi5hY3RpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubWF0Y2hlcygnaWZyYW1lJykpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZm9jdXNpbiQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldEFjdHVhbFRhcmdldChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb290ID0gZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KSBhcyBEb2N1bWVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QgPT09IGRvY3VtZW50UmVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBvZih0YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290KS5waXBlKHN0YXJ0V2l0aCh0YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChldmVudCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIWRvY3VtZW50UmVmLmFjdGl2ZUVsZW1lbnQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50UmVmLmFjdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50UmVmLmJvZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG9mKGdldEFjdHVhbFRhcmdldChldmVudCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmb2N1c291dCQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aW1lcigwKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8oZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmUoKSk7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG5cbi8vIENoZWNrcyBpZiBmb2N1c291dCBldmVudCBzaG91bGQgYmUgY29uc2lkZXJlZCBsZWF2aW5nIGFjdGl2ZSB6b25lXG5mdW5jdGlvbiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0OiBhbnksIHJlbW92ZWRFbGVtZW50OiBFbGVtZW50IHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc3dpdGNoaW5nIHRhYnMvZ29pbmcgdG8gRGV2VG9vbHNcbiAgICAgICAgdGFyZ2V0Lm93bmVyRG9jdW1lbnQ/LmFjdGl2ZUVsZW1lbnQgIT09IHRhcmdldCAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGJ1dHRvbi9pbnB1dCBiZWNvbWluZyBkaXNhYmxlZFxuICAgICAgICAhdGFyZ2V0LmRpc2FibGVkICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gZWxlbWVudCBiZWluZyByZW1vdmVkIGZyb20gRE9NXG4gICAgICAgICghcmVtb3ZlZEVsZW1lbnQgfHwgIXJlbW92ZWRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gc2hhZG93Um9vdEFjdGl2ZUVsZW1lbnQocm9vdDogRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3VzaW4nKS5waXBlKG1hcCgoe3RhcmdldH0pID0+IHRhcmdldCkpLFxuICAgICAgICB0eXBlZEZyb21FdmVudChyb290LCAnZm9jdXNvdXQnKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCh7dGFyZ2V0fSkgPT4gaXNWYWxpZEZvY3Vzb3V0KHRhcmdldCwgbnVsbCkpLFxuICAgICAgICAgICAgbWFwKCh7cmVsYXRlZFRhcmdldH0pID0+IHJlbGF0ZWRUYXJnZXQpLFxuICAgICAgICApLFxuICAgICk7XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImFjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFFLHVCQUF1QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0UsT0FBTyxFQUFDLEtBQUssRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCwrQ0FBK0MsRUFDL0M7SUFDSSxPQUFPLEVBQUU7UUFDTCxJQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFD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LE9BQU8sS0FBSyxDQUNSLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVE7WUFBUCxrQkFBTTtRQUFNLE9BQUEsTUFBTTtJQUFOLENBQU0sQ0FBQyxDQUFDLEVBQy9ELGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNqQyxNQUFNLENBQ0YsVUFBQyxFQUF1QjtZQUF0QixrQkFBTSxFQUFFLGdDQUFhO1FBQU0sT0FBQSxDQUFDLENBQUMsYUFBYSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFBMUMsQ0FBMEMsQ0FDMUUsRUFDRCxHQUFHLENBQUMsVUFBQyxFQUFlO1lBQWQsZ0NBQWE7UUFBTSxPQUFBLGFBQWE7SUFBYixDQUFhLENBQUMsQ0FDMUMsQ0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge2dldEFjdHVhbFRhcmdldCwgZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3R9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtYXBUbyxcbiAgICByZXBlYXRXaGVuLFxuICAgIHNoYXJlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VFVJX1JFTU9WRURfRUxFTUVOVH0gZnJvbSAnLi9yZW1vdmVkLWVsZW1lbnQnO1xuXG5leHBvcnQgY29uc3QgVFVJX0FDVElWRV9FTEVNRU5UID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RXZlbnRUYXJnZXQgfCBudWxsPj4oXG4gICAgJ0FjdGl2ZSBlbGVtZW50IG9uIHRoZSBkb2N1bWVudCBmb3IgQWN0aXZlWm9uZScsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudCQgPSBpbmplY3QoVFVJX1JFTU9WRURfRUxFTUVOVCk7XG4gICAgICAgICAgICBjb25zdCB3aW5kb3dSZWYgPSBpbmplY3QoV0lORE9XKTtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50UmVmID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICAgICAgICAgIGNvbnN0IGZvY3Vzb3V0JCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2ZvY3Vzb3V0Jyk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2luJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2ZvY3VzaW4nKTtcbiAgICAgICAgICAgIGNvbnN0IGJsdXIkID0gdHlwZWRGcm9tRXZlbnQod2luZG93UmVmLCAnYmx1cicpO1xuICAgICAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ21vdXNlZG93bicpO1xuICAgICAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdtb3VzZXVwJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICBmb2N1c291dCQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNlZG93biQpLFxuICAgICAgICAgICAgICAgICAgICByZXBlYXRXaGVuKCgpID0+IG1vdXNldXAkKSxcbiAgICAgICAgICAgICAgICAgICAgd2l0aExhdGVzdEZyb20ocmVtb3ZlZEVsZW1lbnQkKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChbZXZlbnQsIHJlbW92ZWRFbGVtZW50XSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWRGb2N1c291dChnZXRBY3R1YWxUYXJnZXQoZXZlbnQpLCByZW1vdmVkRWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3tyZWxhdGVkVGFyZ2V0fV0pID0+IHJlbGF0ZWRUYXJnZXQpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgYmx1ciQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGRvY3VtZW50UmVmLmFjdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZWxlbWVudCA9PiAhIWVsZW1lbnQgJiYgZWxlbWVudC5tYXRjaGVzKCdpZnJhbWUnKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmb2N1c2luJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBnZXREb2N1bWVudE9yU2hhZG93Um9vdCh0YXJnZXQpIGFzIERvY3VtZW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm9vdCA9PT0gZG9jdW1lbnRSZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG9mKHRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNoYWRvd1Jvb3RBY3RpdmVFbGVtZW50KHJvb3QpLnBpcGUoc3RhcnRXaXRoKHRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1vdXNlZG93biQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAhZG9jdW1lbnRSZWYuYWN0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRSZWYuYWN0aXZlRWxlbWVudCA9PT0gZG9jdW1lbnRSZWYuYm9keVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gb2YoZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRpbWVyKDApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBUbyhnZXRBY3R1YWxUYXJnZXQoZXZlbnQpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZSgpKTtcbiAgICAgICAgfSxcbiAgICB9LFxuKTtcblxuLy8gQ2hlY2tzIGlmIGZvY3Vzb3V0IGV2ZW50IHNob3VsZCBiZSBjb25zaWRlcmVkIGxlYXZpbmcgYWN0aXZlIHpvbmVcbmZ1bmN0aW9uIGlzVmFsaWRGb2N1c291dCh0YXJnZXQ6IGFueSwgcmVtb3ZlZEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc3dpdGNoaW5nIHRhYnMvZ29pbmcgdG8gRGV2VG9vbHNcbiAgICAgICAgZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KS5hY3RpdmVFbGVtZW50ICE9PSB0YXJnZXQgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBidXR0b24vaW5wdXQgYmVjb21pbmcgZGlzYWJsZWRcbiAgICAgICAgIXRhcmdldC5kaXNhYmxlZCAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGVsZW1lbnQgYmVpbmcgcmVtb3ZlZCBmcm9tIERPTVxuICAgICAgICAoIXJlbW92ZWRFbGVtZW50IHx8ICFyZW1vdmVkRWxlbWVudC5jb250YWlucyh0YXJnZXQpKVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHNoYWRvd1Jvb3RBY3RpdmVFbGVtZW50KHJvb3Q6IERvY3VtZW50KTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldCB8IG51bGw+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHJvb3QsICdmb2N1c2luJykucGlwZShtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpKSxcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3Vzb3V0JykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAoe3RhcmdldCwgcmVsYXRlZFRhcmdldH0pID0+ICEhcmVsYXRlZFRhcmdldCAmJiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKHtyZWxhdGVkVGFyZ2V0fSkgPT4gcmVsYXRlZFRhcmdldCksXG4gICAgICAgICksXG4gICAgKTtcbn1cbiJdfQ==
@@ -10,4 +10,6 @@ export * from './sanitizer';
10
10
  export * from './is-cypress';
11
11
  export * from './take-only-trusted-events';
12
12
  export * from './window-height';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtcmVuZGVyZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0tYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hbmRyb2lkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW9zJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY3lwcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rha2Utb25seS10cnVzdGVkLWV2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy1oZWlnaHQnO1xuIl19
13
+ export * from './swipe-options';
14
+ export * from './zoom-options';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aXZlLWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXJlbmRlcmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9ncyc7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzYWJsZS1pdGVtLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtYW5kcm9pZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWlvcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW1vYmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZWQtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Nhbml0aXplcic7XG5leHBvcnQgKiBmcm9tICcuL2lzLWN5cHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi90YWtlLW9ubHktdHJ1c3RlZC1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3ctaGVpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vc3dpcGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20tb3B0aW9ucyc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export var TUI_SWIPE_OPTIONS = new InjectionToken('Swipe options', {
3
+ factory: function () { return ({ timeout: 500, threshold: 30 }); },
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvdG9rZW5zLyIsInNvdXJjZXMiOlsic3dpcGUtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixlQUFlLEVBQUU7SUFDbEYsT0FBTyxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUMsRUFBL0IsQ0FBK0I7Q0FDakQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVN3aXBlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9TV0lQRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aVN3aXBlT3B0aW9ucz4oJ1N3aXBlIG9wdGlvbnMnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gKHt0aW1lb3V0OiA1MDAsIHRocmVzaG9sZDogMzB9KSxcbn0pO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export var TUI_ZOOM_OPTIONS = new InjectionToken('Zoom options', {
3
+ factory: function () { return ({
4
+ wheelSensitivity: 0.01,
5
+ }); },
6
+ });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJ6b29tLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsY0FBYyxFQUFFO0lBQy9FLE9BQU8sRUFBRSxjQUFNLE9BQUEsQ0FBQztRQUNaLGdCQUFnQixFQUFFLElBQUk7S0FDekIsQ0FBQyxFQUZhLENBRWI7Q0FDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpWm9vbU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfWk9PTV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aVpvb21PcHRpb25zPignWm9vbSBvcHRpb25zJywge1xuICAgIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgIHdoZWVsU2Vuc2l0aXZpdHk6IDAuMDEsXG4gICAgfSksXG59KTtcbiJdfQ==
@@ -1,7 +1,5 @@
1
1
  export function containsOrAfter(current, node) {
2
2
  return (current.contains(node) ||
3
- !!(
4
- // tslint:disable:no-bitwise
5
- (node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)));
3
+ !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING));
6
4
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbnMtb3ItYWZ0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbS8iLCJzb3VyY2VzIjpbImNvbnRhaW5zLW9yLWFmdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBYSxFQUFFLElBQVU7SUFDckQsT0FBTyxDQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztRQUNFLDRCQUE0QjtRQUM1QixDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FDN0UsQ0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb250YWluc09yQWZ0ZXIoY3VycmVudDogTm9kZSwgbm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIGN1cnJlbnQuY29udGFpbnMobm9kZSkgfHxcbiAgICAgICAgISEoXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZTpuby1iaXR3aXNlXG4gICAgICAgICAgICAobm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjdXJyZW50KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKVxuICAgICAgICApXG4gICAgKTtcbn1cbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbnMtb3ItYWZ0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbS8iLCJzb3VyY2VzIjpbImNvbnRhaW5zLW9yLWFmdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBYSxFQUFFLElBQVU7SUFDckQsT0FBTyxDQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FDL0UsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY29udGFpbnNPckFmdGVyKGN1cnJlbnQ6IE5vZGUsIG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBjdXJyZW50LmNvbnRhaW5zKG5vZGUpIHx8XG4gICAgICAgICEhKG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oY3VycmVudCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORylcbiAgICApO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export function distanceBetweenTouches(_a) {
2
+ var touches = _a.touches;
3
+ return Math.hypot(touches[0].clientX - touches[1].clientX, touches[0].clientY - touches[1].clientY);
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzLyIsInNvdXJjZXMiOlsiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxFQUFxQjtRQUFwQixvQkFBTztJQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlblRvdWNoZXMoe3RvdWNoZXN9OiBUb3VjaEV2ZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5oeXBvdChcbiAgICAgICAgdG91Y2hlc1swXS5jbGllbnRYIC0gdG91Y2hlc1sxXS5jbGllbnRYLFxuICAgICAgICB0b3VjaGVzWzBdLmNsaWVudFkgLSB0b3VjaGVzWzFdLmNsaWVudFksXG4gICAgKTtcbn1cbiJdfQ==
@@ -3,8 +3,9 @@ import { isPresent } from './is-present';
3
3
  * If the value is null or undefined, returns default value
4
4
  * @param value
5
5
  * @param fallback alternative fallback
6
+ * @deprecated use nullish coalescing operator
6
7
  */
7
8
  export function fallbackValue(value, fallback) {
8
9
  return isPresent(value) ? value : fallback;
9
10
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stdmFsdWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvIiwic291cmNlcyI6WyJmYWxsYmFjay12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXZDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLEtBQTJCLEVBQUUsUUFBVztJQUNyRSxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNQcmVzZW50fSBmcm9tICcuL2lzLXByZXNlbnQnO1xuXG4vKipcbiAqIElmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgcmV0dXJucyBkZWZhdWx0IHZhbHVlXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBmYWxsYmFjayBhbHRlcm5hdGl2ZSBmYWxsYmFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmFsbGJhY2tWYWx1ZTxUPih2YWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQsIGZhbGxiYWNrOiBUKTogVCB7XG4gICAgcmV0dXJuIGlzUHJlc2VudCh2YWx1ZSkgPyB2YWx1ZSA6IGZhbGxiYWNrO1xufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stdmFsdWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvIiwic291cmNlcyI6WyJmYWxsYmFjay12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXZDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBSSxLQUEyQixFQUFFLFFBQVc7SUFDckUsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzUHJlc2VudH0gZnJvbSAnLi9pcy1wcmVzZW50JztcblxuLyoqXG4gKiBJZiB0aGUgdmFsdWUgaXMgbnVsbCBvciB1bmRlZmluZWQsIHJldHVybnMgZGVmYXVsdCB2YWx1ZVxuICogQHBhcmFtIHZhbHVlXG4gKiBAcGFyYW0gZmFsbGJhY2sgYWx0ZXJuYXRpdmUgZmFsbGJhY2tcbiAqIEBkZXByZWNhdGVkIHVzZSBudWxsaXNoIGNvYWxlc2Npbmcgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhbGxiYWNrVmFsdWU8VD4odmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLCBmYWxsYmFjazogVCk6IFQge1xuICAgIHJldHVybiBpc1ByZXNlbnQodmFsdWUpID8gdmFsdWUgOiBmYWxsYmFjaztcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export function getSwipeDirection(deltaX, deltaY) {
2
+ if (Math.abs(deltaY) > Math.abs(deltaX)) {
3
+ return deltaY > 0 ? 'top' : 'bottom';
4
+ }
5
+ else {
6
+ return deltaX > 0 ? 'left' : 'right';
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN3aXBlLWRpcmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImdldC1zd2lwZS1kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQzVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3JDLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7S0FDeEM7U0FBTTtRQUNILE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDeEM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlTd2lwZURpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN3aXBlRGlyZWN0aW9uKGRlbHRhWDogbnVtYmVyLCBkZWx0YVk6IG51bWJlcik6IFR1aVN3aXBlRGlyZWN0aW9uIHtcbiAgICBpZiAoTWF0aC5hYnMoZGVsdGFZKSA+IE1hdGguYWJzKGRlbHRhWCkpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+IDAgPyAndG9wJyA6ICdib3R0b20nO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWx0YVggPiAwID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgICB9XG59XG4iXX0=
@@ -9,4 +9,6 @@ export * from './is-present';
9
9
  export * from './mark-control-as-touched-and-validate';
10
10
  export * from './nullable-same';
11
11
  export * from './uniq-by';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWFzZS1pbi1vdXQtcXVhZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZhbGxiYWNrLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vZmxhdC1sZW5ndGgnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3JpZ2luYWwtYXJyYXktZnJvbS1xdWVyeS1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1lbGVtZW50LWVkaXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtcHJlc2VudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcmstY29udHJvbC1hcy10b3VjaGVkLWFuZC12YWxpZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL251bGxhYmxlLXNhbWUnO1xuZXhwb3J0ICogZnJvbSAnLi91bmlxLWJ5JztcbiJdfQ==
12
+ export * from './get-swipe-direction';
13
+ export * from './distance-between-touches';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Vhc2UtaW4tb3V0LXF1YWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWxsYmFjay12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZsYXQtbGVuZ3RoJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW9yaWdpbmFsLWFycmF5LWZyb20tcXVlcnktbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2lkZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZWxlbWVudC1lZGl0YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL2lzLXByZXNlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrLWNvbnRyb2wtYXMtdG91Y2hlZC1hbmQtdmFsaWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udWxsYWJsZS1zYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pcS1ieSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1zd2lwZS1kaXJlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kaXN0YW5jZS1iZXR3ZWVuLXRvdWNoZXMnO1xuIl19
@@ -4,10 +4,10 @@ import { NgModel, NgControl } from '@angular/forms';
4
4
  import { tuiAssert } from '@taiga-ui/cdk/classes';
5
5
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
6
6
  import { tuiDefaultProp } from '@taiga-ui/cdk/decorators';
7
- import { fallbackValue } from '@taiga-ui/cdk/utils/miscellaneous';
8
7
  import { Subject, merge, Observable, BehaviorSubject } from 'rxjs';
9
8
  import { takeUntil } from 'rxjs/operators';
10
9
  import { TuiIdService } from '@taiga-ui/cdk/services';
10
+ import { DOCUMENT } from '@angular/common';
11
11
 
12
12
  var AbstractTuiInteractive_1;
13
13
  const TUI = 'tui_interactive_';
@@ -40,19 +40,23 @@ let AbstractTuiInteractive = AbstractTuiInteractive_1 = class AbstractTuiInterac
40
40
  return this.disabled;
41
41
  }
42
42
  get computedHovered() {
43
- return !this.computedDisabled && fallbackValue(this.pseudoHovered, this.hovered);
43
+ var _a;
44
+ return !this.computedDisabled && ((_a = this.pseudoHovered) !== null && _a !== void 0 ? _a : this.hovered);
44
45
  }
45
46
  get computedPressed() {
46
- return !this.computedDisabled && fallbackValue(this.pseudoPressed, this.pressed);
47
+ var _a;
48
+ return !this.computedDisabled && ((_a = this.pseudoPressed) !== null && _a !== void 0 ? _a : this.pressed);
47
49
  }
48
50
  get computedFocusable() {
49
51
  return !this.computedDisabled && (this.focusable || this.focused);
50
52
  }
51
53
  get computedFocused() {
52
- return !this.computedDisabled && fallbackValue(this.pseudoFocused, this.focused);
54
+ var _a;
55
+ return !this.computedDisabled && ((_a = this.pseudoFocused) !== null && _a !== void 0 ? _a : this.focused);
53
56
  }
54
57
  get computedFocusVisible() {
55
- return (!this.computedDisabled && fallbackValue(this.pseudoFocused, this.focusVisible));
58
+ var _a;
59
+ return !this.computedDisabled && ((_a = this.pseudoFocused) !== null && _a !== void 0 ? _a : this.focusVisible);
56
60
  }
57
61
  get id() {
58
62
  return !!this.nativeId ? this.nativeId : this.autoIdString;
@@ -163,10 +167,12 @@ let AbstractTuiControl = class AbstractTuiControl extends AbstractTuiInteractive
163
167
  : this.touched && this.invalid));
164
168
  }
165
169
  get value() {
166
- return fallbackValue(this.previousInternalValue, this.fallbackValue);
170
+ var _a;
171
+ return (_a = this.previousInternalValue) !== null && _a !== void 0 ? _a : this.fallbackValue;
167
172
  }
168
173
  get safeCurrentValue() {
169
- return fallbackValue(this.rawValue, this.fallbackValue);
174
+ var _a;
175
+ return (_a = this.rawValue) !== null && _a !== void 0 ? _a : this.fallbackValue;
170
176
  }
171
177
  get invalid() {
172
178
  return this.safeNgControlData(({ invalid }) => invalid, false);
@@ -248,7 +254,8 @@ let AbstractTuiControl = class AbstractTuiControl extends AbstractTuiInteractive
248
254
  return oldValue === newValue;
249
255
  }
250
256
  safeNgControlData(extractor, defaultFieldValue) {
251
- return fallbackValue(this.ngControl && extractor(this.ngControl), defaultFieldValue);
257
+ var _a;
258
+ return (_a = (this.ngControl && extractor(this.ngControl))) !== null && _a !== void 0 ? _a : defaultFieldValue;
252
259
  }
253
260
  controlMarkAsTouched() {
254
261
  this.onTouched();
@@ -342,13 +349,15 @@ AbstractTuiNullableControl = __decorate([
342
349
  Directive()
343
350
  ], AbstractTuiNullableControl);
344
351
 
352
+ var AbstractTuiThemeSwitcher_1;
345
353
  /**
346
354
  * Use this abstract class to create your own toggleable themes.
347
355
  * A component extending this class must have CSS variables definitions
348
356
  * and have ViewEncapsulation set to NONE. A boolean input allows to
349
357
  * switch theme on or off.
358
+ * @dynamic
350
359
  */
351
- class AbstractTuiThemeSwitcher {
360
+ let AbstractTuiThemeSwitcher = AbstractTuiThemeSwitcher_1 = class AbstractTuiThemeSwitcher {
352
361
  constructor(documentRef) {
353
362
  this.documentRef = documentRef;
354
363
  if (this.style !== null) {
@@ -366,10 +375,7 @@ class AbstractTuiThemeSwitcher {
366
375
  this.removeTheme();
367
376
  }
368
377
  addTheme() {
369
- if (this.style && !this.documentRef.head.contains(this.style)) {
370
- for (let i = this.style.attributes.length - 1; i >= 0; i--) {
371
- this.style.removeAttribute(this.style.attributes[i].name);
372
- }
378
+ if (this.style) {
373
379
  this.documentRef.head.appendChild(this.style);
374
380
  }
375
381
  }
@@ -378,8 +384,15 @@ class AbstractTuiThemeSwitcher {
378
384
  this.documentRef.head.removeChild(this.style);
379
385
  }
380
386
  }
381
- }
387
+ };
382
388
  AbstractTuiThemeSwitcher.style = null;
389
+ AbstractTuiThemeSwitcher.ctorParameters = () => [
390
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
391
+ ];
392
+ AbstractTuiThemeSwitcher = AbstractTuiThemeSwitcher_1 = __decorate([
393
+ Directive(),
394
+ __param(0, Inject(DOCUMENT))
395
+ ], AbstractTuiThemeSwitcher);
383
396
 
384
397
  /**
385
398
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {fallbackValue} from '@taiga-ui/cdk/utils/miscellaneous';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private readonly autoIdString: string;\n\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n abstract focused: boolean;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && fallbackValue(this.pseudoHovered, this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && fallbackValue(this.pseudoPressed, this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && fallbackValue(this.pseudoFocused, this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return (\n !this.computedDisabled && fallbackValue(this.pseudoFocused, this.focusVisible)\n );\n }\n\n get id(): string {\n return !!this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {fallbackValue} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n !this.readOnly &&\n !this.disabled &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return fallbackValue<T>(this.previousInternalValue, this.fallbackValue);\n }\n\n get safeCurrentValue(): T {\n return fallbackValue<T>(this.rawValue, this.fallbackValue);\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | number | null {\n return this.controlName;\n }\n\n protected get controlName(): string | number | null {\n return this.ngControl && this.ngControl.name;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n return ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n }\n\n ngOnInit() {\n if (\n !this.ngControl ||\n !this.ngControl.valueChanges ||\n !this.ngControl.statusChanges\n ) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n this.refreshLocalValue(\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value,\n );\n }\n\n protected abstract getFallbackValue(): T;\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return fallbackValue<T>(\n this.ngControl && extractor(this.ngControl),\n defaultFieldValue,\n );\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n protected constructor(private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style && !this.documentRef.head.contains(this.style)) {\n for (let i = this.style.attributes.length - 1; i >= 0; i--) {\n this.style.removeAttribute(this.style.attributes[i].name);\n }\n\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private readonly autoIdString: string;\n\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n hovered = false;\n\n pressed = false;\n\n focusVisible = false;\n\n abstract focused: boolean;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n get id(): string {\n return !!this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n !this.readOnly &&\n !this.disabled &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | number | null {\n return this.controlName;\n }\n\n protected get controlName(): string | number | null {\n return this.ngControl && this.ngControl.name;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n return ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n }\n\n ngOnInit() {\n if (\n !this.ngControl ||\n !this.ngControl.valueChanges ||\n !this.ngControl.statusChanges\n ) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n this.refreshLocalValue(\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value,\n );\n }\n\n protected abstract getFallbackValue(): T;\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n readonly TuiDialog<T, any>[]\n> {\n protected abstract readonly component: PolymorpheusContent<TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<readonly TuiDialog<T, any>[]>([]);\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n ReadonlyArray<T>\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): ReadonlyArray<T> {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ TuiDialogHostComponent.ctorParameters = () => [
69
69
  TuiDialogHostComponent = __decorate([
70
70
  Component({
71
71
  selector: 'tui-dialog-host',
72
- template: "<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n polymorpheus-outlet\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n class=\"dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"item.id\"\n [content]=\"item.component\"\n [context]=\"item\"\n [@tuiParentAnimation]\n ></section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"overlay\"\n (window:popstate)=\"closeLast(dialogs, isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, isDialogClosesOnBack)\"\n [class.overlay_visible]=\"dialogs.length\"\n ></div>\n</ng-container>\n",
72
+ template: "<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n polymorpheus-outlet\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"dialog\"\n [@tuiParentAnimation]\n [attr.aria-labelledby]=\"item.id\"\n [content]=\"item.component\"\n [context]=\"item\"\n ></section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"overlay\"\n [class.overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n",
73
73
  changeDetection: ChangeDetectionStrategy.OnPush,
74
74
  animations: [TUI_PARENT_ANIMATION],
75
75
  styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.dialog,.overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:0;overflow:auto;overflow:overlay}.overlay{height:100vh;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration),letter-spacing 10ms;background:rgba(0,0,0,.75)}.overlay_visible{opacity:1;letter-spacing:1px}.dialog:last-of-type{z-index:1}"]
@@ -89,7 +89,7 @@ TuiPortalHostComponent = TuiPortalHostComponent_1 = __decorate([
89
89
  selector: 'tui-portal-host',
90
90
  template: "<div #positionFixedOffset class=\"position-fixed-offset\"></div>\n<ng-content></ng-content>\n",
91
91
  changeDetection: ChangeDetectionStrategy.OnPush,
92
- styles: [":host{position:relative;display:block;height:100%;z-index:0}:host:before{content:'';display:block;overflow:hidden}.position-fixed-offset{position:fixed;left:0;top:0;pointer-events:none;visibility:hidden;width:100%;height:100%}"]
92
+ styles: [":host{position:relative;z-index:0;display:block;height:100%}:host:before{content:'';display:block;overflow:hidden}.position-fixed-offset{position:fixed;left:0;top:0;pointer-events:none;visibility:hidden;width:100%;height:100%}"]
93
93
  }),
94
94
  __param(0, Inject(ViewContainerRef)),
95
95
  __param(1, Inject(ElementRef)),