@coolon/angular-ui-powerups 16.1.0-aplpha.136 → 16.1.0-aplpha.137

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 (35) hide show
  1. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +1 -1
  2. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +125 -0
  3. package/esm2022/lib/components/commands/command/command.component.mjs +7 -10
  4. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +1 -1
  5. package/esm2022/lib/components/commands/command-face.mjs +1 -1
  6. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +9 -3
  7. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +6 -8
  8. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +5 -4
  9. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +6 -8
  10. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +2 -2
  11. package/esm2022/lib/components/components.module.mjs +11 -4
  12. package/esm2022/lib/components/exports.mjs +2 -1
  13. package/esm2022/lib/components/file/file-download/file-download.component.mjs +5 -3
  14. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +1 -1
  15. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +1 -1
  16. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +1 -1
  17. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +1 -1
  18. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +10 -3
  19. package/esm2022/lib/directives/command.directive.mjs +26 -8
  20. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
  21. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
  22. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +1 -1
  23. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +1 -1
  24. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +1 -1
  25. package/fesm2022/coolon-angular-ui-powerups.mjs +224 -76
  26. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  27. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +33 -0
  28. package/lib/components/commands/command/command.component.d.ts +4 -3
  29. package/lib/components/commands/command-face.d.ts +3 -2
  30. package/lib/components/components.module.d.ts +23 -22
  31. package/lib/components/exports.d.ts +1 -0
  32. package/lib/components/file/file-download/file-download.component.d.ts +3 -1
  33. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +4 -1
  34. package/lib/directives/command.directive.d.ts +6 -4
  35. package/package.json +1 -1
@@ -61,7 +61,7 @@ export class NumberInputComponent extends AbstractValueInputComponent {
61
61
  this.value$.value = value;
62
62
  }
63
63
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
64
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min$: "min$", min: "min", max$: "max$", max: "max", significantDigits$: "significantDigits$", significantDigits: "significantDigits" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field floatLabel=\"always\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [ngModel]=\"displayValue$.value\"\n (ngModelChange)=\"onValueChange($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n [size]=\"4\"\n [step]=\"step$.value\"\n >\n <section matIconSuffix>\n <button [pectinCommand]=\"decrementCommand\">-</button>\n <button [pectinCommand]=\"incrementCommand\">+</button>\n </section>\n <mat-hint *ngIf=\"hint && !dense\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</mat-form-field>\n", styles: [":host{--width: 56px;--height: 42px;--margin-right: 1px;--border-radius: 3px;--border-color:#d5d5d5;--button-background: #fafafa;--button-background-hover: #efefef}:host input[type=number]{appearance:textfield}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}:host:focus-within:has(section:not(:focus-within)){--height: 40px;--margin-right: 2px;--border-radius: 2px}:host section[maticonsuffix]{display:flex;flex-direction:row;align-items:stretch;gap:1px;background-color:var(--border-color);border-left:1px solid var(--border-color);width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height);margin-right:var(--margin-right);border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden}:host button{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;font-weight:600;border-style:none;background-color:var(--button-background)}:host button:hover{background-color:var(--button-background-hover)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
64
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min$: "min$", min: "min", max$: "max$", max: "max", significantDigits$: "significantDigits$", significantDigits: "significantDigits" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field floatLabel=\"always\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [ngModel]=\"displayValue$.value\"\n (ngModelChange)=\"onValueChange($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n [size]=\"4\"\n [step]=\"step$.value\"\n >\n <section matIconSuffix>\n <button [pectinCommand]=\"decrementCommand\">-</button>\n <button [pectinCommand]=\"incrementCommand\">+</button>\n </section>\n <mat-hint *ngIf=\"hint && !dense\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</mat-form-field>\n", styles: [":host{--width: 56px;--height: 42px;--margin-right: 1px;--border-radius: 3px;--border-color:#d5d5d5;--button-background: #fafafa;--button-background-hover: #efefef}:host input[type=number]{appearance:textfield}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}:host:focus-within:has(section:not(:focus-within)){--height: 40px;--margin-right: 2px;--border-radius: 2px}:host section[maticonsuffix]{display:flex;flex-direction:row;align-items:stretch;gap:1px;background-color:var(--border-color);border-left:1px solid var(--border-color);width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height);margin-right:var(--margin-right);border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden}:host button{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;font-weight:600;border-style:none;background-color:var(--button-background)}:host button:hover{background-color:var(--button-background-hover)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
65
65
  }
66
66
  __decorate([
67
67
  Proxify(),
@@ -22,7 +22,7 @@ export class SearchInputComponent extends AbstractValueInputComponent {
22
22
  this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
23
23
  }
24
24
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchInputComponent, selector: "aup-search-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchInputComponent, selector: "aup-search-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
28
28
  type: Component,
@@ -41,7 +41,7 @@ export class EditRowControlsComponent extends DisposableComponent {
41
41
  return this.editSession?.form;
42
42
  }
43
43
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: EditRowControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: EditRowControlsComponent, selector: "aup-row-editor-controls", inputs: { row: "row", editRowCommand: "editRowCommand", editSession: "editSession" }, usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: EditRowControlsComponent, selector: "aup-row-editor-controls", inputs: { row: "row", editRowCommand: "editRowCommand", editSession: "editSession" }, usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
45
45
  }
46
46
  __decorate([
47
47
  Proxify(),
@@ -30,7 +30,7 @@ export class PaginatorComponent extends DisposableComponent {
30
30
  return this.pageController.nextCommand;
31
31
  }
32
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PaginatorComponent, selector: "aup-paginator", inputs: { pageController: "pageController" }, usesInheritance: true, ngImport: i0, template: "<p>Items {{totalItems}}<span class=\"spacer\"></span>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin:0 8px 0 0}:host span.spacer{padding:0 calc(var(--default-padding) / 2)}:host span.spacer:before{content:\"|\";opacity:.35}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"], dependencies: [{ kind: "directive", type: i1.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PaginatorComponent, selector: "aup-paginator", inputs: { pageController: "pageController" }, usesInheritance: true, ngImport: i0, template: "<p>Items {{totalItems}}<span class=\"spacer\"></span>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin:0 8px 0 0}:host span.spacer{padding:0 calc(var(--default-padding) / 2)}:host span.spacer:before{content:\"|\";opacity:.35}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"], dependencies: [{ kind: "directive", type: i1.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
34
34
  }
35
35
  __decorate([
36
36
  Proxify(),
@@ -1,5 +1,6 @@
1
1
  import { Component } from "@angular/core";
2
2
  import { DelegatingCommand, DelegatingValueModel } from "@coolon/pectin";
3
+ import { POPUP_CONTAINER } from "../../../../commands/group/popup-container";
3
4
  import { LoadableComponent } from "../../../../loadable-component";
4
5
  import * as i0 from "@angular/core";
5
6
  export class TableMoreMenuPopupComponent extends LoadableComponent {
@@ -23,11 +24,17 @@ export class TableMoreMenuPopupComponent extends LoadableComponent {
23
24
  get value$() {
24
25
  return this._value$.readonly$;
25
26
  }
27
+ register(comp) {
28
+ }
26
29
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableMoreMenuPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableMoreMenuPopupComponent, selector: "aup-table-more-menu-popup", usesInheritance: true, ngImport: i0, template: '', isInline: true });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableMoreMenuPopupComponent, selector: "aup-table-more-menu-popup", providers: [
31
+ { provide: POPUP_CONTAINER, useValue: TableMoreMenuPopupComponent },
32
+ ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
28
33
  }
29
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableMoreMenuPopupComponent, decorators: [{
30
35
  type: Component,
31
- args: [{ selector: 'aup-table-more-menu-popup', template: '' }]
36
+ args: [{ selector: 'aup-table-more-menu-popup', template: '', providers: [
37
+ { provide: POPUP_CONTAINER, useValue: TableMoreMenuPopupComponent },
38
+ ] }]
32
39
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBVSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOztBQU9qRSxNQUFNLE9BQU8sMkJBQStCLFNBQVEsaUJBQWlCO0lBRTNELE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBSyxDQUFDLENBQUE7SUFFdkQsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0YsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGlCQUFpQixFQUFRLENBQUMsQ0FBQTtJQUd2RixVQUFVLENBQUMsSUFBbUIsRUFBRSxZQUEyQjtRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsWUFBWSxDQUFDLFNBQThCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO3VHQTVCVSwyQkFBMkI7MkZBQTNCLDJCQUEyQix3RkFINUIsRUFBRTs7MkZBR0QsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0NvbW1hbmQsIERlbGVnYXRpbmdDb21tYW5kLCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCwgVmFsdWVNb2RlbH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0xvYWRhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vbG9hZGFibGUtY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC10YWJsZS1tb3JlLW1lbnUtcG9wdXAnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPiBleHRlbmRzIExvYWRhYmxlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIF92YWx1ZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8VD4oKSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF92aXNpYmxlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKS53aXRoRGVmYXVsdCh0cnVlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VDb21tYW5kID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdDb21tYW5kPHZvaWQ+KCkpXG5cblxuICBpbml0aWFsaXNlKHJvdyQ6IFZhbHVlTW9kZWw8VD4sIGNsb3NlQ29tbWFuZDogQ29tbWFuZDx2b2lkPikge1xuICAgIHRoaXMuX3ZhbHVlJC5zZXREZWxlZ2F0ZShyb3ckKTtcbiAgICB0aGlzLl9jbG9zZUNvbW1hbmQuc2V0RGVsZWdhdGUoY2xvc2VDb21tYW5kKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2aXNpYmxlV2hpbGUoY29uZGl0aW9uOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fdmlzaWJsZSQuc2V0RGVsZWdhdGUoY29uZGl0aW9uKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkXG4gIH1cblxuICBnZXQgY2xvc2VDb21tYW5kKCk6IENvbW1hbmQ8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZUNvbW1hbmQ7XG4gIH1cblxuICBnZXQgdmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSQucmVhZG9ubHkkO1xuICB9XG5cblxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBVSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRzVGLE9BQU8sRUFBQyxlQUFlLEVBQWlCLE1BQU0sNENBQTRDLENBQUM7QUFDM0YsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7O0FBVWpFLE1BQU0sT0FBTywyQkFBK0IsU0FBUSxpQkFBaUI7SUFFM0QsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFLLENBQUMsQ0FBQTtJQUV2RCxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRixhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksaUJBQWlCLEVBQVEsQ0FBQyxDQUFBO0lBR3ZGLFVBQVUsQ0FBQyxJQUFtQixFQUFFLFlBQTJCO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxZQUFZLENBQUMsU0FBOEI7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBeUI7SUFDbEMsQ0FBQzt1R0EvQlUsMkJBQTJCOzJGQUEzQiwyQkFBMkIsb0RBSjVCO1lBQ1IsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBQztTQUNsRSxpREFKUyxFQUFFOzsyRkFNRCwyQkFBMkI7a0JBUnZDLFNBQVM7K0JBQ0UsMkJBQTJCLFlBQzNCLEVBQUUsYUFFRjt3QkFDUixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSw2QkFBNkIsRUFBQztxQkFDbEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Q29tbWFuZCwgRGVsZWdhdGluZ0NvbW1hbmQsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBWYWx1ZU1vZGVsfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7VH0gZnJvbSBcInZpdGVzdC9kaXN0L3JlcG9ydGVycy01Zjc4NGY0MlwiO1xuaW1wb3J0IHtQb3B1cEF3YXJlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtYXdhcmUuY29tcG9uZW50XCI7XG5pbXBvcnQge1BPUFVQX0NPTlRBSU5FUiwgUG9wdXBDb250YWluZXJ9IGZyb20gXCIuLi8uLi8uLi8uLi9jb21tYW5kcy9ncm91cC9wb3B1cC1jb250YWluZXJcIjtcbmltcG9ydCB7TG9hZGFibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9sb2FkYWJsZS1jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmxlLW1vcmUtbWVudS1wb3B1cCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgcHJvdmlkZXJzOltcbiAgICB7cHJvdmlkZTogUE9QVVBfQ09OVEFJTkVSLCB1c2VWYWx1ZTogVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50fSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4gZXh0ZW5kcyBMb2FkYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIFBvcHVwQ29udGFpbmVyIHtcblxuICBwcml2YXRlIF92YWx1ZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8VD4oKSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF92aXNpYmxlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKS53aXRoRGVmYXVsdCh0cnVlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VDb21tYW5kID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdDb21tYW5kPHZvaWQ+KCkpXG5cblxuICBpbml0aWFsaXNlKHJvdyQ6IFZhbHVlTW9kZWw8VD4sIGNsb3NlQ29tbWFuZDogQ29tbWFuZDx2b2lkPikge1xuICAgIHRoaXMuX3ZhbHVlJC5zZXREZWxlZ2F0ZShyb3ckKTtcbiAgICB0aGlzLl9jbG9zZUNvbW1hbmQuc2V0RGVsZWdhdGUoY2xvc2VDb21tYW5kKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2aXNpYmxlV2hpbGUoY29uZGl0aW9uOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fdmlzaWJsZSQuc2V0RGVsZWdhdGUoY29uZGl0aW9uKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkXG4gIH1cblxuICBnZXQgY2xvc2VDb21tYW5kKCk6IENvbW1hbmQ8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZUNvbW1hbmQ7XG4gIH1cblxuICBnZXQgdmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSQucmVhZG9ubHkkO1xuICB9XG5cbiAgcmVnaXN0ZXIoY29tcDogUG9wdXBBd2FyZUNvbXBvbmVudCkge1xuICB9XG5cblxuXG5cbn1cbiJdfQ==
@@ -1,7 +1,8 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import { Directive, ElementRef, Host, HostListener, Inject, Input, Optional } from '@angular/core';
2
3
  import { MatButton } from '@angular/material/button';
3
- import { MatMenuItem } from '@angular/material/menu';
4
- import { assert, DelegatingValueModel, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';
4
+ import { MatMenu, MatMenuItem } from '@angular/material/menu';
5
+ import { assert, DelegatingValueModel, Dsl, GarbageCollector, lang, Trace, UnaryCommand } from '@coolon/pectin';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/material/button";
7
8
  import * as i2 from "@angular/material/menu";
@@ -10,6 +11,7 @@ export class CommandDirective extends GarbageCollector {
10
11
  _command;
11
12
  _commandEnabled = this.registerDisposable(new DelegatingValueModel().withDefault(false));
12
13
  matControl;
14
+ isInPopupMenu;
13
15
  set pectinCommand(command) {
14
16
  this._command = command;
15
17
  this._commandEnabled.setDelegate(command ? command.enabled$ : null);
@@ -26,12 +28,14 @@ export class CommandDirective extends GarbageCollector {
26
28
  get commandParameter() {
27
29
  return this._commandParameter;
28
30
  }
29
- constructor(elementRef, matButton, matMenuItem) {
31
+ preventDefault = true;
32
+ constructor(elementRef, matButton, matMenuItem, matMenu) {
30
33
  super();
31
34
  this.elementRef = elementRef;
32
35
  // Material buttons and menu items don't respond to the disabled binding so we
33
36
  // need to inject them from our host element and handle them manually.
34
37
  this.matControl = matButton || matMenuItem;
38
+ this.isInPopupMenu = !!matMenu;
35
39
  }
36
40
  ngOnInit() {
37
41
  assert.notNil(this.pectinCommand);
@@ -81,8 +85,12 @@ export class CommandDirective extends GarbageCollector {
81
85
  this.dispose();
82
86
  }
83
87
  notifyClick($event) {
84
- $event.preventDefault();
85
- $event.stopPropagation();
88
+ if (!this.isInPopupMenu) {
89
+ // material popup menus use bubbling to close so we need to let it bubble or
90
+ // the menu won't close
91
+ $event.preventDefault();
92
+ $event.stopPropagation();
93
+ }
86
94
  if (this.pectinCommand.enabled$.value) {
87
95
  if (this.pectinCommand instanceof UnaryCommand) {
88
96
  this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);
@@ -95,9 +103,15 @@ export class CommandDirective extends GarbageCollector {
95
103
  console.warn('disabled command clicked, ignoring.');
96
104
  }
97
105
  }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandDirective, deps: [{ token: ElementRef }, { token: i1.MatButton, host: true, optional: true }, { token: i2.MatMenuItem, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
99
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: CommandDirective, selector: "[pectinCommand]", inputs: { pectinCommand: "pectinCommand", commandParameter: "commandParameter" }, host: { listeners: { "click": "notifyClick($event)" } }, usesInheritance: true, ngImport: i0 });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandDirective, deps: [{ token: ElementRef }, { token: i1.MatButton, host: true, optional: true }, { token: i2.MatMenuItem, host: true, optional: true }, { token: i2.MatMenu, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
107
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: CommandDirective, selector: "[pectinCommand]", inputs: { pectinCommand: "pectinCommand", commandParameter: "commandParameter", preventDefault: "preventDefault" }, host: { listeners: { "click": "notifyClick($event)" } }, usesInheritance: true, ngImport: i0 });
100
108
  }
109
+ __decorate([
110
+ Trace(),
111
+ __metadata("design:type", Function),
112
+ __metadata("design:paramtypes", [Event]),
113
+ __metadata("design:returntype", void 0)
114
+ ], CommandDirective.prototype, "notifyClick", null);
101
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandDirective, decorators: [{
102
116
  type: Directive,
103
117
  args: [{
@@ -115,12 +129,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
115
129
  type: Host
116
130
  }, {
117
131
  type: Optional
132
+ }] }, { type: i2.MatMenu, decorators: [{
133
+ type: Optional
118
134
  }] }]; }, propDecorators: { pectinCommand: [{
119
135
  type: Input
120
136
  }], commandParameter: [{
121
137
  type: Input
138
+ }], preventDefault: [{
139
+ type: Input
122
140
  }], notifyClick: [{
123
141
  type: HostListener,
124
142
  args: ['click', ['$event']]
125
143
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFDSixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFXLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNaEgsTUFBTSxPQUFPLGdCQUEwQixTQUFRLGdCQUFnQjtJQThCL0I7SUE1QnRCLFFBQVEsQ0FBaUM7SUFDekMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsVUFBVSxDQUEwQjtJQUU1QyxJQUNJLGFBQWEsQ0FBQyxPQUF1QztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVPLGlCQUFpQixDQUFJO0lBQ3JCLHlCQUF5QixHQUFHLEtB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QUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNsRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzdEO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7dUdBdkdVLGdCQUFnQixrQkE4QmpCLFVBQVU7MkZBOUJULGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkErQkksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7NENBekJmLGFBQWE7c0JBRGhCLEtBQUs7Z0JBY0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQXdFTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0QnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRNZW51SXRlbX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge2Fzc2VydCwgQ29tbWFuZCwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgVW5hcnlDb21tYW5kfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twZWN0aW5Db21tYW5kXSdcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZERpcmVjdGl2ZTxQID0gYW55PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBfY29tbWFuZDogQ29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+O1xuICBwcml2YXRlIF9jb21tYW5kRW5hYmxlZCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gIHByaXZhdGUgbWF0Q29udHJvbDogTWF0QnV0dG9uIHwgTWF0TWVudUl0ZW07XG5cbiAgQElucHV0KClcbiAgc2V0IHBlY3RpbkNvbW1hbmQoY29tbWFuZDogQ29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+KSB7XG4gICAgdGhpcy5fY29tbWFuZCA9IGNvbW1hbmQ7XG4gICAgdGhpcy5fY29tbWFuZEVuYWJsZWQuc2V0RGVsZWdhdGUoY29tbWFuZCA/IGNvbW1hbmQuZW5hYmxlZCQgOiBudWxsKTtcbiAgfVxuXG4gIGdldCBwZWN0aW5Db21tYW5kKCk6IENvbW1hbmQ8YW55PiB8IFVuYXJ5Q29tbWFuZDxQPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmQ7XG4gIH1cblxuICBwcml2YXRlIF9jb21tYW5kUGFyYW1ldGVyOiBQO1xuICBwcml2YXRlIF9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgY29tbWFuZFBhcmFtZXRlcih2YWx1ZTogUCkge1xuICAgIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCA9IHRydWU7XG4gICAgdGhpcy5fY29tbWFuZFBhcmFtZXRlciA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbW1hbmRQYXJhbWV0ZXIoKTogUCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpICBtYXRCdXR0b246IE1hdEJ1dHRvbixcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpICBtYXRNZW51SXRlbTogTWF0TWVudUl0ZW1cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvLyBNYXRlcmlhbCBidXR0b25zIGFuZCBtZW51IGl0ZW1zIGRvbid0IHJlc3BvbmQgdG8gdGhlIGRpc2FibGVkIGJpbmRpbmcgc28gd2VcbiAgICAvLyBuZWVkIHRvIGluamVjdCB0aGVtIGZyb20gb3VyIGhvc3QgZWxlbWVudCBhbmQgaGFuZGxlIHRoZW0gbWFudWFsbHkuXG4gICAgdGhpcy5tYXRDb250cm9sID0gbWF0QnV0dG9uIHx8IG1hdE1lbnVJdGVtO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgYXNzZXJ0Lm5vdE5pbCh0aGlzLnBlY3RpbkNvbW1hbmQpO1xuICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQgaW5zdGFuY2VvZiBVbmFyeUNvbW1hbmQpIHtcbiAgICAgIGlmICghdGhpcy5fY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdVbmFyeUNvbW1hbmRzIHJlcXVpcmUgdGhlIGNvbW1hbmQgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZC4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCkge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnY29tbWFuZCBwYXJhbWV0ZXJzIGFyZSBvbmx5IHN1cHBvcnRlZCBieSBVbmFyeUNvbW1hbmRzJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgd2hlbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHdoZW4odGhpcy5fY29tbWFuZEVuYWJsZWQpLmNoYW5nZXMoZW5hYmxlZCA9PiB0aGlzLnVwZGF0ZUVuYWJsZWRTdGF0ZShlbmFibGVkKSwge1xuICAgICAgaW5pdGlhbFZhbHVlOiAndHJpZ2dlckNoYW5nZSdcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUVuYWJsZWRTdGF0ZShlbmFibGVkOiBib29sZWFuKSB7XG4gICAgLy8gZm9yIHNvbWUgcmVhc29uIG1hdC1idXR0b25zIGtpbGxzIHRoZSBkaXNhYmxlZCBob3N0IGJpbmRpbmcuICBJdCB3b3JrcyBvbiBhIHJlZ3VsYXIgYnV0dG9uIGJ1dCBmb3Igbm93XG4gICAgLy8gd2UgbmVlZCB0byBkbyB0aGlzLiBUaGUgc2V0IHRpbWVvdXQgaXMgcmVxdWlyZWQgdG8gcHJldmVudCB0aGUgYnV0dG9uIGdldHRpbmcgYSBleHByZXNzaW9uIGNoYW5nZWRcbiAgICAvLyB3aGVuIGl0J3MgY2xpY2tlZC5cbiAgICBpZiAodGhpcy5tYXRDb250cm9sKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXRDb250cm9sLmRpc2FibGVkID0gIWVuYWJsZWQ7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gICAgaWYgKCFlbmFibGVkKSB7XG4gICAgICAvLyBOb3RlOlxuICAgICAgLy8gV2UgY2FuJ3QgdXNlIGEgaG9zdCBiaW5kaW5nIGhlcmUgZm9yIGRpc2FibGVkIGFzIHRoZSBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgb24gYXJiaXRyYXJ5XG4gICAgICAvLyBjb21wb25lbnRzIChlLmcuIGRpdnMpIGFuZCB0aGUgY29tcGlsZXIgd2lsbCBiYXJmIGlmIHdlIHVzZSB0aGUgaG9zdCBiaW5kaW5nLlxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDp2b2lkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgbm90aWZ5Q2xpY2soJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5wZWN0aW5Db21tYW5kLmVuYWJsZWQkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wZWN0aW5Db21tYW5kIGluc3RhbmNlb2YgVW5hcnlDb21tYW5kKSB7XG4gICAgICAgIHRoaXMucGVjdGluQ29tbWFuZC53aXRoQ29udGV4dCh7IGV2ZW50OiAkZXZlbnQgfSkuZXhlY3V0ZSh0aGlzLmNvbW1hbmRQYXJhbWV0ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLndpdGhDb250ZXh0KHsgZXZlbnQ6ICRldmVudCB9KS5leGVjdXRlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignZGlzYWJsZWQgY29tbWFuZCBjbGlja2VkLCBpZ25vcmluZy4nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQVcsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNdkgsTUFBTSxPQUFPLGdCQUEwQixTQUFRLGdCQUFnQjtJQWlDL0I7SUEvQnRCLFFBQVEsQ0FBaUM7SUFDekMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsVUFBVSxDQUEwQjtJQUNwQyxhQUFhLENBQVU7SUFFL0IsSUFDSSxhQUFhLENBQUMsT0FBdUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7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LFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0QnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge2Fzc2VydCwgQ29tbWFuZCwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgVHJhY2UsIFVuYXJ5Q29tbWFuZH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcGVjdGluQ29tbWFuZF0nXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmREaXJlY3RpdmU8UCA9IGFueT4gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgX2NvbW1hbmQ6IENvbW1hbmQ8YW55PiB8IFVuYXJ5Q29tbWFuZDxQPjtcbiAgcHJpdmF0ZSBfY29tbWFuZEVuYWJsZWQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuICBwcml2YXRlIG1hdENvbnRyb2w6IE1hdEJ1dHRvbiB8IE1hdE1lbnVJdGVtO1xuICBwcml2YXRlIGlzSW5Qb3B1cE1lbnU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IHBlY3RpbkNvbW1hbmQoY29tbWFuZDogQ29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+KSB7XG4gICAgdGhpcy5fY29tbWFuZCA9IGNvbW1hbmQ7XG4gICAgdGhpcy5fY29tbWFuZEVuYWJsZWQuc2V0RGVsZWdhdGUoY29tbWFuZCA/IGNvbW1hbmQuZW5hYmxlZCQgOiBudWxsKTtcbiAgfVxuXG4gIGdldCBwZWN0aW5Db21tYW5kKCk6IENvbW1hbmQ8YW55PiB8IFVuYXJ5Q29tbWFuZDxQPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmQ7XG4gIH1cblxuICBwcml2YXRlIF9jb21tYW5kUGFyYW1ldGVyOiBQO1xuICBwcml2YXRlIF9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgY29tbWFuZFBhcmFtZXRlcih2YWx1ZTogUCkge1xuICAgIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCA9IHRydWU7XG4gICAgdGhpcy5fY29tbWFuZFBhcmFtZXRlciA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbW1hbmRQYXJhbWV0ZXIoKTogUCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXI7XG4gIH1cblxuICBASW5wdXQoKSBwcmV2ZW50RGVmYXVsdCA9IHRydWVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIG1hdEJ1dHRvbjogTWF0QnV0dG9uLFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgbWF0TWVudUl0ZW06IE1hdE1lbnVJdGVtLFxuICAgIEBPcHRpb25hbCgpIG1hdE1lbnU/OiBNYXRNZW51XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gTWF0ZXJpYWwgYnV0dG9ucyBhbmQgbWVudSBpdGVtcyBkb24ndCByZXNwb25kIHRvIHRoZSBkaXNhYmxlZCBiaW5kaW5nIHNvIHdlXG4gICAgLy8gbmVlZCB0byBpbmplY3QgdGhlbSBmcm9tIG91ciBob3N0IGVsZW1lbnQgYW5kIGhhbmRsZSB0aGVtIG1hbnVhbGx5LlxuICAgIHRoaXMubWF0Q29udHJvbCA9IG1hdEJ1dHRvbiB8fCBtYXRNZW51SXRlbTtcbiAgICB0aGlzLmlzSW5Qb3B1cE1lbnUgPSAhIW1hdE1lbnU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBhc3NlcnQubm90TmlsKHRoaXMucGVjdGluQ29tbWFuZCk7XG4gICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZCBpbnN0YW5jZW9mIFVuYXJ5Q29tbWFuZCkge1xuICAgICAgaWYgKCF0aGlzLl9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ1VuYXJ5Q29tbWFuZHMgcmVxdWlyZSB0aGUgY29tbWFuZCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdjb21tYW5kIHBhcmFtZXRlcnMgYXJlIG9ubHkgc3VwcG9ydGVkIGJ5IFVuYXJ5Q29tbWFuZHMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHdoZW4odGhpcy5fY29tbWFuZEVuYWJsZWQpLmNoYW5nZXMoZW5hYmxlZCA9PiB0aGlzLnVwZGF0ZUVuYWJsZWRTdGF0ZShlbmFibGVkKSwge1xuICAgICAgaW5pdGlhbFZhbHVlOiAndHJpZ2dlckNoYW5nZSdcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUVuYWJsZWRTdGF0ZShlbmFibGVkOiBib29sZWFuKSB7XG4gICAgLy8gZm9yIHNvbWUgcmVhc29uIG1hdC1idXR0b25zIGtpbGxzIHRoZSBkaXNhYmxlZCBob3N0IGJpbmRpbmcuICBJdCB3b3JrcyBvbiBhIHJlZ3VsYXIgYnV0dG9uIGJ1dCBmb3Igbm93XG4gICAgLy8gd2UgbmVlZCB0byBkbyB0aGlzLiBUaGUgc2V0IHRpbWVvdXQgaXMgcmVxdWlyZWQgdG8gcHJldmVudCB0aGUgYnV0dG9uIGdldHRpbmcgYSBleHByZXNzaW9uIGNoYW5nZWRcbiAgICAvLyB3aGVuIGl0J3MgY2xpY2tlZC5cbiAgICBpZiAodGhpcy5tYXRDb250cm9sKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXRDb250cm9sLmRpc2FibGVkID0gIWVuYWJsZWQ7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gICAgaWYgKCFlbmFibGVkKSB7XG4gICAgICAvLyBOb3RlOlxuICAgICAgLy8gV2UgY2FuJ3QgdXNlIGEgaG9zdCBiaW5kaW5nIGhlcmUgZm9yIGRpc2FibGVkIGFzIHRoZSBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgb24gYXJiaXRyYXJ5XG4gICAgICAvLyBjb21wb25lbnRzIChlLmcuIGRpdnMpIGFuZCB0aGUgY29tcGlsZXIgd2lsbCBiYXJmIGlmIHdlIHVzZSB0aGUgaG9zdCBiaW5kaW5nLlxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDp2b2lkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuXG4gIEBUcmFjZSgpXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgbm90aWZ5Q2xpY2soJGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5pc0luUG9wdXBNZW51KSB7XG4gICAgICAvLyBtYXRlcmlhbCBwb3B1cCBtZW51cyB1c2UgYnViYmxpbmcgdG8gY2xvc2Ugc28gd2UgbmVlZCB0byBsZXQgaXQgYnViYmxlIG9yXG4gICAgICAvLyB0aGUgbWVudSB3b24ndCBjbG9zZVxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQuZW5hYmxlZCQudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQgaW5zdGFuY2VvZiBVbmFyeUNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLndpdGhDb250ZXh0KHtldmVudDogJGV2ZW50fSkuZXhlY3V0ZSh0aGlzLmNvbW1hbmRQYXJhbWV0ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLndpdGhDb250ZXh0KHtldmVudDogJGV2ZW50fSkuZXhlY3V0ZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Rpc2FibGVkIGNvbW1hbmQgY2xpY2tlZCwgaWdub3JpbmcuJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -54,7 +54,7 @@ export class AddCardActivityComponent extends AbstractActivityTriggerComponent {
54
54
  return this.interactionStyle === 'inline';
55
55
  }
56
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, deps: [{ token: i1.InteractionService }], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i4.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: i6.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "component", type: i4.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: i6.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, decorators: [{
60
60
  type: Component,
@@ -47,7 +47,7 @@ export class AddItemInteractionContextComponent extends DisposableComponent {
47
47
  return this.interactionContext.startActivity(activityType, data);
48
48
  }
49
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddItemInteractionContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i1.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: i3.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i1.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "component", type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: i3.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
51
51
  }
52
52
  __decorate([
53
53
  Proxify(),
@@ -14,7 +14,7 @@ export class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
14
14
  super(router);
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
20
20
  type: Component,
@@ -79,7 +79,7 @@ export class SidePlaceNavigationComponent extends AbstractPlaceNavigationCompone
79
79
  this.expanded = !this.expanded;
80
80
  }
81
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
83
83
  }
84
84
  __decorate([
85
85
  Proxify(),
@@ -14,7 +14,7 @@ export class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationCompo
14
14
  super(router);
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex", "active", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex", "active", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i6.GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: i7.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
20
20
  type: Component,