lct-components
Version:
LCT basic components
109 lines • 17.3 kB
JavaScript
import { Component, Input, ViewChild } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class ButtonComponent {
constructor(renderer) {
this.renderer = renderer;
this.title = 'Insert Title';
this.buttonType = 'primary';
this.disabled = 'false';
this.shape = 'normal';
this.icon = '';
this.width = '';
this.height = '';
this.bold = 'false';
this.iconWidth = 30;
this.iconHeight = 30;
this.counter = -1;
this.id = ''; // ID en Button Opcional
this.disabledValue = false;
this.boldValue = false;
}
// Propiedad calculada para generar el id dinámico
get buttonId() {
return this.id ? `btn-${this.id}` : null;
}
ngAfterViewInit() {
var _a, _b;
this.renderButtonType();
if (this.width) {
this.renderer.setStyle((_a = this.button) === null || _a === void 0 ? void 0 : _a.nativeElement, 'width', this.width);
}
if (this.height) {
this.renderer.setStyle((_b = this.button) === null || _b === void 0 ? void 0 : _b.nativeElement, 'height', this.height);
}
}
ngOnInit() {
if (this.disabled === true || this.disabled == 'true' || this.disabled === '') {
this.disabledValue = true;
}
else {
this.disabledValue = false;
}
if (this.bold === true || this.bold == 'true') {
this.boldValue = true;
}
else {
this.boldValue = false;
}
}
ngOnChanges(changes) {
var _a, _b, _c;
if (changes['buttonType'] && !changes['buttonType'].firstChange) {
this.buttonType = (_a = changes.buttonType) === null || _a === void 0 ? void 0 : _a.currentValue;
this.renderer.removeClass((_b = this.button) === null || _b === void 0 ? void 0 : _b.nativeElement, (_c = changes.buttonType) === null || _c === void 0 ? void 0 : _c.previousValue);
this.renderButtonType();
}
else if (changes['disabled'] && !changes['disabled'].firstChange) {
console.log('disabled:', changes);
if (changes['disabled'].currentValue === true || changes['disabled'].currentValue == 'true' || changes['disabled'].currentValue === '') {
this.disabledValue = true;
}
else {
this.disabledValue = false;
}
}
}
renderButtonType() {
var _a;
this.renderer.addClass((_a = this.button) === null || _a === void 0 ? void 0 : _a.nativeElement, this.buttonType);
}
}
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ButtonComponent, selector: "lct-button", inputs: { title: "title", buttonType: "buttonType", disabled: "disabled", shape: "shape", icon: "icon", width: "width", height: "height", bold: "bold", iconWidth: "iconWidth", iconHeight: "iconHeight", counter: "counter", id: "id" }, viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{'containerBtnRound': shape==='round'}\">\n <button [attr.id]=\"buttonId\" [disabled]=\"disabledValue\" #button [ngClass]=\"{'button-round': shape==='round'}\" [ngStyle]=\"{'padding': title && shape==='normal' ? '0px 14px': ''}\" >\n <img\n *ngIf=\"icon\" [ngClass]=\"{'counterAndIconImg': counter >= 0 && icon}\"\n [width]=\"iconWidth\"\n [height]=\"iconHeight\"\n [ngStyle]=\"{'margin-right': title ? '8px': ''}\" [src]=\"icon\" alt=\"icon\">\n <span *ngIf=\"title\"\n [ngClass]=\"{'counterOn': counter >= 0 && !icon, 'counterAndIconTxt': counter >= 0 && icon}\"\n >{{shape==='normal' ? title : ''}}</span>\n <span *ngIf=\"counter >= 0\" class=\"btnCounter\">{{counter}}</span>\n </button>\n <span *ngIf=\"shape==='round'\"\n [class.fw-bold]=\"boldValue\"\n class=\"titleBtnRound\"\n >{{title}}</span>\n</div>\n", styles: [".containerBtnRound{display:flex;flex-direction:column;justify-content:center;align-items:center}button{width:100%;height:40px;border-radius:8px;border:1px solid #C2C2C2;background-color:#c8ccd4;font-size:14px;letter-spacing:0;line-height:18px;font-family:\"Barlow\",serif;cursor:pointer}button:disabled{cursor:not-allowed;background-color:#c8ccd4;color:#fff;font-weight:unset}button:not([disabled]):active img{filter:hue-rotate(10deg) saturate(.5) brightness(390%) saturate(4)}.button-round{height:44px;width:44px;border-radius:22px;padding:0!important}.button-round img{margin:0!important;width:28px;height:28px}.titleBtnRound{color:#3c4149;font-size:13px;font-style:normal;font-weight:400;line-height:14px;margin-top:6px}.primary{background-color:#2649b6;color:#fff;font-weight:bold}.primary:not([disabled]):active{background:#2A5AED}@media (hover: hover){.primary:not([disabled]):hover{background:#2A5AED}}.secondary{box-sizing:border-box;border:1px solid #2649B6;background-color:#fff;color:#2649b6}.secondary:disabled{border:0}.secondary:not([disabled]):active{background:#2A5AED;color:#fff}@media (hover: hover){.secondary:not([disabled]):hover{border:1px solid #2A5AED;color:#2a5aed}.secondary:active{color:#fff!important}}.counterOn{position:relative;float:left;left:12px}.btnCounter{background-color:#fff;color:#2649b6;position:relative;right:12px;float:right;padding:.1rem .4rem;border:1px solid #2649B6;border-radius:2px}.counterAndIconTxt{position:relative;vertical-align:middle}.counterAndIconImg{vertical-align:middle;position:relative;float:left;left:12px}.tertiary{box-sizing:border-box;background-color:#6a80b1;color:#fff}.tertiary:disabled{border:0}.tertiary:not([disabled]):hover{border:1px solid #2649B6}.tertiary:not([disabled]):active{background:#809AD2}.quaternary{box-sizing:border-box;border:1px solid #2649B6;background-color:#223359;color:#fff}.quaternary:disabled{border:0}.quaternary:not([disabled]):active{background-color:#2a5aed;color:#fff}@media (hover: hover){.quaternary:not([disabled]):hover{background-color:#fff;border:1px solid #223359;color:#223359}}.quintary{box-sizing:border-box;border:1px solid #a2a2a2;background-color:#fff;color:#000;font-weight:bold}.quintary:disabled{border:0}.quintary:not([disabled]):active{background:#a2a2a2;color:#fff}@media (hover: hover){.quintary:not([disabled]):hover{border:1px solid #a2a2a2;color:#000}.quintary:active{color:#fff!important}}.sextary{box-sizing:border-box;border:1px solid #F1F2F4;background-color:#f1f2f4;color:#151618;font-weight:bold}.sextary:disabled{border:0}.sextary:not([disabled]):active{background:#a2a2a2;color:#fff}@media (hover: hover){.sextary:not([disabled]):hover{border:1px solid #a2a2a2;color:#000}.sextary:active{color:#fff!important}}.error{background-color:#c60e4c;color:#fff}.success{background-color:#8cba37;color:#fff}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ButtonComponent, decorators: [{
type: Component,
args: [{
selector: 'lct-button',
templateUrl: './button.component.html',
styleUrls: ['./button.component.scss']
}]
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { title: [{
type: Input
}], buttonType: [{
type: Input
}], disabled: [{
type: Input
}], shape: [{
type: Input
}], icon: [{
type: Input
}], width: [{
type: Input
}], height: [{
type: Input
}], bold: [{
type: Input
}], iconWidth: [{
type: Input
}], iconHeight: [{
type: Input
}], counter: [{
type: Input
}], id: [{
type: Input
}], button: [{
type: ViewChild,
args: ['button']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xjdC1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sY3QtY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBS0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLGVBQWU7SUFzQjFCLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFyQjlCLFVBQUssR0FBRyxjQUFjLENBQUE7UUFDdEIsZUFBVSxHQUF1RyxTQUFTLENBQUE7UUFDMUgsYUFBUSxHQUFnRCxPQUFPLENBQUM7UUFDaEUsVUFBSyxHQUF1QixRQUFRLENBQUM7UUFDckMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osU0FBSSxHQUErQixPQUFPLENBQUM7UUFDM0MsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxDQUFDLENBQUMsQ0FBQztRQUNyQixPQUFFLEdBQVksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBRW5ELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFPeUIsQ0FBQztJQUw1QyxrREFBa0Q7SUFDbEQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7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QUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDZSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0aXRsZSA9ICdJbnNlcnQgVGl0bGUnXG4gIEBJbnB1dCgpIGJ1dHRvblR5cGU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyB8ICdxdWF0ZXJuYXJ5JyB8ICdxdWludGFyeScgfCAnc2V4dGFyeScgfCAnZXJyb3InIHwgJ3N1Y2Nlc3MnID0gJ3ByaW1hcnknXG4gIEBJbnB1dCgpIGRpc2FibGVkOiAndHJ1ZScgfCAnZmFsc2UnIHwgJ2Rpc2FibGVkJ3wgYm9vbGVhbiB8ICcnID0gJ2ZhbHNlJztcbiAgQElucHV0KCkgc2hhcGU6ICdub3JtYWwnIHwgJ3JvdW5kJyA9ICdub3JtYWwnO1xuICBASW5wdXQoKSBpY29uID0gJyc7XG4gIEBJbnB1dCgpIHdpZHRoID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodCA9ICcnO1xuICBASW5wdXQoKSBib2xkOiAndHJ1ZScgfCAnZmFsc2UnIHwgYm9vbGVhbiA9ICdmYWxzZSc7XG4gIEBJbnB1dCgpIGljb25XaWR0aDogbnVtYmVyID0gMzA7XG4gIEBJbnB1dCgpIGljb25IZWlnaHQ6IG51bWJlciA9IDMwO1xuICBASW5wdXQoKSBjb3VudGVyOiBudW1iZXIgPSAtMTtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmcgPSAnJzsgLy8gSUQgZW4gQnV0dG9uIE9wY2lvbmFsXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIGJ1dHRvbjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgZGlzYWJsZWRWYWx1ZSA9IGZhbHNlO1xuICBib2xkVmFsdWUgPSBmYWxzZTtcblxuICAvLyBQcm9waWVkYWQgY2FsY3VsYWRhIHBhcmEgZ2VuZXJhciBlbCBpZCBkaW7DoW1pY29cbiAgZ2V0IGJ1dHRvbklkKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmlkID8gYGJ0bi0ke3RoaXMuaWR9YCA6IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgIHRoaXMucmVuZGVyQnV0dG9uVHlwZSgpO1xuICAgIGlmICh0aGlzLndpZHRoKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYnV0dG9uPy5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCB0aGlzLndpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5idXR0b24/Lm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCB0aGlzLmhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQ9PT0gdHJ1ZSB8fCB0aGlzLmRpc2FibGVkID09ICd0cnVlJyB8fCB0aGlzLmRpc2FibGVkID09PSAnJyl7XG4gICAgICB0aGlzLmRpc2FibGVkVmFsdWUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGVkVmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYm9sZD09PSB0cnVlIHx8IHRoaXMuYm9sZCA9PSAndHJ1ZScpe1xuICAgICAgdGhpcy5ib2xkVmFsdWUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJvbGRWYWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snYnV0dG9uVHlwZSddICYmICFjaGFuZ2VzWydidXR0b25UeXBlJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuYnV0dG9uVHlwZSA9IGNoYW5nZXMuYnV0dG9uVHlwZT8uY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmJ1dHRvbj8ubmF0aXZlRWxlbWVudCwgY2hhbmdlcy5idXR0b25UeXBlPy5wcmV2aW91c1ZhbHVlKTtcbiAgICAgIHRoaXMucmVuZGVyQnV0dG9uVHlwZSgpO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSAmJiAhY2hhbmdlc1snZGlzYWJsZWQnXS5maXJzdENoYW5nZSkge1xuICAgICAgY29uc29sZS5sb2coJ2Rpc2FibGVkOicsIGNoYW5nZXMpO1xuICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlID09PSB0cnVlIHx8IGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlID09ICd0cnVlJyB8fCBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA9PT0gJycpe1xuICAgICAgICB0aGlzLmRpc2FibGVkVmFsdWUgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZFZhbHVlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyQnV0dG9uVHlwZSgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYnV0dG9uPy5uYXRpdmVFbGVtZW50LCB0aGlzLmJ1dHRvblR5cGUpO1xuICB9XG5cblxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ7J2NvbnRhaW5lckJ0blJvdW5kJzogc2hhcGU9PT0ncm91bmQnfVwiPlxuICA8YnV0dG9uIFthdHRyLmlkXT1cImJ1dHRvbklkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkVmFsdWVcIiAjYnV0dG9uIFtuZ0NsYXNzXT1cInsnYnV0dG9uLXJvdW5kJzogc2hhcGU9PT0ncm91bmQnfVwiIFtuZ1N0eWxlXT1cInsncGFkZGluZyc6IHRpdGxlICYmIHNoYXBlPT09J25vcm1hbCcgPyAnMHB4IDE0cHgnOiAnJ31cIiA+XG4gICAgPGltZ1xuICAgICAgKm5nSWY9XCJpY29uXCIgW25nQ2xhc3NdPVwieydjb3VudGVyQW5kSWNvbkltZyc6IGNvdW50ZXIgPj0gMCAmJiBpY29ufVwiXG4gICAgICBbd2lkdGhdPVwiaWNvbldpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaWNvbkhlaWdodFwiXG4gICAgICBbbmdTdHlsZV09XCJ7J21hcmdpbi1yaWdodCc6IHRpdGxlID8gJzhweCc6ICcnfVwiIFtzcmNdPVwiaWNvblwiIGFsdD1cImljb25cIj5cbiAgICA8c3BhbiAqbmdJZj1cInRpdGxlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvdW50ZXJPbic6IGNvdW50ZXIgPj0gMCAmJiAhaWNvbiwgJ2NvdW50ZXJBbmRJY29uVHh0JzogY291bnRlciA+PSAwICYmIGljb259XCJcbiAgICA+e3tzaGFwZT09PSdub3JtYWwnID8gdGl0bGUgOiAnJ319PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiY291bnRlciA+PSAwXCIgY2xhc3M9XCJidG5Db3VudGVyXCI+e3tjb3VudGVyfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8c3BhbiAqbmdJZj1cInNoYXBlPT09J3JvdW5kJ1wiXG4gICAgICAgIFtjbGFzcy5mdy1ib2xkXT1cImJvbGRWYWx1ZVwiXG4gICAgICAgIGNsYXNzPVwidGl0bGVCdG5Sb3VuZFwiXG4gID57e3RpdGxlfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==