@coolon/angular-ui-powerups 16.1.0-aplpha.130 → 16.1.0-aplpha.132

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.
@@ -9,6 +9,11 @@ import * as i0 from "@angular/core";
9
9
  export const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
10
10
  // eslint-disable-next-line @angular-eslint/component-class-suffix
11
11
  export class Activity extends LoadableComponent {
12
+ static asInteractionContextProvider() {
13
+ return {
14
+ provide: INTERACTION_CONTEXT_PROVIDER, useExisting: this
15
+ };
16
+ }
12
17
  activityData = inject(ACTIVITY_DATA);
13
18
  activityReadyListeners = new EventListenerList();
14
19
  _busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
@@ -99,9 +104,7 @@ export class Activity extends LoadableComponent {
99
104
  return this.interactionContext;
100
105
  }
101
106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, providers: [{
103
- provide: INTERACTION_CONTEXT_PROVIDER, useExisting: Activity
104
- }], viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true });
105
108
  }
106
109
  __decorate([
107
110
  Proxify(),
@@ -115,9 +118,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
115
118
  type: Component,
116
119
  args: [{
117
120
  template: "",
118
- providers: [{
119
- provide: INTERACTION_CONTEXT_PROVIDER, useExisting: Activity
120
- }],
121
121
  }]
122
122
  }], ctorParameters: function () { return []; }, propDecorators: { activityActions: [{
123
123
  type: ViewChild,
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
129
129
  type: HostBinding,
130
130
  args: ["attr.focused"]
131
131
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBRVIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFFbEcsT0FBTyxFQUFDLDRCQUE0QixFQUE2QixNQUFNLGdDQUFnQyxDQUFDOztBQUV4RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0seUJBQXlCLENBQUMsQ0FBQztBQVVoRixrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLFFBQXdCLFNBQVEsaUJBQWlCO0lBRW5ELFlBQVksR0FBTSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFaEMsc0JBQXNCLEdBQUcsSUFBSSxpQkFBaUIsRUFBa0MsQ0FBQztJQUNqRixNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxDQUFDO0lBQ3pFLGdCQUFnQixDQUF5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QUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBWYWx1ZU1vZGVsXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHthc3NlcnR9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge0xvYWRhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50cy9sb2FkYWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7QWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnRcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tIFwiLi9pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQge0lOVEVSQUNUSU9OX0NPTlRFWFRfUFJPVklERVIsIEludGVyYWN0aW9uQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9pbnRlcmFjdGlvbi1jb250ZXh0LXByb3ZpZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXCJJbnRlcmFjdGlvbkFjdGl2aXR5RGF0YVwiKTtcblxudHlwZSBPbkFjdGl2aXR5UmVhZHlQYXJhbXM8RCwgUiwgRSA9IGFueT4gPSAoYWN0aXZpdHk6IEFjdGl2aXR5PEQsIFIsIEU+KSA9PiB2b2lkO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBJTlRFUkFDVElPTl9DT05URVhUX1BST1ZJREVSLCB1c2VFeGlzdGluZzogQWN0aXZpdHlcbiAgfV0sXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgQWN0aXZpdHk8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEludGVyYWN0aW9uQ29udGV4dFByb3ZpZGVyIHtcblxuICByZWFkb25seSBhY3Rpdml0eURhdGE6IEQgPSBpbmplY3QoQUNUSVZJVFlfREFUQSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVJlYWR5TGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PE9uQWN0aXZpdHlSZWFkeVBhcmFtczxELCBSLCBFPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnVzeSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuICBwcml2YXRlIF9mb2N1c2VkJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKTtcbiAgcHJpdmF0ZSBfYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eS5Db250ZXh0PFIsIEU+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZWFkeSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBWaWV3Q2hpbGQoQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50KVxuICBwcm90ZWN0ZWQgYWN0aXZpdHlBY3Rpb25zOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQ7XG5cbiAgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBjb25maXJtQ29tbWFuZCA9IHByb3hpZnkoQ29tbWFuZDx1bmtub3duPik7XG5cbiAgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBjYW5jZWxDb21tYW5kID0gcHJveGlmeShDb21tYW5kPHVua25vd24+KTtcblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIF9pbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBjbGFzcyA9IFwiYXVwLWFjdGl2aXR5XCI7XG5cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5mb2N1c2VkXCIpXG4gIGdldCBpc0ZvY3VzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQkLnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJ1c3lXaGlsZSh0aGlzLmNvbmZpcm1Db21tYW5kLmJ1c3kkKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UobmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsIGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHkuQ29udGV4dDxSLCBFPik6IHZvaWQge1xuICAgIGNvbnN0IHtjaGFpbiwgd2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2FjdGl2aXR5Q29udGV4dCk7XG4gICAgdGhpcy5fYWN0aXZpdHlDb250ZXh0ID0gYWN0aXZpdHlDb250ZXh0O1xuICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dCA9IG5lc3RlZEludGVyYWN0aW9uQ29udGV4dDtcbiAgICB0aGlzLl9mb2N1c2VkJC5zZXREZWxlZ2F0ZShhY3Rpdml0eUNvbnRleHQuZm9jdXNlZCk7XG4gICAgd2hlbih0aGlzLl9mb2N1c2VkJCkuYmVjb21lc1RydXRoeSgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmeUFjdGl2aXR5UmVhZHkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eUFjdGlvbnMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGlzZUFjdGl2aXR5QWN0aW9uKHRoaXMuYWN0aXZpdHlBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdGlhbGlzZUFjdGl2aXR5QWN0aW9uKGFjdGl2aXR5QWN0aW9uczogQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgYWN0aXZpdHlBY3Rpb25zLmluaXRDb21tYW5kcyh0aGlzKTtcbiAgfVxuXG4gIGdldCBpbnRlcmFjdGlvbkNvbnRleHQoKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuaXNJbml0aWFsaXNlZCgpKTtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0O1xuICB9XG5cbiAgZG9uZShyZXN1bHQ/OiBSKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5Q29udGV4dC5vbkRvbmUocmVzdWx0KTtcbiAgfVxuXG4gIGNhbmNlbChlcnJvcj86IEUpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpdml0eUNvbnRleHQub25DYW5jZWwoZXJyb3IpO1xuICB9XG5cbiAgbm90aWZ5QWN0aXZpdHlSZWFkeSgpIHtcbiAgICB0aGlzLmFjdGl2aXR5UmVhZHlMaXN0ZW5lcnMuZmlyZShsID0+IGwodGhpcykpO1xuICAgIHRoaXMuX3JlYWR5JC52YWx1ZSA9IHRydWU7XG4gIH1cblxuICBvbkFjdGl2aXR5UmVhZHkoY2FsbGJhY2s6IE9uQWN0aXZpdHlSZWFkeVBhcmFtczxELCBSLCBFPik6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UmVhZHlMaXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGF1dG9Gb2N1cyhmb2N1c2FibGU6IHsgcmVxdWVzdEZvY3VzKCk6IHZvaWQgfSkge1xuICAgIHJldHVybiB0aGlzLm9uQWN0aXZpdHlSZWFkeSgoKSA9PiBmb2N1c2FibGUucmVxdWVzdEZvY3VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSAjYXV0b0ZvY3VzIGluc3RlYWRcbiAgICogQHBhcmFtIGZvY3VzYWJsZVxuICAgKi9cbiAgYXV0b0ZvY3VzT25BY3Rpdml0eVJlYWR5KGZvY3VzYWJsZTogeyByZXF1ZXN0Rm9jdXMoKTogdm9pZCB9KSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0b0ZvY3VzKGZvY3VzYWJsZSk7XG4gIH1cblxuICBnZXQgcmVhZHkkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkeSQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0IGJ1c3kkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5JC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgZm9jdXNlZCQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGJ1c3lXaGlsZShidXN5TW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9idXN5JC5zZXREZWxlZ2F0ZShidXN5TW9kZWwpO1xuICB9XG5cbiAgaXNCdXN5KCkge1xuICAgIHJldHVybiB0aGlzLl9idXN5JC52YWx1ZTtcbiAgfVxuXG4gIGlzSW5pdGlhbGlzZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fYWN0aXZpdHlDb250ZXh0O1xuICB9XG5cbiAgZ2V0SW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0O1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBY3Rpdml0eSB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBDb250ZXh0PFIsIEU+IHtcbiAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHZvaWQsXG4gICAgb25DYW5jZWw6IChlcnJvcjogRSkgPT4gdm9pZCxcbiAgICBmb2N1c2VkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+XG4gIH1cbn1cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBRVIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFFbEcsT0FBTyxFQUFDLDRCQUE0QixFQUE2QixNQUFNLGdDQUFnQyxDQUFDOztBQUV4RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0seUJBQXlCLENBQUMsQ0FBQztBQU9oRixrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLFFBQXdCLFNBQVEsaUJBQWlCO0lBRTVELE1BQU0sQ0FBQyw0QkFBNEI7UUFDakMsT0FBTztZQUNMLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsSUFBSTtTQUN6RCxDQUFBO0lBQ0gsQ0FBQztJQUVRLFlBQVksR0FBTSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFaEMsc0JBQXNCLEdBQUcsSUFBSSxpQkFBaUIsRUFBa0MsQ0FBQztJQUNqRixNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxD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dGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmQsIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7YXNzZXJ0fSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHtMb2FkYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbG9hZGFibGUtY29tcG9uZW50XCI7XG5pbXBvcnQge0FjdGl2aXR5QWN0aW9uc0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1hY3Rpb25zL2FjdGl2aXR5LWFjdGlvbnMuY29tcG9uZW50XCI7XG5pbXBvcnQge0ludGVyYWN0aW9uQ29udGV4dH0gZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHtJTlRFUkFDVElPTl9DT05URVhUX1BST1ZJREVSLCBJbnRlcmFjdGlvbkNvbnRleHRQcm92aWRlcn0gZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dC1wcm92aWRlclwiO1xuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KFwiSW50ZXJhY3Rpb25BY3Rpdml0eURhdGFcIik7XG5cbnR5cGUgT25BY3Rpdml0eVJlYWR5UGFyYW1zPEQsIFIsIEUgPSBhbnk+ID0gKGFjdGl2aXR5OiBBY3Rpdml0eTxELCBSLCBFPikgPT4gdm9pZDtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBcIlwiLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5PEQsIFIsIEUgPSBhbnk+IGV4dGVuZHMgTG9hZGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBJbnRlcmFjdGlvbkNvbnRleHRQcm92aWRlciB7XG5cbiAgc3RhdGljIGFzSW50ZXJhY3Rpb25Db250ZXh0UHJvdmlkZXI8QSBleHRlbmRzIEFjdGl2aXR5PGFueSwgYW55Pj4odGhpczogQ29uc3RydWN0YWJsZTxBPikge1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlOiBJTlRFUkFDVElPTl9DT05URVhUX1BST1ZJREVSLCB1c2VFeGlzdGluZzogdGhpc1xuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCA9IGluamVjdChBQ1RJVklUWV9EQVRBKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5UmVhZHlMaXN0ZW5lcnMgPSBuZXcgRXZlbnRMaXN0ZW5lckxpc3Q8T25BY3Rpdml0eVJlYWR5UGFyYW1zPEQsIFIsIEU+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9idXN5JCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gIHByaXZhdGUgX2ZvY3VzZWQkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkpO1xuICBwcml2YXRlIF9hY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5LkNvbnRleHQ8UiwgRT47XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlYWR5JCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgQFZpZXdDaGlsZChBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQpXG4gIHByb3RlY3RlZCBhY3Rpdml0eUFjdGlvbnM6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudDtcblxuICBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNvbmZpcm1Db21tYW5kID0gcHJveGlmeShDb21tYW5kPHVua25vd24+KTtcblxuICBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNhbmNlbENvbW1hbmQgPSBwcm94aWZ5KENvbW1hbmQ8dW5rbm93bj4pO1xuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgX2ludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0O1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGNsYXNzID0gXCJhdXAtYWN0aXZpdHlcIjtcblxuICBASG9zdEJpbmRpbmcoXCJhdHRyLmZvY3VzZWRcIilcbiAgZ2V0IGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZCQudmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYnVzeVdoaWxlKHRoaXMuY29uZmlybUNvbW1hbmQuYnVzeSQpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShuZXN0ZWRJbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCwgYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eS5Db250ZXh0PFIsIEU+KTogdm9pZCB7XG4gICAgY29uc3Qge2NoYWluLCB3aGVufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fYWN0aXZpdHlDb250ZXh0KTtcbiAgICB0aGlzLl9hY3Rpdml0eUNvbnRleHQgPSBhY3Rpdml0eUNvbnRleHQ7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0ID0gbmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRoaXMuX2ZvY3VzZWQkLnNldERlbGVnYXRlKGFjdGl2aXR5Q29udGV4dC5mb2N1c2VkKTtcbiAgICB3aGVuKHRoaXMuX2ZvY3VzZWQkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMubm90aWZ5QWN0aXZpdHlSZWFkeSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5QWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXNlQWN0aXZpdHlBY3Rpb24odGhpcy5hY3Rpdml0eUFjdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0aWFsaXNlQWN0aXZpdHlBY3Rpb24oYWN0aXZpdHlBY3Rpb25zOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQpIHtcbiAgICBhY3Rpdml0eUFjdGlvbnMuaW5pdENvbW1hbmRzKHRoaXMpO1xuICB9XG5cbiAgZ2V0IGludGVyYWN0aW9uQ29udGV4dCgpIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpO1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gIH1cblxuICBkb25lKHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICB9XG5cbiAgY2FuY2VsKGVycm9yPzogRSk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2aXR5Q29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gIH1cblxuICBub3RpZnlBY3Rpdml0eVJlYWR5KCkge1xuICAgIHRoaXMuYWN0aXZpdHlSZWFkeUxpc3RlbmVycy5maXJlKGwgPT4gbCh0aGlzKSk7XG4gICAgdGhpcy5fcmVhZHkkLnZhbHVlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWN0aXZpdHlSZWFkeShjYWxsYmFjazogT25BY3Rpdml0eVJlYWR5UGFyYW1zPEQsIFIsIEU+KTogRGlzcG9zYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlSZWFkeUxpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgYXV0b0ZvY3VzKGZvY3VzYWJsZTogeyByZXF1ZXN0Rm9jdXMoKTogdm9pZCB9KSB7XG4gICAgcmV0dXJuIHRoaXMub25BY3Rpdml0eVJlYWR5KCgpID0+IGZvY3VzYWJsZS5yZXF1ZXN0Rm9jdXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNhdXRvRm9jdXMgaW5zdGVhZFxuICAgKiBAcGFyYW0gZm9jdXNhYmxlXG4gICAqL1xuICBhdXRvRm9jdXNPbkFjdGl2aXR5UmVhZHkoZm9jdXNhYmxlOiB7IHJlcXVlc3RGb2N1cygpOiB2b2lkIH0pIHtcbiAgICByZXR1cm4gdGhpcy5hdXRvRm9jdXMoZm9jdXNhYmxlKTtcbiAgfVxuXG4gIGdldCByZWFkeSQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5JC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgYnVzeSQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2J1c3kkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBmb2N1c2VkJCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgYnVzeVdoaWxlKGJ1c3lNb2RlbDogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX2J1c3kkLnNldERlbGVnYXRlKGJ1c3lNb2RlbCk7XG4gIH1cblxuICBpc0J1c3koKSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1c3kkLnZhbHVlO1xuICB9XG5cbiAgaXNJbml0aWFsaXNlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9hY3Rpdml0eUNvbnRleHQ7XG4gIH1cblxuICBnZXRJbnRlcmFjdGlvbkNvbnRleHQoKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQ7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5IHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENvbnRleHQ8UiwgRT4ge1xuICAgIG9uRG9uZTogKHJlc3VsdDogUikgPT4gdm9pZCxcbiAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB2b2lkLFxuICAgIGZvY3VzZWQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj5cbiAgfVxufVxuIl19
@@ -664,6 +664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
664
664
  type: Input
665
665
  }] } });
666
666
 
667
+ // TODO: make this a DecoratedCommandFace?
667
668
  var CommandFace;
668
669
  (function (CommandFace) {
669
670
  let Position;
@@ -1368,6 +1369,84 @@ class CommandContainer extends GarbageCollector {
1368
1369
  CommandContainer.Orientation = Enum({ HORIZONTAL: 'horizontal', VERTICAL: 'vertical' });
1369
1370
  })(CommandContainer || (CommandContainer = {}));
1370
1371
 
1372
+ // TODO: this is an ugly copy and paste hack from the Command component.
1373
+ /**
1374
+ *
1375
+ */
1376
+ class FileDownloadComponent extends PopupAwareComponent {
1377
+ containerParent;
1378
+ CommandFaceUtil = CommandFace;
1379
+ #download$_accessor_storage = proxify((ValueModel));
1380
+ get download$() { return this.#download$_accessor_storage; }
1381
+ set download$(value) { this.#download$_accessor_storage = value; }
1382
+ #download_accessor_storage;
1383
+ get download() { return this.#download_accessor_storage; }
1384
+ set download(value) { this.#download_accessor_storage = value; }
1385
+ alignFace = HorizontalAlignment.CENTER;
1386
+ faces$;
1387
+ buttonStyle$;
1388
+ color$;
1389
+ tooltip$;
1390
+ constructor(element, popupContainer, containerParent) {
1391
+ super(element, popupContainer);
1392
+ this.containerParent = containerParent;
1393
+ const { chain } = Dsl.disposeWith(this);
1394
+ this.faces$ = chain(this.download$).map(it => {
1395
+ return it.icon ? it : {
1396
+ ...it,
1397
+ icon() {
1398
+ return 'mat:file_download';
1399
+ },
1400
+ };
1401
+ }).mapToList();
1402
+ this.buttonStyle$ = chain(this.download$).map(f => CommandFace.getStyleOf(f));
1403
+ this.color$ = chain(this.download$).map(f => CommandFace.getColorOf(f));
1404
+ this.tooltip$ = chain(this.download$).map(f => CommandFace.getTooltipOf(f));
1405
+ }
1406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER, optional: true }, { token: CommandContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1407
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
1408
+ }
1409
+ __decorate([
1410
+ Proxify(),
1411
+ __metadata("design:type", ValueModel)
1412
+ ], FileDownloadComponent.prototype, "download$", null);
1413
+ __decorate([
1414
+ StoreInValueModel(),
1415
+ __metadata("design:type", Object)
1416
+ ], FileDownloadComponent.prototype, "download", null);
1417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, decorators: [{
1418
+ type: Component,
1419
+ args: [{ selector: 'aup-file-download', template: "<ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\" [color]=\"color$.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n</ng-container>\n" }]
1420
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
1421
+ type: Optional
1422
+ }, {
1423
+ type: Inject,
1424
+ args: [POPUP_CONTAINER]
1425
+ }] }, { type: CommandContainer, decorators: [{
1426
+ type: Optional
1427
+ }] }]; }, propDecorators: { download$: [{
1428
+ type: Input
1429
+ }], download: [{
1430
+ type: Input
1431
+ }], alignFace: [{
1432
+ type: Input
1433
+ }, {
1434
+ type: HostBinding,
1435
+ args: ["class"]
1436
+ }] } });
1437
+ (function (FileDownloadComponent) {
1438
+ function createInfo(face, url, saveAs) {
1439
+ const info = {
1440
+ ...face,
1441
+ url,
1442
+ saveAs,
1443
+ };
1444
+ console.log(info);
1445
+ return info;
1446
+ }
1447
+ FileDownloadComponent.createInfo = createInfo;
1448
+ })(FileDownloadComponent || (FileDownloadComponent = {}));
1449
+
1371
1450
  /**
1372
1451
  *
1373
1452
  */
@@ -1483,22 +1562,23 @@ class PopupMenuRendererComponent extends DisposableComponent {
1483
1562
  isSeparator(child) {
1484
1563
  return child instanceof SeparatorComponent;
1485
1564
  }
1565
+ isFileDownload(child) {
1566
+ return child instanceof FileDownloadComponent;
1567
+ }
1486
1568
  getTooltip(child) {
1487
1569
  return this.isCommand(child) ? CommandFace.getTooltipOf(child.face) : undefined;
1488
1570
  }
1489
1571
  getFaces(child) {
1490
- return this.isCommand(child) ?
1572
+ return this.isCommand(child) || this.isPopupMenu(child) || this.isFileDownload(child) ?
1491
1573
  child.faces$.value :
1492
- this.isPopupMenu(child) ?
1493
- child.faces$.value :
1494
- undefined;
1574
+ undefined;
1495
1575
  }
1496
1576
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupMenuRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1497
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: { parent: "parent" }, outputs: { commandFired: "commandFired" }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: ["menu"], descendants: true, static: true }, { propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i2$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }] });
1577
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: { parent: "parent" }, outputs: { commandFired: "commandFired" }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: ["menu"], descendants: true, static: true }, { propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <a *ngIf=\"isFileDownload(child)\" mat-menu-item [href]=\"child.download.url\" [download]=\"child.download.saveAs\">\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </a>\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i2$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }] });
1498
1578
  }
1499
1579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupMenuRendererComponent, decorators: [{
1500
1580
  type: Component,
1501
- args: [{ selector: "aup-popup-menu-renderer", template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n" }]
1581
+ args: [{ selector: "aup-popup-menu-renderer", template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <a *ngIf=\"isFileDownload(child)\" mat-menu-item [href]=\"child.download.url\" [download]=\"child.download.saveAs\">\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </a>\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n" }]
1502
1582
  }], ctorParameters: function () { return []; }, propDecorators: { parent: [{
1503
1583
  type: Input
1504
1584
  }], menuComponent: [{
@@ -6205,7 +6285,8 @@ class ComponentsModule {
6205
6285
  TableMoreMenuComponent,
6206
6286
  TableMoreMenuPopupComponent,
6207
6287
  SearchInputComponent,
6208
- TableFooterRow], imports: [CommonModule,
6288
+ TableFooterRow,
6289
+ FileDownloadComponent], imports: [CommonModule,
6209
6290
  BrowserAnimationsModule,
6210
6291
  FormsModule,
6211
6292
  MatInputModule,
@@ -6226,7 +6307,8 @@ class ComponentsModule {
6226
6307
  MatProgressSpinnerModule,
6227
6308
  MatProgressBarModule,
6228
6309
  ScrollingModule,
6229
- TableVirtualScrollModule], exports: [TableFooterRow,
6310
+ TableVirtualScrollModule], exports: [FileDownloadComponent,
6311
+ TableFooterRow,
6230
6312
  NumberInputComponent,
6231
6313
  StringInputComponent,
6232
6314
  TextInputComponent,
@@ -6267,10 +6349,7 @@ class ComponentsModule {
6267
6349
  TableMoreMenuComponent,
6268
6350
  TableMoreMenuPopupComponent,
6269
6351
  SearchInputComponent] });
6270
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [
6271
- FocusBindingFactory,
6272
- MarkdownService
6273
- ], imports: [CommonModule,
6352
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [FocusBindingFactory, MarkdownService], imports: [CommonModule,
6274
6353
  BrowserAnimationsModule,
6275
6354
  FormsModule,
6276
6355
  MatInputModule,
@@ -6318,7 +6397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
6318
6397
  MatProgressSpinnerModule,
6319
6398
  MatProgressBarModule,
6320
6399
  ScrollingModule,
6321
- TableVirtualScrollModule
6400
+ TableVirtualScrollModule,
6322
6401
  ],
6323
6402
  declarations: [
6324
6403
  AbstractInputComponent,
@@ -6378,9 +6457,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
6378
6457
  TableMoreMenuComponent,
6379
6458
  TableMoreMenuPopupComponent,
6380
6459
  SearchInputComponent,
6381
- TableFooterRow
6460
+ TableFooterRow,
6461
+ FileDownloadComponent,
6382
6462
  ],
6383
6463
  exports: [
6464
+ FileDownloadComponent,
6384
6465
  TableFooterRow,
6385
6466
  NumberInputComponent,
6386
6467
  StringInputComponent,
@@ -6421,12 +6502,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
6421
6502
  MarkdownComponent,
6422
6503
  TableMoreMenuComponent,
6423
6504
  TableMoreMenuPopupComponent,
6424
- SearchInputComponent
6505
+ SearchInputComponent,
6425
6506
  ],
6426
- providers: [
6427
- FocusBindingFactory,
6428
- MarkdownService
6429
- ]
6507
+ providers: [FocusBindingFactory, MarkdownService],
6430
6508
  }]
6431
6509
  }] });
6432
6510
 
@@ -6642,6 +6720,11 @@ const INTERACTION_CONTEXT_PROVIDER = new InjectionToken("INTERACTION_CONTEXT_PRO
6642
6720
  const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
6643
6721
  // eslint-disable-next-line @angular-eslint/component-class-suffix
6644
6722
  class Activity extends LoadableComponent {
6723
+ static asInteractionContextProvider() {
6724
+ return {
6725
+ provide: INTERACTION_CONTEXT_PROVIDER, useExisting: this
6726
+ };
6727
+ }
6645
6728
  activityData = inject(ACTIVITY_DATA);
6646
6729
  activityReadyListeners = new EventListenerList();
6647
6730
  _busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
@@ -6732,9 +6815,7 @@ class Activity extends LoadableComponent {
6732
6815
  return this.interactionContext;
6733
6816
  }
6734
6817
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
6735
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, providers: [{
6736
- provide: INTERACTION_CONTEXT_PROVIDER, useExisting: Activity
6737
- }], viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true });
6818
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true });
6738
6819
  }
6739
6820
  __decorate([
6740
6821
  Proxify(),
@@ -6748,9 +6829,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
6748
6829
  type: Component,
6749
6830
  args: [{
6750
6831
  template: "",
6751
- providers: [{
6752
- provide: INTERACTION_CONTEXT_PROVIDER, useExisting: Activity
6753
- }],
6754
6832
  }]
6755
6833
  }], ctorParameters: function () { return []; }, propDecorators: { activityActions: [{
6756
6834
  type: ViewChild,
@@ -12615,5 +12693,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
12615
12693
  * Generated bundle index. Do not edit.
12616
12694
  */
12617
12695
 
12618
- export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractCellRenderer, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellFooterPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnManager, ColumnModel, ColumnOrderManager, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FOOTER_CELL_RENDERER_PORTAL, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, FooterRowModel, Formatter, GarbageCollectorDirective, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, INTERACTION_CONTEXT, INTERACTION_CONTEXT_PROVIDER, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextTriggerForDirective, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadableComponent, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceAuthService, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, ResizeObserverDirective, RouteId, ScrollContainerComponent, SearchInputComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, SlideDownInteractionContextComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableBodyComponent, TableCellComponent, TableComponent, TableFilterModel, TableFooterRow, TableHeaderCellComponent, TableModel, TableMoreMenuComponent, TableMoreMenuPopupComponent, TableRowAttributesDirective, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, TextSearchContext, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideDownWhenOpenAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
12696
+ export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractCellRenderer, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellFooterPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnManager, ColumnModel, ColumnOrderManager, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FOOTER_CELL_RENDERER_PORTAL, FileDownloadComponent, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, FooterRowModel, Formatter, GarbageCollectorDirective, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, INTERACTION_CONTEXT, INTERACTION_CONTEXT_PROVIDER, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextTriggerForDirective, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadableComponent, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceAuthService, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, ResizeObserverDirective, RouteId, ScrollContainerComponent, SearchInputComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, SlideDownInteractionContextComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableBodyComponent, TableCellComponent, TableComponent, TableFilterModel, TableFooterRow, TableHeaderCellComponent, TableModel, TableMoreMenuComponent, TableMoreMenuPopupComponent, TableRowAttributesDirective, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, TextSearchContext, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideDownWhenOpenAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
12619
12697
  //# sourceMappingURL=coolon-angular-ui-powerups.mjs.map