UNPKG

@coreui/angular

Version:

CoreUI Components Library for Angular

57 lines 7.21 kB
import { Directive, HostBinding, Input } from '@angular/core'; import { BreakpointInfix } from '../coreui.types'; import * as i0 from "@angular/core"; export class GutterDirective { constructor() { /** * Define padding between columns to space and align content responsively in the Bootstrap grid system. */ this.gutter = {}; } get hostClasses() { let gutterClass; if (typeof this.gutter === 'number') { gutterClass = GutterDirective.getGutterClasses({ g: this.gutter }); return gutterClass; } { // @ts-ignore const { g, gx, gy } = { ...this.gutter }; gutterClass = GutterDirective.getGutterClasses({ g, gx, gy }); } Object.keys(BreakpointInfix).forEach((key) => { // @ts-ignore const gutter = this.gutter[key] ? { ...this.gutter[key] } : undefined; if (gutter) { const classes = GutterDirective.getGutterClasses(gutter, key); gutterClass = { ...gutterClass, ...classes }; } }); return gutterClass; } static getGutterClasses(gutter, breakpoint) { const { g, gx, gy } = { ...gutter }; const infix = breakpoint ? `-${breakpoint}` : ''; return { [`g${infix}-${g}`]: typeof g === 'number', [`gx${infix}-${gx}`]: typeof gx === 'number', [`gy${infix}-${gy}`]: typeof gy === 'number' }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GutterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: GutterDirective, isStandalone: true, selector: "[gutter]", inputs: { gutter: "gutter" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GutterDirective, decorators: [{ type: Directive, args: [{ // eslint-disable-next-line @angular-eslint/directive-selector selector: '[gutter]', standalone: true }] }], propDecorators: { gutter: [{ type: Input }], hostClasses: [{ type: HostBinding, args: ['class'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3V0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZC9ndXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUWxELE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTUU7O1dBRUc7UUFDTSxXQUFNLEdBQWdELEVBQUUsQ0FBQztLQXFDbkU7SUFuQ0MsSUFDSSxXQUFXO1FBQ2IsSUFBSSxXQUFnQixDQUFDO1FBRXJCLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLFdBQVcsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUVELENBQUM7WUFDQyxhQUFhO1lBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxXQUFXLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzNDLGFBQWE7WUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM5RCxXQUFXLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBcUIsRUFBRSxVQUFtQjtRQUN4RSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakQsT0FBTztZQUNMLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxRQUFRO1lBQ3pDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxRQUFRO1lBQzVDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxRQUFRO1NBQzdDLENBQUM7SUFDSixDQUFDOytHQXhDVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUtVLE1BQU07c0JBQWQsS0FBSztnQkFHRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJyZWFrcG9pbnRJbmZpeCB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5pbXBvcnQgeyBHdXR0ZXJCcmVha3BvaW50cywgR3V0dGVycywgSUd1dHRlciwgSUd1dHRlck9iamVjdCB9IGZyb20gJy4vZ3V0dGVyLnR5cGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZ3V0dGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgR3V0dGVyRGlyZWN0aXZlIGltcGxlbWVudHMgSUd1dHRlciB7XG4gIC8qKlxuICAgKiBEZWZpbmUgcGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMgdG8gc3BhY2UgYW5kIGFsaWduIGNvbnRlbnQgcmVzcG9uc2l2ZWx5IGluIHRoZSBCb290c3RyYXAgZ3JpZCBzeXN0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBndXR0ZXI6IElHdXR0ZXJPYmplY3QgfCBHdXR0ZXJCcmVha3BvaW50cyB8IEd1dHRlcnMgPSB7fTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgbGV0IGd1dHRlckNsYXNzOiBhbnk7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuZ3V0dGVyID09PSAnbnVtYmVyJykge1xuICAgICAgZ3V0dGVyQ2xhc3MgPSBHdXR0ZXJEaXJlY3RpdmUuZ2V0R3V0dGVyQ2xhc3Nlcyh7IGc6IHRoaXMuZ3V0dGVyIH0pO1xuICAgICAgcmV0dXJuIGd1dHRlckNsYXNzO1xuICAgIH1cblxuICAgIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHsgZywgZ3gsIGd5IH0gPSB7IC4uLnRoaXMuZ3V0dGVyIH07XG4gICAgICBndXR0ZXJDbGFzcyA9IEd1dHRlckRpcmVjdGl2ZS5nZXRHdXR0ZXJDbGFzc2VzKHsgZywgZ3gsIGd5IH0pO1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKEJyZWFrcG9pbnRJbmZpeCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBndXR0ZXIgPSB0aGlzLmd1dHRlcltrZXldID8geyAuLi50aGlzLmd1dHRlcltrZXldIH0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoZ3V0dGVyKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBHdXR0ZXJEaXJlY3RpdmUuZ2V0R3V0dGVyQ2xhc3NlcyhndXR0ZXIsIGtleSk7XG4gICAgICAgIGd1dHRlckNsYXNzID0geyAuLi5ndXR0ZXJDbGFzcywgLi4uY2xhc3NlcyB9O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBndXR0ZXJDbGFzcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEd1dHRlckNsYXNzZXMoZ3V0dGVyOiBJR3V0dGVyT2JqZWN0LCBicmVha3BvaW50Pzogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCB7IGcsIGd4LCBneSB9ID0geyAuLi5ndXR0ZXIgfTtcbiAgICBjb25zdCBpbmZpeCA9IGJyZWFrcG9pbnQgPyBgLSR7YnJlYWtwb2ludH1gIDogJyc7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtgZyR7aW5maXh9LSR7Z31gXTogdHlwZW9mIGcgPT09ICdudW1iZXInLFxuICAgICAgW2BneCR7aW5maXh9LSR7Z3h9YF06IHR5cGVvZiBneCA9PT0gJ251bWJlcicsXG4gICAgICBbYGd5JHtpbmZpeH0tJHtneX1gXTogdHlwZW9mIGd5ID09PSAnbnVtYmVyJ1xuICAgIH07XG4gIH1cbn1cbiJdfQ==