gentera-rdnd 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,6 +3,7 @@ import { Component, Input, output } from '@angular/core';
|
|
|
3
3
|
import { FaIconComponent } from "@fortawesome/angular-fontawesome";
|
|
4
4
|
import { faBarsStaggered, faSignOut, faTimes } from "@fortawesome/free-solid-svg-icons";
|
|
5
5
|
import { NgStyle } from "@angular/common";
|
|
6
|
+
import { RouterLink } from "@angular/router";
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class RdndNavbarComponent {
|
|
8
9
|
// Icons
|
|
@@ -29,14 +30,15 @@ export class RdndNavbarComponent {
|
|
|
29
30
|
this.onSignOut.emit();
|
|
30
31
|
};
|
|
31
32
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndNavbarComponent, isStandalone: true, selector: "rdnd-navbar", inputs: { userName: "userName", imageUrl: "imageUrl", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onSignOut: "onSignOut" }, ngImport: i0, template: "
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndNavbarComponent, isStandalone: true, selector: "rdnd-navbar", inputs: { userName: "userName", imageUrl: "imageUrl", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onSignOut: "onSignOut" }, ngImport: i0, template: "<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n <div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if (imageUrl) {\r\n <a [routerLink]=\"['/']\">\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n </a>\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n", styles: ["nav{width:100%;height:40px;padding:0 16px}nav .rdnd-nav-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}nav .rdnd-nav-container a img{height:30px}nav .rdnd-nav-container button{appearance:none;cursor:pointer;background-color:transparent;border:0;outline:none;height:40px;width:40px;color:#fff;font-size:18px;transition:all .3s ease;border:1px solid red}nav .rdnd-nav-container button:hover{opacity:.6}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
33
34
|
}
|
|
34
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndNavbarComponent, decorators: [{
|
|
35
36
|
type: Component,
|
|
36
37
|
args: [{ selector: 'rdnd-navbar', standalone: true, imports: [
|
|
37
38
|
FaIconComponent,
|
|
38
|
-
NgStyle
|
|
39
|
-
|
|
39
|
+
NgStyle,
|
|
40
|
+
RouterLink
|
|
41
|
+
], template: "<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n <div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if (imageUrl) {\r\n <a [routerLink]=\"['/']\">\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n </a>\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n", styles: ["nav{width:100%;height:40px;padding:0 16px}nav .rdnd-nav-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}nav .rdnd-nav-container a img{height:30px}nav .rdnd-nav-container button{appearance:none;cursor:pointer;background-color:transparent;border:0;outline:none;height:40px;width:40px;color:#fff;font-size:18px;transition:all .3s ease;border:1px solid red}nav .rdnd-nav-container button:hover{opacity:.6}\n"] }]
|
|
40
42
|
}], propDecorators: { userName: [{
|
|
41
43
|
type: Input
|
|
42
44
|
}], imageUrl: [{
|
|
@@ -46,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
46
48
|
}], backgroundEnd: [{
|
|
47
49
|
type: Input
|
|
48
50
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRuZC1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VudGVyYS1yZG5kL3NyYy9saWIvY29tcG9uZW50cy9yZG5kLW5hdmJhci9yZG5kLW5hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW50ZXJhLXJkbmQvc3JjL2xpYi9jb21wb25lbnRzL3JkbmQtbmF2YmFyL3JkbmQtbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxRQUFRO0FBQ1IsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFDTCxlQUFlLEVBRWYsU0FBUyxFQUNULE9BQU8sRUFDUixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBYTNDLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsUUFBUTtJQUNXLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDbEMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXJDLFNBQVM7SUFDVCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbkIsbUJBQW1CO0lBQ1YsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLGVBQWUsR0FBVyxTQUFTLENBQUM7SUFDcEMsYUFBYSxHQUFXLFNBQVMsQ0FBQztJQUMzQyxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFckIsWUFBWTtJQUNaLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQyxDQUFBO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUMsQ0FBQTtJQUVELGFBQWEsR0FBRyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUE7d0dBN0JVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHdPQ3hCaEMsMmpCQW1CQSx3ZkRGSSxlQUFlLDRNQUNmLE9BQU8sMkVBQ1AsVUFBVTs7NEZBS0QsbUJBQW1CO2tCQVgvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixPQUFPO3dCQUNQLFVBQVU7cUJBQ1g7OEJBZ0JRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIG91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vLyBJY29uc1xyXG5pbXBvcnQge0ZhSWNvbkNvbXBvbmVudH0gZnJvbSBcIkBmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lXCI7XHJcbmltcG9ydCB7XHJcbiAgZmFCYXJzU3RhZ2dlcmVkLFxyXG4gIGZhQ2lyY2xlLFxyXG4gIGZhU2lnbk91dCxcclxuICBmYVRpbWVzXHJcbn0gZnJvbSBcIkBmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29uc1wiO1xyXG5pbXBvcnQge05nU3R5bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtSb3V0ZXJMaW5rfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JkbmQtbmF2YmFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZhSWNvbkNvbXBvbmVudCxcclxuICAgIE5nU3R5bGUsXHJcbiAgICBSb3V0ZXJMaW5rXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmRuZC1uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZG5kLW5hdmJhci5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkbmROYXZiYXJDb21wb25lbnQge1xyXG5cclxuICAvLyBJY29uc1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBmYUJhcnNTdGFnZ2VyZWQgPSBmYUJhcnNTdGFnZ2VyZWQ7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhU2lnbk91dCA9IGZhU2lnbk91dDtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFUaW1lcyA9IGZhVGltZXM7XHJcblxyXG4gIC8vIFN0YXRlc1xyXG4gIHNob3dNZW51ID0gZmFsc2U7XHJcbiAgc2hvd0xvYWRlciA9IGZhbHNlO1xyXG5cclxuICAvLyBJbnB1dHMgJiBPdXRwdXRzXHJcbiAgQElucHV0KCkgdXNlck5hbWU6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgYmFja2dyb3VuZFN0YXJ0OiBzdHJpbmcgPSBcIiNDMjE4NUJcIjtcclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kRW5kOiBzdHJpbmcgPSBcIiM3RTAwODNcIjtcclxuICBvblNpZ25PdXQgPSBvdXRwdXQoKTtcclxuXHJcbiAgLy8gRnVuY3Rpb25zXHJcbiAgdG9nZ2xlTWVudSA9ICgpID0+IHtcclxuICAgIHRoaXMuc2hvd01lbnUgPSAhdGhpcy5zaG93TWVudTtcclxuICB9XHJcblxyXG4gIGNsb3NlTWVudSA9ICgpID0+IHtcclxuICAgIHRoaXMuc2hvd01lbnUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNpZ25PdXQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm9uU2lnbk91dC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPG5hdiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQnOiAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAnICsgYmFja2dyb3VuZFN0YXJ0ICsgJywgJyArIGJhY2tncm91bmRFbmQgKyAnKSd9XCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyZG5kLW5hdi1jb250YWluZXJcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxyXG4gICAgICA8ZmEtaWNvbiBbaWNvbl09XCJzaG93TWVudSA/IGZhVGltZXMgOiBmYUJhcnNTdGFnZ2VyZWRcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICBAaWYgKGltYWdlVXJsKSB7XHJcbiAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJ7e2ltYWdlVXJsfX1cIiBhbHQ9XCJcIj5cclxuICAgICAgPC9hPlxyXG4gICAgfVxyXG5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZVNpZ25PdXQoKVwiPlxyXG4gICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVNpZ25PdXRcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbjwvbmF2PlxyXG4iXX0=
|
|
@@ -53,14 +53,15 @@ class RdndNavbarComponent {
|
|
|
53
53
|
this.onSignOut.emit();
|
|
54
54
|
};
|
|
55
55
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndNavbarComponent, isStandalone: true, selector: "rdnd-navbar", inputs: { userName: "userName", imageUrl: "imageUrl", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onSignOut: "onSignOut" }, ngImport: i0, template: "
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndNavbarComponent, isStandalone: true, selector: "rdnd-navbar", inputs: { userName: "userName", imageUrl: "imageUrl", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onSignOut: "onSignOut" }, ngImport: i0, template: "<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n <div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if (imageUrl) {\r\n <a [routerLink]=\"['/']\">\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n </a>\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n", styles: ["nav{width:100%;height:40px;padding:0 16px}nav .rdnd-nav-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}nav .rdnd-nav-container a img{height:30px}nav .rdnd-nav-container button{appearance:none;cursor:pointer;background-color:transparent;border:0;outline:none;height:40px;width:40px;color:#fff;font-size:18px;transition:all .3s ease;border:1px solid red}nav .rdnd-nav-container button:hover{opacity:.6}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
57
57
|
}
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndNavbarComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ selector: 'rdnd-navbar', standalone: true, imports: [
|
|
61
61
|
FaIconComponent,
|
|
62
|
-
NgStyle
|
|
63
|
-
|
|
62
|
+
NgStyle,
|
|
63
|
+
RouterLink
|
|
64
|
+
], template: "<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n <div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if (imageUrl) {\r\n <a [routerLink]=\"['/']\">\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n </a>\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n", styles: ["nav{width:100%;height:40px;padding:0 16px}nav .rdnd-nav-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}nav .rdnd-nav-container a img{height:30px}nav .rdnd-nav-container button{appearance:none;cursor:pointer;background-color:transparent;border:0;outline:none;height:40px;width:40px;color:#fff;font-size:18px;transition:all .3s ease;border:1px solid red}nav .rdnd-nav-container button:hover{opacity:.6}\n"] }]
|
|
64
65
|
}], propDecorators: { userName: [{
|
|
65
66
|
type: Input
|
|
66
67
|
}], imageUrl: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gentera-rdnd.mjs","sources":["../../../projects/gentera-rdnd/src/lib/components/screen-title/screen-title.component.ts","../../../projects/gentera-rdnd/src/lib/components/screen-title/screen-title.component.html","../../../projects/gentera-rdnd/src/lib/components/rdnd-navbar/rdnd-navbar.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-navbar/rdnd-navbar.component.html","../../../projects/gentera-rdnd/src/lib/components/rdnd-sidebar/rdnd-sidebar.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-sidebar/rdnd-sidebar.component.html","../../../projects/gentera-rdnd/src/lib/styles/colors.ts","../../../projects/gentera-rdnd/src/lib/styles/themes.ts","../../../projects/gentera-rdnd/src/lib/hooks/button.service.ts","../../../projects/gentera-rdnd/src/lib/components/button/button.component.ts","../../../projects/gentera-rdnd/src/lib/components/button/button.component.html","../../../projects/gentera-rdnd/src/lib/hooks/input.service.ts","../../../projects/gentera-rdnd/src/lib/components/input/input.component.ts","../../../projects/gentera-rdnd/src/lib/components/input/input.component.html","../../../projects/gentera-rdnd/src/lib/components/modal/modal.component.ts","../../../projects/gentera-rdnd/src/lib/components/modal/modal.component.html","../../../projects/gentera-rdnd/src/lib/hooks/modal.service.ts","../../../projects/gentera-rdnd/src/public-api.ts","../../../projects/gentera-rdnd/src/gentera-rdnd.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\nimport {NgClass} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'rdnd-screen-title',\r\n standalone: true,\r\n imports: [\r\n NgClass\r\n ],\r\n templateUrl: './screen-title.component.html',\r\n styleUrl: './screen-title.component.scss'\r\n})\r\nexport class RdndScreenTitle {\r\n @Input() title!: string;\r\n @Input() align: 'LEFT' | 'CENTER' = 'CENTER';\r\n}\r\n","<h1 [class]=\" 'align-' + align \">\r\n {{ title }}\r\n</h1>\r\n","import {Component, Input, output} from '@angular/core';\r\n\r\n// Icons\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {\r\n faBarsStaggered,\r\n faCircle,\r\n faSignOut,\r\n faTimes\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {NgStyle} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'rdnd-navbar',\r\n standalone: true,\r\n imports: [\r\n FaIconComponent,\r\n NgStyle\r\n ],\r\n templateUrl: './rdnd-navbar.component.html',\r\n styleUrl: './rdnd-navbar.component.css'\r\n})\r\nexport class RdndNavbarComponent {\r\n\r\n // Icons\r\n protected readonly faBarsStaggered = faBarsStaggered;\r\n protected readonly faSignOut = faSignOut;\r\n protected readonly faTimes = faTimes;\r\n\r\n // States\r\n showMenu = false;\r\n showLoader = false;\r\n\r\n // Inputs & Outputs\r\n @Input() userName: string = \"\";\r\n @Input() imageUrl: string = \"\";\r\n @Input() backgroundStart: string = \"#C2185B\";\r\n @Input() backgroundEnd: string = \"#7E0083\";\r\n onSignOut = output();\r\n\r\n // Functions\r\n toggleMenu = () => {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n closeMenu = () => {\r\n this.showMenu = false;\r\n }\r\n\r\n handleSignOut = () => {\r\n this.onSignOut.emit();\r\n }\r\n\r\n\r\n}\r\n","\r\n<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n<div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if(imageUrl) {\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n","import {Component, Input, output} from '@angular/core';\r\nimport {RdndSidebarEntry} from \"../../types/Sidebar.types\";\r\nimport {outputAst} from \"@angular/compiler\";\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {\r\n faArrowRight,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {NgClass, NgStyle} from \"@angular/common\";\r\nimport {RouterLink} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'rdnd-sidebar',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n RouterLink,\r\n FaIconComponent,\r\n NgStyle\r\n ],\r\n templateUrl: './rdnd-sidebar.component.html',\r\n styleUrl: './rdnd-sidebar.component.scss'\r\n})\r\nexport class RdndSidebarComponent {\r\n\r\n // Icons\r\n protected readonly faArrowRight = faArrowRight;\r\n\r\n // Inputs & Outputs\r\n @Input() show: boolean = false;\r\n @Input() entries : RdndSidebarEntry[] = [];\r\n @Input() backgroundStart: string = \"#C2185B\";\r\n @Input() backgroundEnd: string = \"#7E0083\";\r\n\r\n onClickEntry = output();\r\n\r\n handleClick = () => {\r\n this.onClickEntry.emit();\r\n }\r\n\r\n}\r\n","@if (show) {\r\n <div class=\"background-overlay\" (click)=\"handleClick()\" [ngClass]=\"show ? 'open' : 'closed' \"></div>\r\n}\r\n\r\n<aside\r\n id=\"sidebar\"\r\n class=\"sidebar\"\r\n [ngClass]=\"show ? 'open' : 'closed' \"\r\n [ngStyle]=\"{'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'}\"\r\n>\r\n\r\n <ul class=\"entries\">\r\n\r\n <li class=\"section-name\">\r\n Módulos\r\n </li>\r\n\r\n @for (entry of entries; track entry.name) {\r\n <li>\r\n <a [routerLink]=\"[entry.url]\" class=\"entry\" (click)=\"handleClick()\">\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n\r\n </ul>\r\n\r\n</aside>\r\n","export const colors = {\r\n black: '#171717',\r\n 'black-light': '#343434',\r\n 'black-dark': '#000000',\r\n 'black-navy': '#191a21',\r\n\r\n 'xs-dark-gray': '#5A5A5A',\r\n 'dark-gray': '#9E9E9E',\r\n 'medium-gray': '#AFAFAF',\r\n gray: '#C4C4C4',\r\n 'light-gray': '#C6C6C6',\r\n 'xs-light-gray': '#DFDFDF',\r\n 'xxs-light-gray': '#F2F2F2',\r\n 'soft-white': '#EEEEEE',\r\n\r\n green: '#28a746',\r\n 'green-medium': '#208B6A',\r\n 'green-dark': '#156a29',\r\n 'green-xs-dark': 'rgb(33, 97, 90)',\r\n 'green-1': '#009F74',\r\n 'green-2': '#00B987',\r\n 'green-3': '#19C496',\r\n 'green-light': '#84ce94',\r\n 'green-4': '#50D8B3',\r\n 'green-5': '#83E6B8',\r\n\r\n \"blue-info\": '#7390EC',\r\n blue: '#3360fa',\r\n 'blue-dark': '#1a389e',\r\n 'blue-light': '#3390fa',\r\n 'blue-gray-soft': '#E5EAEDFF',\r\n 'blue-gray-light': 'rgb(244,247,250)',\r\n\r\n orange: '#F77C00',\r\n 'orange-light': '#F7B500',\r\n\r\n yellow: '#F09D00',\r\n \"yellow-normal\": '#FFBC57',\r\n 'yellow-light': '#FFC400',\r\n\r\n purple: '#6459be',\r\n 'purple-light': 'rgb(149, 138, 242)',\r\n\r\n red: '#E60018',\r\n 'red-light': '#e74364',\r\n 'red-medium': '#c51628',\r\n\r\n \"white\": \"#FFFFFF\",\r\n \"magentaStart\": \"#C2185B\",\r\n \"magentaEnd\": \"#7E0083\",\r\n 'magenta-normal': '#B41364',\r\n\r\n disabled: '#C6C6C6',\r\n \"disabledText\": \"#9E9E9E\",\r\n};\r\n","import {colors} from './colors';\r\n\r\nexport const themes = {\r\n disabled: {\r\n default: colors.disabled,\r\n hover: colors.disabled,\r\n border: 'transparent',\r\n active: colors.disabled,\r\n fontColor: colors.disabledText,\r\n },\r\n magenta: {\r\n default: `linear-gradient(to right, ${colors.magentaStart}, ${colors.magentaEnd})`,\r\n hover: `linear-gradient(to right, ${colors.magentaEnd}, ${colors.magentaStart})`,\r\n //default: `${colors.magentaStart}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n magentaSolid: {\r\n default: `${colors.magentaStart}`,\r\n hover: `${colors.magentaEnd}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n magentaNormal: {\r\n default: `${colors[\"magenta-normal\"]}`,\r\n hover: `${colors.magentaEnd}`,\r\n border: 'transparent',\r\n active: colors[\"magenta-normal\"], // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n gray: {\r\n default: `${colors[\"light-gray\"]}`,\r\n hover: `linear-gradient(to right, ${colors.magentaEnd}, ${colors.magentaStart})`,\r\n //default: `${colors.magentaStart}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n green: {\r\n default: `${colors[\"green-medium\"]}`,\r\n hover: colors.green,\r\n border: 'transparent',\r\n active: colors[\"green-xs-dark\"],\r\n fontColor: colors.white,\r\n },\r\n red: {\r\n default: `${colors[\"red-medium\"]}`,\r\n hover: colors.red,\r\n border: 'transparent',\r\n active: colors[\"red\"],\r\n fontColor: colors.white,\r\n },\r\n bordered: {\r\n default: 'transparent',\r\n hover: 'transparent',\r\n border: colors.magentaStart,\r\n active: 'transparent',\r\n fontColor: colors.magentaStart\r\n },\r\n borderedWhite: {\r\n default: 'white',\r\n hover: 'white',\r\n border: colors.magentaStart,\r\n active: 'white',\r\n fontColor: colors.magentaStart\r\n },\r\n transparent: {\r\n default: 'transparent',\r\n hover: 'transparent',\r\n border: 'transparent',\r\n active: 'transparent',\r\n fontColor: colors.magentaStart\r\n },\r\n purple: {\r\n default: `${colors['blue-info']}`,\r\n hover: colors[\"purple-light\"],\r\n border: 'transparent',\r\n active: colors.purple,\r\n fontColor: colors.white,\r\n },\r\n yellow: {\r\n default: `${colors['yellow-normal']}`,\r\n hover: colors[\"yellow\"],\r\n border: 'transparent',\r\n active: colors[\"yellow-light\"],\r\n fontColor: colors.white,\r\n },\r\n blue: {\r\n default: `${colors['yellow-normal']}`,\r\n hover: colors[\"yellow\"],\r\n border: 'transparent',\r\n active: colors[\"yellow-light\"],\r\n fontColor: colors.white,\r\n }\r\n\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nexport interface ButtonServiceType {\r\n enable: () => void;\r\n disable: () => void;\r\n disabled$: Observable<boolean>\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ButtonService {\r\n private buttonsState: { [id: string]: BehaviorSubject<boolean> } = {};\r\n\r\n private ensureButtonExists(id: string): void {\r\n if (!this.buttonsState[id]) {\r\n this.buttonsState[id] = new BehaviorSubject<boolean>(false);\r\n }\r\n }\r\n\r\n useButton(id: string): ButtonServiceType {\r\n this.ensureButtonExists(id);\r\n\r\n return {\r\n disabled$: this.buttonsState[id].asObservable(),\r\n enable: () => this.buttonsState[id].next(false),\r\n disable: () => this.buttonsState[id].next(true),\r\n };\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport {Observable, Subscription} from 'rxjs';\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {NgClass, NgIf} from \"@angular/common\";\r\n// @ts-ignore\r\nimport {themes} from \"../../styles/themes\";\r\nimport {ButtonService, ButtonServiceType} from \"../../hooks/button.service\";\r\n// @ts-ignore\r\n\r\n\r\n\r\n@Component({\r\n selector: 'rdnd-button',\r\n templateUrl: './button.component.html',\r\n standalone: true,\r\n imports: [\r\n FaIconComponent,\r\n NgIf,\r\n NgClass\r\n ],\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class RdndButton implements OnInit, OnDestroy {\r\n @Input() id!: string;\r\n @Input() icon?: IconDefinition;\r\n @Input() text: string = 'Enviar';\r\n @Input() theme: any = themes.magenta;\r\n @Input() size: 'contained' | 'full' = 'full';\r\n @Input() type: 'button' | 'submit' | 'reset' = 'submit';\r\n @Input() borders: boolean = true;\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() callback: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n protected readonly themes = themes;\r\n private subscription!: Subscription;\r\n hoverBackgroundColor: string = this.theme.default;\r\n\r\n buttonControl!: ButtonServiceType ;\r\n\r\n constructor(private buttonService: ButtonService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buttonControl = this.buttonService.useButton(this.id);\r\n\r\n this.subscription = new Subscription( () =>\r\n this.buttonControl.disabled$.subscribe((isDisabled: boolean) => {\r\n this.disabled = isDisabled;\r\n })\r\n )\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if(this.subscription){\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n handleClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n if (!this.disabled && this.type !== 'submit') {\r\n this.callback.emit();\r\n }\r\n }\r\n\r\n onMouseEnter() {\r\n if (!this.disabled) {\r\n this.hoverBackgroundColor = this.theme.hover;\r\n }\r\n }\r\n\r\n onMouseLeave() {\r\n if (!this.disabled) {\r\n this.hoverBackgroundColor = this.theme.default;\r\n }\r\n }\r\n\r\n protected readonly event = event;\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'full': size === 'full',\r\n 'contained': size === 'contained',\r\n 'bordered': borders,\r\n 'disabled': disabled\r\n }\"\r\n [style.background]=\"disabled ? themes.disabled.default : theme.default\"\r\n [style.color]=\"theme.fontColor\"\r\n [style.border]=\"borders ? '1px solid ' + theme.border : 'none'\"\r\n [style.cursor]=\"disabled ? 'not-allowed' : 'pointer'\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled\"\r\n\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\" class=\"icon\"></fa-icon>\r\n {{ text }}\r\n</button>\r\n","import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport { FormControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport type InputStateType = {\r\n isValid: BehaviorSubject<boolean>;\r\n valid: Observable<boolean>;\r\n errorMessage: Observable<string | null>;\r\n setValid: (isValid: boolean) => void;\r\n setErrorMessage: (message: string | null) => void;\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InputService {\r\n\r\n private inputState: {\r\n [id: string]: {\r\n valid$: BehaviorSubject<boolean>;\r\n errorMessage$: BehaviorSubject<string | null>;\r\n };\r\n } = {};\r\n\r\n private ensureInputExists(id: string): void {\r\n if (!this.inputState[id]) {\r\n this.inputState[id] = {\r\n valid$: new BehaviorSubject<boolean>(false),\r\n errorMessage$: new BehaviorSubject<string | null>(null),\r\n };\r\n }\r\n }\r\n\r\n useInput(id: string): InputStateType {\r\n this.ensureInputExists(id);\r\n\r\n return {\r\n isValid: this.inputState[id].valid$,\r\n valid: this.inputState[id].valid$.asObservable(),\r\n errorMessage: this.inputState[id].errorMessage$.asObservable(),\r\n setValid: (isValid: boolean) => this.inputState[id].valid$.next(isValid),\r\n setErrorMessage: (message: string | null) =>\r\n this.inputState[id].errorMessage$.next(message),\r\n };\r\n }\r\n\r\n updateInputState(control: FormControl, id: string): void {\r\n this.ensureInputExists(id);\r\n\r\n const errors: ValidationErrors | null = control.errors;\r\n\r\n if (control.valid) {\r\n this.inputState[id].valid$.next(true);\r\n this.inputState[id].errorMessage$.next(null);\r\n } else {\r\n this.inputState[id].valid$.next(false);\r\n this.inputState[id].errorMessage$.next(this.getErrorMessage(errors));\r\n }\r\n }\r\n\r\n private getErrorMessage(errors: ValidationErrors | null): string | null {\r\n if (!errors) return null;\r\n\r\n if (errors['required']) return 'Este campo es obligatorio';\r\n if (errors['minlength'])\r\n return `Mínimo ${errors['minlength'].requiredLength} caracteres requeridos`;\r\n if (errors['maxlength'])\r\n return `Máximo ${errors['maxlength'].requiredLength} caracteres permitidos`;\r\n if (errors['email']) return 'Formato de correo inválido';\r\n\r\n return null;\r\n }\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\nimport {FormControl, ReactiveFormsModule, ValidationErrors, ValidatorFn, Validators} from '@angular/forms';\r\nimport {faEyeSlash} from '@fortawesome/free-solid-svg-icons';\r\nimport {NgClass, NgIf} from '@angular/common';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {InputService} from \"../../hooks/input.service\";\r\n\r\n\r\n@Component({\r\n selector: 'rdnd-input',\r\n templateUrl: './input.component.html',\r\n standalone: true,\r\n imports: [\r\n NgIf,\r\n NgClass,\r\n FontAwesomeModule,\r\n ReactiveFormsModule\r\n ],\r\n styleUrls: ['./input.component.scss']\r\n})\r\nexport class RdndInput implements OnInit {\r\n @Input() id!: string;\r\n @Input() name!: string;\r\n @Input() type: 'text' | 'password' | 'number' = 'text';\r\n @Input() placeholder: string = '';\r\n @Input() value: string = '';\r\n @Input() validators: ValidatorFn[] = [];\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() valueChange = new EventEmitter<string>();\r\n @Output() onKeyDown = new EventEmitter<KeyboardEvent>();\r\n @Output() onPaste = new EventEmitter<ClipboardEvent>();\r\n @Output() onFocus = new EventEmitter<FocusEvent>();\r\n @Output() onBlur = new EventEmitter<FocusEvent>();\r\n\r\n control!: FormControl;\r\n faEyeSlash = faEyeSlash;\r\n showPassword: boolean = false;\r\n showError: boolean = false;\r\n\r\n constructor(private inputService: InputService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.control = new FormControl(this.value, this.validators);\r\n\r\n this.valueChange.emit(this.value);\r\n this.inputService.updateInputState(this.control, this.id);\r\n\r\n this.control.valueChanges.subscribe((value) => {\r\n this.valueChange.emit(value);\r\n this.inputService.updateInputState(this.control, this.id);\r\n });\r\n\r\n }\r\n\r\n getErrorMessage(): string | null {\r\n if (this.control && this.control.errors) {\r\n const errorKeys = Object.keys(this.control.errors);\r\n if (errorKeys.length > 0) {\r\n const firstErrorKey = errorKeys[0];\r\n return (this.control.errors as ValidationErrors)[firstErrorKey];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n toggleErrorDisplay() {\r\n this.showError = !this.showError;\r\n }\r\n\r\n hasError(): boolean {\r\n return this.control.invalid && (this.control.dirty || this.control.touched);\r\n }\r\n\r\n handleTogglePassword(): void {\r\n this.showPassword = !this.showPassword;\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent): void {\r\n const allowRegex = /^[a-zA-Z!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]*$/\r\n\r\n if (\r\n this.type === 'number' && !(\r\n ['Backspace', 'Shift', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key)\r\n ) && !(event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)\r\n ) {\r\n event.key.match(allowRegex) ? event.preventDefault() : this.onKeyDown.emit(event);\r\n } else {\r\n this.onKeyDown.emit(event);\r\n }\r\n }\r\n\r\n handlePaste(event: ClipboardEvent): void {\r\n this.onPaste.emit(event);\r\n }\r\n\r\n handleFocus(event: FocusEvent): void {\r\n this.onFocus.emit(event);\r\n }\r\n\r\n handleBlur(event: FocusEvent): void {\r\n this.onBlur.emit(event);\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'disabled': disabled }\" class=\"input-container\">\r\n <!-- Ícono de error que aparece por encima del campo si hay error -->\r\n <span *ngIf=\"hasError()\" class=\"error-icon\" (click)=\"toggleErrorDisplay()\">ⓘ</span>\r\n\r\n <!-- Botón de mostrar/ocultar contraseña centrado verticalmente -->\r\n <button *ngIf=\"type === 'password'\" type=\"button\" (click)=\"handleTogglePassword()\" class=\"toggle-button\">\r\n <fa-icon [icon]=\"faEyeSlash\" class=\"icon\" [class.active]=\"showPassword\"></fa-icon>\r\n </button>\r\n\r\n <!-- Input que cambia de borde si tiene error -->\r\n <input\r\n [type]=\"type === 'password' && showPassword ? 'text' : type\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n (keydown)=\"handleKeyDown($event)\"\r\n (paste)=\"handlePaste($event)\"\r\n (focus)=\"handleFocus($event)\"\r\n (blur)=\"handleBlur($event)\"\r\n [ngClass]=\"{ 'error-border': hasError() }\"\r\n />\r\n\r\n <!-- Mensaje de error que aparece solo cuando se clickea en el ícono de error -->\r\n <div *ngIf=\"control.invalid && control.dirty && showError\" class=\"error-message\">\r\n {{ getErrorMessage() }}\r\n </div>\r\n</div>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {IconDefinition} from '@fortawesome/free-solid-svg-icons';\r\nimport {themes} from \"../../styles/themes\";\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {RdndButton} from \"../button/button.component\";\r\nimport {RdndScreenTitle} from \"../screen-title/screen-title.component\";\r\n\r\n@Component({\r\n selector: 'rdnd-modal',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule,\r\n RdndButton,\r\n RdndScreenTitle,\r\n ],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.scss'\r\n})\r\nexport class RdndModal {\r\n @Input() title: string = '';\r\n @Input() type: 'success' | 'error' | 'question' | 'warning' | 'info' = 'success';\r\n @Input() theme: any = themes.magenta;\r\n @Input() confirmText: string = '';\r\n @Input() cancelText: string = '';\r\n @Output() close = new EventEmitter<boolean>();\r\n\r\n protected readonly themes = themes;\r\n\r\n icon?: IconDefinition;\r\n content: string = '';\r\n\r\n closeModal(result: boolean) {\r\n this.close.emit(result);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","<div class=\"modal-wrapper\">\r\n\r\n <div class=\"container\" (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"content\">\r\n\r\n @if (icon) {\r\n <fa-icon [icon]=\"icon\" class=\"icon\" [style.color]=\"theme.default\"\r\n />\r\n }\r\n\r\n <span class=\"subtitle align-center\">{{ title }}</span>\r\n\r\n <div class=\"text align-center\" [innerHTML]=\"content\">\r\n </div>\r\n\r\n\r\n @if (type !== 'question') {\r\n <rdnd-button\r\n [id]=\"'btn-modal'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(true)\"\r\n [text]=\"'Aceptar'\"\r\n [theme]=\"theme\"\r\n [size]=\"'full'\"\r\n />\r\n } @else {\r\n <rdnd-button\r\n [id]=\"'btn-modal-accept'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(true)\"\r\n [text]=\"confirmText\"\r\n [theme]=\"theme\"\r\n [size]=\"'full'\"\r\n />\r\n <rdnd-button\r\n [id]=\"'btn-modal-cancel'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(false)\"\r\n [text]=\"cancelText\"\r\n [theme]=\"themes.bordered\"\r\n [size]=\"'full'\"\r\n />\r\n }\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n</div>\r\n\r\n","import {Injectable, ComponentRef} from '@angular/core';\r\nimport {ApplicationRef, ComponentFactoryResolver, Injector} from '@angular/core';\r\nimport {faCircleCheck, faCircleQuestion, IconDefinition} from '@fortawesome/free-solid-svg-icons';\r\nimport {faTriangleExclamation} from \"@fortawesome/free-solid-svg-icons/faTriangleExclamation\";\r\nimport {themes} from \"../styles/themes\";\r\nimport {faTable} from \"@fortawesome/free-solid-svg-icons/faTable\";\r\nimport {RdndModal} from \"../components/modal/modal.component\";\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class ModalService {\r\n private modalRef: ComponentRef<RdndModal> | null = null;\r\n\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n openModal(title: string, content: string, type: 'success' | 'error' | 'question' | 'warning' | 'info' = 'success', confirmText = 'Continuar', cancelText = 'Cancelar'): Promise<boolean> {\r\n if (this.modalRef) return Promise.resolve(false);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(RdndModal);\r\n this.modalRef = factory.create(this.injector);\r\n\r\n this.modalRef.instance.title = title;\r\n this.modalRef.instance.type = type;\r\n this.modalRef.instance.theme = this.getStyleTheme(type);\r\n this.modalRef.instance.content = content;\r\n this.modalRef.instance.icon = this.getIcon(type);\r\n this.modalRef.instance.confirmText = confirmText;\r\n this.modalRef.instance.cancelText = cancelText;\r\n\r\n const result = new Promise<boolean>((resolve) => {\r\n this.modalRef!.instance.close.subscribe((res: boolean) => {\r\n this.closeModal();\r\n resolve(res);\r\n });\r\n });\r\n\r\n this.appRef.attachView(this.modalRef.hostView);\r\n const domElem = (this.modalRef.hostView as any).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n return result;\r\n }\r\n\r\n getStyleTheme = (theme: 'success' | 'error' | 'question' | 'warning' | 'info') => {\r\n switch (theme) {\r\n case \"success\":\r\n return themes.green;\r\n case 'error':\r\n return themes.magentaNormal;\r\n case 'question':\r\n return themes.purple\r\n case 'warning':\r\n return themes.yellow\r\n case 'info':\r\n return themes.purple\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n if (this.modalRef) {\r\n this.appRef.detachView(this.modalRef.hostView);\r\n this.modalRef.destroy();\r\n this.modalRef = null;\r\n }\r\n }\r\n\r\n getIcon(theme: 'success' | 'error' | 'question' | 'warning' | 'info'): IconDefinition {\r\n switch (theme) {\r\n case 'error':\r\n return faTriangleExclamation;\r\n case 'question':\r\n return faCircleQuestion\r\n case \"success\":\r\n return faCircleCheck\r\n case \"warning\":\r\n return faTriangleExclamation;\r\n case \"info\":\r\n return faTable;\r\n }\r\n\r\n }\r\n}\r\n","/*\r\n * Public API Surface of gentera-rdnd\r\n */\r\n\r\nexport * from './lib/components/screen-title/screen-title.component';\r\nexport * from \"./lib/components/rdnd-navbar/rdnd-navbar.component\";\r\nexport * from \"./lib/components/rdnd-sidebar/rdnd-sidebar.component\";\r\n\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/input/input.component';\r\nexport * from './lib/components/modal/modal.component';\r\n\r\nexport * from './lib/hooks/button.service';\r\nexport * from './lib/hooks/input.service';\r\nexport * from './lib/hooks/modal.service';\r\n\r\n// Export utils\r\nexport {themes as rdndThemes} from './lib/styles/themes';\r\n\r\n\r\n// Export types\r\nexport {RdndSidebarEntry} from \"./lib/types/Sidebar.types\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ButtonService","i1.InputService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gentera-rdnd.mjs","sources":["../../../projects/gentera-rdnd/src/lib/components/screen-title/screen-title.component.ts","../../../projects/gentera-rdnd/src/lib/components/screen-title/screen-title.component.html","../../../projects/gentera-rdnd/src/lib/components/rdnd-navbar/rdnd-navbar.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-navbar/rdnd-navbar.component.html","../../../projects/gentera-rdnd/src/lib/components/rdnd-sidebar/rdnd-sidebar.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-sidebar/rdnd-sidebar.component.html","../../../projects/gentera-rdnd/src/lib/styles/colors.ts","../../../projects/gentera-rdnd/src/lib/styles/themes.ts","../../../projects/gentera-rdnd/src/lib/hooks/button.service.ts","../../../projects/gentera-rdnd/src/lib/components/button/button.component.ts","../../../projects/gentera-rdnd/src/lib/components/button/button.component.html","../../../projects/gentera-rdnd/src/lib/hooks/input.service.ts","../../../projects/gentera-rdnd/src/lib/components/input/input.component.ts","../../../projects/gentera-rdnd/src/lib/components/input/input.component.html","../../../projects/gentera-rdnd/src/lib/components/modal/modal.component.ts","../../../projects/gentera-rdnd/src/lib/components/modal/modal.component.html","../../../projects/gentera-rdnd/src/lib/hooks/modal.service.ts","../../../projects/gentera-rdnd/src/public-api.ts","../../../projects/gentera-rdnd/src/gentera-rdnd.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\nimport {NgClass} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'rdnd-screen-title',\r\n standalone: true,\r\n imports: [\r\n NgClass\r\n ],\r\n templateUrl: './screen-title.component.html',\r\n styleUrl: './screen-title.component.scss'\r\n})\r\nexport class RdndScreenTitle {\r\n @Input() title!: string;\r\n @Input() align: 'LEFT' | 'CENTER' = 'CENTER';\r\n}\r\n","<h1 [class]=\" 'align-' + align \">\r\n {{ title }}\r\n</h1>\r\n","import {Component, Input, output} from '@angular/core';\r\n\r\n// Icons\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {\r\n faBarsStaggered,\r\n faCircle,\r\n faSignOut,\r\n faTimes\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {NgStyle} from \"@angular/common\";\r\nimport {RouterLink} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'rdnd-navbar',\r\n standalone: true,\r\n imports: [\r\n FaIconComponent,\r\n NgStyle,\r\n RouterLink\r\n ],\r\n templateUrl: './rdnd-navbar.component.html',\r\n styleUrl: './rdnd-navbar.component.scss'\r\n})\r\nexport class RdndNavbarComponent {\r\n\r\n // Icons\r\n protected readonly faBarsStaggered = faBarsStaggered;\r\n protected readonly faSignOut = faSignOut;\r\n protected readonly faTimes = faTimes;\r\n\r\n // States\r\n showMenu = false;\r\n showLoader = false;\r\n\r\n // Inputs & Outputs\r\n @Input() userName: string = \"\";\r\n @Input() imageUrl: string = \"\";\r\n @Input() backgroundStart: string = \"#C2185B\";\r\n @Input() backgroundEnd: string = \"#7E0083\";\r\n onSignOut = output();\r\n\r\n // Functions\r\n toggleMenu = () => {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n closeMenu = () => {\r\n this.showMenu = false;\r\n }\r\n\r\n handleSignOut = () => {\r\n this.onSignOut.emit();\r\n }\r\n\r\n\r\n}\r\n","<nav [ngStyle]=\"{'background': 'linear-gradient(to right, ' + backgroundStart + ', ' + backgroundEnd + ')'}\">\r\n\r\n <div class=\"rdnd-nav-container\">\r\n <button (click)=\"toggleMenu()\">\r\n <fa-icon [icon]=\"showMenu ? faTimes : faBarsStaggered\"></fa-icon>\r\n </button>\r\n\r\n @if (imageUrl) {\r\n <a [routerLink]=\"['/']\">\r\n <img src=\"{{imageUrl}}\" alt=\"\">\r\n </a>\r\n }\r\n\r\n <button (click)=\"handleSignOut()\">\r\n <fa-icon [icon]=\"faSignOut\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n</nav>\r\n","import {Component, Input, output} from '@angular/core';\r\nimport {RdndSidebarEntry} from \"../../types/Sidebar.types\";\r\nimport {outputAst} from \"@angular/compiler\";\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {\r\n faArrowRight,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {NgClass, NgStyle} from \"@angular/common\";\r\nimport {RouterLink} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'rdnd-sidebar',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n RouterLink,\r\n FaIconComponent,\r\n NgStyle\r\n ],\r\n templateUrl: './rdnd-sidebar.component.html',\r\n styleUrl: './rdnd-sidebar.component.scss'\r\n})\r\nexport class RdndSidebarComponent {\r\n\r\n // Icons\r\n protected readonly faArrowRight = faArrowRight;\r\n\r\n // Inputs & Outputs\r\n @Input() show: boolean = false;\r\n @Input() entries : RdndSidebarEntry[] = [];\r\n @Input() backgroundStart: string = \"#C2185B\";\r\n @Input() backgroundEnd: string = \"#7E0083\";\r\n\r\n onClickEntry = output();\r\n\r\n handleClick = () => {\r\n this.onClickEntry.emit();\r\n }\r\n\r\n}\r\n","@if (show) {\r\n <div class=\"background-overlay\" (click)=\"handleClick()\" [ngClass]=\"show ? 'open' : 'closed' \"></div>\r\n}\r\n\r\n<aside\r\n id=\"sidebar\"\r\n class=\"sidebar\"\r\n [ngClass]=\"show ? 'open' : 'closed' \"\r\n [ngStyle]=\"{'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'}\"\r\n>\r\n\r\n <ul class=\"entries\">\r\n\r\n <li class=\"section-name\">\r\n Módulos\r\n </li>\r\n\r\n @for (entry of entries; track entry.name) {\r\n <li>\r\n <a [routerLink]=\"[entry.url]\" class=\"entry\" (click)=\"handleClick()\">\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n\r\n </ul>\r\n\r\n</aside>\r\n","export const colors = {\r\n black: '#171717',\r\n 'black-light': '#343434',\r\n 'black-dark': '#000000',\r\n 'black-navy': '#191a21',\r\n\r\n 'xs-dark-gray': '#5A5A5A',\r\n 'dark-gray': '#9E9E9E',\r\n 'medium-gray': '#AFAFAF',\r\n gray: '#C4C4C4',\r\n 'light-gray': '#C6C6C6',\r\n 'xs-light-gray': '#DFDFDF',\r\n 'xxs-light-gray': '#F2F2F2',\r\n 'soft-white': '#EEEEEE',\r\n\r\n green: '#28a746',\r\n 'green-medium': '#208B6A',\r\n 'green-dark': '#156a29',\r\n 'green-xs-dark': 'rgb(33, 97, 90)',\r\n 'green-1': '#009F74',\r\n 'green-2': '#00B987',\r\n 'green-3': '#19C496',\r\n 'green-light': '#84ce94',\r\n 'green-4': '#50D8B3',\r\n 'green-5': '#83E6B8',\r\n\r\n \"blue-info\": '#7390EC',\r\n blue: '#3360fa',\r\n 'blue-dark': '#1a389e',\r\n 'blue-light': '#3390fa',\r\n 'blue-gray-soft': '#E5EAEDFF',\r\n 'blue-gray-light': 'rgb(244,247,250)',\r\n\r\n orange: '#F77C00',\r\n 'orange-light': '#F7B500',\r\n\r\n yellow: '#F09D00',\r\n \"yellow-normal\": '#FFBC57',\r\n 'yellow-light': '#FFC400',\r\n\r\n purple: '#6459be',\r\n 'purple-light': 'rgb(149, 138, 242)',\r\n\r\n red: '#E60018',\r\n 'red-light': '#e74364',\r\n 'red-medium': '#c51628',\r\n\r\n \"white\": \"#FFFFFF\",\r\n \"magentaStart\": \"#C2185B\",\r\n \"magentaEnd\": \"#7E0083\",\r\n 'magenta-normal': '#B41364',\r\n\r\n disabled: '#C6C6C6',\r\n \"disabledText\": \"#9E9E9E\",\r\n};\r\n","import {colors} from './colors';\r\n\r\nexport const themes = {\r\n disabled: {\r\n default: colors.disabled,\r\n hover: colors.disabled,\r\n border: 'transparent',\r\n active: colors.disabled,\r\n fontColor: colors.disabledText,\r\n },\r\n magenta: {\r\n default: `linear-gradient(to right, ${colors.magentaStart}, ${colors.magentaEnd})`,\r\n hover: `linear-gradient(to right, ${colors.magentaEnd}, ${colors.magentaStart})`,\r\n //default: `${colors.magentaStart}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n magentaSolid: {\r\n default: `${colors.magentaStart}`,\r\n hover: `${colors.magentaEnd}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n magentaNormal: {\r\n default: `${colors[\"magenta-normal\"]}`,\r\n hover: `${colors.magentaEnd}`,\r\n border: 'transparent',\r\n active: colors[\"magenta-normal\"], // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n gray: {\r\n default: `${colors[\"light-gray\"]}`,\r\n hover: `linear-gradient(to right, ${colors.magentaEnd}, ${colors.magentaStart})`,\r\n //default: `${colors.magentaStart}`,\r\n border: 'transparent',\r\n active: colors.magentaStart, // Color al hacer clic\r\n fontColor: colors.white, // Texto en blanco\r\n },\r\n green: {\r\n default: `${colors[\"green-medium\"]}`,\r\n hover: colors.green,\r\n border: 'transparent',\r\n active: colors[\"green-xs-dark\"],\r\n fontColor: colors.white,\r\n },\r\n red: {\r\n default: `${colors[\"red-medium\"]}`,\r\n hover: colors.red,\r\n border: 'transparent',\r\n active: colors[\"red\"],\r\n fontColor: colors.white,\r\n },\r\n bordered: {\r\n default: 'transparent',\r\n hover: 'transparent',\r\n border: colors.magentaStart,\r\n active: 'transparent',\r\n fontColor: colors.magentaStart\r\n },\r\n borderedWhite: {\r\n default: 'white',\r\n hover: 'white',\r\n border: colors.magentaStart,\r\n active: 'white',\r\n fontColor: colors.magentaStart\r\n },\r\n transparent: {\r\n default: 'transparent',\r\n hover: 'transparent',\r\n border: 'transparent',\r\n active: 'transparent',\r\n fontColor: colors.magentaStart\r\n },\r\n purple: {\r\n default: `${colors['blue-info']}`,\r\n hover: colors[\"purple-light\"],\r\n border: 'transparent',\r\n active: colors.purple,\r\n fontColor: colors.white,\r\n },\r\n yellow: {\r\n default: `${colors['yellow-normal']}`,\r\n hover: colors[\"yellow\"],\r\n border: 'transparent',\r\n active: colors[\"yellow-light\"],\r\n fontColor: colors.white,\r\n },\r\n blue: {\r\n default: `${colors['yellow-normal']}`,\r\n hover: colors[\"yellow\"],\r\n border: 'transparent',\r\n active: colors[\"yellow-light\"],\r\n fontColor: colors.white,\r\n }\r\n\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nexport interface ButtonServiceType {\r\n enable: () => void;\r\n disable: () => void;\r\n disabled$: Observable<boolean>\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ButtonService {\r\n private buttonsState: { [id: string]: BehaviorSubject<boolean> } = {};\r\n\r\n private ensureButtonExists(id: string): void {\r\n if (!this.buttonsState[id]) {\r\n this.buttonsState[id] = new BehaviorSubject<boolean>(false);\r\n }\r\n }\r\n\r\n useButton(id: string): ButtonServiceType {\r\n this.ensureButtonExists(id);\r\n\r\n return {\r\n disabled$: this.buttonsState[id].asObservable(),\r\n enable: () => this.buttonsState[id].next(false),\r\n disable: () => this.buttonsState[id].next(true),\r\n };\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport {Observable, Subscription} from 'rxjs';\r\nimport {FaIconComponent} from \"@fortawesome/angular-fontawesome\";\r\nimport {NgClass, NgIf} from \"@angular/common\";\r\n// @ts-ignore\r\nimport {themes} from \"../../styles/themes\";\r\nimport {ButtonService, ButtonServiceType} from \"../../hooks/button.service\";\r\n// @ts-ignore\r\n\r\n\r\n\r\n@Component({\r\n selector: 'rdnd-button',\r\n templateUrl: './button.component.html',\r\n standalone: true,\r\n imports: [\r\n FaIconComponent,\r\n NgIf,\r\n NgClass\r\n ],\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class RdndButton implements OnInit, OnDestroy {\r\n @Input() id!: string;\r\n @Input() icon?: IconDefinition;\r\n @Input() text: string = 'Enviar';\r\n @Input() theme: any = themes.magenta;\r\n @Input() size: 'contained' | 'full' = 'full';\r\n @Input() type: 'button' | 'submit' | 'reset' = 'submit';\r\n @Input() borders: boolean = true;\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() callback: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n protected readonly themes = themes;\r\n private subscription!: Subscription;\r\n hoverBackgroundColor: string = this.theme.default;\r\n\r\n buttonControl!: ButtonServiceType ;\r\n\r\n constructor(private buttonService: ButtonService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buttonControl = this.buttonService.useButton(this.id);\r\n\r\n this.subscription = new Subscription( () =>\r\n this.buttonControl.disabled$.subscribe((isDisabled: boolean) => {\r\n this.disabled = isDisabled;\r\n })\r\n )\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if(this.subscription){\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n handleClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n if (!this.disabled && this.type !== 'submit') {\r\n this.callback.emit();\r\n }\r\n }\r\n\r\n onMouseEnter() {\r\n if (!this.disabled) {\r\n this.hoverBackgroundColor = this.theme.hover;\r\n }\r\n }\r\n\r\n onMouseLeave() {\r\n if (!this.disabled) {\r\n this.hoverBackgroundColor = this.theme.default;\r\n }\r\n }\r\n\r\n protected readonly event = event;\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'full': size === 'full',\r\n 'contained': size === 'contained',\r\n 'bordered': borders,\r\n 'disabled': disabled\r\n }\"\r\n [style.background]=\"disabled ? themes.disabled.default : theme.default\"\r\n [style.color]=\"theme.fontColor\"\r\n [style.border]=\"borders ? '1px solid ' + theme.border : 'none'\"\r\n [style.cursor]=\"disabled ? 'not-allowed' : 'pointer'\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled\"\r\n\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\" class=\"icon\"></fa-icon>\r\n {{ text }}\r\n</button>\r\n","import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport { FormControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport type InputStateType = {\r\n isValid: BehaviorSubject<boolean>;\r\n valid: Observable<boolean>;\r\n errorMessage: Observable<string | null>;\r\n setValid: (isValid: boolean) => void;\r\n setErrorMessage: (message: string | null) => void;\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InputService {\r\n\r\n private inputState: {\r\n [id: string]: {\r\n valid$: BehaviorSubject<boolean>;\r\n errorMessage$: BehaviorSubject<string | null>;\r\n };\r\n } = {};\r\n\r\n private ensureInputExists(id: string): void {\r\n if (!this.inputState[id]) {\r\n this.inputState[id] = {\r\n valid$: new BehaviorSubject<boolean>(false),\r\n errorMessage$: new BehaviorSubject<string | null>(null),\r\n };\r\n }\r\n }\r\n\r\n useInput(id: string): InputStateType {\r\n this.ensureInputExists(id);\r\n\r\n return {\r\n isValid: this.inputState[id].valid$,\r\n valid: this.inputState[id].valid$.asObservable(),\r\n errorMessage: this.inputState[id].errorMessage$.asObservable(),\r\n setValid: (isValid: boolean) => this.inputState[id].valid$.next(isValid),\r\n setErrorMessage: (message: string | null) =>\r\n this.inputState[id].errorMessage$.next(message),\r\n };\r\n }\r\n\r\n updateInputState(control: FormControl, id: string): void {\r\n this.ensureInputExists(id);\r\n\r\n const errors: ValidationErrors | null = control.errors;\r\n\r\n if (control.valid) {\r\n this.inputState[id].valid$.next(true);\r\n this.inputState[id].errorMessage$.next(null);\r\n } else {\r\n this.inputState[id].valid$.next(false);\r\n this.inputState[id].errorMessage$.next(this.getErrorMessage(errors));\r\n }\r\n }\r\n\r\n private getErrorMessage(errors: ValidationErrors | null): string | null {\r\n if (!errors) return null;\r\n\r\n if (errors['required']) return 'Este campo es obligatorio';\r\n if (errors['minlength'])\r\n return `Mínimo ${errors['minlength'].requiredLength} caracteres requeridos`;\r\n if (errors['maxlength'])\r\n return `Máximo ${errors['maxlength'].requiredLength} caracteres permitidos`;\r\n if (errors['email']) return 'Formato de correo inválido';\r\n\r\n return null;\r\n }\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\nimport {FormControl, ReactiveFormsModule, ValidationErrors, ValidatorFn, Validators} from '@angular/forms';\r\nimport {faEyeSlash} from '@fortawesome/free-solid-svg-icons';\r\nimport {NgClass, NgIf} from '@angular/common';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {InputService} from \"../../hooks/input.service\";\r\n\r\n\r\n@Component({\r\n selector: 'rdnd-input',\r\n templateUrl: './input.component.html',\r\n standalone: true,\r\n imports: [\r\n NgIf,\r\n NgClass,\r\n FontAwesomeModule,\r\n ReactiveFormsModule\r\n ],\r\n styleUrls: ['./input.component.scss']\r\n})\r\nexport class RdndInput implements OnInit {\r\n @Input() id!: string;\r\n @Input() name!: string;\r\n @Input() type: 'text' | 'password' | 'number' = 'text';\r\n @Input() placeholder: string = '';\r\n @Input() value: string = '';\r\n @Input() validators: ValidatorFn[] = [];\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() valueChange = new EventEmitter<string>();\r\n @Output() onKeyDown = new EventEmitter<KeyboardEvent>();\r\n @Output() onPaste = new EventEmitter<ClipboardEvent>();\r\n @Output() onFocus = new EventEmitter<FocusEvent>();\r\n @Output() onBlur = new EventEmitter<FocusEvent>();\r\n\r\n control!: FormControl;\r\n faEyeSlash = faEyeSlash;\r\n showPassword: boolean = false;\r\n showError: boolean = false;\r\n\r\n constructor(private inputService: InputService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.control = new FormControl(this.value, this.validators);\r\n\r\n this.valueChange.emit(this.value);\r\n this.inputService.updateInputState(this.control, this.id);\r\n\r\n this.control.valueChanges.subscribe((value) => {\r\n this.valueChange.emit(value);\r\n this.inputService.updateInputState(this.control, this.id);\r\n });\r\n\r\n }\r\n\r\n getErrorMessage(): string | null {\r\n if (this.control && this.control.errors) {\r\n const errorKeys = Object.keys(this.control.errors);\r\n if (errorKeys.length > 0) {\r\n const firstErrorKey = errorKeys[0];\r\n return (this.control.errors as ValidationErrors)[firstErrorKey];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n toggleErrorDisplay() {\r\n this.showError = !this.showError;\r\n }\r\n\r\n hasError(): boolean {\r\n return this.control.invalid && (this.control.dirty || this.control.touched);\r\n }\r\n\r\n handleTogglePassword(): void {\r\n this.showPassword = !this.showPassword;\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent): void {\r\n const allowRegex = /^[a-zA-Z!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]*$/\r\n\r\n if (\r\n this.type === 'number' && !(\r\n ['Backspace', 'Shift', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key)\r\n ) && !(event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)\r\n ) {\r\n event.key.match(allowRegex) ? event.preventDefault() : this.onKeyDown.emit(event);\r\n } else {\r\n this.onKeyDown.emit(event);\r\n }\r\n }\r\n\r\n handlePaste(event: ClipboardEvent): void {\r\n this.onPaste.emit(event);\r\n }\r\n\r\n handleFocus(event: FocusEvent): void {\r\n this.onFocus.emit(event);\r\n }\r\n\r\n handleBlur(event: FocusEvent): void {\r\n this.onBlur.emit(event);\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'disabled': disabled }\" class=\"input-container\">\r\n <!-- Ícono de error que aparece por encima del campo si hay error -->\r\n <span *ngIf=\"hasError()\" class=\"error-icon\" (click)=\"toggleErrorDisplay()\">ⓘ</span>\r\n\r\n <!-- Botón de mostrar/ocultar contraseña centrado verticalmente -->\r\n <button *ngIf=\"type === 'password'\" type=\"button\" (click)=\"handleTogglePassword()\" class=\"toggle-button\">\r\n <fa-icon [icon]=\"faEyeSlash\" class=\"icon\" [class.active]=\"showPassword\"></fa-icon>\r\n </button>\r\n\r\n <!-- Input que cambia de borde si tiene error -->\r\n <input\r\n [type]=\"type === 'password' && showPassword ? 'text' : type\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n (keydown)=\"handleKeyDown($event)\"\r\n (paste)=\"handlePaste($event)\"\r\n (focus)=\"handleFocus($event)\"\r\n (blur)=\"handleBlur($event)\"\r\n [ngClass]=\"{ 'error-border': hasError() }\"\r\n />\r\n\r\n <!-- Mensaje de error que aparece solo cuando se clickea en el ícono de error -->\r\n <div *ngIf=\"control.invalid && control.dirty && showError\" class=\"error-message\">\r\n {{ getErrorMessage() }}\r\n </div>\r\n</div>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {IconDefinition} from '@fortawesome/free-solid-svg-icons';\r\nimport {themes} from \"../../styles/themes\";\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {RdndButton} from \"../button/button.component\";\r\nimport {RdndScreenTitle} from \"../screen-title/screen-title.component\";\r\n\r\n@Component({\r\n selector: 'rdnd-modal',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule,\r\n RdndButton,\r\n RdndScreenTitle,\r\n ],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.scss'\r\n})\r\nexport class RdndModal {\r\n @Input() title: string = '';\r\n @Input() type: 'success' | 'error' | 'question' | 'warning' | 'info' = 'success';\r\n @Input() theme: any = themes.magenta;\r\n @Input() confirmText: string = '';\r\n @Input() cancelText: string = '';\r\n @Output() close = new EventEmitter<boolean>();\r\n\r\n protected readonly themes = themes;\r\n\r\n icon?: IconDefinition;\r\n content: string = '';\r\n\r\n closeModal(result: boolean) {\r\n this.close.emit(result);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","<div class=\"modal-wrapper\">\r\n\r\n <div class=\"container\" (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"content\">\r\n\r\n @if (icon) {\r\n <fa-icon [icon]=\"icon\" class=\"icon\" [style.color]=\"theme.default\"\r\n />\r\n }\r\n\r\n <span class=\"subtitle align-center\">{{ title }}</span>\r\n\r\n <div class=\"text align-center\" [innerHTML]=\"content\">\r\n </div>\r\n\r\n\r\n @if (type !== 'question') {\r\n <rdnd-button\r\n [id]=\"'btn-modal'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(true)\"\r\n [text]=\"'Aceptar'\"\r\n [theme]=\"theme\"\r\n [size]=\"'full'\"\r\n />\r\n } @else {\r\n <rdnd-button\r\n [id]=\"'btn-modal-accept'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(true)\"\r\n [text]=\"confirmText\"\r\n [theme]=\"theme\"\r\n [size]=\"'full'\"\r\n />\r\n <rdnd-button\r\n [id]=\"'btn-modal-cancel'\"\r\n [type]=\"'button'\"\r\n (callback)=\"closeModal(false)\"\r\n [text]=\"cancelText\"\r\n [theme]=\"themes.bordered\"\r\n [size]=\"'full'\"\r\n />\r\n }\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n</div>\r\n\r\n","import {Injectable, ComponentRef} from '@angular/core';\r\nimport {ApplicationRef, ComponentFactoryResolver, Injector} from '@angular/core';\r\nimport {faCircleCheck, faCircleQuestion, IconDefinition} from '@fortawesome/free-solid-svg-icons';\r\nimport {faTriangleExclamation} from \"@fortawesome/free-solid-svg-icons/faTriangleExclamation\";\r\nimport {themes} from \"../styles/themes\";\r\nimport {faTable} from \"@fortawesome/free-solid-svg-icons/faTable\";\r\nimport {RdndModal} from \"../components/modal/modal.component\";\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class ModalService {\r\n private modalRef: ComponentRef<RdndModal> | null = null;\r\n\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n openModal(title: string, content: string, type: 'success' | 'error' | 'question' | 'warning' | 'info' = 'success', confirmText = 'Continuar', cancelText = 'Cancelar'): Promise<boolean> {\r\n if (this.modalRef) return Promise.resolve(false);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(RdndModal);\r\n this.modalRef = factory.create(this.injector);\r\n\r\n this.modalRef.instance.title = title;\r\n this.modalRef.instance.type = type;\r\n this.modalRef.instance.theme = this.getStyleTheme(type);\r\n this.modalRef.instance.content = content;\r\n this.modalRef.instance.icon = this.getIcon(type);\r\n this.modalRef.instance.confirmText = confirmText;\r\n this.modalRef.instance.cancelText = cancelText;\r\n\r\n const result = new Promise<boolean>((resolve) => {\r\n this.modalRef!.instance.close.subscribe((res: boolean) => {\r\n this.closeModal();\r\n resolve(res);\r\n });\r\n });\r\n\r\n this.appRef.attachView(this.modalRef.hostView);\r\n const domElem = (this.modalRef.hostView as any).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n return result;\r\n }\r\n\r\n getStyleTheme = (theme: 'success' | 'error' | 'question' | 'warning' | 'info') => {\r\n switch (theme) {\r\n case \"success\":\r\n return themes.green;\r\n case 'error':\r\n return themes.magentaNormal;\r\n case 'question':\r\n return themes.purple\r\n case 'warning':\r\n return themes.yellow\r\n case 'info':\r\n return themes.purple\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n if (this.modalRef) {\r\n this.appRef.detachView(this.modalRef.hostView);\r\n this.modalRef.destroy();\r\n this.modalRef = null;\r\n }\r\n }\r\n\r\n getIcon(theme: 'success' | 'error' | 'question' | 'warning' | 'info'): IconDefinition {\r\n switch (theme) {\r\n case 'error':\r\n return faTriangleExclamation;\r\n case 'question':\r\n return faCircleQuestion\r\n case \"success\":\r\n return faCircleCheck\r\n case \"warning\":\r\n return faTriangleExclamation;\r\n case \"info\":\r\n return faTable;\r\n }\r\n\r\n }\r\n}\r\n","/*\r\n * Public API Surface of gentera-rdnd\r\n */\r\n\r\nexport * from './lib/components/screen-title/screen-title.component';\r\nexport * from \"./lib/components/rdnd-navbar/rdnd-navbar.component\";\r\nexport * from \"./lib/components/rdnd-sidebar/rdnd-sidebar.component\";\r\n\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/input/input.component';\r\nexport * from './lib/components/modal/modal.component';\r\n\r\nexport * from './lib/hooks/button.service';\r\nexport * from './lib/hooks/input.service';\r\nexport * from './lib/hooks/modal.service';\r\n\r\n// Export utils\r\nexport {themes as rdndThemes} from './lib/styles/themes';\r\n\r\n\r\n// Export types\r\nexport {RdndSidebarEntry} from \"./lib/types/Sidebar.types\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ButtonService","i1.InputService"],"mappings":"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"}
|