@coolon/angular-ui-powerups 0.0.74 → 0.0.76

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 (41) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +288 -80
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +2 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +4 -3
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +71 -48
  10. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +128 -0
  11. package/esm2015/lib/interaction/index.js +2 -1
  12. package/esm2015/lib/interaction/interaction.module.js +6 -3
  13. package/esm2015/lib/interaction/services/dialog-interaction.service.js +10 -9
  14. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +15 -10
  15. package/esm2015/lib/place/place-component.js +3 -1
  16. package/esm2015/lib/place/route/guards/enter-place-guard.service.js +1 -1
  17. package/esm2015/lib/place/route/guards/leave-place.guard.js +6 -13
  18. package/esm2015/public_api.js +2 -2
  19. package/esm5/coolon-angular-ui-powerups.js +4 -3
  20. package/esm5/index.js +2 -2
  21. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +79 -49
  22. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +171 -0
  23. package/esm5/lib/interaction/index.js +2 -1
  24. package/esm5/lib/interaction/interaction.module.js +6 -3
  25. package/esm5/lib/interaction/services/dialog-interaction.service.js +10 -9
  26. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +19 -11
  27. package/esm5/lib/place/place-component.js +3 -1
  28. package/esm5/lib/place/route/guards/enter-place-guard.service.js +1 -1
  29. package/esm5/lib/place/route/guards/leave-place.guard.js +10 -14
  30. package/esm5/public_api.js +2 -2
  31. package/fesm2015/coolon-angular-ui-powerups.js +225 -74
  32. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  33. package/fesm5/coolon-angular-ui-powerups.js +282 -77
  34. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  35. package/lib/interaction/components/activity-container/activity-container.component.d.ts +9 -6
  36. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +21 -0
  37. package/lib/interaction/index.d.ts +1 -0
  38. package/lib/place/components/place-outlet/place-outlet.component.d.ts +1 -0
  39. package/lib/place/place-component.d.ts +2 -0
  40. package/package.json +1 -1
  41. package/styles/styles.scss +6 -1
@@ -3,7 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { Component, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
6
+ import { Component, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
7
7
  import { MatTabGroup } from '@angular/material';
8
8
  import { assert, Dsl, MutableListModel, MutableStream } from '@coolon/pectin';
9
9
  import { InteractionContext } from '../../interaction-context';
@@ -132,15 +132,17 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
132
132
  tslib_1.__extends(ActivityContainerComponent, _super);
133
133
  function ActivityContainerComponent() {
134
134
  var _this = _super.call(this) || this;
135
- _this.activityFinishedEvents = new MutableStream();
135
+ _this.throttledNestedActivityFinishEvents = new MutableStream();
136
+ // tslint:disable-next-line:no-output-rename
137
+ _this.initialActivityOutletContextEvent = new EventEmitter();
138
+ _this.dynamicHeight = false;
136
139
  _this.activityTabs = new MutableListModel();
137
- _this.finished = false;
138
140
  _this._activityList = new MutableListModel();
139
141
  var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
140
- chain(_this.activityFinishedEvents).throttle(50).subscribe((/**
142
+ chain(_this.throttledNestedActivityFinishEvents).throttle(50).subscribe((/**
141
143
  * @return {?}
142
144
  */
143
- function () { return _this.onActivityFinished(); }));
145
+ function () { return _this.onNestedActivityFinished(); }));
144
146
  return _this;
145
147
  }
146
148
  Object.defineProperty(ActivityContainerComponent.prototype, "initialActivityOutletContext", {
@@ -148,33 +150,37 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
148
150
  * @return {?}
149
151
  */
150
152
  function () {
151
- return this.activityTabs.length > 0 ? this.activityTabs.value[0] : null;
153
+ return this._initialActivityOutletContext;
152
154
  },
153
155
  set: /**
154
156
  * @param {?} initialContext
155
157
  * @return {?}
156
158
  */
157
159
  function (initialContext) {
158
- var _this = this;
159
- assert.isNil(this.initialActivityOutletContext);
160
- this.activityTabs.push(new TabContext(initialContext.activityData, initialContext.activityClass, this, {
161
- onDone: (/**
162
- * @param {?} result
163
- * @return {?}
164
- */
165
- function (result) {
166
- _this.finished = true;
167
- return initialContext.onDone(result);
168
- }),
169
- onCancel: (/**
170
- * @param {?} error
171
- * @return {?}
172
- */
173
- function (error) {
174
- _this.finished = true;
175
- return initialContext.onCancel(error);
176
- })
177
- }));
160
+ assert.isNil(this._initialActivityOutletContext);
161
+ /** @type {?} */
162
+ var self = this;
163
+ if (initialContext) {
164
+ this._initialActivityOutletContext = initialContext;
165
+ this.activityTabs.push(new TabContext(initialContext.activityData, initialContext.activityClass, this, {
166
+ onDone: (/**
167
+ * @param {?} result
168
+ * @return {?}
169
+ */
170
+ function (result) {
171
+ self.finishInitialActivity();
172
+ initialContext.onDone(result);
173
+ }),
174
+ onCancel: (/**
175
+ * @param {?} error
176
+ * @return {?}
177
+ */
178
+ function (error) {
179
+ self.finishInitialActivity();
180
+ initialContext.onCancel(error);
181
+ })
182
+ }));
183
+ }
178
184
  },
179
185
  enumerable: true,
180
186
  configurable: true
@@ -186,7 +192,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
186
192
  * @return {?}
187
193
  */
188
194
  function () {
189
- return this.parentInteractionContext.isActive();
195
+ return this._activityList.length > 0;
190
196
  };
191
197
  Object.defineProperty(ActivityContainerComponent.prototype, "activityList", {
192
198
  get: /**
@@ -198,6 +204,16 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
198
204
  enumerable: true,
199
205
  configurable: true
200
206
  });
207
+ Object.defineProperty(ActivityContainerComponent.prototype, "isFinished", {
208
+ get: /**
209
+ * @return {?}
210
+ */
211
+ function () {
212
+ return !this._initialActivityOutletContext;
213
+ },
214
+ enumerable: true,
215
+ configurable: true
216
+ });
201
217
  /**
202
218
  * @return {?}
203
219
  */
@@ -258,7 +274,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
258
274
  */
259
275
  function (result) {
260
276
  resolve(result);
261
- self.activityFinishedEvents.publish({});
277
+ self.throttledNestedActivityFinishEvents.publish({});
262
278
  }),
263
279
  onCancel: (/**
264
280
  * @param {?} error
@@ -266,7 +282,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
266
282
  */
267
283
  function (error) {
268
284
  reject(error);
269
- self.activityFinishedEvents.publish({});
285
+ self.throttledNestedActivityFinishEvents.publish({});
270
286
  })
271
287
  });
272
288
  self.activityTabs.push(context);
@@ -316,13 +332,27 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
316
332
  data: data
317
333
  });
318
334
  };
335
+ /**
336
+ * @private
337
+ * @return {?}
338
+ */
339
+ ActivityContainerComponent.prototype.finishInitialActivity = /**
340
+ * @private
341
+ * @return {?}
342
+ */
343
+ function () {
344
+ this._initialActivityOutletContext = null;
345
+ this.activityTabs.value = [];
346
+ this._activityList.value = [];
347
+ this.initialActivityOutletContextEvent.emit(null);
348
+ };
319
349
  // @Trace()
320
350
  // @Trace()
321
351
  /**
322
352
  * @private
323
353
  * @return {?}
324
354
  */
325
- ActivityContainerComponent.prototype.onActivityFinished =
355
+ ActivityContainerComponent.prototype.onNestedActivityFinished =
326
356
  // @Trace()
327
357
  /**
328
358
  * @private
@@ -330,12 +360,10 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
330
360
  */
331
361
  function () {
332
362
  // don't do anything if job already queued up.
333
- if (!this.finished) {
334
- if (this.synchroniseSelectedTabIndex()) {
335
- this.cleanupStaleActivities();
336
- }
337
- this.updateActivityList();
363
+ if (this.synchroniseSelectedTabIndex()) {
364
+ this.cleanupStaleNestedActivities();
338
365
  }
366
+ this.updateActivityList();
339
367
  };
340
368
  // @Trace()
341
369
  // @Trace()
@@ -343,7 +371,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
343
371
  * @private
344
372
  * @return {?}
345
373
  */
346
- ActivityContainerComponent.prototype.cleanupStaleActivities =
374
+ ActivityContainerComponent.prototype.cleanupStaleNestedActivities =
347
375
  // @Trace()
348
376
  /**
349
377
  * @private
@@ -351,7 +379,6 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
351
379
  */
352
380
  function () {
353
381
  var _this = this;
354
- // clean up old tabs
355
382
  if (this.tabs.selectedIndex < this.activityTabs.length - 1) {
356
383
  this.activityTabs.runInTransaction((/**
357
384
  * @param {?} draft
@@ -404,7 +431,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
404
431
  */
405
432
  function () {
406
433
  this.getSelectedOutlet().component.onActivityReady();
407
- this.cleanupStaleActivities();
434
+ this.cleanupStaleNestedActivities();
408
435
  this.updateActivityList();
409
436
  };
410
437
  /**
@@ -440,15 +467,16 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
440
467
  ActivityContainerComponent.decorators = [
441
468
  { type: Component, args: [{
442
469
  selector: 'aup-activity-container',
443
- template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"true\">\n <mat-tab *ngFor=\"let tab of activityTabs.value\">\n <aup-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"tab\"></aup-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
444
- styles: [":host{display:block}"]
470
+ template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"dynamicHeight\" [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityTabs.value\">\n <aup-activity-outlet [interactionContext]=\"this\" [activityContext]=\"tab\"></aup-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
471
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
445
472
  }] }
446
473
  ];
447
474
  /** @nocollapse */
448
475
  ActivityContainerComponent.ctorParameters = function () { return []; };
449
476
  ActivityContainerComponent.propDecorators = {
450
- parentInteractionContext: [{ type: Input }],
451
477
  initialActivityOutletContext: [{ type: Input }],
478
+ initialActivityOutletContextEvent: [{ type: Output, args: ['initialActivityOutletContext',] }],
479
+ dynamicHeight: [{ type: Input }],
452
480
  tabs: [{ type: ViewChild, args: ['tabs', { static: true },] }],
453
481
  outlets: [{ type: ViewChildren, args: [ActivityOutletComponent,] }]
454
482
  };
@@ -460,24 +488,26 @@ if (false) {
460
488
  * @type {?}
461
489
  * @private
462
490
  */
463
- ActivityContainerComponent.prototype.activityFinishedEvents;
491
+ ActivityContainerComponent.prototype.throttledNestedActivityFinishEvents;
492
+ /**
493
+ * @type {?}
494
+ * @private
495
+ */
496
+ ActivityContainerComponent.prototype._initialActivityOutletContext;
464
497
  /** @type {?} */
465
- ActivityContainerComponent.prototype.parentInteractionContext;
498
+ ActivityContainerComponent.prototype.initialActivityOutletContextEvent;
499
+ /** @type {?} */
500
+ ActivityContainerComponent.prototype.dynamicHeight;
466
501
  /** @type {?} */
467
502
  ActivityContainerComponent.prototype.tabs;
468
503
  /** @type {?} */
469
504
  ActivityContainerComponent.prototype.outlets;
470
505
  /** @type {?} */
471
506
  ActivityContainerComponent.prototype.activityTabs;
472
- /**
473
- * @type {?}
474
- * @private
475
- */
476
- ActivityContainerComponent.prototype.finished;
477
507
  /**
478
508
  * @type {?}
479
509
  * @private
480
510
  */
481
511
  ActivityContainerComponent.prototype._activityList;
482
512
  }
483
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFpQixHQUFHLEVBQWEsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7QUFPbkc7Ozs7Ozs7SUFLRSxvQkFBcUIsWUFBZSxFQUNmLGFBQStDLEVBQy9DLGtCQUFzQyxFQUN0QyxpQkFBMkM7UUFIM0MsaUJBQVksR0FBWixZQUFZLENBQUc7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBa0M7UUFDL0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBTnhELGNBQVMsR0FBRyxLQUFLLENBQUM7SUFPMUIsQ0FBQzs7OztJQUVELHdDQUFtQjs7O0lBQW5CO1FB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LElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUExQyxDQUEwQyxFQUFDLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFNBQVMsRUFBWCxDQUFXLEVBQUMsQ0FBQztJQUNuSSxDQUFDOzs7OztJQUVPLHNEQUFpQjs7OztJQUF6QjtRQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7O2dCQWxKRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsbVRBQWtEOztpQkFFbkQ7Ozs7OzJDQUtFLEtBQUs7K0NBR0wsS0FBSzt1QkFtQkwsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBR2xDLFlBQVksU0FBQyx1QkFBdUI7O0lBaUh2QyxpQ0FBQztDQUFBLEFBbkpELENBS3lELGtCQUFrQixHQThJMUU7U0E5SVksMEJBQTBCOzs7Ozs7SUFFckMsNERBQW1FOztJQUVuRSw4REFDNkM7O0lBcUI3QywwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOzs7OztJQUMxRSw4Q0FBeUI7Ozs7O0lBRXpCLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIERzbCwgTGlzdE1vZGVsLCBNdXRhYmxlTGlzdE1vZGVsLCBNdXRhYmxlU3RyZWFtIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hY3Rpdml0eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4gZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlGaW5pc2hlZEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBwYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCk7XG4gICAgdGhpcy5hY3Rpdml0eVRhYnMucHVzaChuZXcgVGFiQ29udGV4dChpbml0aWFsQ29udGV4dC5hY3Rpdml0eURhdGEsIGluaXRpYWxDb250ZXh0LmFjdGl2aXR5Q2xhc3MsIHRoaXMsIHtcbiAgICAgIG9uRG9uZTogKHJlc3VsdDogUikgPT4ge1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgfSxcbiAgICAgIG9uQ2FuY2VsOiAoZXJyb3I6IEUpID0+IHtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQoKTogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlWzBdIDogbnVsbDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RhYnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBvdXRsZXRzOiBRdWVyeUxpc3Q8QWN0aXZpdHlPdXRsZXRDb21wb25lbnQ8YW55LCBhbnksIGFueT4+O1xuXG4gIHJlYWRvbmx5IGFjdGl2aXR5VGFicyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFRhYkNvbnRleHQ8YW55LCBhbnksIGFueT4+KCk7XG4gIHByaXZhdGUgZmluaXNoZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMuYWN0aXZpdHlGaW5pc2hlZEV2ZW50cykudGhyb3R0bGUoNTApLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQWN0aXZpdHlGaW5pc2hlZCgpKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjaGFpbiwgb2JzZXJ2ZSB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLm91dGxldHMuY2hhbmdlcykuc3Vic2NyaWJlKCgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKSkpO1xuICAgIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLnRhYnMuYW5pbWF0aW9uRG9uZSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25BbmltYXRpb25GaW5pc2hlZCgpKTtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLmFjdGl2aXR5RmluaXNoZWRFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsOiBmdW5jdGlvbihlcnJvcjogRTEpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIHNlbGYuYWN0aXZpdHlGaW5pc2hlZEV2ZW50cy5wdWJsaXNoKHt9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBzZWxmLmFjdGl2aXR5VGFicy5wdXNoKGNvbnRleHQpO1xuICAgICAgc2VsZi50YWJzLnNlbGVjdGVkSW5kZXggPSB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIC8vIGRvbid0IGRvIGFueXRoaW5nIGlmIGpvYiBhbHJlYWR5IHF1ZXVlZCB1cC5cbiAgICBpZiAoIXRoaXMuZmluaXNoZWQpIHtcbiAgICAgIGlmICh0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpKSB7XG4gICAgICAgIHRoaXMuY2xlYW51cFN0YWxlQWN0aXZpdGllcygpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZUFjdGl2aXRpZXMoKSB7XG4gICAgLy8gY2xlYW4gdXAgb2xkIHRhYnNcbiAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPCB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5ydW5JblRyYW5zYWN0aW9uKGRyYWZ0ID0+IHtcbiAgICAgICAgZHJhZnQudmFsdWUgPSBkcmFmdC52YWx1ZS5zbGljZSgwLCAxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LiAgUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBubyBjaGFuZ2UgdG8gdGhlIHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMucXVlcnkoKS5maW5kSW5kZXgodCA9PiB0LmlzQ29tcGxldGUoKSkgLSAxO1xuICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5kZXggPT09IG5ld0luZGV4O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkKCkge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRPdXRsZXQoKS5jb21wb25lbnQub25BY3Rpdml0eVJlYWR5KCk7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVBY3Rpdml0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZpdHlMaXN0KCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlLmZpbHRlcih0ID0+ICF0LmlzQ29tcGxldGUoKSAmJiB0LmlzQ29tcG9uZW50UmVhbGlzZWQoKSkubWFwKHQgPT4gdC5jb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKVt0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleF07XG4gIH1cbn1cbiJdfQ==
513
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBaUIsR0FBRyxFQUFhLGdCQUFnQixFQUFFLGFBQWEsRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBSy9HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7O0FBT25HOzs7Ozs7O0lBS0Usb0JBQXFCLFlBQWUsRUFDZixhQUErQyxFQUMvQyxrQkFBc0MsRUFDdEMsaUJBQTJDO1FBSDNDLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQU54RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTzFCLENBQUM7Ozs7SUFF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QUFnRjs7Ozs7SUFFaEYsbUVBQXNFOztJQXlCdEUsdUVBQ3VGOztJQUV2RixtREFDc0I7O0lBRXRCLDBDQUNrQjs7SUFFbEIsNkNBQzJEOztJQUUzRCxrREFBMEU7Ozs7O0lBRTFFLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgRHNsLCBMaXN0TW9kZWwsIE11dGFibGVMaXN0TW9kZWwsIE11dGFibGVTdHJlYW0sIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFjdGl2aXR5LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxELCBSLCBFPiBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBwcml2YXRlIF9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT47XG4gIEBJbnB1dCgpXG4gIHNldCBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0KGluaXRpYWxDb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dDtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0Lmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3QucmVhZG9ubHk7XG4gIH1cblxuICBnZXQgaXNGaW5pc2hlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2U8UjE+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgVGFiQ29udGV4dChkYXRhLCBhY3Rpdml0eVR5cGUsIHNlbGYsIHtcbiAgICAgICAgb25Eb25lOiBmdW5jdGlvbihyZXN1bHQ6IFIxKSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIHNlbGYudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsOiBmdW5jdGlvbihlcnJvcjogRTEpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIHNlbGYudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc2VsZi5hY3Rpdml0eVRhYnMucHVzaChjb250ZXh0KTtcbiAgICAgIHNlbGYudGFicy5zZWxlY3RlZEluZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoO1xuICAgIH0pO1xuICB9XG5cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxEMSwgUjEsIEUxPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQxLCBSMSwgRTE+LCBSMSwgRTE+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmlzaEluaXRpYWxBY3Rpdml0eSgpIHtcbiAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZSA9IFtdO1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IFtdO1xuICAgIHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25OZXN0ZWRBY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIC8vIGRvbid0IGRvIGFueXRoaW5nIGlmIGpvYiBhbHJlYWR5IHF1ZXVlZCB1cC5cbiAgICBpZiAodGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKSkge1xuICAgICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZU5lc3RlZEFjdGl2aXRpZXMoKSB7XG4gICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEluZGV4IDwgdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5hY3Rpdml0eVRhYnMucnVuSW5UcmFuc2FjdGlvbihkcmFmdCA9PiB7XG4gICAgICAgIGRyYWZ0LnZhbHVlID0gZHJhZnQudmFsdWUuc2xpY2UoMCwgMSArIHRoaXMudGFicy5zZWxlY3RlZEluZGV4KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbmlzZXMgdGhlIHNlbGVjdGVkIHRhYiBpbmRleC4gIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgbm8gY2hhbmdlIHRvIHRoZSBzZWxlY3RlZCBpbmRleC5cbiAgICovXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLnF1ZXJ5KCkuZmluZEluZGV4KHQgPT4gdC5pc0NvbXBsZXRlKCkpIC0gMTtcbiAgICB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgIHJldHVybiBwcmV2aW91c0luZGV4ID09PSBuZXdJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICB0aGlzLmdldFNlbGVjdGVkT3V0bGV0KCkuY29tcG9uZW50Lm9uQWN0aXZpdHlSZWFkeSgpO1xuICAgIHRoaXMuY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2aXR5TGlzdCgpIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3QudmFsdWUgPSB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZS5maWx0ZXIodCA9PiAhdC5pc0NvbXBsZXRlKCkgJiYgdC5pc0NvbXBvbmVudFJlYWxpc2VkKCkpLm1hcCh0ID0+IHQuY29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRPdXRsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,171 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Component, ViewChild } from '@angular/core';
7
+ import { InteractionContext } from '../../interaction-context';
8
+ import { ActivityContainerComponent } from '../activity-container/activity-container.component';
9
+ import { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';
10
+ import { ConfirmThenDialogComponent } from '../confirm-then-dialog/confirm-then-dialog.component';
11
+ import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
12
+ /**
13
+ * @template D, R, E
14
+ */
15
+ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
16
+ tslib_1.__extends(InplaceInteractionContextComponent, _super);
17
+ function InplaceInteractionContextComponent() {
18
+ return _super.call(this) || this;
19
+ }
20
+ /**
21
+ * @return {?}
22
+ */
23
+ InplaceInteractionContextComponent.prototype.ngOnInit = /**
24
+ * @return {?}
25
+ */
26
+ function () {
27
+ };
28
+ Object.defineProperty(InplaceInteractionContextComponent.prototype, "activityList", {
29
+ get: /**
30
+ * @return {?}
31
+ */
32
+ function () {
33
+ return this.interactionContext.activityList;
34
+ },
35
+ enumerable: true,
36
+ configurable: true
37
+ });
38
+ /**
39
+ * @return {?}
40
+ */
41
+ InplaceInteractionContextComponent.prototype.isActive = /**
42
+ * @return {?}
43
+ */
44
+ function () {
45
+ return this.interactionContext.isActive();
46
+ };
47
+ /**
48
+ * @param {?} alert
49
+ * @return {?}
50
+ */
51
+ InplaceInteractionContextComponent.prototype.alert = /**
52
+ * @param {?} alert
53
+ * @return {?}
54
+ */
55
+ function (alert) {
56
+ // TODO: Test disableClose === false
57
+ return this._startActivity(AlertDialogComponent, alert);
58
+ };
59
+ /**
60
+ * @param {?} confirm
61
+ * @return {?}
62
+ */
63
+ InplaceInteractionContextComponent.prototype.confirm = /**
64
+ * @param {?} confirm
65
+ * @return {?}
66
+ */
67
+ function (confirm) {
68
+ return this._startActivity(ConfirmationDialogComponent, confirm);
69
+ };
70
+ /**
71
+ * @template D1, R1, E1
72
+ * @param {?} confirm
73
+ * @param {?} activityType
74
+ * @param {?=} data
75
+ * @return {?}
76
+ */
77
+ InplaceInteractionContextComponent.prototype.confirmThen = /**
78
+ * @template D1, R1, E1
79
+ * @param {?} confirm
80
+ * @param {?} activityType
81
+ * @param {?=} data
82
+ * @return {?}
83
+ */
84
+ function (confirm, activityType, data) {
85
+ return this._startActivity(ConfirmThenDialogComponent, {
86
+ confirm: confirm,
87
+ activityType: activityType,
88
+ data: data
89
+ });
90
+ };
91
+ /**
92
+ * @template D1, R1, E1
93
+ * @param {?} activityType
94
+ * @param {?=} data
95
+ * @return {?}
96
+ */
97
+ InplaceInteractionContextComponent.prototype.startActivity = /**
98
+ * @template D1, R1, E1
99
+ * @param {?} activityType
100
+ * @param {?=} data
101
+ * @return {?}
102
+ */
103
+ function (activityType, data) {
104
+ return this._startActivity(activityType, data);
105
+ };
106
+ /**
107
+ * @protected
108
+ * @template D1, R1, E1
109
+ * @param {?} activityType
110
+ * @param {?=} data
111
+ * @return {?}
112
+ */
113
+ InplaceInteractionContextComponent.prototype._startActivity = /**
114
+ * @protected
115
+ * @template D1, R1, E1
116
+ * @param {?} activityType
117
+ * @param {?=} data
118
+ * @return {?}
119
+ */
120
+ function (activityType, data) {
121
+ var _this = this;
122
+ /** @type {?} */
123
+ var self = this;
124
+ return new Promise((/**
125
+ * @param {?} resolve
126
+ * @param {?} reject
127
+ * @return {?}
128
+ */
129
+ function (resolve, reject) {
130
+ _this.interactionContext.initialActivityOutletContext = {
131
+ activityClass: activityType,
132
+ activityData: data,
133
+ onDone: /**
134
+ * @param {?} result
135
+ * @return {?}
136
+ */
137
+ function (result) {
138
+ resolve(result);
139
+ },
140
+ onCancel: /**
141
+ * @param {?} error
142
+ * @return {?}
143
+ */
144
+ function (error) {
145
+ reject(error);
146
+ }
147
+ };
148
+ }));
149
+ };
150
+ InplaceInteractionContextComponent.decorators = [
151
+ { type: Component, args: [{
152
+ selector: 'aup-inplace-interaction-context',
153
+ template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer\n [(initialActivityOutletContext)]=\"initialActivityContext\"\n [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n",
154
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
155
+ }] }
156
+ ];
157
+ /** @nocollapse */
158
+ InplaceInteractionContextComponent.ctorParameters = function () { return []; };
159
+ InplaceInteractionContextComponent.propDecorators = {
160
+ interactionContext: [{ type: ViewChild, args: ["activityContainer", { static: true },] }]
161
+ };
162
+ return InplaceInteractionContextComponent;
163
+ }(InteractionContext));
164
+ export { InplaceInteractionContextComponent };
165
+ if (false) {
166
+ /** @type {?} */
167
+ InplaceInteractionContextComponent.prototype.interactionContext;
168
+ /** @type {?} */
169
+ InplaceInteractionContextComponent.prototype.initialActivityContext;
170
+ }
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQU03RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUdoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7OztBQUVuRztJQUtpRSw4REFBa0I7SUFPakY7ZUFDRSxpQkFBTztJQUNULENBQUM7Ozs7SUFFRCxxREFBUTs7O0lBQVI7SUFDQSxDQUFDO0lBRUQsc0JBQUksNERBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDOUMsQ0FBQzs7O09BQUE7Ozs7SUFFRCxxREFBUTs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUVELGtEQUFLOzs7O0lBQUwsVUFBTSxLQUFZO1FBQ2hCLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFFRCxvREFBTzs7OztJQUFQLFVBQVEsT0FBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7Ozs7O0lBRUQsd0RBQVc7Ozs7Ozs7SUFBWCxVQUF3QixPQUFnQixFQUFFLFlBQWlELEVBQUUsSUFBUztRQUNwRyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQXNELDBCQUEwQixFQUFFO1lBQzFHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVELDBEQUFhOzs7Ozs7SUFBYixVQUEwQixZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7OztJQUVTLDJEQUFjOzs7Ozs7O0lBQXhCLFVBQXFDLFlBQWlELEVBQUUsSUFBUztRQUFqRyxpQkFjQzs7WUFiTyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksT0FBTzs7Ozs7UUFBSyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3JDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRztnQkFDckQsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixNQUFNOzs7OzBCQUFDLE1BQU07b0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQixDQUFDO2dCQUNELFFBQVE7Ozs7MEJBQUMsS0FBSztvQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOztJQTBEaEQseUNBQUM7Q0FBQSxBQWpFRCxDQUtpRSxrQkFBa0IsR0E0RGxGO1NBNURZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKFwiYWN0aXZpdHlDb250YWluZXJcIiwge3N0YXRpYzogdHJ1ZX0pXG4gIGludGVyYWN0aW9uQ29udGV4dDogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8YW55LCBhbnksIGFueT47XG5cbiAgaW5pdGlhbEFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsUixFPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5hY3Rpdml0eUxpc3Q7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSMT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -18,7 +18,8 @@ export { ActivityOutletComponent } from "./components/activity-outlet/activity-o
18
18
  export { AlertDialogComponent } from "./components/alert-dialog/alert-dialog.component";
19
19
  export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/confirm-then-dialog.component";
20
20
  export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
21
+ export { InplaceInteractionContextComponent } from "./components/inplace-interaction-context/inplace-interaction-context.component";
21
22
  export { InteractionOutletComponent } from "./components/interaction-outlet/interaction-outlet.component";
22
23
  export { InteractionGuard } from "./guards/interaction-guard.service";
23
24
  export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDJDQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGlDQUFjLG9DQUFvQyxDQUFDO0FBQ25ELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9pbnRlcmFjdGlvbi1vdXRsZXQvaW50ZXJhY3Rpb24tb3V0bGV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2ludGVyYWN0aW9uLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL2RpYWxvZy1pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLG1EQUFjLGdGQUFnRixDQUFDO0FBQy9GLDJDQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGlDQUFjLG9DQUFvQyxDQUFDO0FBQ25ELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQvaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9pbnRlcmFjdGlvbi1vdXRsZXQvaW50ZXJhY3Rpb24tb3V0bGV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2ludGVyYWN0aW9uLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL2RpYWxvZy1pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG4iXX0=
@@ -12,6 +12,7 @@ import { ActivityOutletComponent } from './components/activity-outlet/activity-o
12
12
  import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
13
13
  import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
14
14
  import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
15
+ import { InplaceInteractionContextComponent } from './components/inplace-interaction-context/inplace-interaction-context.component';
15
16
  import { InteractionOutletComponent } from './components/interaction-outlet/interaction-outlet.component';
16
17
  import { DialogInteractionService } from './services/dialog-interaction.service';
17
18
  var InteractionModule = /** @class */ (function () {
@@ -33,12 +34,14 @@ var InteractionModule = /** @class */ (function () {
33
34
  ConfirmThenDialogComponent,
34
35
  AlertDialogComponent,
35
36
  ActivityOutletComponent,
36
- InteractionOutletComponent
37
+ InteractionOutletComponent,
38
+ InplaceInteractionContextComponent
37
39
  ],
38
40
  exports: [
39
41
  ActivityContainerComponent,
40
42
  ActivityOutletComponent,
41
- InteractionOutletComponent
43
+ InteractionOutletComponent,
44
+ InplaceInteractionContextComponent
42
45
  ],
43
46
  entryComponents: [
44
47
  ActivityContainerComponent,
@@ -54,4 +57,4 @@ var InteractionModule = /** @class */ (function () {
54
57
  return InteractionModule;
55
58
  }());
56
59
  export { InteractionModule };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRjtJQUFBO0lBaUNBLENBQUM7O2dCQWpDQSxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsZUFBZSxFQUFFO3dCQUNmLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULHdCQUF3QjtxQkFDekI7aUJBQ0Y7O0lBRUQsd0JBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQURZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsXG4gICAgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQsXG4gICAgSW50ZXJhY3Rpb25PdXRsZXRDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uTW9kdWxlIHtcbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRjtJQUFBO0lBbUNBLENBQUM7O2dCQW5DQSxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixrQ0FBa0M7cUJBQ25DO29CQUNELGVBQWUsRUFBRTt3QkFDZiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQixvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDVCx3QkFBd0I7cUJBQ3pCO2lCQUNGOztJQUVELHdCQUFDO0NBQUEsQUFuQ0QsSUFtQ0M7U0FEWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudCxcbiAgICBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudCxcbiAgICBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50XG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbk1vZHVsZSB7XG59XG4iXX0=