@ks89/angular-modal-gallery 11.1.0-rc.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # 11.1.0
2
+
3
+ ### Features
4
+
5
+ - add sources to improve LCP, loading and fetchpriority attributes #260 (implemented by @luca-peruzzo)
6
+
7
+ ### Tests
8
+
9
+ - add missing `keyboard-navigation.directive` test file
10
+
11
+ ### Examples
12
+
13
+ - fix bad 'add image' button CSS in all examples
14
+
15
+ ### Docs
16
+
17
+ - fix bad docs in `swipe.directive`
18
+
19
+
1
20
  # 11.1.0-rc.1
2
21
 
3
22
  ### Features
package/README.md CHANGED
@@ -182,6 +182,7 @@ From version @ks89/angular-modal-gallery >= 11.0.0, **mousetrap and hammerjs hav
182
182
 
183
183
  **More than 100 releases in two years**, and more to come... :)
184
184
 
185
+ - 08/16/2023 - 11.1.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
185
186
  - 08/06/2023 - 11.1.0-rc.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
186
187
  - 07/08/2023 - 11.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
187
188
  - 06/01/2023 - 11.0.0-rc.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
@@ -23,8 +23,14 @@
23
23
  */
24
24
  import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
25
25
  import * as i0 from "@angular/core";
26
+ /**
27
+ * Directive to manage keyboard navigation.
28
+ */
26
29
  class KeyboardNavigationDirective {
27
30
  constructor() {
31
+ /**
32
+ * Output to emit keyboard `code` of the pressed key (keydown).
33
+ */
28
34
  this.keyboardNavigation = new EventEmitter();
29
35
  }
30
36
  /**
@@ -56,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
56
62
  type: HostListener,
57
63
  args: ['window:keydown', ['$event']]
58
64
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtbmF2aWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL2RpcmVjdGl2ZXMva2V5Ym9hcmQtbmF2aWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckYsTUFHYSwyQkFBMkI7SUFIeEM7UUFRRSx1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWV2RTtJQWJDOzs7OztPQUtHO0lBRUgsU0FBUyxDQUFDLENBQWdCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBbkJVLDJCQUEyQjtrR0FBM0IsMkJBQTJCOztTQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs4QkFHQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixNQUFNO2dCQVVQLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gVGhlIE1JVCBMaWNlbnNlIChNSVQpXG5cbiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMyBTdGVmYW5vIENhcHBhIChLczg5KVxuXG4gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04gSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2tzS2V5Ym9hcmROYXZpZ2F0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmROYXZpZ2F0aW9uRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgaXNPcGVuOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKVxuICBrZXlib2FyZE5hdmlnYXRpb246IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIExpc3RlbmVyIHRvIGNhdGNoIGtleWJvYXJkJ3MgZXZlbnRzIGFuZCBjYWxsIHRoZSByaWdodCBtZXRob2QgYmFzZWQgb24gdGhlIGtleS5cbiAgICogRm9yIGluc3RhbmNlLCBwcmVzc2luZyBlc2MsIHRoaXMgd2lsbCBjYWxsIGBjbG9zZUdhbGxlcnkoQWN0aW9uLktFWUJPQVJEKWAgYW5kIHNvIG9uLlxuICAgKiBJZiB5b3UgcGFzc2VkIGEgdmFsaWQgYGtleWJvYXJkQ29uZmlnYCBlc2MsIHJpZ2h0IGFuZCBsZWZ0IGJ1dHRvbnMgd2lsbCBiZSBjdXN0b21pemVkIGJhc2VkIG9uIHlvdXIgZGF0YS5cbiAgICogQHBhcmFtIGUgS2V5Ym9hcmRFdmVudCBjYXVnaHQgYnkgdGhlIGxpc3RlbmVyLlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5rZXlib2FyZE5hdmlnYXRpb24uZW1pdChlLmNvZGUpO1xuICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtbmF2aWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL2RpcmVjdGl2ZXMva2V5Ym9hcmQtbmF2aWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckY7O0dBRUc7QUFDSCxNQUdhLDJCQUEyQjtJQUh4QztRQVVFOztXQUVHO1FBRUgsdUJBQWtCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7S0FldkU7SUFiQzs7Ozs7T0FLRztJQUVILFNBQVMsQ0FBQyxDQUFnQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQXpCVSwyQkFBMkI7a0dBQTNCLDJCQUEyQjs7U0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7OEJBTUMsTUFBTTtzQkFETCxLQUFLO2dCQU9OLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFVUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjMgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIG1hbmFnZSBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdba3NLZXlib2FyZE5hdmlnYXRpb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBLZXlib2FyZE5hdmlnYXRpb25EaXJlY3RpdmUge1xuICAvKipcbiAgICogQm9vbGVhbiBpbnB1dCB0byBza2lwIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBpc09wZW46IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIE91dHB1dCB0byBlbWl0IGtleWJvYXJkIGBjb2RlYCBvZiB0aGUgcHJlc3NlZCBrZXkgKGtleWRvd24pLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGtleWJvYXJkTmF2aWdhdGlvbjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogTGlzdGVuZXIgdG8gY2F0Y2gga2V5Ym9hcmQncyBldmVudHMgYW5kIGNhbGwgdGhlIHJpZ2h0IG1ldGhvZCBiYXNlZCBvbiB0aGUga2V5LlxuICAgKiBGb3IgaW5zdGFuY2UsIHByZXNzaW5nIGVzYywgdGhpcyB3aWxsIGNhbGwgYGNsb3NlR2FsbGVyeShBY3Rpb24uS0VZQk9BUkQpYCBhbmQgc28gb24uXG4gICAqIElmIHlvdSBwYXNzZWQgYSB2YWxpZCBga2V5Ym9hcmRDb25maWdgIGVzYywgcmlnaHQgYW5kIGxlZnQgYnV0dG9ucyB3aWxsIGJlIGN1c3RvbWl6ZWQgYmFzZWQgb24geW91ciBkYXRhLlxuICAgKiBAcGFyYW0gZSBLZXlib2FyZEV2ZW50IGNhdWdodCBieSB0aGUgbGlzdGVuZXIuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmtleWJvYXJkTmF2aWdhdGlvbi5lbWl0KGUuY29kZSk7XG4gIH1cbn1cbiJdfQ==
@@ -25,23 +25,25 @@ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
25
25
  import * as i0 from "@angular/core";
26
26
  // Inspired from https://stackblitz.com/edit/angular-swipe-events-with-hostlistner?file=src%2Fapp%2Fapp.component.ts
27
27
  /**
28
- * Directive to close the modal gallery clicking on the semi-transparent background.
29
- * In fact, it listens for a click on all elements that aren't 'inside' and it emits
30
- * an event using `@Output clickOutside`.
28
+ * Directive to manage swipe events on touch devices.
31
29
  */
32
30
  class SwipeDirective {
33
31
  constructor() {
34
32
  this.defaultTouch = { x: 0, y: 0, time: 0 };
35
33
  /**
34
+ * Output to emit swipe left event. Payload is empty.
36
35
  */
37
36
  this.swipeLeft = new EventEmitter();
38
37
  /**
38
+ * Output to emit swipe right event. Payload is empty.
39
39
  */
40
40
  this.swipeRight = new EventEmitter();
41
41
  /**
42
+ * Output to emit swipe up event. Payload is empty.
42
43
  */
43
44
  this.swipeUp = new EventEmitter();
44
45
  /**
46
+ * Output to emit swipe down event. Payload is empty.
45
47
  */
46
48
  this.swipeDown = new EventEmitter();
47
49
  }
@@ -112,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
112
114
  type: HostListener,
113
115
  args: ['touchcancel', ['$event']]
114
116
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvc3JjL2xpYi9kaXJlY3RpdmVzL3N3aXBlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3JGLG9IQUFvSDtBQUVwSDs7OztHQUlHO0FBQ0gsTUFHYSxjQUFjO0lBSDNCO1FBSUUsaUJBQVksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFFdkM7V0FDRztRQUVILGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6RDtXQUNHO1FBRUgsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFEO1dBQ0c7UUFFSCxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkQ7V0FDRztRQUVILGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQTZDMUQ7SUEzQ0M7OztPQUdHO0lBSUgsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxtQkFBbUI7UUFDbkIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztTQUMxQzthQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFFekQsMkRBQTJEO1lBQzNELElBQUksU0FBUyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIseUNBQXlDO2dCQUN6QyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN6QixnQ0FBZ0M7b0JBQ2hDLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUN4Qjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUN2QjtpQkFDRjtnQkFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN6QixnQ0FBZ0M7b0JBQ2hDLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUN2Qjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUNyQjtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDOzhHQTdEVSxjQUFjO2tHQUFkLGNBQWM7O1NBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs4QkFPQyxTQUFTO3NCQURSLE1BQU07Z0JBS1AsVUFBVTtzQkFEVCxNQUFNO2dCQUtQLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxTQUFTO3NCQURSLE1BQU07Z0JBVVAsV0FBVztzQkFIVixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3JDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDbkMsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjMgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuLy8gSW5zcGlyZWQgZnJvbSBodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvYW5ndWxhci1zd2lwZS1ldmVudHMtd2l0aC1ob3N0bGlzdG5lcj9maWxlPXNyYyUyRmFwcCUyRmFwcC5jb21wb25lbnQudHNcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gY2xvc2UgdGhlIG1vZGFsIGdhbGxlcnkgY2xpY2tpbmcgb24gdGhlIHNlbWktdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cbiAqIEluIGZhY3QsIGl0IGxpc3RlbnMgZm9yIGEgY2xpY2sgb24gYWxsIGVsZW1lbnRzIHRoYXQgYXJlbid0ICdpbnNpZGUnIGFuZCBpdCBlbWl0c1xuICogYW4gZXZlbnQgdXNpbmcgYEBPdXRwdXQgY2xpY2tPdXRzaWRlYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2tzU3dpcGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBTd2lwZURpcmVjdGl2ZSB7XG4gIGRlZmF1bHRUb3VjaCA9IHsgeDogMCwgeTogMCwgdGltZTogMCB9O1xuXG4gIC8qKlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHN3aXBlTGVmdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKipcbiAgICovXG4gIEBPdXRwdXQoKVxuICBzd2lwZVJpZ2h0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHN3aXBlVXA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc3dpcGVEb3duOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBjYWxsZWQgYnkgQW5ndWxhciBpdHNlbGYgZXZlcnkgY2xpY2sgdGhhbmtzIHRvIGBASG9zdExpc3RlbmVyYC5cbiAgICogQHBhcmFtIGV2ZW50IFRvdWNoRXZlbnQgcGF5bG9hZCByZWNlaXZlZCBvbiB0b3VjaFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hjYW5jZWwnLCBbJyRldmVudCddKVxuICBoYW5kbGVUb3VjaChldmVudDogVG91Y2hFdmVudCkge1xuICAgIGxldCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF0gfHwgZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07XG4gICAgLy8gY2hlY2sgdGhlIGV2ZW50c1xuICAgIGlmIChldmVudC50eXBlID09PSAndG91Y2hzdGFydCcpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnggPSB0b3VjaC5wYWdlWDtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnkgPSB0b3VjaC5wYWdlWTtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnRpbWUgPSBldmVudC50aW1lU3RhbXA7XG4gICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAndG91Y2hlbmQnKSB7XG4gICAgICBsZXQgZGVsdGFYID0gdG91Y2gucGFnZVggLSB0aGlzLmRlZmF1bHRUb3VjaC54O1xuICAgICAgbGV0IGRlbHRhWSA9IHRvdWNoLnBhZ2VZIC0gdGhpcy5kZWZhdWx0VG91Y2gueTtcbiAgICAgIGxldCBkZWx0YVRpbWUgPSBldmVudC50aW1lU3RhbXAgLSB0aGlzLmRlZmF1bHRUb3VjaC50aW1lO1xuXG4gICAgICAvLyBzaW11bGF0ZSBhIHN3aXBlIC0+IGxlc3MgdGhhbiA1MDAgbXMgYW5kIG1vcmUgdGhhbiA2MCBweFxuICAgICAgaWYgKGRlbHRhVGltZSA8IDUwMCkge1xuICAgICAgICAvLyB0b3VjaCBtb3ZlbWVudCBsYXN0ZWQgbGVzcyB0aGFuIDUwMCBtc1xuICAgICAgICBpZiAoTWF0aC5hYnMoZGVsdGFYKSA+IDYwKSB7XG4gICAgICAgICAgLy8gZGVsdGEgeCBpcyBhdCBsZWFzdCA2MCBwaXhlbHNcbiAgICAgICAgICBpZiAoZGVsdGFYID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zd2lwZVJpZ2h0LmVtaXQoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zd2lwZUxlZnQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChNYXRoLmFicyhkZWx0YVkpID4gNjApIHtcbiAgICAgICAgICAvLyBkZWx0YSB5IGlzIGF0IGxlYXN0IDYwIHBpeGVsc1xuICAgICAgICAgIGlmIChkZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnN3aXBlRG93bi5lbWl0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3dpcGVVcC5lbWl0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvc3JjL2xpYi9kaXJlY3RpdmVzL3N3aXBlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3JGLG9IQUFvSDtBQUVwSDs7R0FFRztBQUNILE1BR2EsY0FBYztJQUgzQjtRQUlFLGlCQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBRUgsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pEOztXQUVHO1FBRUgsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFEOztXQUVHO1FBRUgsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZEOztXQUVHO1FBRUgsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBNkMxRDtJQTNDQzs7O09BR0c7SUFJSCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hELG1CQUFtQjtRQUNuQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNwQyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUV6RCwyREFBMkQ7WUFDM0QsSUFBSSxTQUFTLEdBQUcsR0FBRyxFQUFFO2dCQUNuQix5Q0FBeUM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ3pCLGdDQUFnQztvQkFDaEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3hCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3ZCO2lCQUNGO2dCQUVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ3pCLGdDQUFnQztvQkFDaEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3ZCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3JCO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7OEdBakVVLGNBQWM7a0dBQWQsY0FBYzs7U0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCOzhCQVFDLFNBQVM7c0JBRFIsTUFBTTtnQkFNUCxVQUFVO3NCQURULE1BQU07Z0JBTVAsT0FBTztzQkFETixNQUFNO2dCQU1QLFNBQVM7c0JBRFIsTUFBTTtnQkFVUCxXQUFXO3NCQUhWLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDckMsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNuQyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gVGhlIE1JVCBMaWNlbnNlIChNSVQpXG5cbiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMyBTdGVmYW5vIENhcHBhIChLczg5KVxuXG4gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04gSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG4vLyBJbnNwaXJlZCBmcm9tIGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZWRpdC9hbmd1bGFyLXN3aXBlLWV2ZW50cy13aXRoLWhvc3RsaXN0bmVyP2ZpbGU9c3JjJTJGYXBwJTJGYXBwLmNvbXBvbmVudC50c1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBtYW5hZ2Ugc3dpcGUgZXZlbnRzIG9uIHRvdWNoIGRldmljZXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1trc1N3aXBlXSdcbn0pXG5leHBvcnQgY2xhc3MgU3dpcGVEaXJlY3RpdmUge1xuICBkZWZhdWx0VG91Y2ggPSB7IHg6IDAsIHk6IDAsIHRpbWU6IDAgfTtcblxuICAvKipcbiAgICogT3V0cHV0IHRvIGVtaXQgc3dpcGUgbGVmdCBldmVudC4gUGF5bG9hZCBpcyBlbXB0eS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBzd2lwZUxlZnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqXG4gICAqIE91dHB1dCB0byBlbWl0IHN3aXBlIHJpZ2h0IGV2ZW50LiBQYXlsb2FkIGlzIGVtcHR5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHN3aXBlUmlnaHQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqXG4gICAqIE91dHB1dCB0byBlbWl0IHN3aXBlIHVwIGV2ZW50LiBQYXlsb2FkIGlzIGVtcHR5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHN3aXBlVXA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqXG4gICAqIE91dHB1dCB0byBlbWl0IHN3aXBlIGRvd24gZXZlbnQuIFBheWxvYWQgaXMgZW1wdHkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc3dpcGVEb3duOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBjYWxsZWQgYnkgQW5ndWxhciBpdHNlbGYgZXZlcnkgY2xpY2sgdGhhbmtzIHRvIGBASG9zdExpc3RlbmVyYC5cbiAgICogQHBhcmFtIGV2ZW50IFRvdWNoRXZlbnQgcGF5bG9hZCByZWNlaXZlZCBvbiB0b3VjaFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hjYW5jZWwnLCBbJyRldmVudCddKVxuICBoYW5kbGVUb3VjaChldmVudDogVG91Y2hFdmVudCkge1xuICAgIGxldCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF0gfHwgZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07XG4gICAgLy8gY2hlY2sgdGhlIGV2ZW50c1xuICAgIGlmIChldmVudC50eXBlID09PSAndG91Y2hzdGFydCcpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnggPSB0b3VjaC5wYWdlWDtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnkgPSB0b3VjaC5wYWdlWTtcbiAgICAgIHRoaXMuZGVmYXVsdFRvdWNoLnRpbWUgPSBldmVudC50aW1lU3RhbXA7XG4gICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAndG91Y2hlbmQnKSB7XG4gICAgICBsZXQgZGVsdGFYID0gdG91Y2gucGFnZVggLSB0aGlzLmRlZmF1bHRUb3VjaC54O1xuICAgICAgbGV0IGRlbHRhWSA9IHRvdWNoLnBhZ2VZIC0gdGhpcy5kZWZhdWx0VG91Y2gueTtcbiAgICAgIGxldCBkZWx0YVRpbWUgPSBldmVudC50aW1lU3RhbXAgLSB0aGlzLmRlZmF1bHRUb3VjaC50aW1lO1xuXG4gICAgICAvLyBzaW11bGF0ZSBhIHN3aXBlIC0+IGxlc3MgdGhhbiA1MDAgbXMgYW5kIG1vcmUgdGhhbiA2MCBweFxuICAgICAgaWYgKGRlbHRhVGltZSA8IDUwMCkge1xuICAgICAgICAvLyB0b3VjaCBtb3ZlbWVudCBsYXN0ZWQgbGVzcyB0aGFuIDUwMCBtc1xuICAgICAgICBpZiAoTWF0aC5hYnMoZGVsdGFYKSA+IDYwKSB7XG4gICAgICAgICAgLy8gZGVsdGEgeCBpcyBhdCBsZWFzdCA2MCBwaXhlbHNcbiAgICAgICAgICBpZiAoZGVsdGFYID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zd2lwZVJpZ2h0LmVtaXQoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zd2lwZUxlZnQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChNYXRoLmFicyhkZWx0YVkpID4gNjApIHtcbiAgICAgICAgICAvLyBkZWx0YSB5IGlzIGF0IGxlYXN0IDYwIHBpeGVsc1xuICAgICAgICAgIGlmIChkZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnN3aXBlRG93bi5lbWl0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3dpcGVVcC5lbWl0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1223,8 +1223,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1223
1223
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1224
1224
  SOFTWARE.
1225
1225
  */
1226
+ /**
1227
+ * Directive to manage keyboard navigation.
1228
+ */
1226
1229
  class KeyboardNavigationDirective {
1227
1230
  constructor() {
1231
+ /**
1232
+ * Output to emit keyboard `code` of the pressed key (keydown).
1233
+ */
1228
1234
  this.keyboardNavigation = new EventEmitter();
1229
1235
  }
1230
1236
  /**
@@ -1434,23 +1440,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1434
1440
  */
1435
1441
  // Inspired from https://stackblitz.com/edit/angular-swipe-events-with-hostlistner?file=src%2Fapp%2Fapp.component.ts
1436
1442
  /**
1437
- * Directive to close the modal gallery clicking on the semi-transparent background.
1438
- * In fact, it listens for a click on all elements that aren't 'inside' and it emits
1439
- * an event using `@Output clickOutside`.
1443
+ * Directive to manage swipe events on touch devices.
1440
1444
  */
1441
1445
  class SwipeDirective {
1442
1446
  constructor() {
1443
1447
  this.defaultTouch = { x: 0, y: 0, time: 0 };
1444
1448
  /**
1449
+ * Output to emit swipe left event. Payload is empty.
1445
1450
  */
1446
1451
  this.swipeLeft = new EventEmitter();
1447
1452
  /**
1453
+ * Output to emit swipe right event. Payload is empty.
1448
1454
  */
1449
1455
  this.swipeRight = new EventEmitter();
1450
1456
  /**
1457
+ * Output to emit swipe up event. Payload is empty.
1451
1458
  */
1452
1459
  this.swipeUp = new EventEmitter();
1453
1460
  /**
1461
+ * Output to emit swipe down event. Payload is empty.
1454
1462
  */
1455
1463
  this.swipeDown = new EventEmitter();
1456
1464
  }