@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,49 +1,17 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Overlay, ScrollStrategyOptions, } from '@angular/cdk/overlay';
1
+ import { __assign, __decorate, __values } from "tslib";
2
+ import { Overlay, OverlayRef, ScrollStrategyOptions, } from '@angular/cdk/overlay';
7
3
  import { ComponentPortal } from '@angular/cdk/portal';
8
- import { ElementRef, Injectable, Injector } from '@angular/core';
4
+ import { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';
9
5
  import { BehaviorSubject } from 'rxjs';
10
6
  import { filter, take } from 'rxjs/operators';
11
7
  import { MenuInjector } from './context-menu-injector';
12
8
  import * as i0 from "@angular/core";
13
9
  import * as i1 from "@angular/cdk/overlay";
14
- /**
15
- * @record
16
- */
17
- export function ActiveContextMenuSub() { }
18
- if (false) {
19
- /** @type {?} */
20
- ActiveContextMenuSub.prototype.id;
21
- /** @type {?} */
22
- ActiveContextMenuSub.prototype.isTriggerHovered;
23
- /** @type {?} */
24
- ActiveContextMenuSub.prototype.isMenuHovered;
25
- /** @type {?} */
26
- ActiveContextMenuSub.prototype.submenu;
27
- }
28
- /**
29
- * @record
30
- */
31
- export function ActiveContextMenu() { }
32
- if (false) {
33
- /** @type {?} */
34
- ActiveContextMenu.prototype.overlayRef;
35
- /** @type {?} */
36
- ActiveContextMenu.prototype.component;
37
- /** @type {?} */
38
- ActiveContextMenu.prototype.menuClose;
39
- /** @type {?} */
40
- ActiveContextMenu.prototype.menuAction;
41
- }
42
10
  var ContextMenuService = /** @class */ (function () {
43
- function ContextMenuService(overlay, scrollStrategy, _injector) {
11
+ function ContextMenuService(overlay, scrollStrategy, injector) {
44
12
  this.overlay = overlay;
45
13
  this.scrollStrategy = scrollStrategy;
46
- this._injector = _injector;
14
+ this.injector = injector;
47
15
  this.menus = [];
48
16
  this.id = 0;
49
17
  }
@@ -54,31 +22,8 @@ var ContextMenuService = /** @class */ (function () {
54
22
  * @param submenu is a menu within a menu
55
23
  * @param level if submenu, what level
56
24
  */
57
- /**
58
- *
59
- * @param {?} $event triggering event
60
- * @param {?} menuComponent the component to be shown
61
- * @param {?} context
62
- * @param {?} menuClose
63
- * @param {?} menuAction
64
- * @param {?=} submenu is a menu within a menu
65
- * @param {?=} level if submenu, what level
66
- * @return {?}
67
- */
68
- ContextMenuService.prototype.show = /**
69
- *
70
- * @param {?} $event triggering event
71
- * @param {?} menuComponent the component to be shown
72
- * @param {?} context
73
- * @param {?} menuClose
74
- * @param {?} menuAction
75
- * @param {?=} submenu is a menu within a menu
76
- * @param {?=} level if submenu, what level
77
- * @return {?}
78
- */
79
- function ($event, menuComponent, context, menuClose, menuAction, submenu, level) {
25
+ ContextMenuService.prototype.show = function ($event, menuComponent, context, menuClose, menuAction, submenu, level) {
80
26
  if (submenu === void 0) { submenu = false; }
81
- /** @type {?} */
82
27
  var target;
83
28
  if (!submenu) {
84
29
  this.closeAll();
@@ -98,9 +43,7 @@ var ContextMenuService = /** @class */ (function () {
98
43
  this.closeAll(undefined, level);
99
44
  target = $event.target;
100
45
  }
101
- /** @type {?} */
102
46
  var el = new ElementRef(target);
103
- /** @type {?} */
104
47
  var positionStrategy = this.overlay
105
48
  .position()
106
49
  .flexibleConnectedTo(el)
@@ -173,69 +116,36 @@ var ContextMenuService = /** @class */ (function () {
173
116
  },
174
117
  ]);
175
118
  }
176
- /** @type {?} */
177
119
  var t = {
178
120
  submenu: submenu,
179
121
  id: this.id++,
180
122
  isMenuHovered: new BehaviorSubject(false),
181
123
  isTriggerHovered: new BehaviorSubject(false),
182
124
  };
183
- /** @type {?} */
184
- var menuInjector = new MenuInjector(t, this._injector, context);
185
- /** @type {?} */
125
+ var menuInjector = new MenuInjector(t, this.injector, context);
186
126
  var componentPortal = new ComponentPortal(menuComponent, undefined, menuInjector);
187
- /** @type {?} */
188
127
  var overlayRef = this.overlay.create({
189
128
  positionStrategy: positionStrategy,
190
129
  panelClass: 'ngx-contextmenu',
191
130
  scrollStrategy: this.scrollStrategy.close(),
192
131
  });
193
- /** @type {?} */
194
132
  var component = overlayRef.attach(componentPortal);
195
- /** @type {?} */
196
- var res = tslib_1.__assign({ overlayRef: overlayRef, component: component }, t, { menuClose: menuClose, menuAction: menuAction });
133
+ var res = __assign(__assign({ overlayRef: overlayRef, component: component }, t), { menuClose: menuClose, menuAction: menuAction });
197
134
  this.menus.push(res);
198
135
  return res;
199
136
  };
200
- /**
201
- * @return {?}
202
- */
203
- ContextMenuService.prototype.getCurrentLevel = /**
204
- * @return {?}
205
- */
206
- function () {
137
+ ContextMenuService.prototype.getCurrentLevel = function () {
207
138
  return this.menus.length;
208
139
  };
209
- /**
210
- * @param {?=} context
211
- * @param {?=} idx
212
- * @return {?}
213
- */
214
- ContextMenuService.prototype.closeAll = /**
215
- * @param {?=} context
216
- * @param {?=} idx
217
- * @return {?}
218
- */
219
- function (context, idx) {
140
+ ContextMenuService.prototype.closeAll = function (context, idx) {
220
141
  if (idx === void 0) { idx = 0; }
221
142
  for (var index = idx; index < this.menus.length; index++) {
222
- /** @type {?} */
223
143
  var menu = this.menus[index];
224
144
  this.destroyMenu(menu, context);
225
145
  }
226
146
  this.menus.splice(idx, this.menus.length);
227
147
  };
228
- /**
229
- * @param {?} menu
230
- * @param {?=} context
231
- * @return {?}
232
- */
233
- ContextMenuService.prototype.destroyMenu = /**
234
- * @param {?} menu
235
- * @param {?=} context
236
- * @return {?}
237
- */
238
- function (menu, context) {
148
+ ContextMenuService.prototype.destroyMenu = function (menu, context) {
239
149
  menu.component.instance._state = 'exit';
240
150
  if (menu.component.instance.lazy) {
241
151
  menu.component.instance._animationDone
@@ -254,36 +164,15 @@ var ContextMenuService = /** @class */ (function () {
254
164
  }
255
165
  menu.menuClose.next();
256
166
  };
257
- /**
258
- * @param {?} menu
259
- * @param {?} menuIndex
260
- * @param {?=} context
261
- * @return {?}
262
- */
263
- ContextMenuService.prototype.close = /**
264
- * @param {?} menu
265
- * @param {?} menuIndex
266
- * @param {?=} context
267
- * @return {?}
268
- */
269
- function (menu, menuIndex, context) {
167
+ ContextMenuService.prototype.close = function (menu, menuIndex, context) {
270
168
  this.destroyMenu(menu, context);
271
169
  this.menus.splice(menuIndex, 1);
272
170
  };
273
- /**
274
- * @param {?} $event
275
- * @return {?}
276
- */
277
- ContextMenuService.prototype.checkOutsideClick = /**
278
- * @param {?} $event
279
- * @return {?}
280
- */
281
- function ($event) {
171
+ ContextMenuService.prototype.checkOutsideClick = function ($event) {
282
172
  var e_1, _a;
283
173
  try {
284
- for (var _b = tslib_1.__values(this.menus), _c = _b.next(); !_c.done; _c = _b.next()) {
174
+ for (var _b = __values(this.menus), _c = _b.next(); !_c.done; _c = _b.next()) {
285
175
  var m = _c.value;
286
- /** @type {?} */
287
176
  var clickedInside = m.component.location.nativeElement.contains($event.target);
288
177
  if (clickedInside) {
289
178
  $event.preventDefault();
@@ -301,29 +190,18 @@ var ContextMenuService = /** @class */ (function () {
301
190
  }
302
191
  this.closeAll();
303
192
  };
304
- /**
305
- * @param {?} id
306
- * @return {?}
307
- */
308
- ContextMenuService.prototype.closeSubMenu = /**
309
- * @param {?} id
310
- * @return {?}
311
- */
312
- function (id) {
313
- /** @type {?} */
193
+ ContextMenuService.prototype.closeSubMenu = function (id) {
314
194
  var menuIndex = this.menus.findIndex(function (n) { return n.id === id; });
315
195
  if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {
316
196
  return;
317
197
  }
318
198
  // make sure we can close the current menu
319
- /** @type {?} */
320
199
  var menu = this.menus[menuIndex];
321
200
  if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {
322
201
  return;
323
202
  }
324
203
  // close all menus up if possible
325
204
  for (var index = this.menus.length - 1; index >= 1; index--) {
326
- /** @type {?} */
327
205
  var m = this.menus[index];
328
206
  if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {
329
207
  this.close(m, index);
@@ -333,38 +211,16 @@ var ContextMenuService = /** @class */ (function () {
333
211
  }
334
212
  }
335
213
  };
336
- ContextMenuService.decorators = [
337
- { type: Injectable, args: [{ providedIn: 'root' },] }
338
- ];
339
- /** @nocollapse */
340
214
  ContextMenuService.ctorParameters = function () { return [
341
215
  { type: Overlay },
342
216
  { type: ScrollStrategyOptions },
343
217
  { type: Injector }
344
218
  ]; };
345
- /** @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" });
219
+ 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" });
220
+ ContextMenuService = __decorate([
221
+ Injectable({ providedIn: 'root' })
222
+ ], ContextMenuService);
346
223
  return ContextMenuService;
347
224
  }());
348
225
  export { ContextMenuService };
349
- if (false) {
350
- /** @type {?} */
351
- ContextMenuService.prototype.menus;
352
- /** @type {?} */
353
- ContextMenuService.prototype.id;
354
- /**
355
- * @type {?}
356
- * @private
357
- */
358
- ContextMenuService.prototype.overlay;
359
- /**
360
- * @type {?}
361
- * @private
362
- */
363
- ContextMenuService.prototype.scrollStrategy;
364
- /**
365
- * @type {?}
366
- * @private
367
- */
368
- ContextMenuService.prototype._injector;
369
- }
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbImNvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFFdkQsMENBS0M7OztJQUpDLGtDQUFXOztJQUNYLGdEQUEyQzs7SUFDM0MsNkNBQXdDOztJQUN4Qyx1Q0FBaUI7Ozs7O0FBRW5CLHVDQUtDOzs7SUFKQyx1Q0FBdUI7O0lBQ3ZCLHNDQUFlOztJQUNmLHNDQUE4Qjs7SUFDOUIsdUNBQThCOztBQUdoQztJQUtFLDRCQUNVLE9BQWdCLEVBQ2hCLGNBQXFDLEVBQ3JDLFNBQW1CO1FBRm5CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFON0IsVUFBSyxHQUF3QixFQUFFLENBQUM7UUFDaEMsT0FBRSxHQUFHLENBQUMsQ0FBQztJQU1KLENBQUM7SUFFSjs7Ozs7O09BTUc7Ozs7Ozs7Ozs7OztJQUNILGlDQUFJOzs7Ozs7Ozs7OztJQUFKLFVBQ0UsTUFBa0IsRUFDbEIsYUFBYSxFQUNiLE9BQVksRUFDWixTQUE0QixFQUM1QixVQUE2QixFQUM3QixPQUFl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RUFBRSxFQUFFOztnQkFDckQsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxPQUFPO2FBQ1I7U0FDRjtJQUNILENBQUM7O2dCQS9NRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dCQXpCaEMsT0FBTztnQkFFUCxxQkFBcUI7Z0JBR1UsUUFBUTs7OzZCQU56QztDQTBPQyxBQWhORCxJQWdOQztTQS9NWSxrQkFBa0I7OztJQUM3QixtQ0FBZ0M7O0lBQ2hDLGdDQUFPOzs7OztJQUdMLHFDQUF3Qjs7Ozs7SUFDeEIsNENBQTZDOzs7OztJQUM3Qyx1Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPdmVybGF5LFxuICBPdmVybGF5UmVmLFxuICBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWVudUluamVjdG9yIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUtaW5qZWN0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZUNvbnRleHRNZW51U3ViIHtcbiAgaWQ6IG51bWJlcjtcbiAgaXNUcmlnZ2VySG92ZXJlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBpc01lbnVIb3ZlcmVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIHN1Ym1lbnU6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZUNvbnRleHRNZW51IGV4dGVuZHMgQWN0aXZlQ29udGV4dE1lbnVTdWIge1xuICBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBjb21wb25lbnQ6IGFueTtcbiAgbWVudUNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gIG1lbnVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51U2VydmljZSB7XG4gIG1lbnVzOiBBY3RpdmVDb250ZXh0TWVudVtdID0gW107XG4gIGlkID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgKSB7fVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gJGV2ZW50IHRyaWdnZXJpbmcgZXZlbnRcbiAgICogQHBhcmFtIG1lbnVDb21wb25lbnQgdGhlIGNvbXBvbmVudCB0byBiZSBzaG93blxuICAgKiBAcGFyYW0gc3VibWVudSBpcyBhIG1lbnUgd2l0aGluIGEgbWVudVxuICAgKiBAcGFyYW0gbGV2ZWwgaWYgc3VibWVudSwgd2hhdCBsZXZlbFxuICAgKi9cbiAgc2hvdyhcbiAgICAkZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgbWVudUNvbXBvbmVudCxcbiAgICBjb250ZXh0OiBhbnksXG4gICAgbWVudUNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PixcbiAgICBtZW51QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PixcbiAgICBzdWJtZW51ID0gZmFsc2UsXG4gICAgbGV2ZWw/OiBudW1iZXIsXG4gICk6IEFjdGl2ZUNvbnRleHRNZW51IHtcbiAgICBsZXQgdGFyZ2V0OiBhbnk7XG4gICAgaWYgKCFzdWJtZW51KSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgICB0YXJnZXQgPSB7XG4gICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCk6IENsaWVudFJlY3QgPT4gKHtcbiAgICAgICAgICBib3R0b206ICRldmVudC5jbGllbnRZLFxuICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICBsZWZ0OiAkZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICByaWdodDogJGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgdG9wOiAkZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjbG9zZSBvdGhlciBzdWJtZW51c1xuICAgICAgdGhpcy5jbG9zZUFsbCh1bmRlZmluZWQsIGxldmVsKTtcbiAgICAgIHRhcmdldCA9ICRldmVudC50YXJnZXQ7XG4gICAgfVxuICAgIGNvbnN0IGVsID0gbmV3IEVsZW1lbnRSZWYodGFyZ2V0KTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWwpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSk7XG5cbiAgICBpZiAoIXN1Ym1lbnUpIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG4gICAgY29uc3QgdDogQWN0aXZlQ29udGV4dE1lbnVTdWIgPSB7XG4gICAgICBzdWJtZW51LFxuICAgICAgaWQ6IHRoaXMuaWQrKyxcbiAgICAgIGlzTWVudUhvdmVyZWQ6IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpLFxuICAgICAgaXNUcmlnZ2VySG92ZXJlZDogbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSksXG4gICAgfTtcbiAgICBjb25zdCBtZW51SW5qZWN0b3IgPSBuZXcgTWVudUluamVjdG9yKHQsIHRoaXMuX2luamVjdG9yLCBjb250ZXh0KTtcbiAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgbWVudUNvbXBvbmVudCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIG1lbnVJbmplY3RvcixcbiAgICApO1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBwYW5lbENsYXNzOiAnbmd4LWNvbnRleHRtZW51JyxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLnNjcm9sbFN0cmF0ZWd5LmNsb3NlKCksXG4gICAgfSk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gb3ZlcmxheVJlZi5hdHRhY2g8YW55Pihjb21wb25lbnRQb3J0YWwpO1xuICAgIGNvbnN0IHJlcyA9IHsgb3ZlcmxheVJlZiwgY29tcG9uZW50LCAuLi50LCBtZW51Q2xvc2UsIG1lbnVBY3Rpb24gfTtcbiAgICB0aGlzLm1lbnVzLnB1c2gocmVzKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIGdldEN1cnJlbnRMZXZlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51cy5sZW5ndGg7XG4gIH1cbiAgY2xvc2VBbGwoY29udGV4dD86IGFueSwgaWR4ID0gMCkge1xuICAgIGZvciAobGV0IGluZGV4ID0gaWR4OyBpbmRleCA8IHRoaXMubWVudXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBtZW51ID0gdGhpcy5tZW51c1tpbmRleF07XG4gICAgICB0aGlzLmRlc3Ryb3lNZW51KG1lbnUsIGNvbnRleHQpO1xuICAgIH1cbiAgICB0aGlzLm1lbnVzLnNwbGljZShpZHgsIHRoaXMubWVudXMubGVuZ3RoKTtcbiAgfVxuICBkZXN0cm95TWVudShtZW51OiBBY3RpdmVDb250ZXh0TWVudSwgY29udGV4dD86IGFueSkge1xuICAgIG1lbnUuY29tcG9uZW50Lmluc3RhbmNlLl9zdGF0ZSA9ICdleGl0JztcbiAgICBpZiAobWVudS5jb21wb25lbnQuaW5zdGFuY2UubGF6eSkge1xuICAgICAgbWVudS5jb21wb25lbnQuaW5zdGFuY2UuX2FuaW1hdGlvbkRvbmVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiBldmVudC50b1N0YXRlID09PSAnZXhpdCcpLFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgbWVudS5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICAgIG1lbnUub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBtZW51Lm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICBtZW51Lm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH1cbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgbWVudS5tZW51QWN0aW9uLm5leHQoY29udGV4dCk7XG4gICAgfVxuICAgIG1lbnUubWVudUNsb3NlLm5leHQoKTtcbiAgfVxuICBjbG9zZShtZW51OiBBY3RpdmVDb250ZXh0TWVudSwgbWVudUluZGV4OiBudW1iZXIsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICB0aGlzLmRlc3Ryb3lNZW51KG1lbnUsIGNvbnRleHQpO1xuICAgIHRoaXMubWVudXMuc3BsaWNlKG1lbnVJbmRleCwgMSk7XG4gIH1cbiAgY2hlY2tPdXRzaWRlQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZm9yIChjb25zdCBtIG9mIHRoaXMubWVudXMpIHtcbiAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBtLmNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgICAkZXZlbnQudGFyZ2V0LFxuICAgICAgKTtcbiAgICAgIGlmIChjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jbG9zZUFsbCgpO1xuICB9XG4gIGNsb3NlU3ViTWVudShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbWVudUluZGV4ID0gdGhpcy5tZW51cy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBpZCk7XG4gICAgaWYgKG1lbnVJbmRleCA9PT0gLTEgfHwgbWVudUluZGV4ICE9PSB0aGlzLm1lbnVzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gbWFrZSBzdXJlIHdlIGNhbiBjbG9zZSB0aGUgY3VycmVudCBtZW51XG4gICAgY29uc3QgbWVudSA9IHRoaXMubWVudXNbbWVudUluZGV4XTtcbiAgICBpZiAobWVudS5pc01lbnVIb3ZlcmVkLmdldFZhbHVlKCkgfHwgbWVudS5pc1RyaWdnZXJIb3ZlcmVkLmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xvc2UgYWxsIG1lbnVzIHVwIGlmIHBvc3NpYmxlXG4gICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLm1lbnVzLmxlbmd0aCAtIDE7IGluZGV4ID49IDE7IGluZGV4LS0pIHtcbiAgICAgIGNvbnN0IG0gPSB0aGlzLm1lbnVzW2luZGV4XTtcbiAgICAgIGlmICghbS5pc01lbnVIb3ZlcmVkLmdldFZhbHVlKCkgJiYgIW0uaXNUcmlnZ2VySG92ZXJlZC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMuY2xvc2UobSwgaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3RybC9uZ3gtcmlnaHRjbGljay8iLCJzb3VyY2VzIjpbImNvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFnQnZEO0lBSUUsNEJBQ1UsT0FBZ0IsRUFDaEIsY0FBcUMsRUFDckMsUUFBa0I7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU41QixVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUNoQyxPQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTUosQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNILGlDQUFJLEdBQUosVUFDRSxNQUFrQixFQUNsQixhQUFhLEVBQ2IsT0FBWSxFQUNaLFNBQTRCLEVBQzVCLFVBQTZCLEVBQzdCLE9BQWUsRUFDZixLQUFjO1FBRGQsd0JBQUEsRUFBQSxlQUFlO1FBR2YsSUFBSSxNQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUc7Z0JBQ1AscUJBQXFCLEVBQUUsY0FB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QztZQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDOztnQkF6TWtCLE9BQU87Z0JBQ0EscUJBQXFCO2dCQUMzQixRQUFROzs7SUFQakIsa0JBQWtCO1FBRDlCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0QixrQkFBa0IsQ0ErTTlCOzZCQTFPRDtDQTBPQyxBQS9NRCxJQStNQztTQS9NWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPdmVybGF5LFxuICBPdmVybGF5UmVmLFxuICBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWVudUluamVjdG9yIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUtaW5qZWN0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZUNvbnRleHRNZW51U3ViIHtcbiAgaWQ6IG51bWJlcjtcbiAgaXNUcmlnZ2VySG92ZXJlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBpc01lbnVIb3ZlcmVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIHN1Ym1lbnU6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZUNvbnRleHRNZW51IGV4dGVuZHMgQWN0aXZlQ29udGV4dE1lbnVTdWIge1xuICBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBjb21wb25lbnQ6IGFueTtcbiAgbWVudUNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gIG1lbnVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51U2VydmljZSB7XG4gIG1lbnVzOiBBY3RpdmVDb250ZXh0TWVudVtdID0gW107XG4gIGlkID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSAkZXZlbnQgdHJpZ2dlcmluZyBldmVudFxuICAgKiBAcGFyYW0gbWVudUNvbXBvbmVudCB0aGUgY29tcG9uZW50IHRvIGJlIHNob3duXG4gICAqIEBwYXJhbSBzdWJtZW51IGlzIGEgbWVudSB3aXRoaW4gYSBtZW51XG4gICAqIEBwYXJhbSBsZXZlbCBpZiBzdWJtZW51LCB3aGF0IGxldmVsXG4gICAqL1xuICBzaG93KFxuICAgICRldmVudDogTW91c2VFdmVudCxcbiAgICBtZW51Q29tcG9uZW50LFxuICAgIGNvbnRleHQ6IGFueSxcbiAgICBtZW51Q2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+LFxuICAgIG1lbnVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+LFxuICAgIHN1Ym1lbnUgPSBmYWxzZSxcbiAgICBsZXZlbD86IG51bWJlcixcbiAgKTogQWN0aXZlQ29udGV4dE1lbnUge1xuICAgIGxldCB0YXJnZXQ6IGFueTtcbiAgICBpZiAoIXN1Ym1lbnUpIHtcbiAgICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgICAgIHRhcmdldCA9IHtcbiAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0OiAoKTogQ2xpZW50UmVjdCA9PiAoe1xuICAgICAgICAgIGJvdHRvbTogJGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgIGxlZnQ6ICRldmVudC5jbGllbnRYLFxuICAgICAgICAgIHJpZ2h0OiAkZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICB0b3A6ICRldmVudC5jbGllbnRZLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNsb3NlIG90aGVyIHN1Ym1lbnVzXG4gICAgICB0aGlzLmNsb3NlQWxsKHVuZGVmaW5lZCwgbGV2ZWwpO1xuICAgICAgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldDtcbiAgICB9XG4gICAgY29uc3QgZWwgPSBuZXcgRWxlbWVudFJlZih0YXJnZXQpO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbClcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKTtcblxuICAgIGlmICghc3VibWVudSkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICBjb25zdCB0OiBBY3RpdmVDb250ZXh0TWVudVN1YiA9IHtcbiAgICAgIHN1Ym1lbnUsXG4gICAgICBpZDogdGhpcy5pZCsrLFxuICAgICAgaXNNZW51SG92ZXJlZDogbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSksXG4gICAgICBpc1RyaWdnZXJIb3ZlcmVkOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKSxcbiAgICB9O1xuICAgIGNvbnN0IG1lbnVJbmplY3RvciA9IG5ldyBNZW51SW5qZWN0b3IodCwgdGhpcy5pbmplY3RvciwgY29udGV4dCk7XG4gICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgIG1lbnVDb21wb25lbnQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBtZW51SW5qZWN0b3IsXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgcGFuZWxDbGFzczogJ25neC1jb250ZXh0bWVudScsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5zY3JvbGxTdHJhdGVneS5jbG9zZSgpLFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IG92ZXJsYXlSZWYuYXR0YWNoPGFueT4oY29tcG9uZW50UG9ydGFsKTtcbiAgICBjb25zdCByZXMgPSB7IG92ZXJsYXlSZWYsIGNvbXBvbmVudCwgLi4udCwgbWVudUNsb3NlLCBtZW51QWN0aW9uIH07XG4gICAgdGhpcy5tZW51cy5wdXNoKHJlcyk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICBnZXRDdXJyZW50TGV2ZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudXMubGVuZ3RoO1xuICB9XG4gIGNsb3NlQWxsKGNvbnRleHQ/OiBhbnksIGlkeCA9IDApIHtcbiAgICBmb3IgKGxldCBpbmRleCA9IGlkeDsgaW5kZXggPCB0aGlzLm1lbnVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgbWVudSA9IHRoaXMubWVudXNbaW5kZXhdO1xuICAgICAgdGhpcy5kZXN0cm95TWVudShtZW51LCBjb250ZXh0KTtcbiAgICB9XG4gICAgdGhpcy5tZW51cy5zcGxpY2UoaWR4LCB0aGlzLm1lbnVzLmxlbmd0aCk7XG4gIH1cbiAgZGVzdHJveU1lbnUobWVudTogQWN0aXZlQ29udGV4dE1lbnUsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICBtZW51LmNvbXBvbmVudC5pbnN0YW5jZS5fc3RhdGUgPSAnZXhpdCc7XG4gICAgaWYgKG1lbnUuY29tcG9uZW50Lmluc3RhbmNlLmxhenkpIHtcbiAgICAgIG1lbnUuY29tcG9uZW50Lmluc3RhbmNlLl9hbmltYXRpb25Eb25lXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IGFueSkgPT4gZXZlbnQudG9TdGF0ZSA9PT0gJ2V4aXQnKSxcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIG1lbnUub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgICBtZW51Lm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVudS5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgbWVudS5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIG1lbnUubWVudUFjdGlvbi5uZXh0KGNvbnRleHQpO1xuICAgIH1cbiAgICBtZW51Lm1lbnVDbG9zZS5uZXh0KCk7XG4gIH1cbiAgY2xvc2UobWVudTogQWN0aXZlQ29udGV4dE1lbnUsIG1lbnVJbmRleDogbnVtYmVyLCBjb250ZXh0PzogYW55KSB7XG4gICAgdGhpcy5kZXN0cm95TWVudShtZW51LCBjb250ZXh0KTtcbiAgICB0aGlzLm1lbnVzLnNwbGljZShtZW51SW5kZXgsIDEpO1xuICB9XG4gIGNoZWNrT3V0c2lkZUNsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGZvciAoY29uc3QgbSBvZiB0aGlzLm1lbnVzKSB7XG4gICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gbS5jb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgJGV2ZW50LnRhcmdldCxcbiAgICAgICk7XG4gICAgICBpZiAoY2xpY2tlZEluc2lkZSkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgfVxuICBjbG9zZVN1Yk1lbnUoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG1lbnVJbmRleCA9IHRoaXMubWVudXMuZmluZEluZGV4KG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmIChtZW51SW5kZXggPT09IC0xIHx8IG1lbnVJbmRleCAhPT0gdGhpcy5tZW51cy5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIG1ha2Ugc3VyZSB3ZSBjYW4gY2xvc2UgdGhlIGN1cnJlbnQgbWVudVxuICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnVzW21lbnVJbmRleF07XG4gICAgaWYgKG1lbnUuaXNNZW51SG92ZXJlZC5nZXRWYWx1ZSgpIHx8IG1lbnUuaXNUcmlnZ2VySG92ZXJlZC5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGNsb3NlIGFsbCBtZW51cyB1cCBpZiBwb3NzaWJsZVxuICAgIGZvciAobGV0IGluZGV4ID0gdGhpcy5tZW51cy5sZW5ndGggLSAxOyBpbmRleCA+PSAxOyBpbmRleC0tKSB7XG4gICAgICBjb25zdCBtID0gdGhpcy5tZW51c1tpbmRleF07XG4gICAgICBpZiAoIW0uaXNNZW51SG92ZXJlZC5nZXRWYWx1ZSgpICYmICFtLmlzVHJpZ2dlckhvdmVyZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLmNsb3NlKG0sIGluZGV4KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,6 @@
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';
3
+ import { ActiveContextMenu, ContextMenuService } from './context-menu.service';
7
4
  var ContextSubmenuTriggerDirective = /** @class */ (function () {
8
5
  function ContextSubmenuTriggerDirective(contextMenuService) {
9
6
  var _this = this;
@@ -17,31 +14,15 @@ var ContextSubmenuTriggerDirective = /** @class */ (function () {
17
14
  // get current level
18
15
  setTimeout(function () { return (_this.level = _this.contextMenuService.getCurrentLevel()); });
19
16
  }
20
- /**
21
- * @param {?} $event
22
- * @return {?}
23
- */
24
- ContextSubmenuTriggerDirective.prototype.handleSubMenuClick = /**
25
- * @param {?} $event
26
- * @return {?}
27
- */
28
- function ($event) {
29
- event.preventDefault();
30
- event.stopPropagation();
17
+ ContextSubmenuTriggerDirective.prototype.handleSubMenuClick = function ($event) {
18
+ $event.preventDefault();
19
+ $event.stopPropagation();
31
20
  clearTimeout(this.opentimer);
32
21
  clearTimeout(this.closetimer);
33
22
  this.menu = this.contextMenuService.show($event, this.contextSubmenuTrigger, this.menuContext, this.menuClose, this.menuAction, true, this.level);
34
23
  this.visible = true;
35
24
  };
36
- /**
37
- * @param {?} $event
38
- * @return {?}
39
- */
40
- ContextSubmenuTriggerDirective.prototype.handleSubMenuEnter = /**
41
- * @param {?} $event
42
- * @return {?}
43
- */
44
- function ($event) {
25
+ ContextSubmenuTriggerDirective.prototype.handleSubMenuEnter = function ($event) {
45
26
  var _this = this;
46
27
  if (this.menu) {
47
28
  this.menu.isTriggerHovered.next(true);
@@ -56,15 +37,7 @@ var ContextSubmenuTriggerDirective = /** @class */ (function () {
56
37
  /**
57
38
  * submenu hides after cursor has exited for a period of time
58
39
  */
59
- /**
60
- * submenu hides after cursor has exited for a period of time
61
- * @return {?}
62
- */
63
- ContextSubmenuTriggerDirective.prototype.handleSubMenuExit = /**
64
- * submenu hides after cursor has exited for a period of time
65
- * @return {?}
66
- */
67
- function () {
40
+ ContextSubmenuTriggerDirective.prototype.handleSubMenuExit = function () {
68
41
  var _this = this;
69
42
  clearTimeout(this.opentimer);
70
43
  if (this.menu) {
@@ -82,66 +55,44 @@ var ContextSubmenuTriggerDirective = /** @class */ (function () {
82
55
  /**
83
56
  * if overwritten make sure to clear timeouts
84
57
  */
85
- /**
86
- * if overwritten make sure to clear timeouts
87
- * @return {?}
88
- */
89
- ContextSubmenuTriggerDirective.prototype.ngOnDestroy = /**
90
- * if overwritten make sure to clear timeouts
91
- * @return {?}
92
- */
93
- function () {
58
+ ContextSubmenuTriggerDirective.prototype.ngOnDestroy = function () {
94
59
  clearTimeout(this.opentimer);
95
60
  clearTimeout(this.closetimer);
96
61
  };
97
- ContextSubmenuTriggerDirective.decorators = [
98
- { type: Directive, args: [{ selector: '[contextSubmenuTrigger]' },] }
99
- ];
100
- /** @nocollapse */
101
62
  ContextSubmenuTriggerDirective.ctorParameters = function () { return [
102
63
  { type: ContextMenuService }
103
64
  ]; };
104
- ContextSubmenuTriggerDirective.propDecorators = {
105
- hoverDelay: [{ type: Input }],
106
- openDelay: [{ type: Input }],
107
- contextSubmenuTrigger: [{ type: Input }],
108
- menuContext: [{ type: Input }],
109
- menuAction: [{ type: Output }],
110
- menuClose: [{ type: Output }],
111
- handleSubMenuClick: [{ type: HostListener, args: ['click', ['$event', 'true'],] }],
112
- handleSubMenuEnter: [{ type: HostListener, args: ['mouseover', ['$event'],] }],
113
- handleSubMenuExit: [{ type: HostListener, args: ['mouseout', ['$event'],] }]
114
- };
65
+ __decorate([
66
+ Input()
67
+ ], ContextSubmenuTriggerDirective.prototype, "hoverDelay", void 0);
68
+ __decorate([
69
+ Input()
70
+ ], ContextSubmenuTriggerDirective.prototype, "openDelay", void 0);
71
+ __decorate([
72
+ Input()
73
+ ], ContextSubmenuTriggerDirective.prototype, "contextSubmenuTrigger", void 0);
74
+ __decorate([
75
+ Input()
76
+ ], ContextSubmenuTriggerDirective.prototype, "menuContext", void 0);
77
+ __decorate([
78
+ Output()
79
+ ], ContextSubmenuTriggerDirective.prototype, "menuAction", void 0);
80
+ __decorate([
81
+ Output()
82
+ ], ContextSubmenuTriggerDirective.prototype, "menuClose", void 0);
83
+ __decorate([
84
+ HostListener('click', ['$event'])
85
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuClick", null);
86
+ __decorate([
87
+ HostListener('mouseover', ['$event'])
88
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuEnter", null);
89
+ __decorate([
90
+ HostListener('mouseout')
91
+ ], ContextSubmenuTriggerDirective.prototype, "handleSubMenuExit", null);
92
+ ContextSubmenuTriggerDirective = __decorate([
93
+ Directive({ selector: '[contextSubmenuTrigger]' })
94
+ ], ContextSubmenuTriggerDirective);
115
95
  return ContextSubmenuTriggerDirective;
116
96
  }());
117
97
  export { ContextSubmenuTriggerDirective };
118
- if (false) {
119
- /** @type {?} */
120
- ContextSubmenuTriggerDirective.prototype.hoverDelay;
121
- /** @type {?} */
122
- ContextSubmenuTriggerDirective.prototype.openDelay;
123
- /** @type {?} */
124
- ContextSubmenuTriggerDirective.prototype.contextSubmenuTrigger;
125
- /** @type {?} */
126
- ContextSubmenuTriggerDirective.prototype.menuContext;
127
- /** @type {?} */
128
- ContextSubmenuTriggerDirective.prototype.menuAction;
129
- /** @type {?} */
130
- ContextSubmenuTriggerDirective.prototype.menuClose;
131
- /** @type {?} */
132
- ContextSubmenuTriggerDirective.prototype.menu;
133
- /** @type {?} */
134
- ContextSubmenuTriggerDirective.prototype.opentimer;
135
- /** @type {?} */
136
- ContextSubmenuTriggerDirective.prototype.closetimer;
137
- /** @type {?} */
138
- ContextSubmenuTriggerDirective.prototype.visible;
139
- /** @type {?} */
140
- ContextSubmenuTriggerDirective.prototype.level;
141
- /**
142
- * @type {?}
143
- * @private
144
- */
145
- ContextSubmenuTriggerDirective.prototype.contextMenuService;
146
- }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdWJtZW51LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGN0cmwvbmd4LXJpZ2h0Y2xpY2svIiwic291cmNlcyI6WyJjb250ZXh0LXN1Ym1lbnUtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxrQkFBa0IsR0FDbkIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQztJQXdFRSx3Q0FBb0Isa0JBQXNDO1FBQTFELGlCQUdDO1FBSG1CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF0RWpELGVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUdmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSS9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQTZEUixvQkFBb0I7UUFDcEIsVUFBVSxDQUFDLGNBQU0sT0FBQSxDQUFDLEtBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQXhELENBQXdELENBQUMsQ0FBQztJQUM3RSxDQUFDOzs7OztJQTVERCwyREFBa0I7Ozs7SUFEbEIsVUFDbUIsTUFBa0I7UUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENB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bURBQWU7O0lBQ2Ysb0RBQWdCOztJQUNoQixpREFBZ0I7O0lBQ2hCLCtDQUFVOzs7OztJQTRERSw0REFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBY3RpdmVDb250ZXh0TWVudSxcbiAgQ29udGV4dE1lbnVTZXJ2aWNlLFxufSBmcm9tICcuL2NvbnRleHQtbWVudS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NvbnRleHRTdWJtZW51VHJpZ2dlcl0nIH0pXG5leHBvcnQgY2xhc3MgQ29udGV4dFN1Ym1lbnVUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaG92ZXJEZWxheSA9IDUwMDtcbiAgQElucHV0KCkgb3BlbkRlbGF5ID0gMjAwO1xuICBASW5wdXQoKSBjb250ZXh0U3VibWVudVRyaWdnZXI6IGFueTtcbiAgQElucHV0KCkgbWVudUNvbnRleHQ6IGFueTtcbiAgQE91dHB1dCgpIG1lbnVBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1lbnVDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgbWVudTogQWN0aXZlQ29udGV4dE1lbnU7XG4gIG9wZW50aW1lcjogYW55O1xuICBjbG9zZXRpbWVyOiBhbnk7XG4gIHZpc2libGUgPSBmYWxzZTtcbiAgbGV2ZWwgPSAxO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnLCAndHJ1ZSddKVxuICBoYW5kbGVTdWJNZW51Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVudGltZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NldGltZXIpO1xuICAgIHRoaXMubWVudSA9IHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLnNob3coXG4gICAgICAkZXZlbnQsXG4gICAgICB0aGlzLmNvbnRleHRTdWJtZW51VHJpZ2dlcixcbiAgICAgIHRoaXMubWVudUNvbnRleHQsXG4gICAgICB0aGlzLm1lbnVDbG9zZSxcbiAgICAgIHRoaXMubWVudUFjdGlvbixcbiAgICAgIHRydWUsXG4gICAgICB0aGlzLmxldmVsLFxuICAgICk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVN1Yk1lbnVFbnRlcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5tZW51KSB7XG4gICAgICB0aGlzLm1lbnUuaXNUcmlnZ2VySG92ZXJlZC5uZXh0KHRydWUpO1xuICAgIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZXRpbWVyKTtcbiAgICB0aGlzLm9wZW50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZW51ID0gdGhpcy5jb250ZXh0TWVudVNlcnZpY2Uuc2hvdyhcbiAgICAgICAgJGV2ZW50LFxuICAgICAgICB0aGlzLmNvbnRleHRTdWJtZW51VHJpZ2dlcixcbiAgICAgICAgdGhpcy5tZW51Q29udGV4dCxcbiAgICAgICAgdGhpcy5tZW51Q2xvc2UsXG4gICAgICAgIHRoaXMubWVudUFjdGlvbixcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgdGhpcy5sZXZlbCxcbiAgICAgICk7XG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgdGhpcy5vcGVudGltZXIgPSBudWxsO1xuICAgIH0sIHRoaXMub3BlbkRlbGF5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzdWJtZW51IGhpZGVzIGFmdGVyIGN1cnNvciBoYXMgZXhpdGVkIGZvciBhIHBlcmlvZCBvZiB0aW1lXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVN1Yk1lbnVFeGl0KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW50aW1lcik7XG4gICAgaWYgKHRoaXMubWVudSkge1xuICAgICAgdGhpcy5tZW51LmlzVHJpZ2dlckhvdmVyZWQubmV4dChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2V0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubWVudSkge1xuICAgICAgICB0aGlzLm1lbnUuaXNUcmlnZ2VySG92ZXJlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2xvc2VTdWJNZW51KHRoaXMubWVudS5pZCk7XG4gICAgICAgIHRoaXMubWVudSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH0sIHRoaXMuaG92ZXJEZWxheSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHRNZW51U2VydmljZTogQ29udGV4dE1lbnVTZXJ2aWNlKSB7XG4gICAgLy8gZ2V0IGN1cnJlbnQgbGV2ZWxcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmxldmVsID0gdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuZ2V0Q3VycmVudExldmVsKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiBvdmVyd3JpdHRlbiBtYWtlIHN1cmUgdG8gY2xlYXIgdGltZW91dHNcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW50aW1lcik7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2V0aW1lcik7XG4gIH1cbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdWJtZW51LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGN0cmwvbmd4LXJpZ2h0Y2xpY2svIiwic291cmNlcyI6WyJjb250ZXh0LXN1Ym1lbnUtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRy9FO0lBYUUsd0NBQW9CLGtCQUFzQztRQUExRCxpQkFHQztRQUhtQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWmpELGVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUdmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSS9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLG9CQUFvQjtRQUNwQixVQUFVLENBQUMsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBeEQsQ0FBd0QsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFHRCwyREFBa0IsR0FBbEIsVUFBbUIsTUFBa0I7UUFDbkMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMs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SUFtRkM7U0FuRlksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aXZlQ29udGV4dE1lbnUsIENvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4vY29udGV4dC1tZW51LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY29udGV4dFN1Ym1lbnVUcmlnZ2VyXScgfSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0U3VibWVudVRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBob3ZlckRlbGF5ID0gNTAwO1xuICBASW5wdXQoKSBvcGVuRGVsYXkgPSAyMDA7XG4gIEBJbnB1dCgpIGNvbnRleHRTdWJtZW51VHJpZ2dlcj86IGFueTtcbiAgQElucHV0KCkgbWVudUNvbnRleHQ/OiBhbnk7XG4gIEBPdXRwdXQoKSBtZW51QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtZW51Q2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIG1lbnU6IEFjdGl2ZUNvbnRleHRNZW51O1xuICBvcGVudGltZXI6IGFueTtcbiAgY2xvc2V0aW1lcjogYW55O1xuICB2aXNpYmxlID0gZmFsc2U7XG4gIGxldmVsID0gMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHRNZW51U2VydmljZTogQ29udGV4dE1lbnVTZXJ2aWNlKSB7XG4gICAgLy8gZ2V0IGN1cnJlbnQgbGV2ZWxcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmxldmVsID0gdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuZ2V0Q3VycmVudExldmVsKCkpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlU3ViTWVudUNsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVudGltZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NldGltZXIpO1xuICAgIHRoaXMubWVudSA9IHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLnNob3coXG4gICAgICAkZXZlbnQsXG4gICAgICB0aGlzLmNvbnRleHRTdWJtZW51VHJpZ2dlcixcbiAgICAgIHRoaXMubWVudUNvbnRleHQsXG4gICAgICB0aGlzLm1lbnVDbG9zZSxcbiAgICAgIHRoaXMubWVudUFjdGlvbixcbiAgICAgIHRydWUsXG4gICAgICB0aGlzLmxldmVsLFxuICAgICk7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVN1Yk1lbnVFbnRlcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5tZW51KSB7XG4gICAgICB0aGlzLm1lbnUuaXNUcmlnZ2VySG92ZXJlZC5uZXh0KHRydWUpO1xuICAgIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZXRpbWVyKTtcbiAgICB0aGlzLm9wZW50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZW51ID0gdGhpcy5jb250ZXh0TWVudVNlcnZpY2Uuc2hvdyhcbiAgICAgICAgJGV2ZW50LFxuICAgICAgICB0aGlzLmNvbnRleHRTdWJtZW51VHJpZ2dlcixcbiAgICAgICAgdGhpcy5tZW51Q29udGV4dCxcbiAgICAgICAgdGhpcy5tZW51Q2xvc2UsXG4gICAgICAgIHRoaXMubWVudUFjdGlvbixcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgdGhpcy5sZXZlbCxcbiAgICAgICk7XG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgdGhpcy5vcGVudGltZXIgPSBudWxsO1xuICAgIH0sIHRoaXMub3BlbkRlbGF5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzdWJtZW51IGhpZGVzIGFmdGVyIGN1cnNvciBoYXMgZXhpdGVkIGZvciBhIHBlcmlvZCBvZiB0aW1lXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpXG4gIGhhbmRsZVN1Yk1lbnVFeGl0KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW50aW1lcik7XG4gICAgaWYgKHRoaXMubWVudSkge1xuICAgICAgdGhpcy5tZW51LmlzVHJpZ2dlckhvdmVyZWQubmV4dChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2V0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubWVudSkge1xuICAgICAgICB0aGlzLm1lbnUuaXNUcmlnZ2VySG92ZXJlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2UuY2xvc2VTdWJNZW51KHRoaXMubWVudS5pZCk7XG4gICAgICAgIHRoaXMubWVudSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIH0sIHRoaXMuaG92ZXJEZWxheSk7XG4gIH1cblxuICAvKipcbiAgICogaWYgb3ZlcndyaXR0ZW4gbWFrZSBzdXJlIHRvIGNsZWFyIHRpbWVvdXRzXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVudGltZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NldGltZXIpO1xuICB9XG59XG4iXX0=
@@ -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