@ctrl/ngx-rightclick 1.1.3 → 3.0.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 (33) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -16
  3. package/bundles/ctrl-ngx-rightclick.umd.js +622 -658
  4. package/bundles/ctrl-ngx-rightclick.umd.js.map +1 -1
  5. package/bundles/ctrl-ngx-rightclick.umd.min.js +15 -1
  6. package/bundles/ctrl-ngx-rightclick.umd.min.js.map +1 -1
  7. package/context-menu-injector.d.ts +4 -4
  8. package/context-menu-trigger.directive.d.ts +1 -0
  9. package/context-menu.service.d.ts +2 -2
  10. package/context-submenu-trigger.directive.d.ts +3 -3
  11. package/ctrl-ngx-rightclick.metadata.json +1 -1
  12. package/esm2015/context-menu-injector.js +7 -52
  13. package/esm2015/context-menu-trigger.directive.js +52 -77
  14. package/esm2015/context-menu.module.js +16 -18
  15. package/esm2015/context-menu.service.js +19 -121
  16. package/esm2015/context-submenu-trigger.directive.js +38 -67
  17. package/esm2015/ctrl-ngx-rightclick.js +2 -6
  18. package/esm2015/menu.component.js +26 -64
  19. package/esm2015/public_api.js +7 -11
  20. package/esm5/context-menu-injector.js +8 -51
  21. package/esm5/context-menu-trigger.directive.js +54 -94
  22. package/esm5/context-menu.module.js +13 -16
  23. package/esm5/context-menu.service.js +20 -164
  24. package/esm5/context-submenu-trigger.directive.js +39 -88
  25. package/esm5/ctrl-ngx-rightclick.js +2 -6
  26. package/esm5/menu.component.js +26 -77
  27. package/esm5/public_api.js +7 -11
  28. package/fesm2015/ctrl-ngx-rightclick.js +143 -246
  29. package/fesm2015/ctrl-ngx-rightclick.js.map +1 -1
  30. package/fesm5/ctrl-ngx-rightclick.js +149 -336
  31. package/fesm5/ctrl-ngx-rightclick.js.map +1 -1
  32. package/menu.component.d.ts +1 -1
  33. package/package.json +5 -9
@@ -1,69 +1,28 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Overlay, ScrollStrategyOptions, } from '@angular/cdk/overlay';
1
+ import { __decorate } from "tslib";
2
+ import { Overlay, OverlayRef, ScrollStrategyOptions, } from '@angular/cdk/overlay';
6
3
  import { ComponentPortal } from '@angular/cdk/portal';
7
- import { ElementRef, Injectable, Injector } from '@angular/core';
4
+ import { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';
8
5
  import { BehaviorSubject } from 'rxjs';
9
6
  import { filter, take } from 'rxjs/operators';
10
7
  import { MenuInjector } from './context-menu-injector';
11
8
  import * as i0 from "@angular/core";
12
9
  import * as i1 from "@angular/cdk/overlay";
13
- /**
14
- * @record
15
- */
16
- export function ActiveContextMenuSub() { }
17
- if (false) {
18
- /** @type {?} */
19
- ActiveContextMenuSub.prototype.id;
20
- /** @type {?} */
21
- ActiveContextMenuSub.prototype.isTriggerHovered;
22
- /** @type {?} */
23
- ActiveContextMenuSub.prototype.isMenuHovered;
24
- /** @type {?} */
25
- ActiveContextMenuSub.prototype.submenu;
26
- }
27
- /**
28
- * @record
29
- */
30
- export function ActiveContextMenu() { }
31
- if (false) {
32
- /** @type {?} */
33
- ActiveContextMenu.prototype.overlayRef;
34
- /** @type {?} */
35
- ActiveContextMenu.prototype.component;
36
- /** @type {?} */
37
- ActiveContextMenu.prototype.menuClose;
38
- /** @type {?} */
39
- ActiveContextMenu.prototype.menuAction;
40
- }
41
- export class ContextMenuService {
42
- /**
43
- * @param {?} overlay
44
- * @param {?} scrollStrategy
45
- * @param {?} _injector
46
- */
47
- constructor(overlay, scrollStrategy, _injector) {
10
+ let ContextMenuService = class ContextMenuService {
11
+ constructor(overlay, scrollStrategy, injector) {
48
12
  this.overlay = overlay;
49
13
  this.scrollStrategy = scrollStrategy;
50
- this._injector = _injector;
14
+ this.injector = injector;
51
15
  this.menus = [];
52
16
  this.id = 0;
53
17
  }
54
18
  /**
55
19
  *
56
- * @param {?} $event triggering event
57
- * @param {?} menuComponent the component to be shown
58
- * @param {?} context
59
- * @param {?} menuClose
60
- * @param {?} menuAction
61
- * @param {?=} submenu is a menu within a menu
62
- * @param {?=} level if submenu, what level
63
- * @return {?}
20
+ * @param $event triggering event
21
+ * @param menuComponent the component to be shown
22
+ * @param submenu is a menu within a menu
23
+ * @param level if submenu, what level
64
24
  */
65
25
  show($event, menuComponent, context, menuClose, menuAction, submenu = false, level) {
66
- /** @type {?} */
67
26
  let target;
68
27
  if (!submenu) {
69
28
  this.closeAll();
@@ -83,9 +42,7 @@ export class ContextMenuService {
83
42
  this.closeAll(undefined, level);
84
43
  target = $event.target;
85
44
  }
86
- /** @type {?} */
87
45
  const el = new ElementRef(target);
88
- /** @type {?} */
89
46
  const positionStrategy = this.overlay
90
47
  .position()
91
48
  .flexibleConnectedTo(el)
@@ -158,54 +115,34 @@ export class ContextMenuService {
158
115
  },
159
116
  ]);
160
117
  }
161
- /** @type {?} */
162
118
  const t = {
163
119
  submenu,
164
120
  id: this.id++,
165
121
  isMenuHovered: new BehaviorSubject(false),
166
122
  isTriggerHovered: new BehaviorSubject(false),
167
123
  };
168
- /** @type {?} */
169
- const menuInjector = new MenuInjector(t, this._injector, context);
170
- /** @type {?} */
124
+ const menuInjector = new MenuInjector(t, this.injector, context);
171
125
  const componentPortal = new ComponentPortal(menuComponent, undefined, menuInjector);
172
- /** @type {?} */
173
126
  const overlayRef = this.overlay.create({
174
127
  positionStrategy,
175
128
  panelClass: 'ngx-contextmenu',
176
129
  scrollStrategy: this.scrollStrategy.close(),
177
130
  });
178
- /** @type {?} */
179
131
  const component = overlayRef.attach(componentPortal);
180
- /** @type {?} */
181
- const res = Object.assign({ overlayRef, component }, t, { menuClose, menuAction });
132
+ const res = Object.assign(Object.assign({ overlayRef, component }, t), { menuClose, menuAction });
182
133
  this.menus.push(res);
183
134
  return res;
184
135
  }
185
- /**
186
- * @return {?}
187
- */
188
136
  getCurrentLevel() {
189
137
  return this.menus.length;
190
138
  }
191
- /**
192
- * @param {?=} context
193
- * @param {?=} idx
194
- * @return {?}
195
- */
196
139
  closeAll(context, idx = 0) {
197
140
  for (let index = idx; index < this.menus.length; index++) {
198
- /** @type {?} */
199
141
  const menu = this.menus[index];
200
142
  this.destroyMenu(menu, context);
201
143
  }
202
144
  this.menus.splice(idx, this.menus.length);
203
145
  }
204
- /**
205
- * @param {?} menu
206
- * @param {?=} context
207
- * @return {?}
208
- */
209
146
  destroyMenu(menu, context) {
210
147
  menu.component.instance._state = 'exit';
211
148
  if (menu.component.instance.lazy) {
@@ -225,23 +162,12 @@ export class ContextMenuService {
225
162
  }
226
163
  menu.menuClose.next();
227
164
  }
228
- /**
229
- * @param {?} menu
230
- * @param {?} menuIndex
231
- * @param {?=} context
232
- * @return {?}
233
- */
234
165
  close(menu, menuIndex, context) {
235
166
  this.destroyMenu(menu, context);
236
167
  this.menus.splice(menuIndex, 1);
237
168
  }
238
- /**
239
- * @param {?} $event
240
- * @return {?}
241
- */
242
169
  checkOutsideClick($event) {
243
170
  for (const m of this.menus) {
244
- /** @type {?} */
245
171
  const clickedInside = m.component.location.nativeElement.contains($event.target);
246
172
  if (clickedInside) {
247
173
  $event.preventDefault();
@@ -251,25 +177,18 @@ export class ContextMenuService {
251
177
  }
252
178
  this.closeAll();
253
179
  }
254
- /**
255
- * @param {?} id
256
- * @return {?}
257
- */
258
180
  closeSubMenu(id) {
259
- /** @type {?} */
260
181
  const menuIndex = this.menus.findIndex(n => n.id === id);
261
182
  if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {
262
183
  return;
263
184
  }
264
185
  // make sure we can close the current menu
265
- /** @type {?} */
266
186
  const menu = this.menus[menuIndex];
267
187
  if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {
268
188
  return;
269
189
  }
270
190
  // close all menus up if possible
271
191
  for (let index = this.menus.length - 1; index >= 1; index--) {
272
- /** @type {?} */
273
192
  const m = this.menus[index];
274
193
  if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {
275
194
  this.close(m, index);
@@ -279,36 +198,15 @@ export class ContextMenuService {
279
198
  }
280
199
  }
281
200
  }
282
- }
283
- ContextMenuService.decorators = [
284
- { type: Injectable, args: [{ providedIn: 'root' },] }
285
- ];
286
- /** @nocollapse */
201
+ };
287
202
  ContextMenuService.ctorParameters = () => [
288
203
  { type: Overlay },
289
204
  { type: ScrollStrategyOptions },
290
205
  { type: Injector }
291
206
  ];
292
- /** @nocollapse */ ContextMenuService.ngInjectableDef = i0.defineInjectable({ factory: function ContextMenuService_Factory() { return new ContextMenuService(i0.inject(i1.Overlay), i0.inject(i1.ScrollStrategyOptions), i0.inject(i0.INJECTOR)); }, token: ContextMenuService, providedIn: "root" });
293
- if (false) {
294
- /** @type {?} */
295
- ContextMenuService.prototype.menus;
296
- /** @type {?} */
297
- ContextMenuService.prototype.id;
298
- /**
299
- * @type {?}
300
- * @private
301
- */
302
- ContextMenuService.prototype.overlay;
303
- /**
304
- * @type {?}
305
- * @private
306
- */
307
- ContextMenuService.prototype.scrollStrategy;
308
- /**
309
- * @type {?}
310
- * @private
311
- */
312
- ContextMenuService.prototype._injector;
313
- }
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbImNvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUVQLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUV2RCwwQ0FLQzs7O0lBSkMsa0NBQVc7O0lBQ1gsZ0RBQTJDOztJQUMzQyw2Q0FBd0M7O0lBQ3hDLHVDQUFpQjs7Ozs7QUFFbkIsdUNBS0M7OztJQUpDLHVDQUF1Qjs7SUFDdkIsc0NBQWU7O0lBQ2Ysc0NBQThCOztJQUM5Qix1Q0FBOEI7O0FBSWhDLE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQUk3QixZQUNVLE9BQWdCLEVBQ2hCLGNBQXFDLEVBQ3JDLFNBQW1CO1FBRm5CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFON0IsVUFBSyxHQUF3QixFQUFFLENBQUM7UUFDaEMsT0FBRSxHQUFHLENBQUMsQ0FBQztJQU1KLENBQUM7Ozs7Ozs7Ozs7OztJQVNKLElBQUksQ0FDRixNQUFrQixFQUNsQixhQUFhLEVBQ2IsT0FBWSxFQUNaLFNBQTRCLEVBQzVCLFVBQTZCLEVBQzdCLE9BQU8sR0FBRyxLQUFL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RUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxPQUFPO2FBQ1I7U0FDRjtJQUNILENBQUM7OztZQS9NRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O1lBekJoQyxPQUFPO1lBRVAscUJBQXFCO1lBR1UsUUFBUTs7Ozs7SUFzQnZDLG1DQUFnQzs7SUFDaEMsZ0NBQU87Ozs7O0lBR0wscUNBQXdCOzs7OztJQUN4Qiw0Q0FBNkM7Ozs7O0lBQzdDLHVDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNZW51SW5qZWN0b3IgfSBmcm9tICcuL2NvbnRleHQtbWVudS1pbmplY3Rvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlQ29udGV4dE1lbnVTdWIge1xuICBpZDogbnVtYmVyO1xuICBpc1RyaWdnZXJIb3ZlcmVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIGlzTWVudUhvdmVyZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgc3VibWVudTogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlQ29udGV4dE1lbnUgZXh0ZW5kcyBBY3RpdmVDb250ZXh0TWVudVN1YiB7XG4gIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbXBvbmVudDogYW55O1xuICBtZW51Q2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgbWVudUFjdGlvbjogRXZlbnRFbWl0dGVyPGFueT47XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVTZXJ2aWNlIHtcbiAgbWVudXM6IEFjdGl2ZUNvbnRleHRNZW51W10gPSBbXTtcbiAgaWQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSAkZXZlbnQgdHJpZ2dlcmluZyBldmVudFxuICAgKiBAcGFyYW0gbWVudUNvbXBvbmVudCB0aGUgY29tcG9uZW50IHRvIGJlIHNob3duXG4gICAqIEBwYXJhbSBzdWJtZW51IGlzIGEgbWVudSB3aXRoaW4gYSBtZW51XG4gICAqIEBwYXJhbSBsZXZlbCBpZiBzdWJtZW51LCB3aGF0IGxldmVsXG4gICAqL1xuICBzaG93KFxuICAgICRldmVudDogTW91c2VFdmVudCxcbiAgICBtZW51Q29tcG9uZW50LFxuICAgIGNvbnRleHQ6IGFueSxcbiAgICBtZW51Q2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+LFxuICAgIG1lbnVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+LFxuICAgIHN1Ym1lbnUgPSBmYWxzZSxcbiAgICBsZXZlbD86IG51bWJlcixcbiAgKTogQWN0aXZlQ29udGV4dE1lbnUge1xuICAgIGxldCB0YXJnZXQ6IGFueTtcbiAgICBpZiAoIXN1Ym1lbnUpIHtcbiAgICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgICAgIHRhcmdldCA9IHtcbiAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0OiAoKTogQ2xpZW50UmVjdCA9PiAoe1xuICAgICAgICAgIGJvdHRvbTogJGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgIGxlZnQ6ICRldmVudC5jbGllbnRYLFxuICAgICAgICAgIHJpZ2h0OiAkZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICB0b3A6ICRldmVudC5jbGllbnRZLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNsb3NlIG90aGVyIHN1Ym1lbnVzXG4gICAgICB0aGlzLmNsb3NlQWxsKHVuZGVmaW5lZCwgbGV2ZWwpO1xuICAgICAgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldDtcbiAgICB9XG4gICAgY29uc3QgZWwgPSBuZXcgRWxlbWVudFJlZih0YXJnZXQpO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbClcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKTtcblxuICAgIGlmICghc3VibWVudSkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICBjb25zdCB0OiBBY3RpdmVDb250ZXh0TWVudVN1YiA9IHtcbiAgICAgIHN1Ym1lbnUsXG4gICAgICBpZDogdGhpcy5pZCsrLFxuICAgICAgaXNNZW51SG92ZXJlZDogbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSksXG4gICAgICBpc1RyaWdnZXJIb3ZlcmVkOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKSxcbiAgICB9O1xuICAgIGNvbnN0IG1lbnVJbmplY3RvciA9IG5ldyBNZW51SW5qZWN0b3IodCwgdGhpcy5faW5qZWN0b3IsIGNvbnRleHQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICBtZW51Q29tcG9uZW50LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgbWVudUluamVjdG9yLFxuICAgICk7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHBhbmVsQ2xhc3M6ICduZ3gtY29udGV4dG1lbnUnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kuY2xvc2UoKSxcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSBvdmVybGF5UmVmLmF0dGFjaDxhbnk+KGNvbXBvbmVudFBvcnRhbCk7XG4gICAgY29uc3QgcmVzID0geyBvdmVybGF5UmVmLCBjb21wb25lbnQsIC4uLnQsIG1lbnVDbG9zZSwgbWVudUFjdGlvbiB9O1xuICAgIHRoaXMubWVudXMucHVzaChyZXMpO1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgZ2V0Q3VycmVudExldmVsKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnVzLmxlbmd0aDtcbiAgfVxuICBjbG9zZUFsbChjb250ZXh0PzogYW55LCBpZHggPSAwKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSBpZHg7IGluZGV4IDwgdGhpcy5tZW51cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnVzW2luZGV4XTtcbiAgICAgIHRoaXMuZGVzdHJveU1lbnUobWVudSwgY29udGV4dCk7XG4gICAgfVxuICAgIHRoaXMubWVudXMuc3BsaWNlKGlkeCwgdGhpcy5tZW51cy5sZW5ndGgpO1xuICB9XG4gIGRlc3Ryb3lNZW51KG1lbnU6IEFjdGl2ZUNvbnRleHRNZW51LCBjb250ZXh0PzogYW55KSB7XG4gICAgbWVudS5jb21wb25lbnQuaW5zdGFuY2UuX3N0YXRlID0gJ2V4aXQnO1xuICAgIGlmIChtZW51LmNvbXBvbmVudC5pbnN0YW5jZS5sYXp5KSB7XG4gICAgICBtZW51LmNvbXBvbmVudC5pbnN0YW5jZS5fYW5pbWF0aW9uRG9uZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IGV2ZW50LnRvU3RhdGUgPT09ICdleGl0JyksXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBtZW51Lm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgbWVudS5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lbnUub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgIG1lbnUub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmIChjb250ZXh0KSB7XG4gICAgICBtZW51Lm1lbnVBY3Rpb24ubmV4dChjb250ZXh0KTtcbiAgICB9XG4gICAgbWVudS5tZW51Q2xvc2UubmV4dCgpO1xuICB9XG4gIGNsb3NlKG1lbnU6IEFjdGl2ZUNvbnRleHRNZW51LCBtZW51SW5kZXg6IG51bWJlciwgY29udGV4dD86IGFueSkge1xuICAgIHRoaXMuZGVzdHJveU1lbnUobWVudSwgY29udGV4dCk7XG4gICAgdGhpcy5tZW51cy5zcGxpY2UobWVudUluZGV4LCAxKTtcbiAgfVxuICBjaGVja091dHNpZGVDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBmb3IgKGNvbnN0IG0gb2YgdGhpcy5tZW51cykge1xuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IG0uY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoXG4gICAgICAgICRldmVudC50YXJnZXQsXG4gICAgICApO1xuICAgICAgaWYgKGNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNsb3NlQWxsKCk7XG4gIH1cbiAgY2xvc2VTdWJNZW51KGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBtZW51SW5kZXggPSB0aGlzLm1lbnVzLmZpbmRJbmRleChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZiAobWVudUluZGV4ID09PSAtMSB8fCBtZW51SW5kZXggIT09IHRoaXMubWVudXMubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBtYWtlIHN1cmUgd2UgY2FuIGNsb3NlIHRoZSBjdXJyZW50IG1lbnVcbiAgICBjb25zdCBtZW51ID0gdGhpcy5tZW51c1ttZW51SW5kZXhdO1xuICAgIGlmIChtZW51LmlzTWVudUhvdmVyZWQuZ2V0VmFsdWUoKSB8fCBtZW51LmlzVHJpZ2dlckhvdmVyZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBjbG9zZSBhbGwgbWVudXMgdXAgaWYgcG9zc2libGVcbiAgICBmb3IgKGxldCBpbmRleCA9IHRoaXMubWVudXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMTsgaW5kZXgtLSkge1xuICAgICAgY29uc3QgbSA9IHRoaXMubWVudXNbaW5kZXhdO1xuICAgICAgaWYgKCFtLmlzTWVudUhvdmVyZWQuZ2V0VmFsdWUoKSAmJiAhbS5pc1RyaWdnZXJIb3ZlcmVkLmdldFZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5jbG9zZShtLCBpbmRleCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
207
+ ContextMenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContextMenuService_Factory() { return new ContextMenuService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i1.ScrollStrategyOptions), i0.ɵɵinject(i0.INJECTOR)); }, token: ContextMenuService, providedIn: "root" });
208
+ ContextMenuService = __decorate([
209
+ Injectable({ providedIn: 'root' })
210
+ ], ContextMenuService);
211
+ export { ContextMenuService };
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbImNvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFnQnZELElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBSTdCLFlBQ1UsT0FBZ0IsRUFDaEIsY0FBcUMsRUFDckMsUUFBa0I7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU41QixVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUNoQyxPQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTUosQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNILElBQUksQ0FDRixNQUFrQixFQUNsQixhQUFhLEVBQ2IsT0FBWSxFQUNaLFNBQTRCLEVBQzVCLFVBQTZCLEVBQzdCLE9BQU8sR0FBRyxLQUFLLEVBQ2YsS0FBYztRQUVkLElBQUksTUFBVyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsTUFBTSxHQUFHO2dCQUNQLHFC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QUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztDQUNGLENBQUE7O1lBMU1vQixPQUFPO1lBQ0EscUJBQXFCO1lBQzNCLFFBQVE7OztBQVBqQixrQkFBa0I7SUFEOUIsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0dBQ3RCLGtCQUFrQixDQStNOUI7U0EvTVksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheVJlZixcbiAgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1lbnVJbmplY3RvciB9IGZyb20gJy4vY29udGV4dC1tZW51LWluamVjdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVDb250ZXh0TWVudVN1YiB7XG4gIGlkOiBudW1iZXI7XG4gIGlzVHJpZ2dlckhvdmVyZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgaXNNZW51SG92ZXJlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBzdWJtZW51OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVDb250ZXh0TWVudSBleHRlbmRzIEFjdGl2ZUNvbnRleHRNZW51U3ViIHtcbiAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgY29tcG9uZW50OiBhbnk7XG4gIG1lbnVDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuICBtZW51QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55Pjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudVNlcnZpY2Uge1xuICBtZW51czogQWN0aXZlQ29udGV4dE1lbnVbXSA9IFtdO1xuICBpZCA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7fVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gJGV2ZW50IHRyaWdnZXJpbmcgZXZlbnRcbiAgICogQHBhcmFtIG1lbnVDb21wb25lbnQgdGhlIGNvbXBvbmVudCB0byBiZSBzaG93blxuICAgKiBAcGFyYW0gc3VibWVudSBpcyBhIG1lbnUgd2l0aGluIGEgbWVudVxuICAgKiBAcGFyYW0gbGV2ZWwgaWYgc3VibWVudSwgd2hhdCBsZXZlbFxuICAgKi9cbiAgc2hvdyhcbiAgICAkZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgbWVudUNvbXBvbmVudCxcbiAgICBjb250ZXh0OiBhbnksXG4gICAgbWVudUNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PixcbiAgICBtZW51QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PixcbiAgICBzdWJtZW51ID0gZmFsc2UsXG4gICAgbGV2ZWw/OiBudW1iZXIsXG4gICk6IEFjdGl2ZUNvbnRleHRNZW51IHtcbiAgICBsZXQgdGFyZ2V0OiBhbnk7XG4gICAgaWYgKCFzdWJtZW51KSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgICB0YXJnZXQgPSB7XG4gICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCk6IENsaWVudFJlY3QgPT4gKHtcbiAgICAgICAgICBib3R0b206ICRldmVudC5jbGllbnRZLFxuICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICBsZWZ0OiAkZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICByaWdodDogJGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgdG9wOiAkZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjbG9zZSBvdGhlciBzdWJtZW51c1xuICAgICAgdGhpcy5jbG9zZUFsbCh1bmRlZmluZWQsIGxldmVsKTtcbiAgICAgIHRhcmdldCA9ICRldmVudC50YXJnZXQ7XG4gICAgfVxuICAgIGNvbnN0IGVsID0gbmV3IEVsZW1lbnRSZWYodGFyZ2V0KTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWwpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSk7XG5cbiAgICBpZiAoIXN1Ym1lbnUpIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG4gICAgY29uc3QgdDogQWN0aXZlQ29udGV4dE1lbnVTdWIgPSB7XG4gICAgICBzdWJtZW51LFxuICAgICAgaWQ6IHRoaXMuaWQrKyxcbiAgICAgIGlzTWVudUhvdmVyZWQ6IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpLFxuICAgICAgaXNUcmlnZ2VySG92ZXJlZDogbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSksXG4gICAgfTtcbiAgICBjb25zdCBtZW51SW5qZWN0b3IgPSBuZXcgTWVudUluamVjdG9yKHQsIHRoaXMuaW5qZWN0b3IsIGNvbnRleHQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICBtZW51Q29tcG9uZW50LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgbWVudUluamVjdG9yLFxuICAgICk7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHBhbmVsQ2xhc3M6ICduZ3gtY29udGV4dG1lbnUnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kuY2xvc2UoKSxcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSBvdmVybGF5UmVmLmF0dGFjaDxhbnk+KGNvbXBvbmVudFBvcnRhbCk7XG4gICAgY29uc3QgcmVzID0geyBvdmVybGF5UmVmLCBjb21wb25lbnQsIC4uLnQsIG1lbnVDbG9zZSwgbWVudUFjdGlvbiB9O1xuICAgIHRoaXMubWVudXMucHVzaChyZXMpO1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgZ2V0Q3VycmVudExldmVsKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnVzLmxlbmd0aDtcbiAgfVxuICBjbG9zZUFsbChjb250ZXh0PzogYW55LCBpZHggPSAwKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSBpZHg7IGluZGV4IDwgdGhpcy5tZW51cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnVzW2luZGV4XTtcbiAgICAgIHRoaXMuZGVzdHJveU1lbnUobWVudSwgY29udGV4dCk7XG4gICAgfVxuICAgIHRoaXMubWVudXMuc3BsaWNlKGlkeCwgdGhpcy5tZW51cy5sZW5ndGgpO1xuICB9XG4gIGRlc3Ryb3lNZW51KG1lbnU6IEFjdGl2ZUNvbnRleHRNZW51LCBjb250ZXh0PzogYW55KSB7XG4gICAgbWVudS5jb21wb25lbnQuaW5zdGFuY2UuX3N0YXRlID0gJ2V4aXQnO1xuICAgIGlmIChtZW51LmNvbXBvbmVudC5pbnN0YW5jZS5sYXp5KSB7XG4gICAgICBtZW51LmNvbXBvbmVudC5pbnN0YW5jZS5fYW5pbWF0aW9uRG9uZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IGV2ZW50LnRvU3RhdGUgPT09ICdleGl0JyksXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBtZW51Lm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgbWVudS5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lbnUub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgIG1lbnUub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmIChjb250ZXh0KSB7XG4gICAgICBtZW51Lm1lbnVBY3Rpb24ubmV4dChjb250ZXh0KTtcbiAgICB9XG4gICAgbWVudS5tZW51Q2xvc2UubmV4dCgpO1xuICB9XG4gIGNsb3NlKG1lbnU6IEFjdGl2ZUNvbnRleHRNZW51LCBtZW51SW5kZXg6IG51bWJlciwgY29udGV4dD86IGFueSkge1xuICAgIHRoaXMuZGVzdHJveU1lbnUobWVudSwgY29udGV4dCk7XG4gICAgdGhpcy5tZW51cy5zcGxpY2UobWVudUluZGV4LCAxKTtcbiAgfVxuICBjaGVja091dHNpZGVDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBmb3IgKGNvbnN0IG0gb2YgdGhpcy5tZW51cykge1xuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IG0uY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoXG4gICAgICAgICRldmVudC50YXJnZXQsXG4gICAgICApO1xuICAgICAgaWYgKGNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNsb3NlQWxsKCk7XG4gIH1cbiAgY2xvc2VTdWJNZW51KGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBtZW51SW5kZXggPSB0aGlzLm1lbnVzLmZpbmRJbmRleChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZiAobWVudUluZGV4ID09PSAtMSB8fCBtZW51SW5kZXggIT09IHRoaXMubWVudXMubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBtYWtlIHN1cmUgd2UgY2FuIGNsb3NlIHRoZSBjdXJyZW50IG1lbnVcbiAgICBjb25zdCBtZW51ID0gdGhpcy5tZW51c1ttZW51SW5kZXhdO1xuICAgIGlmIChtZW51LmlzTWVudUhvdmVyZWQuZ2V0VmFsdWUoKSB8fCBtZW51LmlzVHJpZ2dlckhvdmVyZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBjbG9zZSBhbGwgbWVudXMgdXAgaWYgcG9zc2libGVcbiAgICBmb3IgKGxldCBpbmRleCA9IHRoaXMubWVudXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMTsgaW5kZXgtLSkge1xuICAgICAgY29uc3QgbSA9IHRoaXMubWVudXNbaW5kZXhdO1xuICAgICAgaWYgKCFtLmlzTWVudUhvdmVyZWQuZ2V0VmFsdWUoKSAmJiAhbS5pc1RyaWdnZXJIb3ZlcmVkLmdldFZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5jbG9zZShtLCBpbmRleCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,13 +1,7 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
1
+ import { __decorate } from "tslib";
5
2
  import { Directive, HostListener, Input, Output, EventEmitter, } from '@angular/core';
6
- import { ContextMenuService, } from './context-menu.service';
7
- export class ContextSubmenuTriggerDirective {
8
- /**
9
- * @param {?} contextMenuService
10
- */
3
+ import { ActiveContextMenu, ContextMenuService } from './context-menu.service';
4
+ let ContextSubmenuTriggerDirective = class ContextSubmenuTriggerDirective {
11
5
  constructor(contextMenuService) {
12
6
  this.contextMenuService = contextMenuService;
13
7
  this.hoverDelay = 500;
@@ -19,22 +13,14 @@ export class ContextSubmenuTriggerDirective {
19
13
  // get current level
20
14
  setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));
21
15
  }
22
- /**
23
- * @param {?} $event
24
- * @return {?}
25
- */
26
16
  handleSubMenuClick($event) {
27
- event.preventDefault();
28
- event.stopPropagation();
17
+ $event.preventDefault();
18
+ $event.stopPropagation();
29
19
  clearTimeout(this.opentimer);
30
20
  clearTimeout(this.closetimer);
31
21
  this.menu = this.contextMenuService.show($event, this.contextSubmenuTrigger, this.menuContext, this.menuClose, this.menuAction, true, this.level);
32
22
  this.visible = true;
33
23
  }
34
- /**
35
- * @param {?} $event
36
- * @return {?}
37
- */
38
24
  handleSubMenuEnter($event) {
39
25
  if (this.menu) {
40
26
  this.menu.isTriggerHovered.next(true);
@@ -48,7 +34,6 @@ export class ContextSubmenuTriggerDirective {
48
34
  }
49
35
  /**
50
36
  * submenu hides after cursor has exited for a period of time
51
- * @return {?}
52
37
  */
53
38
  handleSubMenuExit() {
54
39
  clearTimeout(this.opentimer);
@@ -66,58 +51,44 @@ export class ContextSubmenuTriggerDirective {
66
51
  }
67
52
  /**
68
53
  * if overwritten make sure to clear timeouts
69
- * @return {?}
70
54
  */
71
55
  ngOnDestroy() {
72
56
  clearTimeout(this.opentimer);
73
57
  clearTimeout(this.closetimer);
74
58
  }
75
- }
76
- ContextSubmenuTriggerDirective.decorators = [
77
- { type: Directive, args: [{ selector: '[contextSubmenuTrigger]' },] }
78
- ];
79
- /** @nocollapse */
59
+ };
80
60
  ContextSubmenuTriggerDirective.ctorParameters = () => [
81
61
  { type: ContextMenuService }
82
62
  ];
83
- ContextSubmenuTriggerDirective.propDecorators = {
84
- hoverDelay: [{ type: Input }],
85
- openDelay: [{ type: Input }],
86
- contextSubmenuTrigger: [{ type: Input }],
87
- menuContext: [{ type: Input }],
88
- menuAction: [{ type: Output }],
89
- menuClose: [{ type: Output }],
90
- handleSubMenuClick: [{ type: HostListener, args: ['click', ['$event', 'true'],] }],
91
- handleSubMenuEnter: [{ type: HostListener, args: ['mouseover', ['$event'],] }],
92
- handleSubMenuExit: [{ type: HostListener, args: ['mouseout', ['$event'],] }]
93
- };
94
- if (false) {
95
- /** @type {?} */
96
- ContextSubmenuTriggerDirective.prototype.hoverDelay;
97
- /** @type {?} */
98
- ContextSubmenuTriggerDirective.prototype.openDelay;
99
- /** @type {?} */
100
- ContextSubmenuTriggerDirective.prototype.contextSubmenuTrigger;
101
- /** @type {?} */
102
- ContextSubmenuTriggerDirective.prototype.menuContext;
103
- /** @type {?} */
104
- ContextSubmenuTriggerDirective.prototype.menuAction;
105
- /** @type {?} */
106
- ContextSubmenuTriggerDirective.prototype.menuClose;
107
- /** @type {?} */
108
- ContextSubmenuTriggerDirective.prototype.menu;
109
- /** @type {?} */
110
- ContextSubmenuTriggerDirective.prototype.opentimer;
111
- /** @type {?} */
112
- ContextSubmenuTriggerDirective.prototype.closetimer;
113
- /** @type {?} */
114
- ContextSubmenuTriggerDirective.prototype.visible;
115
- /** @type {?} */
116
- ContextSubmenuTriggerDirective.prototype.level;
117
- /**
118
- * @type {?}
119
- * @private
120
- */
121
- ContextSubmenuTriggerDirective.prototype.contextMenuService;
122
- }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdWJtZW51LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGN0cmwvbmd4LXJpZ2h0Y2xpY2svIiwic291cmNlcyI6WyJjb250ZXh0LXN1Ym1lbnUtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxrQkFBa0IsR0FDbkIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxNQUFNLE9BQU8sOEJBQThCOzs7O0lBdUV6QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXRFakQsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNqQixjQUFTLEdBQUcsR0FBRyxDQUFDO1FBR2YsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBNkRSLG9CQUFvQjtRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7Ozs7SUE1REQsa0JBQWtCLENBQUMsTUFBa0I7UUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtC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biAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFjdGl2ZUNvbnRleHRNZW51LFxuICBDb250ZXh0TWVudVNlcnZpY2UsXG59IGZyb20gJy4vY29udGV4dC1tZW51LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY29udGV4dFN1Ym1lbnVUcmlnZ2VyXScgfSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0U3VibWVudVRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBob3ZlckRlbGF5ID0gNTAwO1xuICBASW5wdXQoKSBvcGVuRGVsYXkgPSAyMDA7XG4gIEBJbnB1dCgpIGNvbnRleHRTdWJtZW51VHJpZ2dlcjogYW55O1xuICBASW5wdXQoKSBtZW51Q29udGV4dDogYW55O1xuICBAT3V0cHV0KCkgbWVudUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbWVudUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBtZW51OiBBY3RpdmVDb250ZXh0TWVudTtcbiAgb3BlbnRpbWVyOiBhbnk7XG4gIGNsb3NldGltZXI6IGFueTtcbiAgdmlzaWJsZSA9IGZhbHNlO1xuICBsZXZlbCA9IDE7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICd0cnVlJ10pXG4gIGhhbmRsZVN1Yk1lbnVDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW50aW1lcik7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2V0aW1lcik7XG4gICAgdGhpcy5tZW51ID0gdGhpcy5jb250ZXh0TWVudVNlcnZpY2Uuc2hvdyhcbiAgICAgICRldmVudCxcbiAgICAgIHRoaXMuY29udGV4dFN1Ym1lbnVUcmlnZ2VyLFxuICAgICAgdGhpcy5tZW51Q29udGV4dCxcbiAgICAgIHRoaXMubWVudUNsb3NlLFxuICAgICAgdGhpcy5tZW51QWN0aW9uLFxuICAgICAgdHJ1ZSxcbiAgICAgIHRoaXMubGV2ZWwsXG4gICAgKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlU3ViTWVudUVudGVyKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLm1lbnUpIHtcbiAgICAgIHRoaXMubWVudS5pc1RyaWdnZXJIb3ZlcmVkLm5leHQodHJ1ZSk7XG4gICAgfVxuICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NldGltZXIpO1xuICAgIHRoaXMub3BlbnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lbnUgPSB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zaG93KFxuICAgICAgICAkZXZlbnQsXG4gICAgICAgIHRoaXMuY29udGV4dFN1Ym1lbnVUcmlnZ2VyLFxuICAgICAgICB0aGlzLm1lbnVDb250ZXh0LFxuICAgICAgICB0aGlzLm1lbnVDbG9zZSxcbiAgICAgICAgdGhpcy5tZW51QWN0aW9uLFxuICAgICAgICB0cnVlLFxuICAgICAgICB0aGlzLmxldmVsLFxuICAgICAgKTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICB0aGlzLm9wZW50aW1lciA9IG51bGw7XG4gICAgfSwgdGhpcy5vcGVuRGVsYXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIHN1Ym1lbnUgaGlkZXMgYWZ0ZXIgY3Vyc29yIGhhcyBleGl0ZWQgZm9yIGEgcGVyaW9kIG9mIHRpbWVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3V0JywgWyckZXZlbnQnXSlcbiAgaGFuZGxlU3ViTWVudUV4aXQoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbnRpbWVyKTtcbiAgICBpZiAodGhpcy5tZW51KSB7XG4gICAgICB0aGlzLm1lbnUuaXNUcmlnZ2VySG92ZXJlZC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZXRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tZW51KSB7XG4gICAgICAgIHRoaXMubWVudS5pc1RyaWdnZXJIb3ZlcmVkLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5jbG9zZVN1Yk1lbnUodGhpcy5tZW51LmlkKTtcbiAgICAgICAgdGhpcy5tZW51ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfSwgdGhpcy5ob3ZlckRlbGF5KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UpIHtcbiAgICAvLyBnZXQgY3VycmVudCBsZXZlbFxuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMubGV2ZWwgPSB0aGlzLmNvbnRleHRNZW51U2VydmljZS5nZXRDdXJyZW50TGV2ZWwoKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIG92ZXJ3cml0dGVuIG1ha2Ugc3VyZSB0byBjbGVhciB0aW1lb3V0c1xuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbnRpbWVyKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZXRpbWVyKTtcbiAgfVxufVxuIl19
63
+ __decorate([
64
+ Input()
65
+ ], ContextSubmenuTriggerDirective.prototype, "hoverDelay", void 0);
66
+ __decorate([
67
+ Input()
68
+ ], ContextSubmenuTriggerDirective.prototype, "openDelay", void 0);
69
+ __decorate([
70
+ Input()
71
+ ], ContextSubmenuTriggerDirective.prototype, "contextSubmenuTrigger", void 0);
72
+ __decorate([
73
+ Input()
74
+ ], ContextSubmenuTriggerDirective.prototype, "menuContext", void 0);
75
+ __decorate([
76
+ Output()
77
+ ], ContextSubmenuTriggerDirective.prototype, "menuAction", void 0);
78
+ __decorate([
79
+ Output()
80
+ ], ContextSubmenuTriggerDirective.prototype, "menuClose", void 0);
81
+ __decorate([
82
+ HostListener('click', ['$event'])
83
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuClick", null);
84
+ __decorate([
85
+ HostListener('mouseover', ['$event'])
86
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuEnter", null);
87
+ __decorate([
88
+ HostListener('mouseout')
89
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuExit", null);
90
+ ContextSubmenuTriggerDirective = __decorate([
91
+ Directive({ selector: '[contextSubmenuTrigger]' })
92
+ ], ContextSubmenuTriggerDirective);
93
+ export { ContextSubmenuTriggerDirective };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdWJtZW51LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGN0cmwvbmd4LXJpZ2h0Y2xpY2svIiwic291cmNlcyI6WyJjb250ZXh0LXN1Ym1lbnUtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRy9FLElBQWEsOEJBQThCLEdBQTNDLE1BQWEsOEJBQThCO0lBYXpDLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWmpELGVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUdmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSS9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLG9CQUFvQjtRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUdELGtCQUFrQixDQUFDLE1BQWtCO1FBQ25DLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxD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ImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGl2ZUNvbnRleHRNZW51LCBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtbWVudS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NvbnRleHRTdWJtZW51VHJpZ2dlcl0nIH0pXG5leHBvcnQgY2xhc3MgQ29udGV4dFN1Ym1lbnVUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaG92ZXJEZWxheSA9IDUwMDtcbiAgQElucHV0KCkgb3BlbkRlbGF5ID0gMjAwO1xuICBASW5wdXQoKSBjb250ZXh0U3VibWVudVRyaWdnZXI/OiBhbnk7XG4gIEBJbnB1dCgpIG1lbnVDb250ZXh0PzogYW55O1xuICBAT3V0cHV0KCkgbWVudUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbWVudUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBtZW51OiBBY3RpdmVDb250ZXh0TWVudTtcbiAgb3BlbnRpbWVyOiBhbnk7XG4gIGNsb3NldGltZXI6IGFueTtcbiAgdmlzaWJsZSA9IGZhbHNlO1xuICBsZXZlbCA9IDE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250ZXh0TWVudVNlcnZpY2U6IENvbnRleHRNZW51U2VydmljZSkge1xuICAgIC8vIGdldCBjdXJyZW50IGxldmVsXG4gICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5sZXZlbCA9IHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLmdldEN1cnJlbnRMZXZlbCgpKSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVN1Yk1lbnVDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbnRpbWVyKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZXRpbWVyKTtcbiAgICB0aGlzLm1lbnUgPSB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zaG93KFxuICAgICAgJGV2ZW50LFxuICAgICAgdGhpcy5jb250ZXh0U3VibWVudVRyaWdnZXIsXG4gICAgICB0aGlzLm1lbnVDb250ZXh0LFxuICAgICAgdGhpcy5tZW51Q2xvc2UsXG4gICAgICB0aGlzLm1lbnVBY3Rpb24sXG4gICAgICB0cnVlLFxuICAgICAgdGhpcy5sZXZlbCxcbiAgICApO1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInLCBbJyRldmVudCddKVxuICBoYW5kbGVTdWJNZW51RW50ZXIoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMubWVudSkge1xuICAgICAgdGhpcy5tZW51LmlzVHJpZ2dlckhvdmVyZWQubmV4dCh0cnVlKTtcbiAgICB9XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2V0aW1lcik7XG4gICAgdGhpcy5vcGVudGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubWVudSA9IHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLnNob3coXG4gICAgICAgICRldmVudCxcbiAgICAgICAgdGhpcy5jb250ZXh0U3VibWVudVRyaWdnZXIsXG4gICAgICAgIHRoaXMubWVudUNvbnRleHQsXG4gICAgICAgIHRoaXMubWVudUNsb3NlLFxuICAgICAgICB0aGlzLm1lbnVBY3Rpb24sXG4gICAgICAgIHRydWUsXG4gICAgICAgIHRoaXMubGV2ZWwsXG4gICAgICApO1xuICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMub3BlbnRpbWVyID0gbnVsbDtcbiAgICB9LCB0aGlzLm9wZW5EZWxheSk7XG4gIH1cblxuICAvKipcbiAgICogc3VibWVudSBoaWRlcyBhZnRlciBjdXJzb3IgaGFzIGV4aXRlZCBmb3IgYSBwZXJpb2Qgb2YgdGltZVxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdXQnKVxuICBoYW5kbGVTdWJNZW51RXhpdCgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVudGltZXIpO1xuICAgIGlmICh0aGlzLm1lbnUpIHtcbiAgICAgIHRoaXMubWVudS5pc1RyaWdnZXJIb3ZlcmVkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLmNsb3NldGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lbnUpIHtcbiAgICAgICAgdGhpcy5tZW51LmlzVHJpZ2dlckhvdmVyZWQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLmNsb3NlU3ViTWVudSh0aGlzLm1lbnUuaWQpO1xuICAgICAgICB0aGlzLm1lbnUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9LCB0aGlzLmhvdmVyRGVsYXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIG92ZXJ3cml0dGVuIG1ha2Ugc3VyZSB0byBjbGVhciB0aW1lb3V0c1xuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbnRpbWVyKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZXRpbWVyKTtcbiAgfVxufVxuIl19
@@ -1,9 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  /**
6
2
  * Generated bundle index. Do not edit.
7
3
  */
8
- export { ContextMenuModule, MenuPackage, MenuInjector, MenuComponent, ContextSubmenuTriggerDirective, ContextMenuTriggerDirective, ContextMenuService } from './public_api';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RybC1uZ3gtcmlnaHRjbGljay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjdHJsL25neC1yaWdodGNsaWNrLyIsInNvdXJjZXMiOlsiY3RybC1uZ3gtcmlnaHRjbGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkpBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RybC1uZ3gtcmlnaHRjbGljay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjdHJsL25neC1yaWdodGNsaWNrLyIsInNvdXJjZXMiOlsiY3RybC1uZ3gtcmlnaHRjbGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,32 +1,18 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
1
+ import { __decorate } from "tslib";
5
2
  import { Component, HostListener } from '@angular/core';
6
3
  import { ContextMenuService } from './context-menu.service';
7
4
  import { MenuPackage } from './context-menu-injector';
8
5
  import { Subject } from 'rxjs';
9
- export class MenuComponent {
10
- /**
11
- * @param {?} menuPackage
12
- * @param {?} contextMenuService
13
- */
6
+ let MenuComponent = class MenuComponent {
14
7
  constructor(menuPackage, contextMenuService) {
15
8
  this.menuPackage = menuPackage;
16
9
  this.contextMenuService = contextMenuService;
17
- /**
18
- * State of the dialog animation.
19
- */
10
+ /** State of the dialog animation. */
20
11
  this._state = 'enter';
21
12
  this._animationDone = new Subject();
22
- /**
23
- * set lazy to False if you do not have animations
24
- */
13
+ /** set lazy to False if you do not have animations */
25
14
  this.lazy = true;
26
15
  }
27
- /**
28
- * @return {?}
29
- */
30
16
  handleMouseover() {
31
17
  if (!this.menuPackage.menu.submenu) {
32
18
  return;
@@ -34,9 +20,6 @@ export class MenuComponent {
34
20
  this.menuPackage.menu.isMenuHovered.next(true);
35
21
  clearTimeout(this.closetimer);
36
22
  }
37
- /**
38
- * @return {?}
39
- */
40
23
  handleMouseleave() {
41
24
  if (!this.menuPackage.menu.submenu) {
42
25
  return;
@@ -46,56 +29,35 @@ export class MenuComponent {
46
29
  this.contextMenuService.closeSubMenu(this.menuPackage.menu.id);
47
30
  }, 500);
48
31
  }
49
- /**
50
- * @param {?} $event
51
- * @return {?}
52
- */
53
32
  handleWindowClick($event) {
54
33
  this.contextMenuService.checkOutsideClick($event);
55
34
  }
56
- /**
57
- * Callback that is invoked when the menu animation completes.
58
- * @param {?} event
59
- * @return {?}
60
- */
35
+ /** Callback that is invoked when the menu animation completes. */
61
36
  _onAnimationDone(event) {
62
37
  this._animationDone.next(event);
63
38
  }
64
- }
65
- MenuComponent.decorators = [
66
- { type: Component, args: [{
67
- selector: 'app-menu',
68
- template: ``
69
- }] }
70
- ];
71
- /** @nocollapse */
39
+ };
72
40
  MenuComponent.ctorParameters = () => [
73
41
  { type: MenuPackage },
74
42
  { type: ContextMenuService }
75
43
  ];
76
- MenuComponent.propDecorators = {
77
- handleMouseover: [{ type: HostListener, args: ['mouseover',] }],
78
- handleMouseleave: [{ type: HostListener, args: ['mouseleave',] }],
79
- handleWindowClick: [{ type: HostListener, args: ['document:click', ['$event'],] }]
80
- };
81
- if (false) {
82
- /**
83
- * State of the dialog animation.
84
- * @type {?}
85
- */
86
- MenuComponent.prototype._state;
87
- /** @type {?} */
88
- MenuComponent.prototype._animationDone;
89
- /**
90
- * set lazy to False if you do not have animations
91
- * @type {?}
92
- */
93
- MenuComponent.prototype.lazy;
94
- /** @type {?} */
95
- MenuComponent.prototype.closetimer;
96
- /** @type {?} */
97
- MenuComponent.prototype.menuPackage;
98
- /** @type {?} */
99
- MenuComponent.prototype.contextMenuService;
100
- }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbIm1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU0vQixNQUFNLE9BQU8sYUFBYTs7Ozs7SUFpQ3hCLFlBQ1MsV0FBd0IsRUFDeEIsa0JBQXNDO1FBRHRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7Ozs7UUFqQy9DLFdBQU0sR0FBOEIsT0FBTyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7Ozs7UUFFL0MsU0FBSSxHQUFHLElBQUksQ0FBQztJQStCVCxDQUFDOzs7O0lBM0JKLGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7O0lBR0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNsQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7Ozs7O0lBR0QsaUJBQWlCLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7OztJQVFELGdCQUFnQixDQUFDLEtBQXFCO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQTdDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRSxFQUFFO2FBQ2I7Ozs7WUFOUSxXQUFXO1lBRFgsa0JBQWtCOzs7OEJBZ0J4QixZQUFZLFNBQUMsV0FBVzsrQkFTeEIsWUFBWSxTQUFDLFlBQVk7Z0NBV3pCLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7Ozs7OztJQTFCMUMsK0JBQTRDOztJQUM1Qyx1Q0FBK0M7Ozs7O0lBRS9DLDZCQUFZOztJQUNaLG1DQUFnQjs7SUE0QmQsb0NBQStCOztJQUMvQiwyQ0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBNZW51UGFja2FnZSB9IGZyb20gJy4vY29udGV4dC1tZW51LWluamVjdG9yJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1lbnUnLFxuICB0ZW1wbGF0ZTogYGAsXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICAvKiogU3RhdGUgb2YgdGhlIGRpYWxvZyBhbmltYXRpb24uICovXG4gIF9zdGF0ZTogJ3ZvaWQnIHwgJ2VudGVyJyB8ICdleGl0JyA9ICdlbnRlcic7XG4gIF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG4gIC8qKiBzZXQgbGF6eSB0byBGYWxzZSBpZiB5b3UgZG8gbm90IGhhdmUgYW5pbWF0aW9ucyAqL1xuICBsYXp5ID0gdHJ1ZTtcbiAgY2xvc2V0aW1lcjogYW55O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXG4gIGhhbmRsZU1vdXNlb3ZlcigpIHtcbiAgICBpZiAoIXRoaXMubWVudVBhY2thZ2UubWVudS5zdWJtZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWVudVBhY2thZ2UubWVudS5pc01lbnVIb3ZlcmVkLm5leHQodHJ1ZSk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2V0aW1lcik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgaGFuZGxlTW91c2VsZWF2ZSgpIHtcbiAgICBpZiAoIXRoaXMubWVudVBhY2thZ2UubWVudS5zdWJtZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWVudVBhY2thZ2UubWVudS5pc01lbnVIb3ZlcmVkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY2xvc2V0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2xvc2VTdWJNZW51KHRoaXMubWVudVBhY2thZ2UubWVudS5pZCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlV2luZG93Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2hlY2tPdXRzaWRlQ2xpY2soJGV2ZW50KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBtZW51UGFja2FnZTogTWVudVBhY2thZ2UsXG4gICAgcHVibGljIGNvbnRleHRNZW51U2VydmljZTogQ29udGV4dE1lbnVTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyoqIENhbGxiYWNrIHRoYXQgaXMgaW52b2tlZCB3aGVuIHRoZSBtZW51IGFuaW1hdGlvbiBjb21wbGV0ZXMuICovXG4gIF9vbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5fYW5pbWF0aW9uRG9uZS5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19
44
+ __decorate([
45
+ HostListener('mouseover')
46
+ ], MenuComponent.prototype, "handleMouseover", null);
47
+ __decorate([
48
+ HostListener('mouseleave')
49
+ ], MenuComponent.prototype, "handleMouseleave", null);
50
+ __decorate([
51
+ HostListener('document:click', ['$event'])
52
+ ], MenuComponent.prototype, "handleWindowClick", null);
53
+ __decorate([
54
+ HostListener('@menu.done', ['$event'])
55
+ ], MenuComponent.prototype, "_onAnimationDone", null);
56
+ MenuComponent = __decorate([
57
+ Component({
58
+ selector: 'app-menu',
59
+ template: ``
60
+ })
61
+ ], MenuComponent);
62
+ export { MenuComponent };
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbIm1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU0vQixJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBUXhCLFlBQ1MsV0FBd0IsRUFDeEIsa0JBQXNDO1FBRHRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFUL0MscUNBQXFDO1FBQ3JDLFdBQU0sR0FBOEIsT0FBTyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDL0Msc0RBQXNEO1FBQ3RELFNBQUksR0FBRyxJQUFJLENBQUM7SUFNVCxDQUFDO0lBR0osZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUdELGlCQUFpQixDQUFDLE1BQWtCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0VBQWtFO0lBRWxFLGdCQUFnQixDQUFDLEtBQXFCO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFBOztZQWxDdUIsV0FBVztZQUNKLGtCQUFrQjs7QUFJL0M7SUFEQyxZQUFZLENBQUMsV0FBVyxDQUFDO29EQU96QjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztxREFTMUI7QUFHRDtJQURDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3NEQUcxQztBQUlEO0lBREMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FEQUd0QztBQTFDVSxhQUFhO0lBSnpCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztHQUNXLGFBQWEsQ0EyQ3pCO1NBM0NZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IENvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4vY29udGV4dC1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVudVBhY2thZ2UgfSBmcm9tICcuL2NvbnRleHQtbWVudS1pbmplY3Rvcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IHtcbiAgLyoqIFN0YXRlIG9mIHRoZSBkaWFsb2cgYW5pbWF0aW9uLiAqL1xuICBfc3RhdGU6ICd2b2lkJyB8ICdlbnRlcicgfCAnZXhpdCcgPSAnZW50ZXInO1xuICBfYW5pbWF0aW9uRG9uZSA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xuICAvKiogc2V0IGxhenkgdG8gRmFsc2UgaWYgeW91IGRvIG5vdCBoYXZlIGFuaW1hdGlvbnMgKi9cbiAgbGF6eSA9IHRydWU7XG4gIGNsb3NldGltZXI6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWVudVBhY2thZ2U6IE1lbnVQYWNrYWdlLFxuICAgIHB1YmxpYyBjb250ZXh0TWVudVNlcnZpY2U6IENvbnRleHRNZW51U2VydmljZSxcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXG4gIGhhbmRsZU1vdXNlb3ZlcigpIHtcbiAgICBpZiAoIXRoaXMubWVudVBhY2thZ2UubWVudS5zdWJtZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWVudVBhY2thZ2UubWVudS5pc01lbnVIb3ZlcmVkLm5leHQodHJ1ZSk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2V0aW1lcik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgaGFuZGxlTW91c2VsZWF2ZSgpIHtcbiAgICBpZiAoIXRoaXMubWVudVBhY2thZ2UubWVudS5zdWJtZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWVudVBhY2thZ2UubWVudS5pc01lbnVIb3ZlcmVkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY2xvc2V0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2xvc2VTdWJNZW51KHRoaXMubWVudVBhY2thZ2UubWVudS5pZCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlV2luZG93Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2hlY2tPdXRzaWRlQ2xpY2soJGV2ZW50KTtcbiAgfVxuXG4gIC8qKiBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlbiB0aGUgbWVudSBhbmltYXRpb24gY29tcGxldGVzLiAqL1xuICBASG9zdExpc3RlbmVyKCdAbWVudS5kb25lJywgWyckZXZlbnQnXSlcbiAgX29uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICB0aGlzLl9hbmltYXRpb25Eb25lLm5leHQoZXZlbnQpO1xuICB9XG59XG4iXX0=