@coreui/angular
Version:
CoreUI Components Library for Angular
32 lines • 4.33 kB
JavaScript
import { computed, Directive, input } from '@angular/core';
import * as i0 from "@angular/core";
export class CardImgDirective {
constructor() {
/**
* Optionally orientate the image to the top, bottom, or make it overlaid across the card.
* @type {'top | 'bottom'}
*/
this.orientation = input(undefined, { alias: 'cCardImg' });
this.hostClasses = computed(() => {
const orientation = this.orientation();
const suffix = !!orientation ? `-${orientation}` : '';
const horizontal = ['start', 'end'].includes(orientation ?? '-') ? orientation : undefined;
return {
[`card-img${suffix}`]: !horizontal,
'img-fluid': !!horizontal,
[`rounded-${horizontal}`]: !!horizontal
};
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CardImgDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.12", type: CardImgDirective, isStandalone: true, selector: "[cCardImg]", inputs: { orientation: { classPropertyName: "orientation", publicName: "cCardImg", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CardImgDirective, decorators: [{
type: Directive,
args: [{
selector: '[cCardImg]',
standalone: true,
host: { '[class]': 'hostClasses()' }
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pbWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtaW1nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNELE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNRTs7O1dBR0c7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBaUQsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEcsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0YsT0FBTztnQkFDTCxDQUFDLFdBQVcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVU7Z0JBQ2xDLFdBQVcsRUFBRSxDQUFDLENBQUMsVUFBVTtnQkFDekIsQ0FBQyxXQUFXLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVU7YUFDYixDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0tBQ0o7K0dBakJZLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0NhcmRJbWddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDogeyAnW2NsYXNzXSc6ICdob3N0Q2xhc3NlcygpJyB9XG59KVxuZXhwb3J0IGNsYXNzIENhcmRJbWdEaXJlY3RpdmUge1xuICAvKipcbiAgICogT3B0aW9uYWxseSBvcmllbnRhdGUgdGhlIGltYWdlIHRvIHRoZSB0b3AsIGJvdHRvbSwgb3IgbWFrZSBpdCBvdmVybGFpZCBhY3Jvc3MgdGhlIGNhcmQuXG4gICAqIEB0eXBlIHsndG9wIHwgJ2JvdHRvbSd9XG4gICAqL1xuICByZWFkb25seSBvcmllbnRhdGlvbiA9IGlucHV0PCd0b3AnIHwgJ2JvdHRvbScgfCAnc3RhcnQnIHwgJ2VuZCcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2NDYXJkSW1nJyB9KTtcblxuICByZWFkb25seSBob3N0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBvcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24oKTtcbiAgICBjb25zdCBzdWZmaXggPSAhIW9yaWVudGF0aW9uID8gYC0ke29yaWVudGF0aW9ufWAgOiAnJztcbiAgICBjb25zdCBob3Jpem9udGFsID0gWydzdGFydCcsICdlbmQnXS5pbmNsdWRlcyhvcmllbnRhdGlvbiA/PyAnLScpID8gb3JpZW50YXRpb24gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtgY2FyZC1pbWcke3N1ZmZpeH1gXTogIWhvcml6b250YWwsXG4gICAgICAnaW1nLWZsdWlkJzogISFob3Jpem9udGFsLFxuICAgICAgW2Byb3VuZGVkLSR7aG9yaXpvbnRhbH1gXTogISFob3Jpem9udGFsXG4gICAgfSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgfSk7XG59XG4iXX0=