@coreui/angular
Version:
CoreUI Components Library for Angular
58 lines • 7 kB
JavaScript
import { booleanAttribute, computed, Directive, input } from '@angular/core';
import * as i0 from "@angular/core";
export class ImgDirective {
constructor() {
/**
* Set the horizontal aligment.
* @type {'' | 'start' | 'end' | 'center'}
*/
this.align = input('');
/**
* Make image responsive.
* @type boolean
*/
this.fluid = input(false, { transform: booleanAttribute });
/**
* Make image rounded.
* @type boolean
*/
this.rounded = input(false, { transform: booleanAttribute });
/**
* Give an image a rounded 1px border appearance.
* @type boolean
*/
this.thumbnail = input(false, { transform: booleanAttribute });
/**
* Color for image placeholder.
*/
this.placeholderColor = input('transparent');
this.hostStyles = computed(() => {
return { backgroundColor: this.placeholderColor() };
});
this.hostClasses = computed(() => {
const align = this.align();
return {
[`float-${align}`]: align === 'start' || align === 'end',
'd-block': align === 'center',
'mx-auto': align === 'center',
'img-fluid': this.fluid(),
rounded: this.rounded(),
'img-thumbnail': this.thumbnail()
};
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ImgDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.12", type: ImgDirective, isStandalone: true, selector: "[cImg]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, placeholderColor: { classPropertyName: "placeholderColor", publicName: "placeholderColor", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "style": "hostStyles()" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ImgDirective, decorators: [{
type: Directive,
args: [{
selector: '[cImg]',
standalone: true,
host: {
'[class]': 'hostClasses()',
'[style]': 'hostStyles()'
}
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvaW1hZ2UvaW1nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDOztBQVVwSCxNQUFNLE9BQU8sWUFBWTtJQVJ6QjtRQVNFOzs7V0FHRztRQUNNLFVBQUssR0FBaUQsS0FBSyxDQUFrQyxFQUFFLENBQUMsQ0FBQztRQUUxRzs7O1dBR0c7UUFDTSxVQUFLLEdBQStDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRTNHOzs7V0FHRztRQUNNLFlBQU8sR0FBK0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFN0c7OztXQUdHO1FBQ00sY0FBUyxHQUErQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUUvRzs7V0FFRztRQUNNLHFCQUFnQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFTSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLE9BQU87Z0JBQ0wsQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxLQUFLLE9BQU8sSUFBSSxLQUFLLEtBQUssS0FBSztnQkFDeEQsU0FBUyxFQUFFLEtBQUssS0FBSyxRQUFRO2dCQUM3QixTQUFTLEVBQUUsS0FBSyxLQUFLLFFBQVE7Z0JBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7YUFDUCxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0tBQ0o7K0dBN0NZLFlBQVk7bUdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFSeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsU0FBUyxFQUFFLGNBQWM7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5wdXQsIElucHV0U2lnbmFsLCBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NJbWddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2hvc3RDbGFzc2VzKCknLFxuICAgICdbc3R5bGVdJzogJ2hvc3RTdHlsZXMoKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBJbWdEaXJlY3RpdmUge1xuICAvKipcbiAgICogU2V0IHRoZSBob3Jpem9udGFsIGFsaWdtZW50LlxuICAgKiBAdHlwZSB7JycgfCAnc3RhcnQnIHwgJ2VuZCcgfCAnY2VudGVyJ31cbiAgICovXG4gIHJlYWRvbmx5IGFsaWduOiBJbnB1dFNpZ25hbDwnJyB8ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInPiA9IGlucHV0PCcnIHwgJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcic+KCcnKTtcblxuICAvKipcbiAgICogTWFrZSBpbWFnZSByZXNwb25zaXZlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICByZWFkb25seSBmbHVpZDogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPGJvb2xlYW4sIHVua25vd24+ID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBNYWtlIGltYWdlIHJvdW5kZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIHJlYWRvbmx5IHJvdW5kZWQ6IElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybTxib29sZWFuLCB1bmtub3duPiA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogR2l2ZSBhbiBpbWFnZSBhIHJvdW5kZWQgMXB4IGJvcmRlciBhcHBlYXJhbmNlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICByZWFkb25seSB0aHVtYm5haWw6IElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybTxib29sZWFuLCB1bmtub3duPiA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogQ29sb3IgZm9yIGltYWdlIHBsYWNlaG9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXJDb2xvciA9IGlucHV0KCd0cmFuc3BhcmVudCcpO1xuXG4gIHJlYWRvbmx5IGhvc3RTdHlsZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHsgYmFja2dyb3VuZENvbG9yOiB0aGlzLnBsYWNlaG9sZGVyQ29sb3IoKSB9O1xuICB9KTtcblxuICByZWFkb25seSBob3N0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhbGlnbiA9IHRoaXMuYWxpZ24oKTtcbiAgICByZXR1cm4ge1xuICAgICAgW2BmbG9hdC0ke2FsaWdufWBdOiBhbGlnbiA9PT0gJ3N0YXJ0JyB8fCBhbGlnbiA9PT0gJ2VuZCcsXG4gICAgICAnZC1ibG9jayc6IGFsaWduID09PSAnY2VudGVyJyxcbiAgICAgICdteC1hdXRvJzogYWxpZ24gPT09ICdjZW50ZXInLFxuICAgICAgJ2ltZy1mbHVpZCc6IHRoaXMuZmx1aWQoKSxcbiAgICAgIHJvdW5kZWQ6IHRoaXMucm91bmRlZCgpLFxuICAgICAgJ2ltZy10aHVtYm5haWwnOiB0aGlzLnRodW1ibmFpbCgpXG4gICAgfSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgfSk7XG59XG4iXX0=