ngx-obelisco-example
Version:
Componentes funcionales y reutilizables para Angular.
77 lines • 13.8 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/router";
export class OButtonComponent {
constructor() {
this.type = 'primary';
this.isOutline = false;
this.size = 'md';
this.isExpandable = false;
this.hasIcon = false;
this.hasSpinner = false;
this.customClasses = '';
}
getSpinnerType() {
const spinnerTypeMappings = {
primary: 'dark',
link: 'info',
danger: 'danger',
success: 'success',
secondary: 'secondary'
};
if ((this.type === 'secondary' || this.type === 'danger' || this.type === 'success') && !this.isOutline) {
return 'light';
}
return spinnerTypeMappings[this.type];
}
getClassNames() {
const sizeClass = this.size !== 'md' ? ' btn-' + this.size : '';
const outlineClass = this.isOutline ? ' btn-outline-' + this.type : ' btn-' + this.type;
const expandableClass = this.isExpandable ? ' btn-block' : '';
const iconClass = this.hasIcon ? ' btn-icon' : '';
const customClass = this.customClasses ? ' ' + this.customClasses : '';
return 'btn' + outlineClass + sizeClass + expandableClass + iconClass + customClass;
}
}
OButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
OButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OButtonComponent, selector: "o-button", inputs: { type: "type", isOutline: "isOutline", size: "size", isExpandable: "isExpandable", hasIcon: "hasIcon", hasSpinner: "hasSpinner", ariaLabel: "ariaLabel", customClasses: "customClasses", route: "route", link: "link", target: "target", download: "download", rel: "rel", isDisabled: "isDisabled", dataTarget: "dataTarget", dataToggle: "dataToggle", dataDismiss: "dataDismiss" }, ngImport: i0, template: "<ng-template #content><ng-content></ng-content></ng-template>\r\n<ng-container *ngIf=\"link || route || download || rel || target; else isButton\">\r\n <ng-container *ngIf=\"link || download || rel || target; else isRouterLink\">\r\n <a\r\n [ngClass]=\"getClassNames()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.download]=\"download\"\r\n [attr.rel]=\"rel ? rel : 'noreferrer'\"\r\n [attr.target]=\"target ? target : '_blank'\"\r\n [attr.href]=\"link ? link : '#'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n </ng-container>\r\n <ng-template #isRouterLink>\r\n <a [ngClass]=\"getClassNames()\" [attr.aria-label]=\"ariaLabel\" [routerLink]=\"route\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #isButton>\r\n <button\r\n type=\"button\"\r\n [ngClass]=\"getClassNames()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [disabled]=\"isDisabled ? true : null\"\r\n [attr.data-target]=\"dataTarget ? '#' + dataTarget : null\"\r\n [attr.data-toggle]=\"dataToggle\"\r\n [attr.data-dismiss]=\"dataDismiss\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OButtonComponent, decorators: [{
type: Component,
args: [{ selector: 'o-button', template: "<ng-template #content><ng-content></ng-content></ng-template>\r\n<ng-container *ngIf=\"link || route || download || rel || target; else isButton\">\r\n <ng-container *ngIf=\"link || download || rel || target; else isRouterLink\">\r\n <a\r\n [ngClass]=\"getClassNames()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.download]=\"download\"\r\n [attr.rel]=\"rel ? rel : 'noreferrer'\"\r\n [attr.target]=\"target ? target : '_blank'\"\r\n [attr.href]=\"link ? link : '#'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n </ng-container>\r\n <ng-template #isRouterLink>\r\n <a [ngClass]=\"getClassNames()\" [attr.aria-label]=\"ariaLabel\" [routerLink]=\"route\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #isButton>\r\n <button\r\n type=\"button\"\r\n [ngClass]=\"getClassNames()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [disabled]=\"isDisabled ? true : null\"\r\n [attr.data-target]=\"dataTarget ? '#' + dataTarget : null\"\r\n [attr.data-toggle]=\"dataToggle\"\r\n [attr.data-dismiss]=\"dataDismiss\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </button>\r\n</ng-template>\r\n" }]
}], propDecorators: { type: [{
type: Input
}], isOutline: [{
type: Input
}], size: [{
type: Input
}], isExpandable: [{
type: Input
}], hasIcon: [{
type: Input
}], hasSpinner: [{
type: Input
}], ariaLabel: [{
type: Input
}], customClasses: [{
type: Input
}], route: [{
type: Input
}], link: [{
type: Input
}], target: [{
type: Input
}], download: [{
type: Input
}], rel: [{
type: Input
}], isDisabled: [{
type: Input
}], dataTarget: [{
type: Input
}], dataToggle: [{
type: Input
}], dataDismiss: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9iZWxpc2NvL2J1dHRvbi9vLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtb2JlbGlzY28vYnV0dG9uL28tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpELE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNa0IsU0FBSSxHQUFnQixTQUFTLENBQUM7UUFDOUIsY0FBUyxHQUFhLEtBQUssQ0FBQztRQUM1QixTQUFJLEdBQVcsSUFBSSxDQUFDO1FBQ3BCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztLQW9DNUM7SUF2QkMsY0FBYztRQUNaLE1BQU0sbUJBQW1CLEdBQUc7WUFDMUIsT0FBTyxFQUFFLE1BQU07WUFDZixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFNBQVMsRUFBRSxXQUFXO1NBQ3ZCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkcsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4RixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sS0FBSyxHQUFHLFlBQVksR0FBRyxTQUFTLEdBQUcsZUFBZSxHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7SUFDdEYsQ0FBQzs7NkdBM0NVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGdiQ1I3QixzeUNBa0NBOzJGRDFCYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLSixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvblR5cGVzLCBTaXplcyB9IGZyb20gJ25neC1vYmVsaXNjby1leGFtcGxlL2NvcmUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnby1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vby1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT0J1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IEJ1dHRvblR5cGVzID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc091dGxpbmU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNpemU/OiBTaXplcyA9ICdtZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlzRXhwYW5kYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNJY29uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGhhc1NwaW5uZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYXJpYUxhYmVsPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHJvdXRlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW5rPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YXJnZXQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGRvd25sb2FkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWw/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YVRhcmdldD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YVRvZ2dsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YURpc21pc3M/OiBzdHJpbmc7XHJcblxyXG4gIGdldFNwaW5uZXJUeXBlKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzcGlubmVyVHlwZU1hcHBpbmdzID0ge1xyXG4gICAgICBwcmltYXJ5OiAnZGFyaycsXHJcbiAgICAgIGxpbms6ICdpbmZvJyxcclxuICAgICAgZGFuZ2VyOiAnZGFuZ2VyJyxcclxuICAgICAgc3VjY2VzczogJ3N1Y2Nlc3MnLFxyXG4gICAgICBzZWNvbmRhcnk6ICdzZWNvbmRhcnknXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICgodGhpcy50eXBlID09PSAnc2Vjb25kYXJ5JyB8fCB0aGlzLnR5cGUgPT09ICdkYW5nZXInIHx8IHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnKSAmJiAhdGhpcy5pc091dGxpbmUpIHtcclxuICAgICAgcmV0dXJuICdsaWdodCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Bpbm5lclR5cGVNYXBwaW5nc1t0aGlzLnR5cGVdO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NOYW1lcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2l6ZUNsYXNzID0gdGhpcy5zaXplICE9PSAnbWQnID8gJyBidG4tJyArIHRoaXMuc2l6ZSA6ICcnO1xyXG4gICAgY29uc3Qgb3V0bGluZUNsYXNzID0gdGhpcy5pc091dGxpbmUgPyAnIGJ0bi1vdXRsaW5lLScgKyB0aGlzLnR5cGUgOiAnIGJ0bi0nICsgdGhpcy50eXBlO1xyXG4gICAgY29uc3QgZXhwYW5kYWJsZUNsYXNzID0gdGhpcy5pc0V4cGFuZGFibGUgPyAnIGJ0bi1ibG9jaycgOiAnJztcclxuICAgIGNvbnN0IGljb25DbGFzcyA9IHRoaXMuaGFzSWNvbiA/ICcgYnRuLWljb24nIDogJyc7XHJcbiAgICBjb25zdCBjdXN0b21DbGFzcyA9IHRoaXMuY3VzdG9tQ2xhc3NlcyA/ICcgJyArIHRoaXMuY3VzdG9tQ2xhc3NlcyA6ICcnO1xyXG4gICAgcmV0dXJuICdidG4nICsgb3V0bGluZUNsYXNzICsgc2l6ZUNsYXNzICsgZXhwYW5kYWJsZUNsYXNzICsgaWNvbkNsYXNzICsgY3VzdG9tQ2xhc3M7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmsgfHwgcm91dGUgfHwgZG93bmxvYWQgfHwgcmVsIHx8IHRhcmdldDsgZWxzZSBpc0J1dHRvblwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaW5rIHx8IGRvd25sb2FkIHx8IHJlbCB8fCB0YXJnZXQ7IGVsc2UgaXNSb3V0ZXJMaW5rXCI+XHJcbiAgICA8YVxyXG4gICAgICBbbmdDbGFzc109XCJnZXRDbGFzc05hbWVzKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXHJcbiAgICAgIFthdHRyLmRvd25sb2FkXT1cImRvd25sb2FkXCJcclxuICAgICAgW2F0dHIucmVsXT1cInJlbCA/IHJlbCA6ICdub3JlZmVycmVyJ1wiXHJcbiAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXQgPyB0YXJnZXQgOiAnX2JsYW5rJ1wiXHJcbiAgICAgIFthdHRyLmhyZWZdPVwibGluayA/IGxpbmsgOiAnIydcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9hPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy10ZW1wbGF0ZSAjaXNSb3V0ZXJMaW5rPlxyXG4gICAgPGEgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIiBbcm91dGVyTGlua109XCJyb3V0ZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9hPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpc0J1dHRvbj5cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZXMoKVwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcclxuICAgIFthdHRyLmRhdGEtdGFyZ2V0XT1cImRhdGFUYXJnZXQgPyAnIycgKyBkYXRhVGFyZ2V0IDogbnVsbFwiXHJcbiAgICBbYXR0ci5kYXRhLXRvZ2dsZV09XCJkYXRhVG9nZ2xlXCJcclxuICAgIFthdHRyLmRhdGEtZGlzbWlzc109XCJkYXRhRGlzbWlzc1wiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19