UNPKG

@coreui/angular

Version:

CoreUI Components Library for Angular

58 lines 7 kB
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=