@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,3 @@
1
+ export * from './zoom.directive';
2
+ export * from './zoom.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvem9vbS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3pvb20uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vem9vbS5tb2R1bGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLWRpcmVjdGl2ZXMtem9vbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy96b29tLyIsInNvdXJjZXMiOlsidGFpZ2EtdWktY2RrLWRpcmVjdGl2ZXMtem9vbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, Inject } from '@angular/core';
3
+ import { TuiZoomService } from '@taiga-ui/cdk/services';
4
+ // @dynamic
5
+ let TuiZoomDirective = class TuiZoomDirective {
6
+ constructor(tuiZoom) {
7
+ this.tuiZoom = tuiZoom;
8
+ }
9
+ };
10
+ TuiZoomDirective.ctorParameters = () => [
11
+ { type: TuiZoomService, decorators: [{ type: Inject, args: [TuiZoomService,] }] }
12
+ ];
13
+ TuiZoomDirective = __decorate([
14
+ Directive({
15
+ selector: '[tuiZoom]',
16
+ outputs: ['tuiZoom'],
17
+ providers: [TuiZoomService],
18
+ host: {
19
+ '[style.touch-actions]': '"none"',
20
+ },
21
+ }),
22
+ __param(0, Inject(TuiZoomService))
23
+ ], TuiZoomDirective);
24
+ export { TuiZoomDirective };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvem9vbS8iLCJzb3VyY2VzIjpbInpvb20uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsV0FBVztBQVNYLElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBQ3pCLFlBQTZDLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQztDQUMzRSxDQUFBOztZQUR5RCxjQUFjLHVCQUF2RCxNQUFNLFNBQUMsY0FBYzs7QUFEekIsZ0JBQWdCO0lBUjVCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNwQixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDM0IsSUFBSSxFQUFFO1lBQ0YsdUJBQXVCLEVBQUUsUUFBUTtTQUNwQztLQUNKLENBQUM7SUFFZSxXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtHQUQxQixnQkFBZ0IsQ0FFNUI7U0FGWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpWm9vbVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpWm9vbV0nLFxuICAgIG91dHB1dHM6IFsndHVpWm9vbSddLFxuICAgIHByb3ZpZGVyczogW1R1aVpvb21TZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3R5bGUudG91Y2gtYWN0aW9uc10nOiAnXCJub25lXCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVpvb21EaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVHVpWm9vbVNlcnZpY2UpIHJlYWRvbmx5IHR1aVpvb206IFR1aVpvb21TZXJ2aWNlKSB7fVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { TuiZoomDirective } from './zoom.directive';
4
+ /**
5
+ * @experimental
6
+ */
7
+ let TuiZoomModule = class TuiZoomModule {
8
+ };
9
+ TuiZoomModule = __decorate([
10
+ NgModule({
11
+ declarations: [TuiZoomDirective],
12
+ exports: [TuiZoomDirective],
13
+ })
14
+ ], TuiZoomModule);
15
+ export { TuiZoomModule };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvem9vbS8iLCJzb3VyY2VzIjpbInpvb20ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWxEOztHQUVHO0FBS0gsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtDQUFHLENBQUE7QUFBaEIsYUFBYTtJQUp6QixRQUFRLENBQUM7UUFDTixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUM5QixDQUFDO0dBQ1csYUFBYSxDQUFHO1NBQWhCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpWm9vbURpcmVjdGl2ZX0gZnJvbSAnLi96b29tLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1R1aVpvb21EaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlab29tRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpWm9vbU1vZHVsZSB7fVxuIl19
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmlhLWRpYWxvZy1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWRpYWxvZy1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC13aXRoLWltcGxpY2l0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5LWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2N1c2FibGUtZWxlbWVudC1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL21vbnRoLWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLWxpa2UnO1xuIl19
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmlhLWRpYWxvZy1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWRpYWxvZy1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC13aXRoLWltcGxpY2l0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5LWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2N1c2FibGUtZWxlbWVudC1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL21vbnRoLWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLWxpa2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zd2lwZSc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20nO1xuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMvIiwic291cmNlcyI6WyJzd2lwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUdWlTd2lwZSB7XG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBUdWlTd2lwZURpcmVjdGlvbjtcbiAgICByZWFkb25seSBldmVudHM6IFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XTtcbn1cblxuZXhwb3J0IHR5cGUgVHVpU3dpcGVEaXJlY3Rpb24gPSAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlTd2lwZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IHRocmVzaG9sZDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHRpbWVvdXQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcy8iLCJzb3VyY2VzIjpbInpvb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHVpWm9vbSB7XG4gICAgcmVhZG9ubHkgY2xpZW50WDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGNsaWVudFk6IG51bWJlcjtcbiAgICByZWFkb25seSBkZWx0YTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUdWlab29tT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgd2hlZWxTZW5zaXRpdml0eTogbnVtYmVyO1xufVxuIl19
@@ -11,7 +11,7 @@ import * as i1 from "@angular/common";
11
11
  let TuiHoveredService = class TuiHoveredService {
12
12
  constructor(documentRef, ngZone) {
13
13
  this.ngZone = ngZone;
14
- this.documentEvents$ = merge(typedFromEvent(documentRef, 'mousemove'), typedFromEvent(documentRef, 'touchend'));
14
+ this.documentEvents$ = merge(typedFromEvent(documentRef, 'mousemove'), typedFromEvent(documentRef, 'touchstart', { capture: true }));
15
15
  }
16
16
  createHovered$(target, options = { passive: true }) {
17
17
  return merge(typedFromEvent(target, 'mouseenter', options), typedFromEvent(target, 'touchstart', options)).pipe(switchMap(() => merge(typedFromEvent(target, 'mouseleave', options), this.documentEvents$.pipe(filter(event => !target.contains(getActualTarget(event))), tuiZoneOptimized(this.ngZone), take(1))).pipe(mapTo(false), startWith(true))), distinctUntilChanged());
@@ -30,4 +30,4 @@ TuiHoveredService = __decorate([
30
30
  __param(1, Inject(NgZone))
31
31
  ], TuiHoveredService);
32
32
  export { TuiHoveredService };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXJlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImhvdmVyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV4QixXQUFXO0FBSVgsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFHMUIsWUFDc0IsV0FBcUIsRUFDTixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUUvQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FDeEIsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFDeEMsY0FBYyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjLENBQ1YsTUFBZSxFQUNmLFVBQW1DLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQztRQUVsRCxPQUFPLEtBQUssQ0FDUixjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDN0MsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQ2hELENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDWCxLQUFLLENBQ0QsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDekQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FDSixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3hDLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOztZQTlCc0MsUUFBUSx1QkFBdEMsTUFBTSxTQUFDLFFBQVE7WUFDeUIsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLE1BQU07OztBQUxULGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0lBS08sV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7R0FMVixpQkFBaUIsQ0FrQzdCO1NBbENZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZCwgdHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtnZXRBY3R1YWxUYXJnZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwVG8sXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIb3ZlcmVkU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudEV2ZW50cyQ6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRFdmVudHMkID0gbWVyZ2UoXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNlbW92ZScpLFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQoZG9jdW1lbnRSZWYsICd0b3VjaGVuZCcpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUhvdmVyZWQkKFxuICAgICAgICB0YXJnZXQ6IEVsZW1lbnQsXG4gICAgICAgIG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0ge3Bhc3NpdmU6IHRydWV9LFxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudCh0YXJnZXQsICdtb3VzZWVudGVyJywgb3B0aW9ucyksXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudCh0YXJnZXQsICd0b3VjaHN0YXJ0Jywgb3B0aW9ucyksXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudCh0YXJnZXQsICdtb3VzZWxlYXZlJywgb3B0aW9ucyksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRFdmVudHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gIXRhcmdldC5jb250YWlucyhnZXRBY3R1YWxUYXJnZXQoZXZlbnQpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlab25lT3B0aW1pemVkKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKS5waXBlKG1hcFRvKGZhbHNlKSwgc3RhcnRXaXRoKHRydWUpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXJlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbImhvdmVyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV4QixXQUFXO0FBSVgsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFHMUIsWUFDc0IsV0FBcUIsRUFDTixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUUvQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FDeEIsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFDeEMsY0FBYyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjLENBQ1YsTUFBZSxFQUNmLFVBQW1DLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQztRQUVsRCxPQUFPLEtBQUssQ0FDUixjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDN0MsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQ2hELENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDWCxLQUFLLENBQ0QsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDekQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FDSixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3hDLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOztZQTlCc0MsUUFBUSx1QkFBdEMsTUFBTSxTQUFDLFFBQVE7WUFDeUIsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLE1BQU07OztBQUxULGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0lBS08sV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7R0FMVixpQkFBaUIsQ0FrQzdCO1NBbENZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZCwgdHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtnZXRBY3R1YWxUYXJnZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwVG8sXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIb3ZlcmVkU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudEV2ZW50cyQ6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRFdmVudHMkID0gbWVyZ2UoXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNlbW92ZScpLFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQoZG9jdW1lbnRSZWYsICd0b3VjaHN0YXJ0Jywge2NhcHR1cmU6IHRydWV9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjcmVhdGVIb3ZlcmVkJChcbiAgICAgICAgdGFyZ2V0OiBFbGVtZW50LFxuICAgICAgICBvcHRpb25zOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtwYXNzaXZlOiB0cnVlfSxcbiAgICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGFyZ2V0LCAnbW91c2VlbnRlcicsIG9wdGlvbnMpLFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGFyZ2V0LCAndG91Y2hzdGFydCcsIG9wdGlvbnMpLFxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGFyZ2V0LCAnbW91c2VsZWF2ZScsIG9wdGlvbnMpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50RXZlbnRzJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+ICF0YXJnZXQuY29udGFpbnMoZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICkucGlwZShtYXBUbyhmYWxzZSksIHN0YXJ0V2l0aCh0cnVlKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -8,4 +8,7 @@ export * from './parents-scroll.service';
8
8
  export * from './resize.service';
9
9
  export * from './scroll.service';
10
10
  export * from './static-request.service';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3NlcnZpY2VzLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Rlc3Ryb3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS1zdHlsZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzLXZpc2libGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyZWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2lkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9vYnNjdXJlZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyZW50cy1zY3JvbGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0aWMtcmVxdWVzdC5zZXJ2aWNlJztcbiJdfQ==
11
+ export * from './pan.service';
12
+ export * from './swipe.service';
13
+ export * from './zoom.service';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3NlcnZpY2VzLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUtc3R5bGVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2N1cy12aXNpYmxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ob3ZlcmVkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzY3VyZWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhcmVudHMtc2Nyb2xsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGljLXJlcXVlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Bhbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpcGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20uc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __decorate, __param } 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 { merge, Observable } from 'rxjs';
6
+ import { filter, map, pairwise, repeat, switchMapTo, takeUntil } from 'rxjs/operators';
7
+ /**
8
+ * @dynamic
9
+ */
10
+ let TuiPanService = class TuiPanService extends Observable {
11
+ constructor({ nativeElement }, documentRef) {
12
+ super(subscriber => {
13
+ merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }), typedFromEvent(nativeElement, 'mousedown'))
14
+ .pipe(switchMapTo(merge(typedFromEvent(nativeElement, 'touchmove', {
15
+ passive: true,
16
+ }).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), typedFromEvent(nativeElement, 'mousemove'))), pairwise(), map(([first, second]) => {
17
+ const deltaX = second.clientX - first.clientX;
18
+ const deltaY = second.clientY - first.clientY;
19
+ return [deltaX, deltaY];
20
+ }), takeUntil(merge(typedFromEvent(documentRef, 'touchend'), typedFromEvent(documentRef, 'mouseup'))), repeat())
21
+ .subscribe(subscriber);
22
+ });
23
+ }
24
+ };
25
+ TuiPanService.ctorParameters = () => [
26
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
27
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
28
+ ];
29
+ TuiPanService = __decorate([
30
+ Injectable(),
31
+ __param(0, Inject(ElementRef)),
32
+ __param(1, Inject(DOCUMENT))
33
+ ], TuiPanService);
34
+ export { TuiPanService };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3NlcnZpY2VzLyIsInNvdXJjZXMiOlsicGFuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJGOztHQUVHO0FBRUgsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYyxTQUFRLFVBQXFDO0lBQ3BFLFlBQ3dCLEVBQUMsYUFBYSxFQUFzQixFQUN0QyxXQUFxQjtRQUV2QyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDZixLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDNUQsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FDN0M7aUJBQ0ksSUFBSSxDQUNELFdBQVcsQ0FDUCxLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDekMsR0FBRyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pDLEVBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FDN0MsQ0FDSixFQUNELFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUU5QyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBcUIsQ0FBQztZQUNoRCxDQUFDLENBQUMsRUFDRixTQUFTLENBQ0wsS0FBSyxDQUNELGNBQWMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQ3ZDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQ3pDLENBQ0osRUFDRCxNQUFNLEVBQUUsQ0FDWDtpQkFDQSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTs7WUF0QzRDLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxVQUFVO1lBQ2EsUUFBUSx1QkFBdEMsTUFBTSxTQUFDLFFBQVE7O0FBSFgsYUFBYTtJQUR6QixVQUFVLEVBQUU7SUFHSixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQUhaLGFBQWEsQ0F3Q3pCO1NBeENZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCByZXBlYXQsIHN3aXRjaE1hcFRvLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpUGFuU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8cmVhZG9ubHkgW251bWJlciwgbnVtYmVyXT4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KSxcbiAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNobW92ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPCAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHRvdWNoZXNbMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlbW92ZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbZmlyc3QsIHNlY29uZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWCA9IHNlY29uZC5jbGllbnRYIC0gZmlyc3QuY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IHNlY29uZC5jbGllbnRZIC0gZmlyc3QuY2xpZW50WTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtkZWx0YVgsIGRlbHRhWV0gYXMgW251bWJlciwgbnVtYmVyXTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2hlbmQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNldXAnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCgpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { __decorate, __param } 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
+ let TuiSwipeService = class TuiSwipeService extends Observable {
13
+ constructor({ nativeElement }, { timeout, threshold }, documentRef) {
14
+ super(subscriber => {
15
+ merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }), typedFromEvent(documentRef, 'touchend'))
16
+ .pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
17
+ first.touches[0].identifier ===
18
+ second.changedTouches[0].identifier), map(([start, end]) => {
19
+ const startX = start.touches[0].clientX;
20
+ const startY = start.touches[0].clientY;
21
+ const endX = end.changedTouches[0].clientX;
22
+ const endY = end.changedTouches[0].clientY;
23
+ const distanceX = startX - endX;
24
+ const distanceY = startY - endY;
25
+ const duration = end.timeStamp - start.timeStamp;
26
+ if ((Math.abs(distanceX) > threshold ||
27
+ Math.abs(distanceY) > threshold) &&
28
+ duration < timeout) {
29
+ return {
30
+ direction: getSwipeDirection(distanceX, distanceY),
31
+ events: [start, end],
32
+ };
33
+ }
34
+ return null;
35
+ }), filter(isPresent))
36
+ .subscribe(subscriber);
37
+ });
38
+ }
39
+ };
40
+ TuiSwipeService.ctorParameters = () => [
41
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
42
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_SWIPE_OPTIONS,] }] },
43
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
44
+ ];
45
+ TuiSwipeService = __decorate([
46
+ Injectable(),
47
+ __param(0, Inject(ElementRef)),
48
+ __param(1, Inject(TUI_SWIPE_OPTIONS)),
49
+ __param(2, Inject(DOCUMENT))
50
+ ], TuiSwipeService);
51
+ export { TuiSwipeService };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvc2VydmljZXMvIiwic291cmNlcyI6WyJzd2lwZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQ7O0dBRUc7QUFFSCxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFnQixTQUFRLFVBQW9CO0lBQ3JELFlBQ3dCLEVBQUMsYUFBYSxFQUFzQixFQUM3QixFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQWtCLEVBQzlDLFdBQXFCO1FBRXZDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNmLEtBQUssQ0FDRCxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUM1RCxjQUFjLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUMxQztpQkFDSSxJQUFJLENBQ0QsUUFBUSxFQUFFLEVBQ1YsTUFBTSxDQUNGLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUNoQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7b0JBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUM5QyxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUUzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBRWpELElBQ0ksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVM7b0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNwQyxRQUFRLEdBQUcsT0FBTyxFQUNwQjtvQkFDRSxPQUFPO3dCQUNILFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUNsRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUE2QjtxQkFDbkQsQ0FBQztpQkFDTDtnQkFFRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsU0FBUyxDQUFDLENBQ3BCO2lCQUNBLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQTdDNEMsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLFVBQVU7NENBQ2pCLE1BQU0sU0FBQyxpQkFBaUI7WUFDTSxRQUFRLHVCQUF0QyxNQUFNLFNBQUMsUUFBUTs7QUFKWCxlQUFlO0lBRDNCLFVBQVUsRUFBRTtJQUdKLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7R0FKWixlQUFlLENBK0MzQjtTQS9DWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpU3dpcGUsIFR1aVN3aXBlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfU1dJUEVfT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtnZXRTd2lwZURpcmVjdGlvbiwgaXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBwYWlyd2lzZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlTd2lwZVNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPFR1aVN3aXBlPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9TV0lQRV9PUFRJT05TKSB7dGltZW91dCwgdGhyZXNob2xkfTogVHVpU3dpcGVPcHRpb25zLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2hlbmQnKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgKFtmaXJzdCwgc2Vjb25kXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIWZpcnN0LnRvdWNoZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QudG91Y2hlc1swXS5pZGVudGlmaWVyID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBnZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihpc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { __decorate, __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
+ const TOUCH_SENSITIVITY = 0.01;
9
+ // @dynamic
10
+ let TuiZoomService = class TuiZoomService extends Observable {
11
+ constructor({ nativeElement }, { wheelSensitivity }) {
12
+ super(subscriber => {
13
+ merge(typedFromEvent(nativeElement, 'touchstart', { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap(startEvent => typedFromEvent(nativeElement, 'touchmove', {
14
+ passive: true,
15
+ }).pipe(takeUntil(typedFromEvent(nativeElement, 'touchend')), scan((prev, event) => {
16
+ const distance = distanceBetweenTouches(event);
17
+ return {
18
+ event,
19
+ distance,
20
+ delta: (distance - prev.distance) *
21
+ TOUCH_SENSITIVITY,
22
+ };
23
+ }, {
24
+ event: startEvent,
25
+ distance: distanceBetweenTouches(startEvent),
26
+ delta: 0,
27
+ }), map(({ event, delta }) => {
28
+ event.preventDefault();
29
+ const clientX = (event.touches[0].clientX +
30
+ event.touches[1].clientX) /
31
+ 2;
32
+ const clientY = (event.touches[0].clientY +
33
+ event.touches[1].clientY) /
34
+ 2;
35
+ return { clientX, clientY, delta, event };
36
+ })))), typedFromEvent(nativeElement, 'wheel', { passive: false }).pipe(preventDefault(), map(wheel => ({
37
+ clientX: wheel.clientX,
38
+ clientY: wheel.clientY,
39
+ delta: -wheel.deltaY * wheelSensitivity,
40
+ event: wheel,
41
+ })))).subscribe(subscriber);
42
+ });
43
+ }
44
+ };
45
+ TuiZoomService.ctorParameters = () => [
46
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
47
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ZOOM_OPTIONS,] }] }
48
+ ];
49
+ TuiZoomService = __decorate([
50
+ Injectable(),
51
+ __param(0, Inject(ElementRef)),
52
+ __param(1, Inject(TUI_ZOOM_OPTIONS))
53
+ ], TuiZoomService);
54
+ export { TuiZoomService };
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcy8iLCJzb3VyY2VzIjpbInpvb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUUvQixXQUFXO0FBRVgsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLFVBQW1CO0lBQ25ELFlBQ3dCLEVBQUMsYUFBYSxFQUEwQixFQUNsQyxFQUFDLGdCQUFnQixFQUFpQjtRQUU1RCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDZixLQUFLLENBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELE1BQU0sQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNuQixjQUFjLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRTtnQkFDdkMsT0FBTyxFQUFFLElBQUk7YUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSCxTQUFTLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUNwRCxJQUFJLENBQ0EsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRS9DLE9BQU87b0JBQ0gsS0FBSztvQkFDTCxRQUFRO29CQUNSLEtBQUssRUFDRCxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO3dCQUMxQixpQkFBaUI7aUJBQ3hCLENBQUM7WUFDTixDQUFDLEVBQ0Q7Z0JBQ0ksS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxVQUFVLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxDQUFDO2FBQ1gsQ0FDSixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUU7Z0JBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFdkIsTUFBTSxPQUFPLEdBQ1QsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87b0JBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUM3QixDQUFDLENBQUM7Z0JBQ04sTUFBTSxPQUFPLEdBQ1QsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87b0JBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUM3QixDQUFDLENBQUM7Z0JBRU4sT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FDSixFQUNELGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN6RCxjQUFjLEVBQUUsRUFDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0I7Z0JBQ3ZDLEtBQUssRUFBRSxLQUFLO2FBQ2YsQ0FBQyxDQUFDLENBQ04sQ0FDSixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQTNENEMsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLFVBQVU7NENBQ2pCLE1BQU0sU0FBQyxnQkFBZ0I7O0FBSG5CLGNBQWM7SUFEMUIsVUFBVSxFQUFFO0lBR0osV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQUhwQixjQUFjLENBNkQxQjtTQTdEWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlab29tLCBUdWlab29tT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7cHJldmVudERlZmF1bHQsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX1pPT01fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtkaXN0YW5jZUJldHdlZW5Ub3VjaGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc2Nhbiwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgVE9VQ0hfU0VOU0lUSVZJVFkgPSAwLjAxO1xuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aVpvb21TZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlab29tPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfWk9PTV9PUFRJT05TKSB7d2hlZWxTZW5zaXRpdml0eX06IFR1aVpvb21PcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHN0YXJ0RXZlbnQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaG1vdmUnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJldiwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhldmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXN0YW5jZSAtIHByZXYuZGlzdGFuY2UpICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVE9VQ0hfU0VOU0lUSVZJVFksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiBkaXN0YW5jZUJldHdlZW5Ub3VjaGVzKHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHtldmVudCwgZGVsdGF9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50WCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudG91Y2hlc1swXS5jbGllbnRYICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC50b3VjaGVzWzFdLmNsaWVudFgpIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWVudFkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudG91Y2hlc1sxXS5jbGllbnRZKSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7Y2xpZW50WCwgY2xpZW50WSwgZGVsdGEsIGV2ZW50fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnd2hlZWwnLCB7cGFzc2l2ZTogZmFsc2V9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgICAgICBtYXAod2hlZWwgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHdoZWVsLmNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRZOiB3aGVlbC5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IC13aGVlbC5kZWx0YVkgKiB3aGVlbFNlbnNpdGl2aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHdoZWVsLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -29,17 +29,16 @@ export const TUI_ACTIVE_ELEMENT = new InjectionToken('Active element on the docu
29
29
  },
30
30
  });
31
31
  // Checks if focusout event should be considered leaving active zone
32
- function isValidFocusout(target, removedElement) {
33
- var _a;
32
+ function isValidFocusout(target, removedElement = null) {
34
33
  return (
35
34
  // Not due to switching tabs/going to DevTools
36
- ((_a = target.ownerDocument) === null || _a === void 0 ? void 0 : _a.activeElement) !== target &&
35
+ getDocumentOrShadowRoot(target).activeElement !== target &&
37
36
  // Not due to button/input becoming disabled
38
37
  !target.disabled &&
39
38
  // Not due to element being removed from DOM
40
39
  (!removedElement || !removedElement.contains(target)));
41
40
  }
42
41
  function shadowRootActiveElement(root) {
43
- return merge(typedFromEvent(root, 'focusin').pipe(map(({ target }) => target)), typedFromEvent(root, 'focusout').pipe(filter(({ target }) => isValidFocusout(target, null)), map(({ relatedTarget }) => relatedTarget)));
42
+ return merge(typedFromEvent(root, 'focusin').pipe(map(({ target }) => target)), typedFromEvent(root, 'focusout').pipe(filter(({ target, relatedTarget }) => !!relatedTarget && isValidFocusout(target)), map(({ relatedTarget }) => relatedTarget)));
44
43
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImFjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELCtDQUErQyxFQUMvQztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFD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QUFNLEVBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDL0QsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDbkQsR0FBRyxDQUFDLENBQUMsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQzFDLENBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtnZXRBY3R1YWxUYXJnZXQsIGdldERvY3VtZW50T3JTaGFkb3dSb290fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGUsIG9mLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWFwVG8sXG4gICAgcmVwZWF0V2hlbixcbiAgICBzaGFyZSxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RVSV9SRU1PVkVEX0VMRU1FTlR9IGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcblxuZXhwb3J0IGNvbnN0IFRVSV9BQ1RJVkVfRUxFTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4+KFxuICAgICdBY3RpdmUgZWxlbWVudCBvbiB0aGUgZG9jdW1lbnQgZm9yIEFjdGl2ZVpvbmUnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQkID0gaW5qZWN0KFRVSV9SRU1PVkVEX0VMRU1FTlQpO1xuICAgICAgICAgICAgY29uc3Qgd2luZG93UmVmID0gaW5qZWN0KFdJTkRPVyk7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudFJlZiA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c291dCQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdmb2N1c291dCcpO1xuICAgICAgICAgICAgY29uc3QgZm9jdXNpbiQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdmb2N1c2luJyk7XG4gICAgICAgICAgICBjb25zdCBibHVyJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2JsdXInKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNlZG93biQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdtb3VzZWRvd24nKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNldXAkID0gdHlwZWRGcm9tRXZlbnQod2luZG93UmVmLCAnbW91c2V1cCcpO1xuXG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZWRvd24kKSxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0V2hlbigoKSA9PiBtb3VzZXVwJCksXG4gICAgICAgICAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHJlbW92ZWRFbGVtZW50JCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoW2V2ZW50LCByZW1vdmVkRWxlbWVudF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkRm9jdXNvdXQoZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSwgcmVtb3ZlZEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFt7cmVsYXRlZFRhcmdldH1dKSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGJsdXIkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudFJlZi5hY3RpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubWF0Y2hlcygnaWZyYW1lJykpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZm9jdXNpbiQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldEFjdHVhbFRhcmdldChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb290ID0gZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KSBhcyBEb2N1bWVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QgPT09IGRvY3VtZW50UmVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBvZih0YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290KS5waXBlKHN0YXJ0V2l0aCh0YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChldmVudCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIWRvY3VtZW50UmVmLmFjdGl2ZUVsZW1lbnQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50UmVmLmFjdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50UmVmLmJvZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG9mKGdldEFjdHVhbFRhcmdldChldmVudCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmb2N1c291dCQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aW1lcigwKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8oZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmUoKSk7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG5cbi8vIENoZWNrcyBpZiBmb2N1c291dCBldmVudCBzaG91bGQgYmUgY29uc2lkZXJlZCBsZWF2aW5nIGFjdGl2ZSB6b25lXG5mdW5jdGlvbiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0OiBhbnksIHJlbW92ZWRFbGVtZW50OiBFbGVtZW50IHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc3dpdGNoaW5nIHRhYnMvZ29pbmcgdG8gRGV2VG9vbHNcbiAgICAgICAgdGFyZ2V0Lm93bmVyRG9jdW1lbnQ/LmFjdGl2ZUVsZW1lbnQgIT09IHRhcmdldCAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGJ1dHRvbi9pbnB1dCBiZWNvbWluZyBkaXNhYmxlZFxuICAgICAgICAhdGFyZ2V0LmRpc2FibGVkICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gZWxlbWVudCBiZWluZyByZW1vdmVkIGZyb20gRE9NXG4gICAgICAgICghcmVtb3ZlZEVsZW1lbnQgfHwgIXJlbW92ZWRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gc2hhZG93Um9vdEFjdGl2ZUVsZW1lbnQocm9vdDogRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3VzaW4nKS5waXBlKG1hcCgoe3RhcmdldH0pID0+IHRhcmdldCkpLFxuICAgICAgICB0eXBlZEZyb21FdmVudChyb290LCAnZm9jdXNvdXQnKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCh7dGFyZ2V0fSkgPT4gaXNWYWxpZEZvY3Vzb3V0KHRhcmdldCwgbnVsbCkpLFxuICAgICAgICAgICAgbWFwKCh7cmVsYXRlZFRhcmdldH0pID0+IHJlbGF0ZWRUYXJnZXQpLFxuICAgICAgICApLFxuICAgICk7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3Rva2Vucy8iLCJzb3VyY2VzIjpbImFjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELCtDQUErQyxFQUMvQztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFD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RUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDL0QsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FDRixDQUFDLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsRUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FDMUMsQ0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge2dldEFjdHVhbFRhcmdldCwgZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3R9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtYXBUbyxcbiAgICByZXBlYXRXaGVuLFxuICAgIHNoYXJlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VFVJX1JFTU9WRURfRUxFTUVOVH0gZnJvbSAnLi9yZW1vdmVkLWVsZW1lbnQnO1xuXG5leHBvcnQgY29uc3QgVFVJX0FDVElWRV9FTEVNRU5UID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RXZlbnRUYXJnZXQgfCBudWxsPj4oXG4gICAgJ0FjdGl2ZSBlbGVtZW50IG9uIHRoZSBkb2N1bWVudCBmb3IgQWN0aXZlWm9uZScsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudCQgPSBpbmplY3QoVFVJX1JFTU9WRURfRUxFTUVOVCk7XG4gICAgICAgICAgICBjb25zdCB3aW5kb3dSZWYgPSBpbmplY3QoV0lORE9XKTtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50UmVmID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICAgICAgICAgIGNvbnN0IGZvY3Vzb3V0JCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2ZvY3Vzb3V0Jyk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2luJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ2ZvY3VzaW4nKTtcbiAgICAgICAgICAgIGNvbnN0IGJsdXIkID0gdHlwZWRGcm9tRXZlbnQod2luZG93UmVmLCAnYmx1cicpO1xuICAgICAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR5cGVkRnJvbUV2ZW50KHdpbmRvd1JlZiwgJ21vdXNlZG93bicpO1xuICAgICAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0eXBlZEZyb21FdmVudCh3aW5kb3dSZWYsICdtb3VzZXVwJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICBmb2N1c291dCQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNlZG93biQpLFxuICAgICAgICAgICAgICAgICAgICByZXBlYXRXaGVuKCgpID0+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 const TUI_SWIPE_OPTIONS = new InjectionToken('Swipe options', {
3
+ factory: () => ({ timeout: 500, threshold: 30 }),
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvdG9rZW5zLyIsInNvdXJjZXMiOlsic3dpcGUtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixlQUFlLEVBQUU7SUFDbEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUMsQ0FBQztDQUNqRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpU3dpcGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX1NXSVBFX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpU3dpcGVPcHRpb25zPignU3dpcGUgb3B0aW9ucycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAoe3RpbWVvdXQ6IDUwMCwgdGhyZXNob2xkOiAzMH0pLFxufSk7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_ZOOM_OPTIONS = new InjectionToken('Zoom options', {
3
+ factory: () => ({
4
+ wheelSensitivity: 0.01,
5
+ }),
6
+ });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay90b2tlbnMvIiwic291cmNlcyI6WyJ6b29tLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsY0FBYyxFQUFFO0lBQy9FLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osZ0JBQWdCLEVBQUUsSUFBSTtLQUN6QixDQUFDO0NBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVpvb21PcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX1pPT01fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlab29tT3B0aW9ucz4oJ1pvb20gb3B0aW9ucycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICB3aGVlbFNlbnNpdGl2aXR5OiAwLjAxLFxuICAgIH0pLFxufSk7XG4iXX0=
@@ -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,4 @@
1
+ export function distanceBetweenTouches({ touches }) {
2
+ return Math.hypot(touches[0].clientX - touches[1].clientX, touches[0].clientY - touches[1].clientY);
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzLyIsInNvdXJjZXMiOlsiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxFQUFDLE9BQU8sRUFBYTtJQUN4RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlblRvdWNoZXMoe3RvdWNoZXN9OiBUb3VjaEV2ZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5oeXBvdChcbiAgICAgICAgdG91Y2hlc1swXS5jbGllbnRYIC0gdG91Y2hlc1sxXS5jbGllbnRYLFxuICAgICAgICB0b3VjaGVzWzBdLmNsaWVudFkgLSB0b3VjaGVzWzFdLmNsaWVudFksXG4gICAgKTtcbn1cbiJdfQ==
@@ -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,7 +4,6 @@ import { AbstractControl, ControlValueAccessor, NgControl, NgModel } from '@angu
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 { merge, Subject } from 'rxjs';
9
8
  import { takeUntil } from 'rxjs/operators';
10
9
  import { AbstractTuiInteractive } from './interactive';
@@ -44,14 +43,16 @@ var AbstractTuiControl = /** @class */ (function (_super) {
44
43
  });
45
44
  Object.defineProperty(AbstractTuiControl.prototype, "value", {
46
45
  get: function () {
47
- return fallbackValue(this.previousInternalValue, this.fallbackValue);
46
+ var _a;
47
+ return (_a = this.previousInternalValue) !== null && _a !== void 0 ? _a : this.fallbackValue;
48
48
  },
49
49
  enumerable: true,
50
50
  configurable: true
51
51
  });
52
52
  Object.defineProperty(AbstractTuiControl.prototype, "safeCurrentValue", {
53
53
  get: function () {
54
- return fallbackValue(this.rawValue, this.fallbackValue);
54
+ var _a;
55
+ return (_a = this.rawValue) !== null && _a !== void 0 ? _a : this.fallbackValue;
55
56
  },
56
57
  enumerable: true,
57
58
  configurable: true
@@ -184,7 +185,8 @@ var AbstractTuiControl = /** @class */ (function (_super) {
184
185
  return oldValue === newValue;
185
186
  };
186
187
  AbstractTuiControl.prototype.safeNgControlData = function (extractor, defaultFieldValue) {
187
- return fallbackValue(this.ngControl && extractor(this.ngControl), defaultFieldValue);
188
+ var _a;
189
+ return (_a = (this.ngControl && extractor(this.ngControl))) !== null && _a !== void 0 ? _a : defaultFieldValue;
188
190
  };
189
191
  AbstractTuiControl.prototype.controlMarkAsTouched = function () {
190
192
  this.onTouched();
@@ -220,4 +222,4 @@ var AbstractTuiControl = /** @class */ (function (_super) {
220
222
  return AbstractTuiControl;
221
223
  }(AbstractTuiInteractive));
222
224
  export { AbstractTuiControl };
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvYWJzdHJhY3QvIiwic291cmNlcyI6WyJjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckQ7O0dBRUc7QUFFSDtJQUNZLHNDQUFzQjtJQXNCOUIsNEJBQ3FCLFNBQTJCLEVBQ3pCLGlCQUFvQztRQUYzRCxZQUlJLGlCQUFPLFNBV1Y7UUFkb0IsZUFBUyxHQUFULFNBQVMsQ0FBa0I7UUFDekIsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQW5CbkQsZUFBUyxHQUFHLGNBQWMsQ0FBQztRQUUzQixjQUFRLEdBQUcsY0FBYyxDQUFDO1FBRWYsbUJBQWEsR0FBRyxLQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QyxjQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUtsRCxjQUFRLEdBQUcsS0FBSyxD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O1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQzs7Z0JBeksrQixTQUFTO2dCQUNDLGlCQUFpQjs7SUFSM0Q7UUFIQyxLQUFLLEVBQUU7UUFDUCxXQUFXLENBQUMsaUJBQWlCLENBQUM7UUFDOUIsY0FBYyxFQUFFO3dEQUNBO0lBSWpCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzZEQUNvQjtJQW9CckM7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7NkRBUzdCO0lBakRpQixrQkFBa0I7UUFEdkMsU0FBUyxFQUFFO09BQ1Usa0JBQWtCLENBa012QztJQUFELHlCQUFDO0NBQUEsQUFsTUQsQ0FDWSxzQkFBc0IsR0FpTWpDO1NBbE1xQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGVjb3JhdG9ycyc7XG5pbXBvcnQge2ZhbGxiYWNrVmFsdWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmV9IGZyb20gJy4vaW50ZXJhY3RpdmUnO1xuXG4vKipcbiAqIEJhc2ljIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNsYXNzIHRvIGJ1aWxkIGZvcm0gY29tcG9uZW50cyB1cG9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQ29udHJvbDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgcHJpdmF0ZSBwcmV2aW91c0ludGVybmFsVmFsdWU/OiBUIHwgbnVsbDtcblxuICAgIHByaXZhdGUgb25Ub3VjaGVkID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFsbGJhY2tWYWx1ZSA9IHRoaXMuZ2V0RmFsbGJhY2tWYWx1ZSgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVhZG9ubHknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwc2V1ZG9JbnZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBgTmdDb250cm9sIG5vdCBpbmplY3RlZCBpbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX0hXFxuYCxcbiAgICAgICAgICAgICAgICAnVXNlIFsobmdNb2RlbCldIG9yIFtmb3JtQ29udHJvbF0gb3IgZm9ybUNvbnRyb2xOYW1lIGZvciBjb3JyZWN0IHdvcmsuJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ludmFsaWQnKVxuICAgIGdldCBjb21wdXRlZEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5yZWFkT25seSAmJlxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICh0aGlzLnBzZXVkb0ludmFsaWQgIT09IG51bGxcbiAgICAgICAgICAgICAgICA/IHRoaXMucHNldWRvSW52YWxpZFxuICAgICAgICAgICAgICAgIDogdGhpcy50b3VjaGVkICYmIHRoaXMuaW52YWxpZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiBmYWxsYmFja1ZhbHVlPFQ+KHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlLCB0aGlzLmZhbGxiYWNrVmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzYWZlQ3VycmVudFZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTxUPih0aGlzLnJhd1ZhbHVlLCB0aGlzLmZhbGxiYWNrVmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe2ludmFsaWR9KSA9PiBpbnZhbGlkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe3ZhbGlkfSkgPT4gdmFsaWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgdG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHt0b3VjaGVkfSkgPT4gdG91Y2hlZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHtkaXNhYmxlZH0pID0+IGRpc2FibGVkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPEFic3RyYWN0Q29udHJvbCB8IG51bGw+KFxuICAgICAgICAgICAgKHtjb250cm9sfSkgPT4gY29udHJvbCxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTmFtZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbE5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb250cm9sTmFtZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLm5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcmF3VmFsdWUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHtuZ0NvbnRyb2x9ID0gdGhpcztcblxuICAgICAgICBpZiAobmdDb250cm9sID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgJiYgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBuZ0NvbnRyb2wudmlld01vZGVsXG4gICAgICAgICAgICA6IG5nQ29udHJvbC52YWx1ZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMubmdDb250cm9sIHx8XG4gICAgICAgICAgICAhdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzIHx8XG4gICAgICAgICAgICAhdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lcmdlKHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlcywgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaExvY2FsVmFsdWUodGhpcy5zYWZlQ3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNoZWNrQ29udHJvbFVwZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFQpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaExvY2FsVmFsdWUoXG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgJiYgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdGhpcy5uZ0NvbnRyb2wubW9kZWxcbiAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGYWxsYmFja1ZhbHVlKCk6IFQ7XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sTWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUodmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy52YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IodGhpcy52YWx1ZSwgdmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbnRyb2xTZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihvbGRWYWx1ZTogVCwgbmV3VmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG9sZFZhbHVlID09PSBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVOZ0NvbnRyb2xEYXRhPFQ+KFxuICAgICAgICBleHRyYWN0b3I6IChuZ0NvbnRyb2w6IE5nQ29udHJvbCkgPT4gVCB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlOiBULFxuICAgICk6IFQge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTxUPihcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sICYmIGV4dHJhY3Rvcih0aGlzLm5nQ29udHJvbCksXG4gICAgICAgICAgICBkZWZhdWx0RmllbGRWYWx1ZSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRyb2xNYXJrQXNUb3VjaGVkKCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udHJvbFNldFZhbHVlKHZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaExvY2FsVmFsdWUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxufVxuIl19
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvYWJzdHJhY3QvIiwic291cmNlcyI6WyJjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRDs7R0FFRztBQUVIO0lBQ1ksc0NBQXNCO0lBc0I5Qiw0QkFDcUIsU0FBMkIsRUFDekIsaUJBQW9DO1FBRjNELFlBSUksaUJBQU8sU0FXVjtRQWRvQixlQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUN6Qix1QkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBbkJuRCxlQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTNCLGNBQVEsR0FBRyxjQUFjLENBQUM7UUFFZixtQkFBYSxHQUFHLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLGNBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS2xELGNBQVEsR0FBRyxLQUFLLENBQUM7UUFJakIsbUJBQWEsR0FBbUIsSUFBSSxDQUFDO1FBUWpDLElBQUks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QzlCLENBQUM7O2dCQXRLK0IsU0FBUztnQkFDQyxpQkFBaUI7O0lBUjNEO1FBSEMsS0FBSyxFQUFFO1FBQ1AsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1FBQzlCLGNBQWMsRUFBRTt3REFDQTtJQUlqQjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs2REFDb0I7SUFvQnJDO1FBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOzZEQVM3QjtJQWpEaUIsa0JBQWtCO1FBRHZDLFNBQVMsRUFBRTtPQUNVLGtCQUFrQixDQStMdkM7SUFBRCx5QkFBQztDQUFBLEFBL0xELENBQ1ksc0JBQXNCLEdBOExqQztTQS9McUIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0VNUFRZX0ZVTkNUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RlY29yYXRvcnMnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUludGVyYWN0aXZlfSBmcm9tICcuL2ludGVyYWN0aXZlJztcblxuLyoqXG4gKiBCYXNpYyBDb250cm9sVmFsdWVBY2Nlc3NvciBjbGFzcyB0byBidWlsZCBmb3JtIGNvbXBvbmVudHMgdXBvblxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aUNvbnRyb2w8VD5cbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmVcbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIHByaXZhdGUgcHJldmlvdXNJbnRlcm5hbFZhbHVlPzogVCB8IG51bGw7XG5cbiAgICBwcml2YXRlIG9uVG91Y2hlZCA9IEVNUFRZX0ZVTkNUSU9OO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZSA9IEVNUFRZX0ZVTkNUSU9OO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhbGxiYWNrVmFsdWUgPSB0aGlzLmdldEZhbGxiYWNrVmFsdWUoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3JlYWRvbmx5JylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHNldWRvSW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgYE5nQ29udHJvbCBub3QgaW5qZWN0ZWQgaW4gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IVxcbmAsXG4gICAgICAgICAgICAgICAgJ1VzZSBbKG5nTW9kZWwpXSBvciBbZm9ybUNvbnRyb2xdIG9yIGZvcm1Db250cm9sTmFtZSBmb3IgY29ycmVjdCB3b3JrLicsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pbnZhbGlkJylcbiAgICBnZXQgY29tcHV0ZWRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHkgJiZcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAodGhpcy5wc2V1ZG9JbnZhbGlkICE9PSBudWxsXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBzZXVkb0ludmFsaWRcbiAgICAgICAgICAgICAgICA6IHRoaXMudG91Y2hlZCAmJiB0aGlzLmludmFsaWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPz8gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzYWZlQ3VycmVudFZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdWYWx1ZSA/PyB0aGlzLmZhbGxiYWNrVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7aW52YWxpZH0pID0+IGludmFsaWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7dmFsaWR9KSA9PiB2YWxpZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe3RvdWNoZWR9KSA9PiB0b3VjaGVkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8QWJzdHJhY3RDb250cm9sIHwgbnVsbD4oXG4gICAgICAgICAgICAoe2NvbnRyb2x9KSA9PiBjb250cm9sLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWROYW1lKCk6IHN0cmluZyB8IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sTmFtZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbnRyb2xOYW1lKCk6IHN0cmluZyB8IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wubmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCByYXdWYWx1ZSgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3Qge25nQ29udHJvbH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChuZ0NvbnRyb2wgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCAmJiB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IG5nQ29udHJvbC52aWV3TW9kZWxcbiAgICAgICAgICAgIDogbmdDb250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5uZ0NvbnRyb2wgfHxcbiAgICAgICAgICAgICF0aGlzLm5nQ29udHJvbC52YWx1ZUNoYW5nZXMgfHxcbiAgICAgICAgICAgICF0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVyZ2UodGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzLCB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2hlY2tDb250cm9sVXBkYXRlKCkge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZShcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCAmJiB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyB0aGlzLm5nQ29udHJvbC5tb2RlbFxuICAgICAgICAgICAgICAgIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZhbGxiYWNrVmFsdWUoKTogVDtcblxuICAgIHByb3RlY3RlZCB1cGRhdGVGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFmb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xNYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcih0aGlzLnZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29udHJvbFNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVJZGVudGljYWxDb21wYXJhdG9yKG9sZFZhbHVlOiBULCBuZXdWYWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gb2xkVmFsdWUgPT09IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZU5nQ29udHJvbERhdGE8VD4oXG4gICAgICAgIGV4dHJhY3RvcjogKG5nQ29udHJvbDogTmdDb250cm9sKSA9PiBUIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWU6IFQsXG4gICAgKTogVCB7XG4gICAgICAgIHJldHVybiAodGhpcy5uZ0NvbnRyb2wgJiYgZXh0cmFjdG9yKHRoaXMubmdDb250cm9sKSkgPz8gZGVmYXVsdEZpZWxkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250cm9sTWFya0FzVG91Y2hlZCgpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRyb2xTZXRWYWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hMb2NhbFZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cbn1cbiJdfQ==