@coreui/angular
Version:
CoreUI for Angular UI components library
65 lines • 7.06 kB
JavaScript
import { Directive, HostBinding, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class RoundedDirective {
constructor() {
/**
* Set border radius variant and radius size
* @type Rounded
*/
this.rounded = true;
}
get hostClasses() {
if (typeof this.rounded === 'boolean') {
return { rounded: true };
}
if (typeof this.rounded === 'number' || typeof this.rounded === 'string') {
return {
[`rounded-${this.rounded}`]: true
};
}
if (typeof this.rounded === 'object') {
const roundedObj = {
top: undefined,
end: undefined,
bottom: undefined,
start: undefined,
circle: undefined,
pill: undefined,
size: undefined,
...this.rounded,
};
// @ts-ignore
const keys = Object.keys(roundedObj).filter(key => roundedObj[key] !== undefined);
const classes = {};
keys.forEach(key => {
// @ts-ignore
const val = roundedObj[key];
if (typeof val === 'boolean') {
// @ts-ignore
classes[`rounded-${key}`] = val;
}
else {
// @ts-ignore
classes[`rounded-${val}`] = true;
}
});
// console.log('rounded keys', keys, classes);
return Object.entries(classes).length === 0 ? { rounded: false } : classes;
}
}
}
RoundedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RoundedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
RoundedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RoundedDirective, selector: "[cRounded]", inputs: { rounded: ["cRounded", "rounded"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RoundedDirective, decorators: [{
type: Directive,
args: [{
selector: '[cRounded]'
}]
}], propDecorators: { rounded: [{
type: Input,
args: ['cRounded']
}], hostClasses: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3V0aWxpdGllcy9yb3VuZGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTlELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFLRTs7O1dBR0c7UUFDZ0IsWUFBTyxHQUFZLElBQUksQ0FBQztLQTBDNUM7SUF4Q0MsSUFDSSxXQUFXO1FBRWIsSUFBSyxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFHO1lBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRztZQUMxRSxPQUFPO2dCQUNMLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJO2FBQ2xDLENBQUM7U0FDSDtRQUNELElBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRztZQUN0QyxNQUFNLFVBQVUsR0FBRztnQkFDakIsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDO1lBQ0YsYUFBYTtZQUNiLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBRSxDQUFDO1lBQ25GLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQixhQUFhO2dCQUNiLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxTQUFTLEVBQUU7b0JBQzVCLGFBQWE7b0JBQ2IsT0FBTyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNMLGFBQWE7b0JBQ2IsT0FBTyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCw4Q0FBOEM7WUFDOUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUU7SUFDSCxDQUFDOzs4R0EvQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtpQkFDdkI7OEJBT29CLE9BQU87c0JBQXpCLEtBQUs7dUJBQUMsVUFBVTtnQkFHYixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdW5kZWQsIFJvdW5kZWRTaXplIH0gZnJvbSAnLi9yb3VuZGVkLnR5cGUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY1JvdW5kZWRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91bmRlZERpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBib3JkZXIgcmFkaXVzIHZhcmlhbnQgYW5kIHJhZGl1cyBzaXplXHJcbiAgICogQHR5cGUgUm91bmRlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgnY1JvdW5kZWQnKSByb3VuZGVkOiBSb3VuZGVkID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XHJcblxyXG4gICAgaWYgKCB0eXBlb2YgdGhpcy5yb3VuZGVkID09PSAnYm9vbGVhbicgKSB7XHJcbiAgICAgIHJldHVybiB7IHJvdW5kZWQ6IHRydWUgfTtcclxuICAgIH1cclxuICAgIGlmICggdHlwZW9mIHRoaXMucm91bmRlZCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHRoaXMucm91bmRlZCA9PT0gJ3N0cmluZycgKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2Byb3VuZGVkLSR7dGhpcy5yb3VuZGVkfWBdOiB0cnVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoIHR5cGVvZiB0aGlzLnJvdW5kZWQgPT09ICdvYmplY3QnICkge1xyXG4gICAgICBjb25zdCByb3VuZGVkT2JqID0ge1xyXG4gICAgICAgIHRvcDogdW5kZWZpbmVkLFxyXG4gICAgICAgIGVuZDogdW5kZWZpbmVkLFxyXG4gICAgICAgIGJvdHRvbTogdW5kZWZpbmVkLFxyXG4gICAgICAgIHN0YXJ0OiB1bmRlZmluZWQsXHJcbiAgICAgICAgY2lyY2xlOiB1bmRlZmluZWQsXHJcbiAgICAgICAgcGlsbDogdW5kZWZpbmVkLFxyXG4gICAgICAgIHNpemU6IHVuZGVmaW5lZCxcclxuICAgICAgICAuLi50aGlzLnJvdW5kZWQsXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJvdW5kZWRPYmopLmZpbHRlcihrZXkgPT4gcm91bmRlZE9ialtrZXldICE9PSB1bmRlZmluZWQgKTtcclxuICAgICAgY29uc3QgY2xhc3NlcyA9IHt9O1xyXG4gICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgY29uc3QgdmFsID0gcm91bmRlZE9ialtrZXldO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGNsYXNzZXNbYHJvdW5kZWQtJHtrZXl9YF0gPSB2YWw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGNsYXNzZXNbYHJvdW5kZWQtJHt2YWx9YF0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdyb3VuZGVkIGtleXMnLCBrZXlzLCBjbGFzc2VzKTtcclxuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNsYXNzZXMpLmxlbmd0aCA9PT0gMCA/IHtyb3VuZGVkOiBmYWxzZX0gOiBjbGFzc2VzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=