@odx/angular 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## 2.14.4
2
2
 
3
+ ## 2.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 00afc8a6: Expanded the possibilities of using the Card component
8
+
3
9
  ## 2.15.0
4
10
 
5
11
  ### Minor Changes
@@ -1,4 +1,5 @@
1
1
  import { ElementRef, EventEmitter } from '@angular/core';
2
+ import { ActionGroupComponent } from '@odx/angular/components/action-group';
2
3
  import { MenuComponent, MenuDirective } from '@odx/angular/components/menu';
3
4
  import { CardVariant } from './models';
4
5
  import * as i0 from "@angular/core";
@@ -7,14 +8,16 @@ export declare class CardComponent {
7
8
  private readonly interactiveDirective;
8
9
  private readonly takeUntilDestroyed;
9
10
  protected readonly menu?: MenuComponent;
11
+ protected readonly buttons?: ActionGroupComponent;
10
12
  protected readonly menuHost?: MenuDirective;
11
13
  protected readonly footer?: ElementRef<HTMLElement>;
12
14
  readonly element: ElementRef<HTMLElement>;
13
15
  variant?: CardVariant;
16
+ menuIcon: string;
14
17
  interact: EventEmitter<Event>;
15
18
  constructor();
16
19
  get launchTile(): boolean;
17
20
  stopEvents(event: Event): void;
18
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "odx-card", never, { "variant": "variant"; }, { "interact": "interact"; }, ["menu", "footer"], ["odx-avatar", "odx-launch-card-subtitle", "[odxCardContent]", "odx-card-footer", "odx-menu", "*"], true, [{ directive: typeof i1.InteractiveDirective; inputs: {}; outputs: {}; }]>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "odx-card", never, { "variant": "variant"; "menuIcon": "menuIcon"; }, { "interact": "interact"; }, ["menu", "buttons", "footer"], ["odx-avatar", "odx-launch-card-subtitle", "[odxCardContent]", "odx-card-footer", "odx-menu", "*", "odx-action-group"], true, [{ directive: typeof i1.InteractiveDirective; inputs: {}; outputs: {}; }]>;
20
23
  }
@@ -19,6 +19,7 @@ let CardComponent = class CardComponent {
19
19
  this.takeUntilDestroyed = untilDestroyed();
20
20
  this.element = injectElement();
21
21
  this.variant = CardVariant.DEFAULT;
22
+ this.menuIcon = 'more';
22
23
  this.interact = new EventEmitter();
23
24
  this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {
24
25
  this.stopEvents(event);
@@ -37,7 +38,7 @@ let CardComponent = class CardComponent {
37
38
  }
38
39
  };
39
40
  CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41
+ CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant", menuIcon: "menuIcon" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "buttons", first: true, predicate: ActionGroupComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41
42
  __decorate([
42
43
  CSSModifier(),
43
44
  __metadata("design:type", String)
@@ -49,10 +50,13 @@ CardComponent = __decorate([
49
50
  export { CardComponent };
50
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
51
52
  type: Component,
52
- args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n" }]
53
+ args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n" }]
53
54
  }], ctorParameters: function () { return []; }, propDecorators: { menu: [{
54
55
  type: ContentChild,
55
56
  args: [MenuComponent]
57
+ }], buttons: [{
58
+ type: ContentChild,
59
+ args: [ActionGroupComponent]
56
60
  }], menuHost: [{
57
61
  type: ViewChild,
58
62
  args: [MenuDirective]
@@ -61,7 +65,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
61
65
  args: [CardFooterComponent, { read: ElementRef }]
62
66
  }], variant: [{
63
67
  type: Input
68
+ }], menuIcon: [{
69
+ type: Input
64
70
  }], interact: [{
65
71
  type: Output
66
72
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFZaEMsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQXNCeEI7UUFyQmlCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBV3ZDLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUluQyxZQUFPLEdBQWlCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFHNUMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFHMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM5QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVk7UUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXdCLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRixNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7MkdBdkNVLGFBQWE7K0ZBQWIsYUFBYSx5S0FJVixhQUFhLHlFQU1iLG1CQUFtQiwyQkFBVSxVQUFVLHVFQUgxQyxhQUFhLDBHQzVCMUIsbWpDQWtDQSwyQ0RoQlksVUFBVSwwU0FBRSxlQUFlLHlHQUFFLGFBQWEsbUdBQUUsVUFBVSxvS0FBRSxvQkFBb0I7QUFrQnRGO0lBQUMsV0FBVyxFQUFFOzs4Q0FFcUM7QUFqQnhDLGFBQWE7SUFWekIsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7R0FVUixhQUFhLENBd0N6QjtTQXhDWSxhQUFhOzRGQUFiLGFBQWE7a0JBVHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUVSLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxrQkFDdkUsQ0FBQyxvQkFBb0IsQ0FBQzswRUFPbkIsSUFBSTtzQkFEdEIsWUFBWTt1QkFBQyxhQUFhO2dCQUlSLFFBQVE7c0JBRDFCLFNBQVM7dUJBQUMsYUFBYTtnQkFJTCxNQUFNO3NCQUR4QixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFPaEQsT0FBTztzQkFEYixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEExMXlNb2R1bGUsIEludGVyYWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50LCBNZW51RGlyZWN0aXZlLCBNZW51TW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGNvbnRhaW5zRWxlbWVudCwgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQ2FyZEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDYXJkVmFyaWFudCB9IGZyb20gJy4vbW9kZWxzJztcblxuQENTU0NvbXBvbmVudCgnY2FyZCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBMTF5TW9kdWxlLCBCdXR0b25Db21wb25lbnQsIEljb25Db21wb25lbnQsIE1lbnVNb2R1bGUsIEFjdGlvbkdyb3VwQ29tcG9uZW50XSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtJbnRlcmFjdGl2ZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aXZlRGlyZWN0aXZlID0gaW5qZWN0KEludGVyYWN0aXZlRGlyZWN0aXZlLCB7IGhvc3Q6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBAQ29udGVudENoaWxkKE1lbnVDb21wb25lbnQpXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51PzogTWVudUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKE1lbnVEaXJlY3RpdmUpXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51SG9zdD86IE1lbnVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChDYXJkRm9vdGVyQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvb3Rlcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YXJpYW50PzogQ2FyZFZhcmlhbnQgPSBDYXJkVmFyaWFudC5ERUZBVUxUO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW50ZXJhY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaW50ZXJhY3RpdmVEaXJlY3RpdmUuaW50ZXJhY3QucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLnN0b3BFdmVudHMoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXVuY2hUaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgIT09IENhcmRWYXJpYW50LkRFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgc3RvcEV2ZW50cyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudCB8IG51bGw7XG4gICAgY29uc3QgaXNGb290ZXJFdmVudCA9IGNvbnRhaW5zRWxlbWVudCh0aGlzLmZvb3Rlcj8ubmF0aXZlRWxlbWVudCwgdGFyZ2V0LCBmYWxzZSk7XG4gICAgY29uc3QgaXNNZW51RXZlbnQgPSBjb250YWluc0VsZW1lbnQodGhpcy5tZW51SG9zdD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0YXJnZXQpO1xuICAgIGlmICghaXNGb290ZXJFdmVudCAmJiAhaXNNZW51RXZlbnQgJiYgIXRoaXMubWVudUhvc3Q/LmlzT3BlbigpKSB7XG4gICAgICB0aGlzLmludGVyYWN0LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm9keC1jYXJkX19jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhdW5jaFRpbGU7IGVsc2UgY2FyZFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1hdmF0YXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm9keC1jYXJkX19jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX3RpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtbGF1bmNoLWNhcmQtc3VidGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX3RpdGxlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4Q2FyZENvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1jYXJkLWZvb3RlclwiPjwvbmctY29udGVudD5cblxuPG9keC1hY3Rpb24tZ3JvdXAgY2xhc3M9XCJvZHgtY2FyZC1tZW51XCIgKm5nSWY9XCJtZW51XCI+XG4gIDxidXR0b24gb2R4QnV0dG9uIFtvZHhNZW51XT1cIm1lbnVUcGxcIiBvZHhNZW51UG9zaXRpb249XCJib3R0b20tZW5kXCI+XG4gICAgPG9keC1pY29uIG5hbWU9XCJtb3JlXCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI21lbnVUcGw+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LW1lbnVcIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L29keC1hY3Rpb24tZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZSAjdGl0bGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFZaEMsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQTRCeEI7UUEzQmlCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBY3ZDLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUluQyxZQUFPLEdBQWlCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFHNUMsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUdsQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUcxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBWTtRQUM1QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBd0IsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDOzsyR0E3Q1UsYUFBYTsrRkFBYixhQUFhLCtMQUlWLGFBQWEsMEVBR2Isb0JBQW9CLHlFQU1wQixtQkFBbUIsMkJBQVUsVUFBVSx1RUFIMUMsYUFBYSwwR0MvQjFCLG10Q0F3Q0EsMkNEdEJZLFVBQVUsMFNBQUUsZUFBZSx5R0FBRSxhQUFhLG1HQUFFLFVBQVUsb0tBQUUsb0JBQW9CO0FBcUJ0RjtJQUFDLFdBQVcsRUFBRTs7OENBRXFDO0FBcEJ4QyxhQUFhO0lBVnpCLFlBQVksQ0FBQyxNQUFNLENBQUM7O0dBVVIsYUFBYSxDQThDekI7U0E5Q1ksYUFBYTs0RkFBYixhQUFhO2tCQVR6QixTQUFTOytCQUNFLFVBQVUsY0FFUixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLENBQUMsa0JBQ3ZFLENBQUMsb0JBQW9CLENBQUM7MEVBT25CLElBQUk7c0JBRHRCLFlBQVk7dUJBQUMsYUFBYTtnQkFJUixPQUFPO3NCQUR6QixZQUFZO3VCQUFDLG9CQUFvQjtnQkFJZixRQUFRO3NCQUQxQixTQUFTO3VCQUFDLGFBQWE7Z0JBSUwsTUFBTTtzQkFEeEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBT2hELE9BQU87c0JBRGIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSwgSW50ZXJhY3RpdmVEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVEaXJlY3RpdmUsIE1lbnVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgY29udGFpbnNFbGVtZW50LCBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBDYXJkRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENhcmRWYXJpYW50IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdjYXJkJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgTWVudU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW0ludGVyYWN0aXZlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3RpdmVEaXJlY3RpdmUgPSBpbmplY3QoSW50ZXJhY3RpdmVEaXJlY3RpdmUsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIEBDb250ZW50Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnU/OiBNZW51Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoQWN0aW9uR3JvdXBDb21wb25lbnQpXG4gIHByb3RlY3RlZCByZWFkb25seSBidXR0b25zPzogQWN0aW9uR3JvdXBDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChNZW51RGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVudUhvc3Q/OiBNZW51RGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2FyZEZvb3RlckNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCByZWFkb25seSBmb290ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFyaWFudD86IENhcmRWYXJpYW50ID0gQ2FyZFZhcmlhbnQuREVGQVVMVDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVudUljb24gPSAnbW9yZSc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnRlcmFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pbnRlcmFjdGl2ZURpcmVjdGl2ZS5pbnRlcmFjdC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuc3RvcEV2ZW50cyhldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhdW5jaFRpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCAhPT0gQ2FyZFZhcmlhbnQuREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wRXZlbnRzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50IHwgbnVsbDtcbiAgICBjb25zdCBpc0Zvb3RlckV2ZW50ID0gY29udGFpbnNFbGVtZW50KHRoaXMuZm9vdGVyPy5uYXRpdmVFbGVtZW50LCB0YXJnZXQsIGZhbHNlKTtcbiAgICBjb25zdCBpc01lbnVFdmVudCA9IGNvbnRhaW5zRWxlbWVudCh0aGlzLm1lbnVIb3N0Py5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRhcmdldCk7XG4gICAgaWYgKCFpc0Zvb3RlckV2ZW50ICYmICFpc01lbnVFdmVudCAmJiAhdGhpcy5tZW51SG9zdD8uaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3QuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX2NvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF1bmNoVGlsZTsgZWxzZSBjYXJkXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWF2YXRhclwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvZHgtY2FyZF9fdGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1sYXVuY2gtY2FyZC1zdWJ0aXRsZVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjYXJkPlxuICAgIDxkaXYgY2xhc3M9XCJvZHgtY2FyZF9fdGl0bGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhDYXJkQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWNhcmQtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuXG48b2R4LWFjdGlvbi1ncm91cCAqbmdJZj1cIm1lbnU7IGVsc2UgYnV0dG9uR3JvdXBcIj5cbiAgPGJ1dHRvbiBvZHhCdXR0b24gW29keE1lbnVdPVwibWVudVRwbFwiIG9keE1lbnVQb3NpdGlvbj1cImJvdHRvbS1lbmRcIj5cbiAgICA8b2R4LWljb24gW25hbWVdPVwibWVudUljb25cIiBpY29uU2V0PVwiY29yZVwiPjwvb2R4LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbWVudVRwbD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtbWVudVwiPjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvb2R4LWFjdGlvbi1ncm91cD5cblxuPG5nLXRlbXBsYXRlICN0aXRsZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNidXR0b25Hcm91cD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbnNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtYWN0aW9uLWdyb3VwXCI+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -48,6 +48,7 @@ let CardComponent = class CardComponent {
48
48
  this.takeUntilDestroyed = untilDestroyed();
49
49
  this.element = injectElement();
50
50
  this.variant = CardVariant.DEFAULT;
51
+ this.menuIcon = 'more';
51
52
  this.interact = new EventEmitter();
52
53
  this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {
53
54
  this.stopEvents(event);
@@ -67,7 +68,7 @@ let CardComponent = class CardComponent {
67
68
  }
68
69
  };
69
70
  CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
71
+ CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant", menuIcon: "menuIcon" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "buttons", first: true, predicate: ActionGroupComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
71
72
  __decorate([
72
73
  CSSModifier(),
73
74
  __metadata("design:type", String)
@@ -78,10 +79,13 @@ CardComponent = __decorate([
78
79
  ], CardComponent);
79
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
80
81
  type: Component,
81
- args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n" }]
82
+ args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n" }]
82
83
  }], ctorParameters: function () { return []; }, propDecorators: { menu: [{
83
84
  type: ContentChild,
84
85
  args: [MenuComponent]
86
+ }], buttons: [{
87
+ type: ContentChild,
88
+ args: [ActionGroupComponent]
85
89
  }], menuHost: [{
86
90
  type: ViewChild,
87
91
  args: [MenuDirective]
@@ -90,6 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
90
94
  args: [CardFooterComponent, { read: ElementRef }]
91
95
  }], variant: [{
92
96
  type: Input
97
+ }], menuIcon: [{
98
+ type: Input
93
99
  }], interact: [{
94
100
  type: Output
95
101
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-card.mjs","sources":["../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.ts","../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.html","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.ts","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.html","../../../../libs/angular/components/card/src/lib/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.component.ts","../../../../libs/angular/components/card/src/lib/card.component.html","../../../../libs/angular/components/card/src/lib/directives/card-content.directive.ts","../../../../libs/angular/components/card/src/lib/directives/card-title.directive.ts","../../../../libs/angular/components/card/src/lib/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-card-footer',\n templateUrl: './card-footer.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__footer]': 'true',\n },\n})\nexport class CardFooterComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-launch-card-subtitle',\n templateUrl: './launch-card-subtitle.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__subtitle]': 'true',\n },\n})\nexport class LaunchCardSubtitleComponent {}\n","<ng-content></ng-content>\n","export type CardVariant = (typeof CardVariant)[keyof typeof CardVariant];\n\nexport const CardVariant = {\n DEFAULT: 'default',\n LAUNCH_TILE: 'launch-tile',\n LAUNCH_TILE_CENTERED: 'launch-tile-centered',\n} as const;\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuComponent, MenuDirective, MenuModule } from '@odx/angular/components/menu';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { containsElement, injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n@CSSComponent('card')\n@Component({\n selector: 'odx-card',\n templateUrl: './card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent],\n hostDirectives: [InteractiveDirective],\n})\nexport class CardComponent {\n private readonly interactiveDirective = inject(InteractiveDirective, { host: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n @ContentChild(MenuComponent)\n protected readonly menu?: MenuComponent;\n\n @ViewChild(MenuDirective)\n protected readonly menuHost?: MenuDirective;\n\n @ContentChild(CardFooterComponent, { read: ElementRef })\n protected readonly footer?: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public variant?: CardVariant = CardVariant.DEFAULT;\n\n @Output()\n public interact = new EventEmitter<Event>();\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n public get launchTile(): boolean {\n return this.variant !== CardVariant.DEFAULT;\n }\n\n public stopEvents(event: Event): void {\n const target = event.target as Element | null;\n const isFooterEvent = containsElement(this.footer?.nativeElement, target, false);\n const isMenuEvent = containsElement(this.menuHost?.element.nativeElement, target);\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen()) {\n this.interact.emit(event);\n }\n }\n}\n","<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardContent]',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardTitle]',\n standalone: true,\n host: {\n '[class.odx-card-title]': 'true',\n },\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuModule } from '@odx/angular/components/menu';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives/card-content.directive';\nimport { CardTitleDirective } from './directives/card-title.directive';\n\nconst modules = [\n CardComponent,\n CardTitleDirective,\n CardContentDirective,\n CardFooterComponent,\n LaunchCardSubtitleComponent,\n AvatarComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, MenuModule, ...modules],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAYa,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,uICZhC,6BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDWa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BACE,iBAAiB,EAAA,UAAA,EAEf,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACJ,wBAAA,0BAA0B,EAAE,MAAM;AACnC,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;;;MEEU,2BAA2B,CAAA;;yHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,kJCZxC,6BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDWa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;+BACE,0BAA0B,EAAA,UAAA,EAExB,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACJ,wBAAA,4BAA4B,EAAE,MAAM;AACrC,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;;;AERU,MAAA,WAAW,GAAG;AACzB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,oBAAoB,EAAE,sBAAsB;;;ACgBjC,IAAA,aAAa,GAAnB,MAAM,aAAa,CAAA;AAsBxB,IAAA,WAAA,GAAA;AArBiB,QAAA,IAAoB,CAAA,oBAAA,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,QAAA,IAAkB,CAAA,kBAAA,GAAG,cAAc,EAAE,CAAC;AAWvC,QAAA,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAInC,QAAA,IAAA,CAAA,OAAO,GAAiB,WAAW,CAAC,OAAO,CAAC;AAG5C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS,CAAC;AAG1C,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACrF,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,CAAC;KAC7C;AAEM,IAAA,UAAU,CAAC,KAAY,EAAA;;AAC5B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAwB,CAAC;AAC9C,QAAA,MAAM,aAAa,GAAG,eAAe,CAAC,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjF,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,MAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,EAAE,CAAA,EAAE;AAC9D,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;KACF;;2GAvCU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,yKAIV,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMb,mBAAmB,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,uEAH1C,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5B1B,mjCAkCA,EDhBY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,0SAAE,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,oKAAE,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAkBtF,UAAA,CAAA;AAAC,IAAA,WAAW,EAAE;;CAEqC,EAAA,aAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAjBxC,aAAa,GAAA,UAAA,CAAA;IAVzB,YAAY,CAAC,MAAM,CAAC;;CAUR,EAAA,aAAa,CAwCzB,CAAA;4FAxCY,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,SAAS;+BACE,UAAU,EAAA,UAAA,EAER,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAA,cAAA,EACvE,CAAC,oBAAoB,CAAC,EAAA,QAAA,EAAA,mjCAAA,EAAA,CAAA;0EAOnB,IAAI,EAAA,CAAA;sBADtB,YAAY;uBAAC,aAAa,CAAA;gBAIR,QAAQ,EAAA,CAAA;sBAD1B,SAAS;uBAAC,aAAa,CAAA;gBAIL,MAAM,EAAA,CAAA;sBADxB,YAAY;gBAAC,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAOhD,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,MAAM;;;ME/BI,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,2BAA2B,EAAE,MAAM;AACpC,qBAAA;iBACF,CAAA;;;MCCY,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,wBAAwB,EAAE,MAAM;AACjC,qBAAA;iBACF,CAAA;;;ACGD,MAAM,OAAO,GAAG;IACd,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,2BAA2B;IAC3B,eAAe;IACf,eAAe;IACf,aAAa;CACd,CAAC;MAMW,UAAU,CAAA;;wGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAV,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAdrB,aAAa;QACb,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,2BAA2B;QAC3B,eAAe;QACf,eAAe;QACf,aAAa,CAKH,EAAA,OAAA,EAAA,CAAA,UAAU,EAAE,UAAU,EAZhC,aAAa;QACb,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,2BAA2B;QAC3B,eAAe;QACf,eAAe;QACf,aAAa,CAAA,EAAA,CAAA,CAAA;AAOF,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAdrB,aAAa;QAGb,mBAAmB;QACnB,2BAA2B;QAC3B,eAAe;QACf,eAAe;AACf,QAAA,aAAa,EAKH,UAAU,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA;4FAErB,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;iBAC9C,CAAA;;;ACzBD;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-card.mjs","sources":["../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.ts","../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.html","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.ts","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.html","../../../../libs/angular/components/card/src/lib/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.component.ts","../../../../libs/angular/components/card/src/lib/card.component.html","../../../../libs/angular/components/card/src/lib/directives/card-content.directive.ts","../../../../libs/angular/components/card/src/lib/directives/card-title.directive.ts","../../../../libs/angular/components/card/src/lib/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-card-footer',\n templateUrl: './card-footer.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__footer]': 'true',\n },\n})\nexport class CardFooterComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-launch-card-subtitle',\n templateUrl: './launch-card-subtitle.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__subtitle]': 'true',\n },\n})\nexport class LaunchCardSubtitleComponent {}\n","<ng-content></ng-content>\n","export type CardVariant = (typeof CardVariant)[keyof typeof CardVariant];\n\nexport const CardVariant = {\n DEFAULT: 'default',\n LAUNCH_TILE: 'launch-tile',\n LAUNCH_TILE_CENTERED: 'launch-tile-centered',\n} as const;\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuComponent, MenuDirective, MenuModule } from '@odx/angular/components/menu';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { containsElement, injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n@CSSComponent('card')\n@Component({\n selector: 'odx-card',\n templateUrl: './card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent],\n hostDirectives: [InteractiveDirective],\n})\nexport class CardComponent {\n private readonly interactiveDirective = inject(InteractiveDirective, { host: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n @ContentChild(MenuComponent)\n protected readonly menu?: MenuComponent;\n\n @ContentChild(ActionGroupComponent)\n protected readonly buttons?: ActionGroupComponent;\n\n @ViewChild(MenuDirective)\n protected readonly menuHost?: MenuDirective;\n\n @ContentChild(CardFooterComponent, { read: ElementRef })\n protected readonly footer?: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public variant?: CardVariant = CardVariant.DEFAULT;\n\n @Input()\n public menuIcon = 'more';\n\n @Output()\n public interact = new EventEmitter<Event>();\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n public get launchTile(): boolean {\n return this.variant !== CardVariant.DEFAULT;\n }\n\n public stopEvents(event: Event): void {\n const target = event.target as Element | null;\n const isFooterEvent = containsElement(this.footer?.nativeElement, target, false);\n const isMenuEvent = containsElement(this.menuHost?.element.nativeElement, target);\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen()) {\n this.interact.emit(event);\n }\n }\n}\n","<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardContent]',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardTitle]',\n standalone: true,\n host: {\n '[class.odx-card-title]': 'true',\n },\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuModule } from '@odx/angular/components/menu';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives/card-content.directive';\nimport { CardTitleDirective } from './directives/card-title.directive';\n\nconst modules = [\n CardComponent,\n CardTitleDirective,\n CardContentDirective,\n CardFooterComponent,\n LaunchCardSubtitleComponent,\n AvatarComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, MenuModule, ...modules],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -48,6 +48,7 @@ let CardComponent = class CardComponent {
48
48
  this.takeUntilDestroyed = untilDestroyed();
49
49
  this.element = injectElement();
50
50
  this.variant = CardVariant.DEFAULT;
51
+ this.menuIcon = 'more';
51
52
  this.interact = new EventEmitter();
52
53
  this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {
53
54
  this.stopEvents(event);
@@ -66,7 +67,7 @@ let CardComponent = class CardComponent {
66
67
  }
67
68
  };
68
69
  CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
- CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
+ CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, isStandalone: true, selector: "odx-card", inputs: { variant: "variant", menuIcon: "menuIcon" }, outputs: { interact: "interact" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "buttons", first: true, predicate: ActionGroupComponent, descendants: true }, { propertyName: "footer", first: true, predicate: CardFooterComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "menuHost", first: true, predicate: MenuDirective, descendants: true }], hostDirectives: [{ directive: i1.InteractiveDirective }], ngImport: i0, template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "ngmodule", type: MenuModule }, { kind: "directive", type: i3.MenuDirective, selector: "[odxMenu]", inputs: ["odxMenu", "odxMenuPosition"], exportAs: ["odxMenu"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
71
  __decorate([
71
72
  CSSModifier(),
72
73
  __metadata("design:type", String)
@@ -77,10 +78,13 @@ CardComponent = __decorate([
77
78
  ], CardComponent);
78
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
79
80
  type: Component,
80
- args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n" }]
81
+ args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n" }]
81
82
  }], ctorParameters: function () { return []; }, propDecorators: { menu: [{
82
83
  type: ContentChild,
83
84
  args: [MenuComponent]
85
+ }], buttons: [{
86
+ type: ContentChild,
87
+ args: [ActionGroupComponent]
84
88
  }], menuHost: [{
85
89
  type: ViewChild,
86
90
  args: [MenuDirective]
@@ -89,6 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
89
93
  args: [CardFooterComponent, { read: ElementRef }]
90
94
  }], variant: [{
91
95
  type: Input
96
+ }], menuIcon: [{
97
+ type: Input
92
98
  }], interact: [{
93
99
  type: Output
94
100
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-card.mjs","sources":["../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.ts","../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.html","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.ts","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.html","../../../../libs/angular/components/card/src/lib/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.component.ts","../../../../libs/angular/components/card/src/lib/card.component.html","../../../../libs/angular/components/card/src/lib/directives/card-content.directive.ts","../../../../libs/angular/components/card/src/lib/directives/card-title.directive.ts","../../../../libs/angular/components/card/src/lib/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-card-footer',\n templateUrl: './card-footer.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__footer]': 'true',\n },\n})\nexport class CardFooterComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-launch-card-subtitle',\n templateUrl: './launch-card-subtitle.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__subtitle]': 'true',\n },\n})\nexport class LaunchCardSubtitleComponent {}\n","<ng-content></ng-content>\n","export type CardVariant = (typeof CardVariant)[keyof typeof CardVariant];\n\nexport const CardVariant = {\n DEFAULT: 'default',\n LAUNCH_TILE: 'launch-tile',\n LAUNCH_TILE_CENTERED: 'launch-tile-centered',\n} as const;\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuComponent, MenuDirective, MenuModule } from '@odx/angular/components/menu';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { containsElement, injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n@CSSComponent('card')\n@Component({\n selector: 'odx-card',\n templateUrl: './card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent],\n hostDirectives: [InteractiveDirective],\n})\nexport class CardComponent {\n private readonly interactiveDirective = inject(InteractiveDirective, { host: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n @ContentChild(MenuComponent)\n protected readonly menu?: MenuComponent;\n\n @ViewChild(MenuDirective)\n protected readonly menuHost?: MenuDirective;\n\n @ContentChild(CardFooterComponent, { read: ElementRef })\n protected readonly footer?: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public variant?: CardVariant = CardVariant.DEFAULT;\n\n @Output()\n public interact = new EventEmitter<Event>();\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n public get launchTile(): boolean {\n return this.variant !== CardVariant.DEFAULT;\n }\n\n public stopEvents(event: Event): void {\n const target = event.target as Element | null;\n const isFooterEvent = containsElement(this.footer?.nativeElement, target, false);\n const isMenuEvent = containsElement(this.menuHost?.element.nativeElement, target);\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen()) {\n this.interact.emit(event);\n }\n }\n}\n","<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group class=\"odx-card-menu\" *ngIf=\"menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon name=\"more\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardContent]',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardTitle]',\n standalone: true,\n host: {\n '[class.odx-card-title]': 'true',\n },\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuModule } from '@odx/angular/components/menu';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives/card-content.directive';\nimport { CardTitleDirective } from './directives/card-title.directive';\n\nconst modules = [\n CardComponent,\n CardTitleDirective,\n CardContentDirective,\n CardFooterComponent,\n LaunchCardSubtitleComponent,\n AvatarComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, MenuModule, ...modules],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-card.mjs","sources":["../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.ts","../../../../libs/angular/components/card/src/lib/components/card-footer/card-footer.component.html","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.ts","../../../../libs/angular/components/card/src/lib/components/launch-card-subtitle/launch-card-subtitle.component.html","../../../../libs/angular/components/card/src/lib/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.component.ts","../../../../libs/angular/components/card/src/lib/card.component.html","../../../../libs/angular/components/card/src/lib/directives/card-content.directive.ts","../../../../libs/angular/components/card/src/lib/directives/card-title.directive.ts","../../../../libs/angular/components/card/src/lib/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-card-footer',\n templateUrl: './card-footer.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__footer]': 'true',\n },\n})\nexport class CardFooterComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'odx-launch-card-subtitle',\n templateUrl: './launch-card-subtitle.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.odx-card__subtitle]': 'true',\n },\n})\nexport class LaunchCardSubtitleComponent {}\n","<ng-content></ng-content>\n","export type CardVariant = (typeof CardVariant)[keyof typeof CardVariant];\n\nexport const CardVariant = {\n DEFAULT: 'default',\n LAUNCH_TILE: 'launch-tile',\n LAUNCH_TILE_CENTERED: 'launch-tile-centered',\n} as const;\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuComponent, MenuDirective, MenuModule } from '@odx/angular/components/menu';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { containsElement, injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n@CSSComponent('card')\n@Component({\n selector: 'odx-card',\n templateUrl: './card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent],\n hostDirectives: [InteractiveDirective],\n})\nexport class CardComponent {\n private readonly interactiveDirective = inject(InteractiveDirective, { host: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n @ContentChild(MenuComponent)\n protected readonly menu?: MenuComponent;\n\n @ContentChild(ActionGroupComponent)\n protected readonly buttons?: ActionGroupComponent;\n\n @ViewChild(MenuDirective)\n protected readonly menuHost?: MenuDirective;\n\n @ContentChild(CardFooterComponent, { read: ElementRef })\n protected readonly footer?: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public variant?: CardVariant = CardVariant.DEFAULT;\n\n @Input()\n public menuIcon = 'more';\n\n @Output()\n public interact = new EventEmitter<Event>();\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n public get launchTile(): boolean {\n return this.variant !== CardVariant.DEFAULT;\n }\n\n public stopEvents(event: Event): void {\n const target = event.target as Element | null;\n const isFooterEvent = containsElement(this.footer?.nativeElement, target, false);\n const isMenuEvent = containsElement(this.menuHost?.element.nativeElement, target);\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen()) {\n this.interact.emit(event);\n }\n }\n}\n","<div class=\"odx-card__container\">\n <ng-container *ngIf=\"launchTile; else card\">\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"odx-launch-card-subtitle\"></ng-content>\n </div>\n </ng-container>\n\n <ng-template #card>\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </div>\n <ng-content select=\"[odxCardContent]\"></ng-content>\n </ng-template>\n</div>\n\n<ng-content select=\"odx-card-footer\"></ng-content>\n\n<odx-action-group *ngIf=\"menu; else buttonGroup\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\"></odx-icon>\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\"></ng-content>\n </ng-template>\n</odx-action-group>\n\n<ng-template #title>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #buttonGroup>\n <ng-container *ngIf=\"buttons\">\n <ng-content select=\"odx-action-group\"></ng-content>\n </ng-container>\n</ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardContent]',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[odxCardTitle]',\n standalone: true,\n host: {\n '[class.odx-card-title]': 'true',\n },\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { MenuModule } from '@odx/angular/components/menu';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives/card-content.directive';\nimport { CardTitleDirective } from './directives/card-title.directive';\n\nconst modules = [\n CardComponent,\n CardTitleDirective,\n CardContentDirective,\n CardFooterComponent,\n LaunchCardSubtitleComponent,\n AvatarComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, MenuModule, ...modules],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/angular",
3
- "version": "2.15.0",
3
+ "version": "2.16.0",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {