UNPKG

nsrtm-gestionarchivo-npm-prueba2

Version:

Proyecto de Libreria Frontend para la Gestión de Archivos

118 lines 13.5 kB
/** * @description componente boton usando las clases de bootstrap * @version 1.0.0 */ import { Component, Input, ChangeDetectionStrategy, HostBinding, } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class NsrtmButtonComponent { constructor() { this.texto = 'Aceptar'; this.disabled = false; this.loading = false; this.loadingTexto = 'Guardado...'; this.esIcono = false; this.icon = 'save'; // icono feather this.color = 'primary'; // por ahora estos colores this.variant = 'flat'; // variantes del boton this.size = 'medium'; this.classes = ''; // clases adicionales this.block = false; // ajusta el width al 100% de su contenedor } get pEvents() { if (this.disabled) { return 'none'; } return 'auto'; } get pDisplay() { if (this.block) { return 'block'; } return 'inline-block'; } getClasses() { const classes = ['btn']; // clase para variant const classVariant = this.getClassVariantColor(this.variant); if (classVariant) classes.push(classVariant); // clase para size const classSize = this.getClassSize(this.size); if (classSize) classes.push(classSize); if (this.esIcono) classes.push('btn-icon'); if (this.block) classes.push('w-100 d-flex'); if (this.classes.trim().length > 0) classes.push(this.classes); return classes.join(' '); } getClassVariantColor(variant) { if (variant === 'outlined') { return `btn-outline-${this.color}`; } // flat variant return `btn-${this.color}`; } getClassSize(size) { switch (size) { case 'small': return 'btn-sm'; case 'large': return 'btn-lg'; default: return ''; } } get localTexto() { if (this.esIcono) return ''; return this.texto; } get isDisabled() { return this.loading || this.disabled; } get isIcon() { return typeof this.icon === 'string' && this.icon.trim().length > 0; } get localDisabled() { return this.loading; } } NsrtmButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NsrtmButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); NsrtmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NsrtmButtonComponent, selector: "nsrtm-button", inputs: { texto: "texto", disabled: "disabled", loading: "loading", loadingTexto: "loadingTexto", esIcono: "esIcono", icon: "icon", color: "color", variant: "variant", size: "size", classes: "classes", block: "block" }, host: { properties: { "style.pointer-events": "this.pEvents", "style.display": "this.pDisplay" } }, ngImport: i0, template: "<button type=\"button\" [class]=\"getClasses()\" [disabled]=\"isDisabled\">\r\n\t<span *ngIf=\"isIcon\" [class]=\"['feather', 'icon-' + icon]\"></span>\r\n\r\n\t<span [class]=\"{ 'ms-1': localTexto }\">{{\r\n\t\tloading ? loadingTexto : localTexto\r\n\t}}</span>\r\n\r\n\t<ng-container *ngIf=\"loading\">\r\n\t\t<span class=\"spinner-border spinner-border-sm ms-1\" role=\"status\"></span>\r\n\t</ng-container>\r\n</button>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NsrtmButtonComponent, decorators: [{ type: Component, args: [{ selector: 'nsrtm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" [class]=\"getClasses()\" [disabled]=\"isDisabled\">\r\n\t<span *ngIf=\"isIcon\" [class]=\"['feather', 'icon-' + icon]\"></span>\r\n\r\n\t<span [class]=\"{ 'ms-1': localTexto }\">{{\r\n\t\tloading ? loadingTexto : localTexto\r\n\t}}</span>\r\n\r\n\t<ng-container *ngIf=\"loading\">\r\n\t\t<span class=\"spinner-border spinner-border-sm ms-1\" role=\"status\"></span>\r\n\t</ng-container>\r\n</button>\r\n" }] }], propDecorators: { texto: [{ type: Input }], disabled: [{ type: Input }], loading: [{ type: Input }], loadingTexto: [{ type: Input }], esIcono: [{ type: Input }], icon: [{ type: Input }], color: [{ type: Input }], variant: [{ type: Input }], size: [{ type: Input }], classes: [{ type: Input }], block: [{ type: Input }], pEvents: [{ type: HostBinding, args: ['style.pointer-events'] }], pDisplay: [{ type: HostBinding, args: ['style.display'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnNydG0tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2FyY2hpdm8vbnNydG0tZ2VzdGlvbmFyY2hpdm8tbnBtL3NyYy9hcHAvc2hhcmVkL3VpL25zcnRtLWJ1dHRvbi9uc3J0bS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vYXJjaGl2by9uc3J0bS1nZXN0aW9uYXJjaGl2by1ucG0vc3JjL2FwcC9zaGFyZWQvdWkvbnNydG0tYnV0dG9uL25zcnRtLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsV0FBVyxHQUNYLE1BQU0sZUFBZSxDQUFDOzs7QUFxQnZCLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVSxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixpQkFBWSxHQUFHLGFBQWEsQ0FBQztRQUM3QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxnQkFBZ0I7UUFDL0IsVUFBSyxHQUFXLFNBQVMsQ0FBQyxDQUFDLDBCQUEwQjtRQUNyRCxZQUFPLEdBQWEsTUFBTSxDQUFDLENBQUMsc0JBQXNCO1FBQ2xELFNBQUksR0FBVSxRQUFRLENBQUM7UUFDdkIsWUFBTyxHQUFXLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUMzQyxVQUFLLEdBQVksS0FBSyxDQUFDLENBQUMsMkNBQTJDO0tBeUU1RTtJQXZFQSxJQUF5QyxPQUFPO1FBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLE1BQU0sQ0FBQztTQUNkO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFD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O3NCQUF6QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGRlc2NyaXB0aW9uIGNvbXBvbmVudGUgYm90b24gdXNhbmRvIGxhcyBjbGFzZXMgZGUgYm9vdHN0cmFwXHJcbiAqIEB2ZXJzaW9uIDEuMC4wXHJcbiAqL1xyXG5cclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0SW5wdXQsXHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0SG9zdEJpbmRpbmcsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG50eXBlIElDb2xvciA9XHJcblx0fCAncHJpbWFyeSdcclxuXHR8ICdzZWNvbmRhcnknXHJcblx0fCAnc3VjY2VzcydcclxuXHR8ICd3YXJuaW5nJ1xyXG5cdHwgJ2RhbmdlcidcclxuXHR8ICdpbmZvJ1xyXG5cdHwgJ2xpZ2h0J1xyXG5cdHwgJ2RhcmsnO1xyXG5cclxudHlwZSBJVmFyaWFudCA9ICdmbGF0JyB8ICdvdXRsaW5lZCc7XHJcblxyXG50eXBlIElTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbnNydG0tYnV0dG9uJyxcclxuXHR0ZW1wbGF0ZVVybDogJ25zcnRtLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOc3J0bUJ1dHRvbkNvbXBvbmVudCB7XHJcblx0QElucHV0KCkgdGV4dG8gPSAnQWNlcHRhcic7XHJcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XHJcblx0QElucHV0KCkgbG9hZGluZ1RleHRvID0gJ0d1YXJkYWRvLi4uJztcclxuXHRASW5wdXQoKSBlc0ljb25vID0gZmFsc2U7XHJcblx0QElucHV0KCkgaWNvbiA9ICdzYXZlJzsgLy8gaWNvbm8gZmVhdGhlclxyXG5cdEBJbnB1dCgpIGNvbG9yOiBJQ29sb3IgPSAncHJpbWFyeSc7IC8vIHBvciBhaG9yYSBlc3RvcyBjb2xvcmVzXHJcblx0QElucHV0KCkgdmFyaWFudDogSVZhcmlhbnQgPSAnZmxhdCc7IC8vIHZhcmlhbnRlcyBkZWwgYm90b25cclxuXHRASW5wdXQoKSBzaXplOiBJU2l6ZSA9ICdtZWRpdW0nO1xyXG5cdEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZyA9ICcnOyAvLyBjbGFzZXMgYWRpY2lvbmFsZXNcclxuXHRASW5wdXQoKSBibG9jazogYm9vbGVhbiA9IGZhbHNlOyAvLyBhanVzdGEgZWwgd2lkdGggYWwgMTAwJSBkZSBzdSBjb250ZW5lZG9yXHJcblxyXG5cdEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBnZXQgcEV2ZW50cygpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuXHRcdFx0cmV0dXJuICdub25lJztcclxuXHRcdH1cclxuXHRcdHJldHVybiAnYXV0byc7XHJcblx0fVxyXG5cclxuXHRASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBnZXQgcERpc3BsYXkoKTogc3RyaW5nIHtcclxuXHRcdGlmICh0aGlzLmJsb2NrKSB7XHJcblx0XHRcdHJldHVybiAnYmxvY2snO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICdpbmxpbmUtYmxvY2snO1xyXG5cdH1cclxuXHJcblx0Z2V0Q2xhc3NlcygpIHtcclxuXHRcdGNvbnN0IGNsYXNzZXMgPSBbJ2J0biddO1xyXG5cclxuXHRcdC8vIGNsYXNlIHBhcmEgdmFyaWFudFxyXG5cdFx0Y29uc3QgY2xhc3NWYXJpYW50ID0gdGhpcy5nZXRDbGFzc1ZhcmlhbnRDb2xvcih0aGlzLnZhcmlhbnQpO1xyXG5cdFx0aWYgKGNsYXNzVmFyaWFudCkgY2xhc3Nlcy5wdXNoKGNsYXNzVmFyaWFudCk7XHJcblxyXG5cdFx0Ly8gY2xhc2UgcGFyYSBzaXplXHJcblx0XHRjb25zdCBjbGFzc1NpemUgPSB0aGlzLmdldENsYXNzU2l6ZSh0aGlzLnNpemUpO1xyXG5cdFx0aWYgKGNsYXNzU2l6ZSkgY2xhc3Nlcy5wdXNoKGNsYXNzU2l6ZSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuZXNJY29ubykgY2xhc3Nlcy5wdXNoKCdidG4taWNvbicpO1xyXG5cclxuXHRcdGlmICh0aGlzLmJsb2NrKSBjbGFzc2VzLnB1c2goJ3ctMTAwIGQtZmxleCcpO1xyXG5cclxuXHRcdGlmICh0aGlzLmNsYXNzZXMudHJpbSgpLmxlbmd0aCA+IDApIGNsYXNzZXMucHVzaCh0aGlzLmNsYXNzZXMpO1xyXG5cclxuXHRcdHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0Q2xhc3NWYXJpYW50Q29sb3IodmFyaWFudDogSVZhcmlhbnQpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHZhcmlhbnQgPT09ICdvdXRsaW5lZCcpIHtcclxuXHRcdFx0cmV0dXJuIGBidG4tb3V0bGluZS0ke3RoaXMuY29sb3J9YDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBmbGF0IHZhcmlhbnRcclxuXHRcdHJldHVybiBgYnRuLSR7dGhpcy5jb2xvcn1gO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZXRDbGFzc1NpemUoc2l6ZTogSVNpemUpIHtcclxuXHRcdHN3aXRjaCAoc2l6ZSkge1xyXG5cdFx0XHRjYXNlICdzbWFsbCc6XHJcblx0XHRcdFx0cmV0dXJuICdidG4tc20nO1xyXG5cdFx0XHRjYXNlICdsYXJnZSc6XHJcblx0XHRcdFx0cmV0dXJuICdidG4tbGcnO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldCBsb2NhbFRleHRvKCkge1xyXG5cdFx0aWYgKHRoaXMuZXNJY29ubykgcmV0dXJuICcnO1xyXG5cclxuXHRcdHJldHVybiB0aGlzLnRleHRvO1xyXG5cdH1cclxuXHJcblx0Z2V0IGlzRGlzYWJsZWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sb2FkaW5nIHx8IHRoaXMuZGlzYWJsZWQ7XHJcblx0fVxyXG5cclxuXHRnZXQgaXNJY29uKCkge1xyXG5cdFx0cmV0dXJuIHR5cGVvZiB0aGlzLmljb24gPT09ICdzdHJpbmcnICYmIHRoaXMuaWNvbi50cmltKCkubGVuZ3RoID4gMDtcclxuXHR9XHJcblxyXG5cdGdldCBsb2NhbERpc2FibGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMubG9hZGluZztcclxuXHR9XHJcbn1cclxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2NsYXNzXT1cImdldENsYXNzZXMoKVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCI+XHJcblx0PHNwYW4gKm5nSWY9XCJpc0ljb25cIiBbY2xhc3NdPVwiWydmZWF0aGVyJywgJ2ljb24tJyArIGljb25dXCI+PC9zcGFuPlxyXG5cclxuXHQ8c3BhbiBbY2xhc3NdPVwieyAnbXMtMSc6IGxvY2FsVGV4dG8gfVwiPnt7XHJcblx0XHRsb2FkaW5nID8gbG9hZGluZ1RleHRvIDogbG9jYWxUZXh0b1xyXG5cdH19PC9zcGFuPlxyXG5cclxuXHQ8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSBtcy0xXCIgcm9sZT1cInN0YXR1c1wiPjwvc3Bhbj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbiJdfQ==