@odx/angular 12.23.0 → 12.24.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 +12 -0
- package/components/card/lib/card.config.d.ts +6 -0
- package/components/card/lib/components/card-image/card-image.component.d.ts +17 -18
- package/components/tooltip/index.d.ts +1 -0
- package/esm2022/components/card/lib/card.component.mjs +3 -3
- package/esm2022/components/card/lib/card.config.mjs +2 -1
- package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +66 -40
- package/esm2022/components/tooltip/index.mjs +2 -1
- package/fesm2022/odx-angular-components-card.mjs +65 -38
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,7 @@ export interface CardConfig {
|
|
|
3
3
|
variant?: CardVariant;
|
|
4
4
|
maxImageHeight?: string;
|
|
5
5
|
imageRatio?: string;
|
|
6
|
+
objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Tools for customizing configuration for the card component
|
|
@@ -24,20 +25,25 @@ export declare const CardConfig: import("@angular/core").InjectionToken<Partial<
|
|
|
24
25
|
variant: CardVariant;
|
|
25
26
|
maxImageHeight: string;
|
|
26
27
|
imageRatio: string;
|
|
28
|
+
objectFit: string;
|
|
27
29
|
}>>, CardDefaultConfig: {
|
|
28
30
|
variant: CardVariant;
|
|
29
31
|
maxImageHeight: string;
|
|
30
32
|
imageRatio: string;
|
|
33
|
+
objectFit: string;
|
|
31
34
|
}, injectCardConfig: () => {
|
|
32
35
|
variant: CardVariant;
|
|
33
36
|
maxImageHeight: string;
|
|
34
37
|
imageRatio: string;
|
|
38
|
+
objectFit: string;
|
|
35
39
|
}, provideCardConfig: <D extends import("@odx/angular/utils").ConfigDependencies = import("@odx/angular/utils").ConfigDependencies<Partial<{
|
|
36
40
|
variant: CardVariant;
|
|
37
41
|
maxImageHeight: string;
|
|
38
42
|
imageRatio: string;
|
|
43
|
+
objectFit: string;
|
|
39
44
|
}>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
|
|
40
45
|
variant: CardVariant;
|
|
41
46
|
maxImageHeight: string;
|
|
42
47
|
imageRatio: string;
|
|
48
|
+
objectFit: string;
|
|
43
49
|
}>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
|
|
@@ -1,26 +1,25 @@
|
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef } from '@angular/core';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
/**
|
|
3
4
|
* Represents a card image component.
|
|
4
5
|
*/
|
|
5
|
-
export declare class CardImageComponent {
|
|
6
|
+
export declare class CardImageComponent implements AfterViewInit {
|
|
7
|
+
private readonly cdr;
|
|
6
8
|
private readonly config;
|
|
9
|
+
private readonly platformId;
|
|
10
|
+
private readonly _hasFill;
|
|
7
11
|
readonly element: import("@angular/core").ElementRef<HTMLElement>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* @default 'auto'
|
|
20
|
-
*/
|
|
21
|
-
maxImageHeight: string;
|
|
22
|
-
protected get getMaxImageHeight(): string;
|
|
23
|
-
protected get getImageAspectRatio(): string;
|
|
12
|
+
readonly imageRatio: import("@angular/core").InputSignal<string>;
|
|
13
|
+
readonly maxImageHeight: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly objectFit: import("@angular/core").InputSignal<string>;
|
|
15
|
+
constructor(cdr: ChangeDetectorRef);
|
|
16
|
+
get maxImageHeightStyle(): string;
|
|
17
|
+
get imageAspectRatioStyle(): string;
|
|
18
|
+
get objectFitStyle(): string;
|
|
19
|
+
get isAspectAuto(): boolean;
|
|
20
|
+
get hasFill(): boolean;
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
private getHostElement;
|
|
24
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<CardImageComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CardImageComponent, "odx-card-image", never, { "imageRatio": { "alias": "imageRatio"; "required": false; }; "maxImageHeight": { "alias": "maxImageHeight"; "required": false; }; }, {}, never, ["odx-chip", "img"], true, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardImageComponent, "odx-card-image", never, { "imageRatio": { "alias": "imageRatio"; "required": false; "isSignal": true; }; "maxImageHeight": { "alias": "maxImageHeight"; "required": false; "isSignal": true; }; "objectFit": { "alias": "objectFit"; "required": false; "isSignal": true; }; }, {}, never, ["odx-chip", "img"], true, never>;
|
|
26
25
|
}
|
|
@@ -65,7 +65,7 @@ let CardComponent = class CardComponent {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\"
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\" aria-hidden=\"true\" />\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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", "identifier"] }, { 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 }); }
|
|
69
69
|
};
|
|
70
70
|
__decorate([
|
|
71
71
|
CSSModifier(),
|
|
@@ -78,7 +78,7 @@ CardComponent = __decorate([
|
|
|
78
78
|
export { CardComponent };
|
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
|
-
args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\"
|
|
81
|
+
args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\" aria-hidden=\"true\" />\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n" }]
|
|
82
82
|
}], ctorParameters: () => [], propDecorators: { menu: [{
|
|
83
83
|
type: ContentChild,
|
|
84
84
|
args: [MenuComponent]
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
98
98
|
}], interact: [{
|
|
99
99
|
type: Output
|
|
100
100
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBRXZDOzs7Ozs7R0FNRztBQVdJ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YWhELE9BQU87c0JBRGIsS0FBSztnQkFVQyxRQUFRO3NCQURkLEtBQUs7Z0JBU0MsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSwgSW50ZXJhY3RpdmVEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVEaXJlY3RpdmUsIE1lbnVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgY29udGFpbnNFbGVtZW50LCBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpbmplY3RDYXJkQ29uZmlnIH0gZnJvbSAnLi9jYXJkLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXJkRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENhcmRWYXJpYW50IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjYXJkIGNvbXBvbmVudC5cbiAqIEl0IGNhbiBjb250YWluIGEgaGVhZGVyLCBib2R5LCBhbmQgZm9vdGVyLiBUaGUgY2FyZCBjb21wb25lbnQgY2FuIGFsc28gaGF2ZSBhIG1lbnUgYW5kIGFjdGlvbiBidXR0b25zLlxuICogSGFzIGhvc3QgZGlyZWN0aXZlIGZvciBpbnRlcmFjdGl2aXR5LlxuICpcbiAqIEBzZWUge0ludGVyYWN0aXZlRGlyZWN0aXZlfVxuICovXG5AQ1NTQ29tcG9uZW50KCdjYXJkJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgTWVudU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW0ludGVyYWN0aXZlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3RpdmVEaXJlY3RpdmUgPSBpbmplY3QoSW50ZXJhY3RpdmVEaXJlY3RpdmUsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhcmRDb25maWcoKTtcblxuICBwcm90ZWN0ZWQgY2FyZFZhcmlhbnQgPSBDYXJkVmFyaWFudDtcblxuICBAQ29udGVudENoaWxkKE1lbnVDb21wb25lbnQpXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51PzogTWVudUNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEFjdGlvbkdyb3VwQ29tcG9uZW50KVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnV0dG9ucz86IEFjdGlvbkdyb3VwQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoTWVudURpcmVjdGl2ZSlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVIb3N0PzogTWVudURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKENhcmRGb290ZXJDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9vdGVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHVibGljIGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG4gIC8qKlxuICAgKiBUaGUgdmFyaWFudCBvZiB0aGUgY2FyZC5cbiAgICpcbiAgICogQHR5cGUge0NhcmRWYXJpYW50fVxuICAgKiBAZGVmYXVsdCBDYXJkVmFyaWFudC5ERUZBVUxUXG4gICAqL1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YXJpYW50OiBDYXJkVmFyaWFudCA9IHRoaXMuY29uZmlnLnZhcmlhbnQgPz8gQ2FyZFZhcmlhbnQuREVGQVVMVDtcblxuICAvKipcbiAgICogTWVudSBpY29uIG5hbWUuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICdtb3JlJ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1lbnVJY29uID0gJ21vcmUnO1xuXG4gIC8qKlxuICAgKiBJbnRlcmFjdGl2aXR5IGV2ZW50IGVtaXR0ZXIuXG4gICAqXG4gICAqIEBlbWl0cyB7RXZlbnR9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGludGVyYWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBwdWJsaWMgZ2V0IGxhdW5jaFRpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PT0gQ2FyZFZhcmlhbnQuTEFVTkNIX1RJTEUgfHwgdGhpcy52YXJpYW50ID09PSBDYXJkVmFyaWFudC5MQVVOQ0hfVElMRV9DRU5URVJFRDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaW50ZXJhY3RpdmVEaXJlY3RpdmUuaW50ZXJhY3QucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLnN0b3BFdmVudHMoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wRXZlbnRzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50IHwgbnVsbDtcbiAgICBjb25zdCBpc0Zvb3RlckV2ZW50ID0gY29udGFpbnNFbGVtZW50KHRoaXMuZm9vdGVyPy5uYXRpdmVFbGVtZW50LCB0YXJnZXQsIGZhbHNlKTtcbiAgICBjb25zdCBpc01lbnVFdmVudCA9IGNvbnRhaW5zRWxlbWVudCh0aGlzLm1lbnVIb3N0Py5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRhcmdldCk7XG4gICAgY29uc3QgaXNIZWFkZXJCdXR0b25FdmVudCA9IGNvbnRhaW5zRWxlbWVudCh0aGlzLmJ1dHRvbnM/LmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGFyZ2V0KTtcblxuICAgIGlmICghaXNGb290ZXJFdmVudCAmJiAhaXNNZW51RXZlbnQgJiYgIXRoaXMubWVudUhvc3Q/LmlzT3BlbigpICYmICFpc0hlYWRlckJ1dHRvbkV2ZW50KSB7XG4gICAgICB0aGlzLmludGVyYWN0LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICghbGF1bmNoVGlsZSkge1xuICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX2NvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1jYXJkLWltYWdlXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX3RpdGxlIG9keC1oZWFkaW5nLTVcIiByb2xlPVwiaGVhZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhDYXJkQ29udGVudF0sIG9keC1jYXJkLWNvbnRlbnRcIiAvPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwib2R4LWNhcmRfX2NvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1hdmF0YXJcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJvZHgtY2FyZF9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm9keC1jYXJkX190aXRsZVwiIHJvbGU9XCJoZWFkaW5nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWxhdW5jaC1jYXJkLXN1YnRpdGxlXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1jYXJkLWZvb3RlclwiIC8+XG5cbkBpZiAobWVudSkge1xuICA8b2R4LWFjdGlvbi1ncm91cCBjbGFzcz1cIm9keC1jYXJkX19tZW51XCI+XG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gW29keE1lbnVdPVwibWVudVRwbFwiIG9keE1lbnVQb3NpdGlvbj1cImJvdHRvbS1lbmRcIj5cbiAgICAgIDxvZHgtaWNvbiBbbmFtZV09XCJtZW51SWNvblwiIGljb25TZXQ9XCJjb3JlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbWVudVRwbD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1tZW51XCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L29keC1hY3Rpb24tZ3JvdXA+XG59IEBlbHNlIGlmIChidXR0b25zKSB7XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1hY3Rpb24tZ3JvdXBcIiAvPlxufVxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -20,5 +20,6 @@ export const { CardConfig, CardDefaultConfig, injectCardConfig, provideCardConfi
|
|
|
20
20
|
variant: CardVariant.DEFAULT,
|
|
21
21
|
maxImageHeight: 'auto',
|
|
22
22
|
imageRatio: 'auto',
|
|
23
|
+
objectFit: 'cover',
|
|
23
24
|
});
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY2FyZC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVN2Qzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSw4QkFBOEIsRUFBRTtJQUMvSSxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQXNCO0lBQzNDLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0NBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbmZpZ1Rva2VucyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBDYXJkVmFyaWFudCB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJkQ29uZmlnIHtcbiAgdmFyaWFudD86IENhcmRWYXJpYW50O1xuICBtYXhJbWFnZUhlaWdodD86IHN0cmluZztcbiAgaW1hZ2VSYXRpbz86IHN0cmluZztcbiAgb2JqZWN0Rml0PzogJ2NvdmVyJyB8ICdjb250YWluJyB8ICdmaWxsJyB8ICdub25lJyB8ICdzY2FsZS1kb3duJztcbn1cblxuLyoqXG4gKiBUb29scyBmb3IgY3VzdG9taXppbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNhcmQgY29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBAQ29tcG9uZW50KHtcbiAqICAuLi5cbiAqICBwcm92aWRlcnM6IFtwcm92aWRlQ2FyZENvbmZpZyh7aW1hZ2VSYXRpbzogJzUvMycsIG1heEltYWdlSGVpZ2h0OiAnMjAwcHgnfSldXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIE15Q2FyZENvbXBvbmVudCB7fVxuICogYGBgXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqICBjb25zdHJ1Y3RvcihASW5qZWN0KENhcmRDb25maWcpIHByaXZhdGUgcmVhZG9ubHkgY2FyZENvbmZpZzogQ2FyZENvbmZpZykge31cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgeyBDYXJkQ29uZmlnLCBDYXJkRGVmYXVsdENvbmZpZywgaW5qZWN0Q2FyZENvbmZpZywgcHJvdmlkZUNhcmRDb25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucygnQ2FyZCcsICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkJywge1xuICB2YXJpYW50OiBDYXJkVmFyaWFudC5ERUZBVUxUIGFzIENhcmRWYXJpYW50LFxuICBtYXhJbWFnZUhlaWdodDogJ2F1dG8nLFxuICBpbWFnZVJhdGlvOiAnYXV0bycsXG4gIG9iamVjdEZpdDogJ2NvdmVyJyxcbn0pO1xuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input, PLATFORM_ID, signal } from '@angular/core';
|
|
3
4
|
import { ChipListRowComponent } from '@odx/angular/components/chip';
|
|
4
5
|
import { CSSComponent } from '@odx/angular/internal';
|
|
5
6
|
import { injectElement } from '@odx/angular/utils';
|
|
@@ -9,49 +10,74 @@ import * as i0 from "@angular/core";
|
|
|
9
10
|
* Represents a card image component.
|
|
10
11
|
*/
|
|
11
12
|
let CardImageComponent = class CardImageComponent {
|
|
12
|
-
constructor() {
|
|
13
|
+
constructor(cdr) {
|
|
14
|
+
this.cdr = cdr;
|
|
13
15
|
this.config = injectCardConfig();
|
|
16
|
+
this.platformId = inject(PLATFORM_ID);
|
|
17
|
+
this._hasFill = signal(false);
|
|
14
18
|
this.element = injectElement();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
this.imageRatio = input(this.config.imageRatio ?? 'auto');
|
|
20
|
+
this.maxImageHeight = input(this.config.maxImageHeight ?? 'auto');
|
|
21
|
+
this.objectFit = input(this.config.objectFit ?? 'cover');
|
|
22
|
+
}
|
|
23
|
+
get maxImageHeightStyle() {
|
|
24
|
+
return this.maxImageHeight() ?? this.config.maxImageHeight ?? 'auto';
|
|
25
|
+
}
|
|
26
|
+
get imageAspectRatioStyle() {
|
|
27
|
+
return this.imageRatio() ?? this.config.imageRatio ?? 'auto';
|
|
28
|
+
}
|
|
29
|
+
get objectFitStyle() {
|
|
30
|
+
return this.objectFit() ?? this.config.objectFit ?? 'auto';
|
|
31
|
+
}
|
|
32
|
+
get isAspectAuto() {
|
|
33
|
+
return this.imageRatio() === 'auto';
|
|
34
|
+
}
|
|
35
|
+
get hasFill() {
|
|
36
|
+
return this._hasFill();
|
|
37
|
+
}
|
|
38
|
+
ngAfterViewInit() {
|
|
39
|
+
try {
|
|
40
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const hostEl = this.getHostElement(this.element);
|
|
44
|
+
if (!hostEl) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const found = !!hostEl.querySelector?.('img[fill], img[ng-reflect-fill]');
|
|
48
|
+
this._hasFill.set(found);
|
|
49
|
+
this.cdr.markForCheck();
|
|
50
|
+
}
|
|
51
|
+
catch { }
|
|
52
|
+
}
|
|
53
|
+
getHostElement(el) {
|
|
54
|
+
if (!el)
|
|
55
|
+
return null;
|
|
56
|
+
if (typeof el === 'object' && el !== null && 'nativeElement' in el) {
|
|
57
|
+
const candidate = el.nativeElement;
|
|
58
|
+
if (candidate instanceof HTMLElement)
|
|
59
|
+
return candidate;
|
|
60
|
+
}
|
|
61
|
+
if (el instanceof HTMLElement)
|
|
62
|
+
return el;
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardImageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: CardImageComponent, isStandalone: true, selector: "odx-card-image", inputs: { imageRatio: { classPropertyName: "imageRatio", publicName: "imageRatio", isSignal: true, isRequired: false, transformFunction: null }, maxImageHeight: { classPropertyName: "maxImageHeight", publicName: "maxImageHeight", isSignal: true, isRequired: false, transformFunction: null }, objectFit: { classPropertyName: "objectFit", publicName: "objectFit", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--odx-card-image-max-height": "maxImageHeightStyle", "style.--odx-card-image-aspect-ratio": "imageAspectRatioStyle", "style.--odx-card-image-object-fit": "objectFitStyle", "class.has-aspect-auto": "isAspectAuto", "class.has-fill": "hasFill" } }, ngImport: i0, template: "<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n", dependencies: [{ kind: "component", type: ChipListRowComponent, selector: "odx-chip-list-row" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
67
|
};
|
|
39
68
|
CardImageComponent = __decorate([
|
|
40
|
-
CSSComponent('card-image')
|
|
69
|
+
CSSComponent('card-image'),
|
|
70
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
41
71
|
], CardImageComponent);
|
|
42
72
|
export { CardImageComponent };
|
|
43
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardImageComponent, decorators: [{
|
|
44
74
|
type: Component,
|
|
45
|
-
args: [{ selector: 'odx-card-image', standalone: true, imports: [ChipListRowComponent],
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
type: HostBinding,
|
|
55
|
-
args: [`style.--odx-card-image-aspect-ratio`]
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWltYWdlL2NhcmQtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC1pbWFnZS9jYXJkLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7O0dBRUc7QUFRSSxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUF4QjtRQUNZLFdBQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdCLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUUxQzs7Ozs7V0FLRztRQUVJLGVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7UUFFckQ7Ozs7O1dBS0c7UUFFSSxtQkFBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQztLQVc5RDtJQVRDLElBQ2MsaUJBQWlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUM7SUFDckUsQ0FBQztJQUVELElBQ2MsbUJBQW1CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7SUFDN0QsQ0FBQzsrR0E5QlUsa0JBQWtCO21HQUFsQixrQkFBa0IsOFNDaEIvQixrTUFPQSw0Q0RPWSxvQkFBb0I7O0FBRW5CLGtCQUFrQjtJQVA5QixZQUFZLENBQUMsWUFBWSxDQUFDO0dBT2Qsa0JBQWtCLENBK0I5Qjs7NEZBL0JZLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FFZCxJQUFJLFdBQ1AsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFheEIsVUFBVTtzQkFEaEIsS0FBSztnQkFVQyxjQUFjO3NCQURwQixLQUFLO2dCQUlRLGlCQUFpQjtzQkFEOUIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBTWxDLG1CQUFtQjtzQkFEaEMsV0FBVzt1QkFBQyxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hpcExpc3RSb3dDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaGlwJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGluamVjdENhcmRDb25maWcgfSBmcm9tICcuLi8uLi9jYXJkLmNvbmZpZyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNhcmQgaW1hZ2UgY29tcG9uZW50LlxuICovXG5AQ1NTQ29tcG9uZW50KCdjYXJkLWltYWdlJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYXJkLWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hpcExpc3RSb3dDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkSW1hZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhcmRDb25maWcoKTtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgLyoqXG4gICAqIFRoZSByYXRpbyBvZiB0aGUgY2FyZCBpbWFnZS5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJ2F1dG8nXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW1hZ2VSYXRpbyA9IHRoaXMuY29uZmlnLmltYWdlUmF0aW8gPz8gJ2F1dG8nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBoZWlnaHQgb2YgdGhlIGNhcmQgaW1hZ2UuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICdhdXRvJ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEltYWdlSGVpZ2h0ID0gdGhpcy5jb25maWcubWF4SW1hZ2VIZWlnaHQgPz8gJ2F1dG8nO1xuXG4gIEBIb3N0QmluZGluZyhgc3R5bGUuLS1vZHgtY2FyZC1pbWFnZS1tYXgtaGVpZ2h0YClcbiAgcHJvdGVjdGVkIGdldCBnZXRNYXhJbWFnZUhlaWdodCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1heEltYWdlSGVpZ2h0ID8/IHRoaXMuY29uZmlnLm1heEltYWdlSGVpZ2h0ID8/ICdhdXRvJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhgc3R5bGUuLS1vZHgtY2FyZC1pbWFnZS1hc3BlY3QtcmF0aW9gKVxuICBwcm90ZWN0ZWQgZ2V0IGdldEltYWdlQXNwZWN0UmF0aW8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZVJhdGlvID8/IHRoaXMuY29uZmlnLmltYWdlUmF0aW8gPz8gJ2F1dG8nO1xuICB9XG59XG4iLCI8b2R4LWNoaXAtbGlzdC1yb3c+XG4gIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwib2R4LWNoaXBcIiBzZWxlY3Q9XCJvZHgtY2hpcFwiIC8+XG48L29keC1jaGlwLWxpc3Qtcm93PlxuXG48ZmlndXJlIGNsYXNzPVwib2R4LWNhcmQtaW1hZ2VfX2ltZ1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJpbWdcIiAvPlxuPC9maWd1cmU+XG4iXX0=
|
|
75
|
+
args: [{ selector: 'odx-card-image', standalone: true, imports: [ChipListRowComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
76
|
+
'[style.--odx-card-image-max-height]': 'maxImageHeightStyle',
|
|
77
|
+
'[style.--odx-card-image-aspect-ratio]': 'imageAspectRatioStyle',
|
|
78
|
+
'[style.--odx-card-image-object-fit]': 'objectFitStyle',
|
|
79
|
+
'[class.has-aspect-auto]': 'isAspectAuto',
|
|
80
|
+
'[class.has-fill]': 'hasFill',
|
|
81
|
+
}, template: "<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n" }]
|
|
82
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYXJkL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWltYWdlL2NhcmQtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC1pbWFnZS9jYXJkLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7O0dBRUc7QUFnQkksSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFVN0IsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUbEMsV0FBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxhQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUUxQixlQUFV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eyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgUExBVEZPUk1fSUQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hpcExpc3RSb3dDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaGlwJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGluamVjdENhcmRDb25maWcgfSBmcm9tICcuLi8uLi9jYXJkLmNvbmZpZyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNhcmQgaW1hZ2UgY29tcG9uZW50LlxuICovXG5AQ1NTQ29tcG9uZW50KCdjYXJkLWltYWdlJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYXJkLWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hpcExpc3RSb3dDb21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUuLS1vZHgtY2FyZC1pbWFnZS1tYXgtaGVpZ2h0XSc6ICdtYXhJbWFnZUhlaWdodFN0eWxlJyxcbiAgICAnW3N0eWxlLi0tb2R4LWNhcmQtaW1hZ2UtYXNwZWN0LXJhdGlvXSc6ICdpbWFnZUFzcGVjdFJhdGlvU3R5bGUnLFxuICAgICdbc3R5bGUuLS1vZHgtY2FyZC1pbWFnZS1vYmplY3QtZml0XSc6ICdvYmplY3RGaXRTdHlsZScsXG4gICAgJ1tjbGFzcy5oYXMtYXNwZWN0LWF1dG9dJzogJ2lzQXNwZWN0QXV0bycsXG4gICAgJ1tjbGFzcy5oYXMtZmlsbF0nOiAnaGFzRmlsbCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhcmRDb25maWcoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGFzRmlsbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbWFnZVJhdGlvID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZy5pbWFnZVJhdGlvID8/ICdhdXRvJyk7XG4gIHB1YmxpYyByZWFkb25seSBtYXhJbWFnZUhlaWdodCA9IGlucHV0PHN0cmluZz4odGhpcy5jb25maWcubWF4SW1hZ2VIZWlnaHQgPz8gJ2F1dG8nKTtcbiAgcHVibGljIHJlYWRvbmx5IG9iamVjdEZpdCA9IGlucHV0PHN0cmluZz4odGhpcy5jb25maWcub2JqZWN0Rml0ID8/ICdjb3ZlcicpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBwdWJsaWMgZ2V0IG1heEltYWdlSGVpZ2h0U3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tYXhJbWFnZUhlaWdodCgpID8/IHRoaXMuY29uZmlnLm1heEltYWdlSGVpZ2h0ID8/ICdhdXRvJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW1hZ2VBc3BlY3RSYXRpb1N0eWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VSYXRpbygpID8/IHRoaXMuY29uZmlnLmltYWdlUmF0aW8gPz8gJ2F1dG8nO1xuICB9XG5cbiAgcHVibGljIGdldCBvYmplY3RGaXRTdHlsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9iamVjdEZpdCgpID8/IHRoaXMuY29uZmlnLm9iamVjdEZpdCA/PyAnYXV0byc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXNwZWN0QXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZVJhdGlvKCkgPT09ICdhdXRvJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzRmlsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRmlsbCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGhvc3RFbCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQodGhpcy5lbGVtZW50KTtcbiAgICAgIGlmICghaG9zdEVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZvdW5kID0gISFob3N0RWwucXVlcnlTZWxlY3Rvcj8uKCdpbWdbZmlsbF0sIGltZ1tuZy1yZWZsZWN0LWZpbGxdJyk7XG4gICAgICB0aGlzLl9oYXNGaWxsLnNldChmb3VuZCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICBwcml2YXRlIGdldEhvc3RFbGVtZW50KGVsOiB1bmtub3duKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIWVsKSByZXR1cm4gbnVsbDtcbiAgICBpZiAodHlwZW9mIGVsID09PSAnb2JqZWN0JyAmJiBlbCAhPT0gbnVsbCAmJiAnbmF0aXZlRWxlbWVudCcgaW4gZWwpIHtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9IChlbCBhcyB7IG5hdGl2ZUVsZW1lbnQ6IHVua25vd24gfSkubmF0aXZlRWxlbWVudDtcbiAgICAgIGlmIChjYW5kaWRhdGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICB9XG4gICAgaWYgKGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHJldHVybiBlbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPG9keC1jaGlwLWxpc3Qtcm93PlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIm9keC1jaGlwXCIgc2VsZWN0PVwib2R4LWNoaXBcIiAvPlxuPC9vZHgtY2hpcC1saXN0LXJvdz5cblxuPGZpZ3VyZSBjbGFzcz1cIm9keC1jYXJkLWltYWdlX19pbWdcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW1nXCIgLz5cbjwvZmlndXJlPlxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './lib/helpers';
|
|
2
2
|
export * from './lib/models';
|
|
3
3
|
export * from './lib/tooltip.config';
|
|
4
|
+
export * from './lib/tooltip.component';
|
|
4
5
|
export * from './lib/tooltip.directive';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { ViewEncapsulation, ChangeDetectionStrategy, Component,
|
|
3
|
+
import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, PLATFORM_ID, signal, input, ChangeDetectorRef, EventEmitter, ElementRef, Output, Input, ContentChild, ViewChild, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import * as i1 from '@odx/angular/cdk/a11y';
|
|
5
5
|
import { InteractiveDirective, A11yModule } from '@odx/angular/cdk/a11y';
|
|
6
6
|
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
@@ -10,8 +10,9 @@ import * as i3 from '@odx/angular/components/menu';
|
|
|
10
10
|
import { MenuModule, MenuDirective, MenuComponent } from '@odx/angular/components/menu';
|
|
11
11
|
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
12
12
|
import { createConfigTokens, injectElement, untilDestroyed, containsElement } from '@odx/angular/utils';
|
|
13
|
-
import { ChipListRowComponent } from '@odx/angular/components/chip';
|
|
14
13
|
import * as i2 from '@angular/common';
|
|
14
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
15
|
+
import { ChipListRowComponent } from '@odx/angular/components/chip';
|
|
15
16
|
import { CoreModule } from '@odx/angular';
|
|
16
17
|
|
|
17
18
|
const CardVariant = {
|
|
@@ -41,6 +42,7 @@ const { CardConfig, CardDefaultConfig, injectCardConfig, provideCardConfig } = c
|
|
|
41
42
|
variant: CardVariant.DEFAULT,
|
|
42
43
|
maxImageHeight: 'auto',
|
|
43
44
|
imageRatio: 'auto',
|
|
45
|
+
objectFit: 'cover',
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
/**
|
|
@@ -61,50 +63,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
61
63
|
* Represents a card image component.
|
|
62
64
|
*/
|
|
63
65
|
let CardImageComponent = class CardImageComponent {
|
|
64
|
-
constructor() {
|
|
66
|
+
constructor(cdr) {
|
|
67
|
+
this.cdr = cdr;
|
|
65
68
|
this.config = injectCardConfig();
|
|
69
|
+
this.platformId = inject(PLATFORM_ID);
|
|
70
|
+
this._hasFill = signal(false);
|
|
66
71
|
this.element = injectElement();
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
* @type {string}
|
|
71
|
-
* @default 'auto'
|
|
72
|
-
*/
|
|
73
|
-
this.imageRatio = this.config.imageRatio ?? 'auto';
|
|
74
|
-
/**
|
|
75
|
-
* The maximum height of the card image.
|
|
76
|
-
*
|
|
77
|
-
* @type {string}
|
|
78
|
-
* @default 'auto'
|
|
79
|
-
*/
|
|
80
|
-
this.maxImageHeight = this.config.maxImageHeight ?? 'auto';
|
|
72
|
+
this.imageRatio = input(this.config.imageRatio ?? 'auto');
|
|
73
|
+
this.maxImageHeight = input(this.config.maxImageHeight ?? 'auto');
|
|
74
|
+
this.objectFit = input(this.config.objectFit ?? 'cover');
|
|
81
75
|
}
|
|
82
|
-
get
|
|
83
|
-
return this.maxImageHeight ?? this.config.maxImageHeight ?? 'auto';
|
|
76
|
+
get maxImageHeightStyle() {
|
|
77
|
+
return this.maxImageHeight() ?? this.config.maxImageHeight ?? 'auto';
|
|
84
78
|
}
|
|
85
|
-
get
|
|
86
|
-
return this.imageRatio ?? this.config.imageRatio ?? 'auto';
|
|
79
|
+
get imageAspectRatioStyle() {
|
|
80
|
+
return this.imageRatio() ?? this.config.imageRatio ?? 'auto';
|
|
87
81
|
}
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
get objectFitStyle() {
|
|
83
|
+
return this.objectFit() ?? this.config.objectFit ?? 'auto';
|
|
84
|
+
}
|
|
85
|
+
get isAspectAuto() {
|
|
86
|
+
return this.imageRatio() === 'auto';
|
|
87
|
+
}
|
|
88
|
+
get hasFill() {
|
|
89
|
+
return this._hasFill();
|
|
90
|
+
}
|
|
91
|
+
ngAfterViewInit() {
|
|
92
|
+
try {
|
|
93
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const hostEl = this.getHostElement(this.element);
|
|
97
|
+
if (!hostEl) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const found = !!hostEl.querySelector?.('img[fill], img[ng-reflect-fill]');
|
|
101
|
+
this._hasFill.set(found);
|
|
102
|
+
this.cdr.markForCheck();
|
|
103
|
+
}
|
|
104
|
+
catch { }
|
|
105
|
+
}
|
|
106
|
+
getHostElement(el) {
|
|
107
|
+
if (!el)
|
|
108
|
+
return null;
|
|
109
|
+
if (typeof el === 'object' && el !== null && 'nativeElement' in el) {
|
|
110
|
+
const candidate = el.nativeElement;
|
|
111
|
+
if (candidate instanceof HTMLElement)
|
|
112
|
+
return candidate;
|
|
113
|
+
}
|
|
114
|
+
if (el instanceof HTMLElement)
|
|
115
|
+
return el;
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardImageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: CardImageComponent, isStandalone: true, selector: "odx-card-image", inputs: { imageRatio: { classPropertyName: "imageRatio", publicName: "imageRatio", isSignal: true, isRequired: false, transformFunction: null }, maxImageHeight: { classPropertyName: "maxImageHeight", publicName: "maxImageHeight", isSignal: true, isRequired: false, transformFunction: null }, objectFit: { classPropertyName: "objectFit", publicName: "objectFit", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--odx-card-image-max-height": "maxImageHeightStyle", "style.--odx-card-image-aspect-ratio": "imageAspectRatioStyle", "style.--odx-card-image-object-fit": "objectFitStyle", "class.has-aspect-auto": "isAspectAuto", "class.has-fill": "hasFill" } }, ngImport: i0, template: "<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n", dependencies: [{ kind: "component", type: ChipListRowComponent, selector: "odx-chip-list-row" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
90
120
|
};
|
|
91
121
|
CardImageComponent = __decorate([
|
|
92
|
-
CSSComponent('card-image')
|
|
122
|
+
CSSComponent('card-image'),
|
|
123
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
93
124
|
], CardImageComponent);
|
|
94
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardImageComponent, decorators: [{
|
|
95
126
|
type: Component,
|
|
96
|
-
args: [{ selector: 'odx-card-image', standalone: true, imports: [ChipListRowComponent],
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}], getImageAspectRatio: [{
|
|
105
|
-
type: HostBinding,
|
|
106
|
-
args: [`style.--odx-card-image-aspect-ratio`]
|
|
107
|
-
}] } });
|
|
127
|
+
args: [{ selector: 'odx-card-image', standalone: true, imports: [ChipListRowComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
128
|
+
'[style.--odx-card-image-max-height]': 'maxImageHeightStyle',
|
|
129
|
+
'[style.--odx-card-image-aspect-ratio]': 'imageAspectRatioStyle',
|
|
130
|
+
'[style.--odx-card-image-object-fit]': 'objectFitStyle',
|
|
131
|
+
'[class.has-aspect-auto]': 'isAspectAuto',
|
|
132
|
+
'[class.has-fill]': 'hasFill',
|
|
133
|
+
}, template: "<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n" }]
|
|
134
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
108
135
|
|
|
109
136
|
/**
|
|
110
137
|
* Represents a launch card subtitle component.
|
|
@@ -171,7 +198,7 @@ let CardComponent = class CardComponent {
|
|
|
171
198
|
}
|
|
172
199
|
}
|
|
173
200
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\"
|
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\" aria-hidden=\"true\" />\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { 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", "identifier"] }, { 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 }); }
|
|
175
202
|
};
|
|
176
203
|
__decorate([
|
|
177
204
|
CSSModifier(),
|
|
@@ -183,7 +210,7 @@ CardComponent = __decorate([
|
|
|
183
210
|
], CardComponent);
|
|
184
211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, decorators: [{
|
|
185
212
|
type: Component,
|
|
186
|
-
args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\"
|
|
213
|
+
args: [{ selector: 'odx-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, ButtonComponent, IconComponent, MenuModule, ActionGroupComponent], hostDirectives: [InteractiveDirective], template: "@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\" aria-hidden=\"true\" />\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n" }]
|
|
187
214
|
}], ctorParameters: () => [], propDecorators: { menu: [{
|
|
188
215
|
type: ContentChild,
|
|
189
216
|
args: [MenuComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-card.mjs","sources":["../../../../libs/angular/components/card/src/lib/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.config.ts","../../../../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/card-image/card-image.component.ts","../../../../libs/angular/components/card/src/lib/components/card-image/card-image.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/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/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["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 IMAGE_CARD: 'image-card',\n} as const;\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { CardVariant } from './models';\n\nexport interface CardConfig {\n variant?: CardVariant;\n maxImageHeight?: string;\n imageRatio?: string;\n}\n\n/**\n * Tools for customizing configuration for the card component\n *\n * @example\n * ```ts\n * @Component({\n * ...\n * providers: [provideCardConfig({imageRatio: '5/3', maxImageHeight: '200px'})]\n * })\n * export class MyCardComponent {}\n * ```\n * @example\n * ```ts\n * constructor(@Inject(CardConfig) private readonly cardConfig: CardConfig) {}\n * ```\n */\nexport const { CardConfig, CardDefaultConfig, injectCardConfig, provideCardConfig } = createConfigTokens('Card', '@odx/angular/components/card', {\n variant: CardVariant.DEFAULT as CardVariant,\n maxImageHeight: 'auto',\n imageRatio: 'auto',\n});\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a card footer component.\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 />\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { ChipListRowComponent } from '@odx/angular/components/chip';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectCardConfig } from '../../card.config';\n\n/**\n * Represents a card image component.\n */\n@CSSComponent('card-image')\n@Component({\n selector: 'odx-card-image',\n templateUrl: './card-image.component.html',\n standalone: true,\n imports: [ChipListRowComponent],\n})\nexport class CardImageComponent {\n private readonly config = injectCardConfig();\n public readonly element = injectElement();\n\n /**\n * The ratio of the card image.\n *\n * @type {string}\n * @default 'auto'\n */\n @Input()\n public imageRatio = this.config.imageRatio ?? 'auto';\n\n /**\n * The maximum height of the card image.\n *\n * @type {string}\n * @default 'auto'\n */\n @Input()\n public maxImageHeight = this.config.maxImageHeight ?? 'auto';\n\n @HostBinding(`style.--odx-card-image-max-height`)\n protected get getMaxImageHeight(): string {\n return this.maxImageHeight ?? this.config.maxImageHeight ?? 'auto';\n }\n\n @HostBinding(`style.--odx-card-image-aspect-ratio`)\n protected get getImageAspectRatio(): string {\n return this.imageRatio ?? this.config.imageRatio ?? 'auto';\n }\n}\n","<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a launch card subtitle component.\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 />\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 { injectCardConfig } from './card.config';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n/**\n * Represents a card component.\n * It can contain a header, body, and footer. The card component can also have a menu and action buttons.\n * Has host directive for interactivity.\n *\n * @see {InteractiveDirective}\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 private readonly config = injectCardConfig();\n\n protected cardVariant = CardVariant;\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 element = injectElement();\n /**\n * The variant of the card.\n *\n * @type {CardVariant}\n * @default CardVariant.DEFAULT\n */\n\n @CSSModifier()\n @Input()\n public variant: CardVariant = this.config.variant ?? CardVariant.DEFAULT;\n\n /**\n * Menu icon name.\n *\n * @type {string}\n * @default 'more'\n */\n @Input()\n public menuIcon = 'more';\n\n /**\n * Interactivity event emitter.\n *\n * @emits {Event}\n */\n @Output()\n public interact = new EventEmitter<Event>();\n\n public get launchTile(): boolean {\n return this.variant === CardVariant.LAUNCH_TILE || this.variant === CardVariant.LAUNCH_TILE_CENTERED;\n }\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n private 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 const isHeaderButtonEvent = containsElement(this.buttons?.element.nativeElement, target);\n\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen() && !isHeaderButtonEvent) {\n this.interact.emit(event);\n }\n }\n}\n","@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\"><odx-icon [name]=\"menuIcon\" iconSet=\"core\" /></button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for displaying the content of a card.\n */\n@Directive({\n selector: '[odxCardContent], odx-card-content',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, CardImageComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives';\n\nconst modules = [CardComponent, CardFooterComponent, CardImageComponent, LaunchCardSubtitleComponent, CardContentDirective];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, ...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/models/card-variant.ts","../../../../libs/angular/components/card/src/lib/card.config.ts","../../../../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/card-image/card-image.component.ts","../../../../libs/angular/components/card/src/lib/components/card-image/card-image.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/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/card.module.ts","../../../../libs/angular/components/card/src/odx-angular-components-card.ts"],"sourcesContent":["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 IMAGE_CARD: 'image-card',\n} as const;\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { CardVariant } from './models';\n\nexport interface CardConfig {\n variant?: CardVariant;\n maxImageHeight?: string;\n imageRatio?: string;\n objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';\n}\n\n/**\n * Tools for customizing configuration for the card component\n *\n * @example\n * ```ts\n * @Component({\n * ...\n * providers: [provideCardConfig({imageRatio: '5/3', maxImageHeight: '200px'})]\n * })\n * export class MyCardComponent {}\n * ```\n * @example\n * ```ts\n * constructor(@Inject(CardConfig) private readonly cardConfig: CardConfig) {}\n * ```\n */\nexport const { CardConfig, CardDefaultConfig, injectCardConfig, provideCardConfig } = createConfigTokens('Card', '@odx/angular/components/card', {\n variant: CardVariant.DEFAULT as CardVariant,\n maxImageHeight: 'auto',\n imageRatio: 'auto',\n objectFit: 'cover',\n});\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a card footer component.\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 />\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input, PLATFORM_ID, signal } from '@angular/core';\nimport { ChipListRowComponent } from '@odx/angular/components/chip';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectCardConfig } from '../../card.config';\n\n/**\n * Represents a card image component.\n */\n@CSSComponent('card-image')\n@Component({\n selector: 'odx-card-image',\n templateUrl: './card-image.component.html',\n standalone: true,\n imports: [ChipListRowComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--odx-card-image-max-height]': 'maxImageHeightStyle',\n '[style.--odx-card-image-aspect-ratio]': 'imageAspectRatioStyle',\n '[style.--odx-card-image-object-fit]': 'objectFitStyle',\n '[class.has-aspect-auto]': 'isAspectAuto',\n '[class.has-fill]': 'hasFill',\n },\n})\nexport class CardImageComponent implements AfterViewInit {\n private readonly config = injectCardConfig();\n private readonly platformId = inject(PLATFORM_ID);\n private readonly _hasFill = signal<boolean>(false);\n public readonly element = injectElement();\n\n public readonly imageRatio = input<string>(this.config.imageRatio ?? 'auto');\n public readonly maxImageHeight = input<string>(this.config.maxImageHeight ?? 'auto');\n public readonly objectFit = input<string>(this.config.objectFit ?? 'cover');\n\n constructor(private readonly cdr: ChangeDetectorRef) {}\n\n public get maxImageHeightStyle(): string {\n return this.maxImageHeight() ?? this.config.maxImageHeight ?? 'auto';\n }\n\n public get imageAspectRatioStyle(): string {\n return this.imageRatio() ?? this.config.imageRatio ?? 'auto';\n }\n\n public get objectFitStyle(): string {\n return this.objectFit() ?? this.config.objectFit ?? 'auto';\n }\n\n public get isAspectAuto(): boolean {\n return this.imageRatio() === 'auto';\n }\n\n public get hasFill(): boolean {\n return this._hasFill();\n }\n\n public ngAfterViewInit(): void {\n try {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const hostEl = this.getHostElement(this.element);\n if (!hostEl) {\n return;\n }\n const found = !!hostEl.querySelector?.('img[fill], img[ng-reflect-fill]');\n this._hasFill.set(found);\n this.cdr.markForCheck();\n } catch {}\n }\n\n private getHostElement(el: unknown): HTMLElement | null {\n if (!el) return null;\n if (typeof el === 'object' && el !== null && 'nativeElement' in el) {\n const candidate = (el as { nativeElement: unknown }).nativeElement;\n if (candidate instanceof HTMLElement) return candidate;\n }\n if (el instanceof HTMLElement) return el;\n return null;\n }\n}\n","<odx-chip-list-row>\n <ng-content ngProjectAs=\"odx-chip\" select=\"odx-chip\" />\n</odx-chip-list-row>\n\n<figure class=\"odx-card-image__img\">\n <ng-content select=\"img\" />\n</figure>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a launch card subtitle component.\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 />\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 { injectCardConfig } from './card.config';\nimport { CardFooterComponent } from './components';\nimport { CardVariant } from './models';\n\n/**\n * Represents a card component.\n * It can contain a header, body, and footer. The card component can also have a menu and action buttons.\n * Has host directive for interactivity.\n *\n * @see {InteractiveDirective}\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 private readonly config = injectCardConfig();\n\n protected cardVariant = CardVariant;\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 element = injectElement();\n /**\n * The variant of the card.\n *\n * @type {CardVariant}\n * @default CardVariant.DEFAULT\n */\n\n @CSSModifier()\n @Input()\n public variant: CardVariant = this.config.variant ?? CardVariant.DEFAULT;\n\n /**\n * Menu icon name.\n *\n * @type {string}\n * @default 'more'\n */\n @Input()\n public menuIcon = 'more';\n\n /**\n * Interactivity event emitter.\n *\n * @emits {Event}\n */\n @Output()\n public interact = new EventEmitter<Event>();\n\n public get launchTile(): boolean {\n return this.variant === CardVariant.LAUNCH_TILE || this.variant === CardVariant.LAUNCH_TILE_CENTERED;\n }\n\n constructor() {\n this.interactiveDirective.interact.pipe(this.takeUntilDestroyed()).subscribe((event) => {\n this.stopEvents(event);\n });\n }\n\n private 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 const isHeaderButtonEvent = containsElement(this.buttons?.element.nativeElement, target);\n\n if (!isFooterEvent && !isMenuEvent && !this.menuHost?.isOpen() && !isHeaderButtonEvent) {\n this.interact.emit(event);\n }\n }\n}\n","@if (!launchTile) {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-card-image\" />\n <div class=\"odx-card__title odx-heading-5\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"[odxCardContent], odx-card-content\" />\n </div>\n} @else {\n <div class=\"odx-card__container\">\n <ng-content select=\"odx-avatar\" />\n <div class=\"odx-card__content\">\n <div class=\"odx-card__title\" role=\"heading\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </div>\n <ng-content select=\"odx-launch-card-subtitle\" />\n </div>\n </div>\n}\n\n<ng-content select=\"odx-card-footer\" />\n\n@if (menu) {\n <odx-action-group class=\"odx-card__menu\">\n <button odxButton [odxMenu]=\"menuTpl\" odxMenuPosition=\"bottom-end\">\n <odx-icon [name]=\"menuIcon\" iconSet=\"core\" aria-hidden=\"true\" />\n </button>\n\n <ng-template #menuTpl>\n <ng-content select=\"odx-menu\" />\n </ng-template>\n </odx-action-group>\n} @else if (buttons) {\n <ng-content select=\"odx-action-group\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for displaying the content of a card.\n */\n@Directive({\n selector: '[odxCardContent], odx-card-content',\n standalone: true,\n host: {\n '[class.odx-card__content]': 'true',\n },\n})\nexport class CardContentDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CardComponent } from './card.component';\nimport { CardFooterComponent, CardImageComponent, LaunchCardSubtitleComponent } from './components';\nimport { CardContentDirective } from './directives';\n\nconst modules = [CardComponent, CardFooterComponent, CardImageComponent, LaunchCardSubtitleComponent, CardContentDirective];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, ...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,13 +1,13 @@
|
|
|
1
1
|
import { createConfigTokens, injectElement, EventManager, untilDestroyed, hasChanged, getUniqueId } from '@odx/angular/utils';
|
|
2
2
|
import { __decorate, __metadata } from 'tslib';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
3
|
import * as i0 from '@angular/core';
|
|
5
4
|
import { inject, Injector, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, NgZone, booleanAttribute, Directive } from '@angular/core';
|
|
6
|
-
import {
|
|
5
|
+
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
7
6
|
import { CSSModifier, CSSComponent, deepmerge } from '@odx/angular/internal';
|
|
7
|
+
import { DOCUMENT } from '@angular/common';
|
|
8
|
+
import { ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';
|
|
8
9
|
import { delayUntil } from '@odx/angular/rxjs';
|
|
9
10
|
import { Subject, filter, tap, merge } from 'rxjs';
|
|
10
|
-
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @internal
|
|
@@ -298,5 +298,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
298
298
|
* Generated bundle index. Do not edit.
|
|
299
299
|
*/
|
|
300
300
|
|
|
301
|
-
export { DefaultTooltipOptions, TooltipConfig, TooltipDefaultConfig, TooltipDirective, TooltipSize, injectTooltipConfig, provideTooltipConfig, resolveTooltipTriggerEvents };
|
|
301
|
+
export { DefaultTooltipOptions, TooltipComponent, TooltipConfig, TooltipDefaultConfig, TooltipDirective, TooltipSize, injectTooltipConfig, provideTooltipConfig, resolveTooltipTriggerEvents };
|
|
302
302
|
//# sourceMappingURL=odx-angular-components-tooltip.mjs.map
|