gentera-rdnd 0.1.13 → 0.1.14
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.
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { Component, Input, output } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { faArrowRight, faChevronDown, faChevronUp, } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
-
import { NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { NgClass, NgStyle } from '@angular/common';
|
|
5
3
|
import { RouterLink } from '@angular/router';
|
|
4
|
+
// Icons
|
|
5
|
+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
|
6
|
+
import { faArrowRight, faChevronDown, faChevronUp, faCircle } from '@fortawesome/free-solid-svg-icons';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class RdndSidebar {
|
|
9
|
+
// Inputs
|
|
8
10
|
show = false;
|
|
11
|
+
user;
|
|
9
12
|
entries = [];
|
|
10
13
|
backgroundStart = '#C2185B';
|
|
11
14
|
backgroundEnd = '#7E0083';
|
|
15
|
+
activeRoute = '/';
|
|
16
|
+
// Outputs
|
|
12
17
|
onClickEntry = output();
|
|
13
18
|
faArrowRight = faArrowRight;
|
|
14
19
|
faChevronDown = faChevronDown;
|
|
15
20
|
faChevronUp = faChevronUp;
|
|
21
|
+
faCircle = faCircle;
|
|
16
22
|
openSections = new Set();
|
|
17
23
|
handleClick = () => {
|
|
18
24
|
this.onClickEntry.emit();
|
|
@@ -22,30 +28,35 @@ export class RdndSidebar {
|
|
|
22
28
|
? this.openSections.delete(name)
|
|
23
29
|
: this.openSections.add(name);
|
|
24
30
|
}
|
|
25
|
-
isSectionOpen(
|
|
26
|
-
|
|
31
|
+
isSectionOpen(section) {
|
|
32
|
+
const hasActiveChild = section.entries?.some(entry => this.activeRoute === `${section.url}${entry.url}`);
|
|
33
|
+
return hasActiveChild || this.openSections.has(section.name);
|
|
34
|
+
}
|
|
35
|
+
isActiveRoute(itemRoute) {
|
|
36
|
+
return this.activeRoute === itemRoute;
|
|
27
37
|
}
|
|
28
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndSidebar, isStandalone: true, selector: "rdnd-sidebar", inputs: { show: "show", entries: "entries", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onClickEntry: "onClickEntry" }, ngImport: i0, template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a
|
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndSidebar, isStandalone: true, selector: "rdnd-sidebar", inputs: { show: "show", user: "user", entries: "entries", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd", activeRoute: "activeRoute" }, outputs: { onClickEntry: "onClickEntry" }, ngImport: i0, template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n\r\n @if (user) {\r\n\r\n <div class=\"user-details\">\r\n @if (user.photo) {\r\n <img src=\"{{user.photo}}\" alt='{{user.name}}' class=\"user-image\">\r\n } @else {\r\n <div class=\"user-image\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n </div>\r\n }\r\n\r\n <div class=\"data\">\r\n <span>\r\n <fa-icon [icon]=\"faCircle\" class=\"icon\"></fa-icon>\r\n {{ user.name }}\r\n </span>\r\n <span class=\"email\">\r\n {{ user.email }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"{\r\n activeRoute: activeRoute === item.url\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + entry.url]\"\r\n (click)=\"handleClick()\"\r\n class=\"entry\"\r\n [ngClass]=\"{\r\n activeRoute: isActiveRoute(item.url + entry.url)\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\" class=\"icon\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n <hr/>\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;display:flex}to{opacity:0;display:none}}div.background-overlay{position:fixed;top:40px;left:0;width:100%;height:calc(100% - 40px);background-color:#000c;transition:all .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:89}div.background-overlay.closed{opacity:0;visibility:hidden;animation:fadeOut .3s ease-in-out}div.background-overlay.open{opacity:1;visibility:visible;animation:fadeIn .3s ease-in-out}aside.sidebar{border-top:1px solid white;position:fixed;top:40px;height:calc(100% - 40px);overflow-y:auto;width:100%;max-width:400px;padding:0 0 16px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;box-sizing:border-box;transition:left .3s ease-in-out;box-shadow:-2px 0 55px #0000004d;z-index:90}aside.sidebar.open{left:0}aside.sidebar.closed{left:-100%}aside.sidebar .user-details{border-top:1px solid rgba(242,242,242,.22);border-bottom:1px solid rgba(242,242,242,.22);margin:0 20px;padding:10px 0;display:grid;grid-template-columns:70px 1fr;grid-template-rows:70px;column-gap:20px;place-items:start;place-content:center;box-sizing:border-box}aside.sidebar .user-details .user-image{background-color:#fff;border:2px solid white;width:70px;height:70px;grid-column:1;grid-row:1/3;border-radius:50%;display:flex;place-items:center;place-content:center}aside.sidebar .user-details .data{grid-row:1;grid-column:2;height:100%;display:flex;flex-direction:column;justify-content:center;margin:auto 0;gap:8px}aside.sidebar .user-details .data span{height:fit-content;margin:0;padding:0;grid-column:2;display:flex;align-items:center;color:#fff;font-size:16px}aside.sidebar .user-details .data span .icon{font-size:8px;color:#65a518;margin-right:4px}aside.sidebar .user-details .data span.email{font-size:12px}aside.sidebar .entries{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}aside.sidebar .entries li{width:100%;box-sizing:border-box}aside.sidebar .entries li .entry{width:100%;margin:0;padding:14px 20px;box-sizing:border-box;background-color:transparent;transition:all .3s ease;color:#fff;text-decoration:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-size:14px}aside.sidebar .entries li .entry:hover{background-color:#0000004d}aside.sidebar .entries li .entry.activeRoute{background-color:#0000001a}aside.sidebar .entries li.section{width:100%;box-sizing:border-box}aside.sidebar .entries li.section .section-title{width:100%;margin:0;padding:14px 20px;color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;-webkit-user-select:none;user-select:none;cursor:pointer;font-size:14px}aside.sidebar .entries li.section .section-title .chevron{font-size:12px}aside.sidebar .entries li.section .section-title:hover{background-color:#ffffff0d}aside.sidebar .entries li.section .section-entries{animation:fadeIn .3s ease-in-out}aside.sidebar .entries li.section .section-entries .entry{padding:14px 30px}aside.sidebar .entries li.section .section-entries .entry .icon{font-size:10px}aside.sidebar .entries li.section .section-entries hr{width:calc(100% - 40px);margin:auto;padding:0 20px 0 30px;color:#fff3;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
|
|
30
40
|
}
|
|
31
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndSidebar, decorators: [{
|
|
32
42
|
type: Component,
|
|
33
43
|
args: [{ selector: 'rdnd-sidebar', standalone: true, imports: [
|
|
34
44
|
NgClass,
|
|
35
45
|
NgStyle,
|
|
36
|
-
NgIf,
|
|
37
|
-
NgFor,
|
|
38
|
-
NgTemplateOutlet,
|
|
39
46
|
RouterLink,
|
|
40
47
|
FaIconComponent,
|
|
41
|
-
], template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a
|
|
48
|
+
], template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n\r\n @if (user) {\r\n\r\n <div class=\"user-details\">\r\n @if (user.photo) {\r\n <img src=\"{{user.photo}}\" alt='{{user.name}}' class=\"user-image\">\r\n } @else {\r\n <div class=\"user-image\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n </div>\r\n }\r\n\r\n <div class=\"data\">\r\n <span>\r\n <fa-icon [icon]=\"faCircle\" class=\"icon\"></fa-icon>\r\n {{ user.name }}\r\n </span>\r\n <span class=\"email\">\r\n {{ user.email }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"{\r\n activeRoute: activeRoute === item.url\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + entry.url]\"\r\n (click)=\"handleClick()\"\r\n class=\"entry\"\r\n [ngClass]=\"{\r\n activeRoute: isActiveRoute(item.url + entry.url)\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\" class=\"icon\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n <hr/>\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;display:flex}to{opacity:0;display:none}}div.background-overlay{position:fixed;top:40px;left:0;width:100%;height:calc(100% - 40px);background-color:#000c;transition:all .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:89}div.background-overlay.closed{opacity:0;visibility:hidden;animation:fadeOut .3s ease-in-out}div.background-overlay.open{opacity:1;visibility:visible;animation:fadeIn .3s ease-in-out}aside.sidebar{border-top:1px solid white;position:fixed;top:40px;height:calc(100% - 40px);overflow-y:auto;width:100%;max-width:400px;padding:0 0 16px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;box-sizing:border-box;transition:left .3s ease-in-out;box-shadow:-2px 0 55px #0000004d;z-index:90}aside.sidebar.open{left:0}aside.sidebar.closed{left:-100%}aside.sidebar .user-details{border-top:1px solid rgba(242,242,242,.22);border-bottom:1px solid rgba(242,242,242,.22);margin:0 20px;padding:10px 0;display:grid;grid-template-columns:70px 1fr;grid-template-rows:70px;column-gap:20px;place-items:start;place-content:center;box-sizing:border-box}aside.sidebar .user-details .user-image{background-color:#fff;border:2px solid white;width:70px;height:70px;grid-column:1;grid-row:1/3;border-radius:50%;display:flex;place-items:center;place-content:center}aside.sidebar .user-details .data{grid-row:1;grid-column:2;height:100%;display:flex;flex-direction:column;justify-content:center;margin:auto 0;gap:8px}aside.sidebar .user-details .data span{height:fit-content;margin:0;padding:0;grid-column:2;display:flex;align-items:center;color:#fff;font-size:16px}aside.sidebar .user-details .data span .icon{font-size:8px;color:#65a518;margin-right:4px}aside.sidebar .user-details .data span.email{font-size:12px}aside.sidebar .entries{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}aside.sidebar .entries li{width:100%;box-sizing:border-box}aside.sidebar .entries li .entry{width:100%;margin:0;padding:14px 20px;box-sizing:border-box;background-color:transparent;transition:all .3s ease;color:#fff;text-decoration:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-size:14px}aside.sidebar .entries li .entry:hover{background-color:#0000004d}aside.sidebar .entries li .entry.activeRoute{background-color:#0000001a}aside.sidebar .entries li.section{width:100%;box-sizing:border-box}aside.sidebar .entries li.section .section-title{width:100%;margin:0;padding:14px 20px;color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;-webkit-user-select:none;user-select:none;cursor:pointer;font-size:14px}aside.sidebar .entries li.section .section-title .chevron{font-size:12px}aside.sidebar .entries li.section .section-title:hover{background-color:#ffffff0d}aside.sidebar .entries li.section .section-entries{animation:fadeIn .3s ease-in-out}aside.sidebar .entries li.section .section-entries .entry{padding:14px 30px}aside.sidebar .entries li.section .section-entries .entry .icon{font-size:10px}aside.sidebar .entries li.section .section-entries hr{width:calc(100% - 40px);margin:auto;padding:0 20px 0 30px;color:#fff3;box-sizing:border-box}\n"] }]
|
|
42
49
|
}], propDecorators: { show: [{
|
|
43
50
|
type: Input
|
|
51
|
+
}], user: [{
|
|
52
|
+
type: Input
|
|
44
53
|
}], entries: [{
|
|
45
54
|
type: Input
|
|
46
55
|
}], backgroundStart: [{
|
|
47
56
|
type: Input
|
|
48
57
|
}], backgroundEnd: [{
|
|
49
58
|
type: Input
|
|
59
|
+
}], activeRoute: [{
|
|
60
|
+
type: Input
|
|
50
61
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRuZC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlbnRlcmEtcmRuZC9zcmMvbGliL2NvbXBvbmVudHMvcmRuZC1zaWRlYmFyL3JkbmQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW50ZXJhLXJkbmQvc3JjL2xpYi9jb21wb25lbnRzL3JkbmQtc2lkZWJhci9yZG5kLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGFBQWEsRUFDYixXQUFXLEdBQ1osTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQWtCM0MsTUFBTSxPQUFPLFdBQVc7SUFDYixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBQ2hDLGVBQWUsR0FBVyxTQUFTLENBQUM7SUFDcEMsYUFBYSxHQUFXLFNBQVMsQ0FBQztJQUUzQyxZQUFZLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFTCxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQzVCLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDOUIsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUU3QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUVqQyxXQUFXLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7d0dBMUJVLFdBQVc7NEZBQVgsV0FBVyxxT0MxQnhCLDR1REF5REEsOG1FRDFDSSxPQUFPLG9GQUNQLE9BQU8sMkVBSVAsVUFBVSxvT0FDVixlQUFlOzs0RkFLTixXQUFXO2tCQWZ2QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsZUFBZTtxQkFDaEI7OEJBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIG91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmFJY29uQ29tcG9uZW50fSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7XHJcbiAgZmFBcnJvd1JpZ2h0LFxyXG4gIGZhQ2hldnJvbkRvd24sXHJcbiAgZmFDaGV2cm9uVXAsXHJcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1JkbmRTaWRlYmFySXRlbX0gZnJvbSBcIi4uLy4uL3R5cGVzL1NpZGViYXIudHlwZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRuZC1zaWRlYmFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ1N0eWxlLFxyXG4gICAgTmdJZixcclxuICAgIE5nRm9yLFxyXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgIFJvdXRlckxpbmssXHJcbiAgICBGYUljb25Db21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmRuZC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmRuZC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkbmRTaWRlYmFyIHtcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZW50cmllczogUmRuZFNpZGViYXJJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kU3RhcnQ6IHN0cmluZyA9ICcjQzIxODVCJztcclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kRW5kOiBzdHJpbmcgPSAnIzdFMDA4Myc7XHJcblxyXG4gIG9uQ2xpY2tFbnRyeSA9IG91dHB1dCgpO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFBcnJvd1JpZ2h0ID0gZmFBcnJvd1JpZ2h0O1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBmYUNoZXZyb25Eb3duID0gZmFDaGV2cm9uRG93bjtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFDaGV2cm9uVXAgPSBmYUNoZXZyb25VcDtcclxuXHJcbiAgb3BlblNlY3Rpb25zID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gIGhhbmRsZUNsaWNrID0gKCkgPT4ge1xyXG4gICAgdGhpcy5vbkNsaWNrRW50cnkuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gIHRvZ2dsZVNlY3Rpb24obmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9wZW5TZWN0aW9ucy5oYXMobmFtZSlcclxuICAgICAgPyB0aGlzLm9wZW5TZWN0aW9ucy5kZWxldGUobmFtZSlcclxuICAgICAgOiB0aGlzLm9wZW5TZWN0aW9ucy5hZGQobmFtZSk7XHJcbiAgfVxyXG5cclxuICBpc1NlY3Rpb25PcGVuKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3BlblNlY3Rpb25zLmhhcyhuYW1lKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChzaG93KSB7XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJiYWNrZ3JvdW5kLW92ZXJsYXlcIlxyXG4gICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKClcIlxyXG4gICAgW25nQ2xhc3NdPVwic2hvdyA/ICdvcGVuJyA6ICdjbG9zZWQnXCI+XHJcbiAgPC9kaXY+XHJcbn1cclxuXHJcbjxhc2lkZVxyXG4gIGlkPVwic2lkZWJhclwiXHJcbiAgY2xhc3M9XCJzaWRlYmFyXCJcclxuICBbbmdDbGFzc109XCJzaG93ID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxyXG4gIFtuZ1N0eWxlXT1cIntcclxuICAgICdiYWNrZ3JvdW5kJzogJ2xpbmVhci1ncmFkaWVudCh0byBib3R0b20sICcgKyBiYWNrZ3JvdW5kU3RhcnQgKyAnLCAnICsgYmFja2dyb3VuZEVuZCArICcpJ1xyXG4gIH1cIlxyXG4+XHJcbiAgPHVsIGNsYXNzPVwiZW50cmllc1wiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBlbnRyaWVzOyB0cmFjayBpdGVtLm5hbWUpIHtcclxuICAgICAgQGlmIChpdGVtLnR5cGUgPT09ICdFTlRSWScpIHtcclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbaXRlbS51cmxdXCIgY2xhc3M9XCJlbnRyeVwiIChjbGljayk9XCJoYW5kbGVDbGljaygpXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQXJyb3dSaWdodFwiLz5cclxuICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfSBAZWxzZSBpZiAoaXRlbS50eXBlID09PSAnU0VDVElPTicpIHtcclxuICAgICAgICA8bGkgY2xhc3M9XCJzZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi10aXRsZVwiIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKGl0ZW0ubmFtZSlcIj5cclxuICAgICAgICAgICAgPGZhLWljb25cclxuICAgICAgICAgICAgICBbaWNvbl09XCJpc1NlY3Rpb25PcGVuKGl0ZW0ubmFtZSkgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hldnJvblwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIEBpZiAoaXNTZWN0aW9uT3BlbihpdGVtLm5hbWUpKSB7XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInNlY3Rpb24tZW50cmllc1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIGl0ZW0uZW50cmllczsgdHJhY2sgZW50cnkubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltpdGVtLnVybCArICcvJyArIGVudHJ5LnVybF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZW50cnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQXJyb3dSaWdodFwiLz5cclxuICAgICAgICAgICAgICAgICAgICB7eyBlbnRyeS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgPC91bD5cclxuPC9hc2lkZT5cclxuIl19
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRuZC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlbnRlcmEtcmRuZC9zcmMvbGliL2NvbXBvbmVudHMvcmRuZC1zaWRlYmFyL3JkbmQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW50ZXJhLXJkbmQvc3JjL2xpYi9jb21wb25lbnRzL3JkbmQtc2lkZWJhci9yZG5kLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLFFBQVE7QUFDUixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUNMLFlBQVksRUFDWixhQUFhLEVBQ2IsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLG1DQUFtQyxDQUFDOztBQWdCM0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsVUFBVTtJQUNELElBQUksR0FBWSxLQUFLLENBQUM7SUFDdEIsSUFBSSxDQUFtRDtJQUN2RCxPQUFPLEdBQXNCLEVBQUUsQ0FBQztJQUNoQyxlQUFlLEdBQVcsU0FBUyxDQUFDO0lBQ3BDLGFBQWEsR0FBVyxTQUFTLENBQUM7SUFDbEMsV0FBVyxHQUFZLEdBQUcsQ0FBQztJQUVwQyxVQUFVO0lBQ1YsWUFBWSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBRUwsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUM1QixhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQzlCLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDMUIsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUV2QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUVqQyxXQUFXLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBd0I7UUFDcEMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUN4RyxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFpQjtRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO0lBQ3hDLENBQUM7d0dBcENVLFdBQVc7NEZBQVgsV0FBVywrUUMxQnhCLHFpSkFnSkEsb3lHRDlISSxPQUFPLG9GQUNQLE9BQU8sMkVBQ1AsVUFBVSxvT0FDVixlQUFlOzs0RkFLTixXQUFXO2tCQVp2QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsZUFBZTtxQkFDaEI7OEJBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIG91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdTdHlsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG4vLyBJY29uc1xyXG5pbXBvcnQge0ZhSWNvbkNvbXBvbmVudH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQge1xyXG4gIGZhQXJyb3dSaWdodCxcclxuICBmYUNoZXZyb25Eb3duLFxyXG4gIGZhQ2hldnJvblVwLFxyXG4gIGZhQ2lyY2xlXHJcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuLy8gQ29tcG9uZW50c1xyXG5pbXBvcnQge1JkbmRTaWRlYmFySXRlbX0gZnJvbSBcIi4uLy4uL3R5cGVzL1NpZGViYXIudHlwZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRuZC1zaWRlYmFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ1N0eWxlLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIEZhSWNvbkNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZG5kLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZG5kLXNpZGViYXIuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmRuZFNpZGViYXIge1xyXG4gIC8vICBJbnB1dHNcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlcj86IHsgbmFtZTogc3RyaW5nOyBlbWFpbDogc3RyaW5nOyBwaG90bz86IHN0cmluZyB9O1xyXG4gIEBJbnB1dCgpIGVudHJpZXM6IFJkbmRTaWRlYmFySXRlbVtdID0gW107XHJcbiAgQElucHV0KCkgYmFja2dyb3VuZFN0YXJ0OiBzdHJpbmcgPSAnI0MyMTg1Qic7XHJcbiAgQElucHV0KCkgYmFja2dyb3VuZEVuZDogc3RyaW5nID0gJyM3RTAwODMnO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZVJvdXRlPzogc3RyaW5nID0gJy8nO1xyXG5cclxuICAvLyBPdXRwdXRzXHJcbiAgb25DbGlja0VudHJ5ID0gb3V0cHV0KCk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBmYUFycm93UmlnaHQgPSBmYUFycm93UmlnaHQ7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhQ2hldnJvbkRvd24gPSBmYUNoZXZyb25Eb3duO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBmYUNoZXZyb25VcCA9IGZhQ2hldnJvblVwO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBmYUNpcmNsZSA9IGZhQ2lyY2xlO1xyXG5cclxuICBvcGVuU2VjdGlvbnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm9uQ2xpY2tFbnRyeS5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgdG9nZ2xlU2VjdGlvbihuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub3BlblNlY3Rpb25zLmhhcyhuYW1lKVxyXG4gICAgICA/IHRoaXMub3BlblNlY3Rpb25zLmRlbGV0ZShuYW1lKVxyXG4gICAgICA6IHRoaXMub3BlblNlY3Rpb25zLmFkZChuYW1lKTtcclxuICB9XHJcblxyXG4gIGlzU2VjdGlvbk9wZW4oc2VjdGlvbjogUmRuZFNpZGViYXJJdGVtKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBoYXNBY3RpdmVDaGlsZCA9IHNlY3Rpb24uZW50cmllcz8uc29tZShlbnRyeSA9PiB0aGlzLmFjdGl2ZVJvdXRlID09PSBgJHtzZWN0aW9uLnVybH0ke2VudHJ5LnVybH1gKVxyXG4gICAgcmV0dXJuIGhhc0FjdGl2ZUNoaWxkIHx8IHRoaXMub3BlblNlY3Rpb25zLmhhcyhzZWN0aW9uLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaXNBY3RpdmVSb3V0ZShpdGVtUm91dGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUm91dGUgPT09IGl0ZW1Sb3V0ZTtcclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoc2hvdykge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYmFja2dyb3VuZC1vdmVybGF5XCJcclxuICAgIChjbGljayk9XCJoYW5kbGVDbGljaygpXCJcclxuICAgIFtuZ0NsYXNzXT1cInNob3cgPyAnb3BlbicgOiAnY2xvc2VkJ1wiPlxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG48YXNpZGVcclxuICBpZD1cInNpZGViYXJcIlxyXG4gIGNsYXNzPVwic2lkZWJhclwiXHJcbiAgW25nQ2xhc3NdPVwic2hvdyA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcclxuICBbbmdTdHlsZV09XCJ7XHJcbiAgICAnYmFja2dyb3VuZCc6ICdsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAnICsgYmFja2dyb3VuZFN0YXJ0ICsgJywgJyArIGJhY2tncm91bmRFbmQgKyAnKSdcclxuICB9XCJcclxuPlxyXG5cclxuICBAaWYgKHVzZXIpIHtcclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidXNlci1kZXRhaWxzXCI+XHJcbiAgICAgIEBpZiAodXNlci5waG90bykge1xyXG4gICAgICAgIDxpbWcgc3JjPVwie3t1c2VyLnBob3RvfX1cIiBhbHQ9J3t7dXNlci5uYW1lfX0nIGNsYXNzPVwidXNlci1pbWFnZVwiPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbWFnZVwiPlxyXG4gICAgICAgICAgPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJDYXBhXzFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcclxuICAgICAgICAgICAgICAgeD1cIjBweFwiIHk9XCIwcHhcIlxyXG4gICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDU1NCA0ODFcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTU0IDQ4MTtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPlxyXG48c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XHJcblx0LnN0MCB7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnN0MSB7XHJcbiAgICBmaWxsOiAjRTg1RTE2O1xyXG4gIH1cclxuXHJcbiAgLnN0MiB7XHJcbiAgICBmaWxsOiAjOUQwMDQ2O1xyXG4gIH1cclxuXHJcbiAgLnN0MyB7XHJcbiAgICBmaWxsOiAjNTkyMjc1O1xyXG4gIH1cclxuXHJcbiAgLnN0NCB7XHJcbiAgICBmaWxsOiAjQ0QwMDU4O1xyXG4gIH1cclxuXHJcbiAgLnN0NSB7XHJcbiAgICBmaWxsOiAjMDA1ODdGO1xyXG4gIH1cclxuXHJcbiAgLnN0NiB7XHJcbiAgICBmaWxsOiAjMjI5QjdEO1xyXG4gIH1cclxuPC9zdHlsZT5cclxuICAgICAgICAgICAgPHJlY3QgY2xhc3M9XCJzdDBcIiB3aWR0aD1cIjU1NFwiIGhlaWdodD1cIjQ4MVwiLz5cclxuICAgICAgICAgICAgPGc+XHJcblx0PHBhdGggaWQ9XCJuYXJhbmphXCIgY2xhc3M9XCJzdDFcIiBkPVwiTTI3Ny40LDEyOC40Yzc0LjctNDAuMSwxNDYuNC00MCwxNTQuNS00MGM4LjEsNDgsMTMuNyw2Ny03LjksMTIxLjNcclxuXHRcdGMtMjQuMiw0My44LTE2OS45LDcxLjEtMTY5LjksNzEuMWwwLDBjMi43LTUuMy0zLjctNjcuNy0zLjctNjcuN1MyNDguNiwxNDEuOCwyNzcuNCwxMjguNFwiLz5cclxuICAgICAgICAgICAgICA8cGF0aCBpZD1cInJvamFcIiBjbGFzcz1cInN0MlwiIGQ9XCJNNDQ5LjgsMjA1LjdjLTIuNiwxNi0xMS42LDU4LTQzLjYsMTAxLjJzLTk5LjksODUuNS0xMzgsOTZzLTM1LjMsOC01MS42LDhcclxuXHRcdGMtMTAtMjguNi0xMS4zLTMzLjktNC45LTgxLjNzMjIuOS02MS44LDU2LjUtODBjMjQuNC0xMC43LDQ4LjctMTcuMyw3My4xLTI1LjNDMzc5LjQsMjEzLjcsNDE3LjQsMjA4LjMsNDQ5LjgsMjA1LjdcIi8+XHJcbiAgICAgICAgICAgICAgPHBhdGggaWQ9XCJtb3JhZGFcIiBjbGFzcz1cInN0M1wiIGQ9XCJNMjM2LjgsOTUuMWMxOC44LTguMyw0My4xLTE2LjcsNzAtMjUuMmMtNy44LDE4LjgtMTAuMSw0Mi44LTE1LjIsNjYuOVxyXG5cdFx0Yy02LjYsNDMuMi0xMi44LDEwNC40LTQwLjIsMTM2LjZDMjE3LjksMzEzLDEyNy4zLDM0OC4yLDEyNywzNDcuNmwtMi41LDBjLTE0LjQtNTAuNC0yMC42LTkzLTE1LjctMTI1XHJcblx0XHRDMTE2LDE2Ni40LDE1MC42LDEzMS4yLDIzNi44LDk1LjFMMjM2LjgsOTUuMVwiLz5cclxuICAgICAgICAgICAgICA8cGF0aCBpZD1cImZ1c2hpYVwiIGNsYXNzPVwic3Q0XCIgZD1cIk00MjUuNSwyNDZoMTMuNmMtMTMuNSwzNy4zLTMxLjQsNzYuMi03MiwxMDUuNmMtNjksNDguOS05OC44LDUwLjctOTguOCw1MC43UzM0MS40LDI1NCw0MjUuNSwyNDZcclxuXHRcdFwiLz5cclxuICAgICAgICAgICAgICA8cGF0aCBpZD1cImF6dWxcIiBjbGFzcz1cInN0NVwiIGQ9XCJNMTIyLjUsMzQ0LjFMMTIyLjUsMzQ0LjFjMTMuNiw0NS4zLDQ4LjgsNjkuMywxMDAuMyw2Ni42YzI0LjQtNDgsNDQtMTA4LjgsNTIuMS0xNjQuN1xyXG5cdFx0QzIxOCwyNzIuNywxNjUuOSwzMTIuMSwxMjIuNSwzNDQuMVwiLz5cclxuICAgICAgICAgICAgICA8cGF0aCBpZD1cInZlcmRlXCIgY2xhc3M9XCJzdDZcIiBkPVwiTTI3NywyMzIuM2M1LjQtMzcuMywxMC44LTcyLDE2LjItMTAzLjlDMjA2LjUsMTcxLDE0NC4yLDI1MSwxMjIuNSwzNDQuM1xyXG5cdFx0YzQzLjQtMzIsOTUuMi03MC4zLDE1Mi4xLTk3XCIvPlxyXG48L2c+XHJcbjwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0YVwiPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFDaXJjbGVcIiBjbGFzcz1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICB7eyB1c2VyLm5hbWUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlbWFpbFwiPlxyXG4gICAgICAgICAge3sgdXNlci5lbWFpbCB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gIH1cclxuXHJcbiAgPHVsIGNsYXNzPVwiZW50cmllc1wiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBlbnRyaWVzOyB0cmFjayBpdGVtLm5hbWUpIHtcclxuXHJcbiAgICAgIEBpZiAoaXRlbS50eXBlID09PSAnRU5UUlknKSB7XHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgPGFcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW2l0ZW0udXJsXVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZW50cnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICBhY3RpdmVSb3V0ZTogYWN0aXZlUm91dGUgPT09IGl0ZW0udXJsXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYUFycm93UmlnaHRcIi8+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH0gQGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ1NFQ1RJT04nKSB7XHJcbiAgICAgICAgPGxpIGNsYXNzPVwic2VjdGlvblwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oaXRlbS5uYW1lKVwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvblxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImlzU2VjdGlvbk9wZW4oaXRlbSkgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hldnJvblwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIEBpZiAoaXNTZWN0aW9uT3BlbihpdGVtKSkge1xyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJzZWN0aW9uLWVudHJpZXNcIj5cclxuICAgICAgICAgICAgICBAZm9yIChlbnRyeSBvZiBpdGVtLmVudHJpZXM7IHRyYWNrIGVudHJ5Lm5hbWUpIHtcclxuICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS51cmwgKyBlbnRyeS51cmxdXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbnRyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlUm91dGU6IGlzQWN0aXZlUm91dGUoaXRlbS51cmwgKyBlbnRyeS51cmwpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYUFycm93UmlnaHRcIiBjbGFzcz1cImljb25cIi8+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZW50cnkubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8aHIvPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgPC91bD5cclxuPC9hc2lkZT5cclxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, output, InjectionToken, Optional, Inject, Injectable, EventEmitter, Output } from '@angular/core';
|
|
3
|
-
import { NgStyle, NgClass, NgIf,
|
|
3
|
+
import { NgStyle, NgClass, NgIf, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i2 from '@fortawesome/angular-fontawesome';
|
|
5
5
|
import { FaIconComponent, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
6
|
-
import { faBarsStaggered, faSignOut, faTimes, faArrowRight, faChevronDown, faChevronUp, faEyeSlash, faCircleCheck, faCircleQuestion } from '@fortawesome/free-solid-svg-icons';
|
|
6
|
+
import { faBarsStaggered, faSignOut, faTimes, faArrowRight, faChevronDown, faChevronUp, faCircle, faEyeSlash, faCircleCheck, faCircleQuestion } from '@fortawesome/free-solid-svg-icons';
|
|
7
7
|
import { RouterLink } from '@angular/router';
|
|
8
8
|
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
9
9
|
import * as i3 from '@angular/forms';
|
|
@@ -128,14 +128,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
128
128
|
}] } });
|
|
129
129
|
|
|
130
130
|
class RdndSidebar {
|
|
131
|
+
// Inputs
|
|
131
132
|
show = false;
|
|
133
|
+
user;
|
|
132
134
|
entries = [];
|
|
133
135
|
backgroundStart = '#C2185B';
|
|
134
136
|
backgroundEnd = '#7E0083';
|
|
137
|
+
activeRoute = '/';
|
|
138
|
+
// Outputs
|
|
135
139
|
onClickEntry = output();
|
|
136
140
|
faArrowRight = faArrowRight;
|
|
137
141
|
faChevronDown = faChevronDown;
|
|
138
142
|
faChevronUp = faChevronUp;
|
|
143
|
+
faCircle = faCircle;
|
|
139
144
|
openSections = new Set();
|
|
140
145
|
handleClick = () => {
|
|
141
146
|
this.onClickEntry.emit();
|
|
@@ -145,31 +150,36 @@ class RdndSidebar {
|
|
|
145
150
|
? this.openSections.delete(name)
|
|
146
151
|
: this.openSections.add(name);
|
|
147
152
|
}
|
|
148
|
-
isSectionOpen(
|
|
149
|
-
|
|
153
|
+
isSectionOpen(section) {
|
|
154
|
+
const hasActiveChild = section.entries?.some(entry => this.activeRoute === `${section.url}${entry.url}`);
|
|
155
|
+
return hasActiveChild || this.openSections.has(section.name);
|
|
156
|
+
}
|
|
157
|
+
isActiveRoute(itemRoute) {
|
|
158
|
+
return this.activeRoute === itemRoute;
|
|
150
159
|
}
|
|
151
160
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndSidebar, isStandalone: true, selector: "rdnd-sidebar", inputs: { show: "show", entries: "entries", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd" }, outputs: { onClickEntry: "onClickEntry" }, ngImport: i0, template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a
|
|
161
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RdndSidebar, isStandalone: true, selector: "rdnd-sidebar", inputs: { show: "show", user: "user", entries: "entries", backgroundStart: "backgroundStart", backgroundEnd: "backgroundEnd", activeRoute: "activeRoute" }, outputs: { onClickEntry: "onClickEntry" }, ngImport: i0, template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n\r\n @if (user) {\r\n\r\n <div class=\"user-details\">\r\n @if (user.photo) {\r\n <img src=\"{{user.photo}}\" alt='{{user.name}}' class=\"user-image\">\r\n } @else {\r\n <div class=\"user-image\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n </div>\r\n }\r\n\r\n <div class=\"data\">\r\n <span>\r\n <fa-icon [icon]=\"faCircle\" class=\"icon\"></fa-icon>\r\n {{ user.name }}\r\n </span>\r\n <span class=\"email\">\r\n {{ user.email }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"{\r\n activeRoute: activeRoute === item.url\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + entry.url]\"\r\n (click)=\"handleClick()\"\r\n class=\"entry\"\r\n [ngClass]=\"{\r\n activeRoute: isActiveRoute(item.url + entry.url)\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\" class=\"icon\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n <hr/>\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;display:flex}to{opacity:0;display:none}}div.background-overlay{position:fixed;top:40px;left:0;width:100%;height:calc(100% - 40px);background-color:#000c;transition:all .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:89}div.background-overlay.closed{opacity:0;visibility:hidden;animation:fadeOut .3s ease-in-out}div.background-overlay.open{opacity:1;visibility:visible;animation:fadeIn .3s ease-in-out}aside.sidebar{border-top:1px solid white;position:fixed;top:40px;height:calc(100% - 40px);overflow-y:auto;width:100%;max-width:400px;padding:0 0 16px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;box-sizing:border-box;transition:left .3s ease-in-out;box-shadow:-2px 0 55px #0000004d;z-index:90}aside.sidebar.open{left:0}aside.sidebar.closed{left:-100%}aside.sidebar .user-details{border-top:1px solid rgba(242,242,242,.22);border-bottom:1px solid rgba(242,242,242,.22);margin:0 20px;padding:10px 0;display:grid;grid-template-columns:70px 1fr;grid-template-rows:70px;column-gap:20px;place-items:start;place-content:center;box-sizing:border-box}aside.sidebar .user-details .user-image{background-color:#fff;border:2px solid white;width:70px;height:70px;grid-column:1;grid-row:1/3;border-radius:50%;display:flex;place-items:center;place-content:center}aside.sidebar .user-details .data{grid-row:1;grid-column:2;height:100%;display:flex;flex-direction:column;justify-content:center;margin:auto 0;gap:8px}aside.sidebar .user-details .data span{height:fit-content;margin:0;padding:0;grid-column:2;display:flex;align-items:center;color:#fff;font-size:16px}aside.sidebar .user-details .data span .icon{font-size:8px;color:#65a518;margin-right:4px}aside.sidebar .user-details .data span.email{font-size:12px}aside.sidebar .entries{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}aside.sidebar .entries li{width:100%;box-sizing:border-box}aside.sidebar .entries li .entry{width:100%;margin:0;padding:14px 20px;box-sizing:border-box;background-color:transparent;transition:all .3s ease;color:#fff;text-decoration:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-size:14px}aside.sidebar .entries li .entry:hover{background-color:#0000004d}aside.sidebar .entries li .entry.activeRoute{background-color:#0000001a}aside.sidebar .entries li.section{width:100%;box-sizing:border-box}aside.sidebar .entries li.section .section-title{width:100%;margin:0;padding:14px 20px;color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;-webkit-user-select:none;user-select:none;cursor:pointer;font-size:14px}aside.sidebar .entries li.section .section-title .chevron{font-size:12px}aside.sidebar .entries li.section .section-title:hover{background-color:#ffffff0d}aside.sidebar .entries li.section .section-entries{animation:fadeIn .3s ease-in-out}aside.sidebar .entries li.section .section-entries .entry{padding:14px 30px}aside.sidebar .entries li.section .section-entries .entry .icon{font-size:10px}aside.sidebar .entries li.section .section-entries hr{width:calc(100% - 40px);margin:auto;padding:0 20px 0 30px;color:#fff3;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
|
|
153
162
|
}
|
|
154
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RdndSidebar, decorators: [{
|
|
155
164
|
type: Component,
|
|
156
165
|
args: [{ selector: 'rdnd-sidebar', standalone: true, imports: [
|
|
157
166
|
NgClass,
|
|
158
167
|
NgStyle,
|
|
159
|
-
NgIf,
|
|
160
|
-
NgFor,
|
|
161
|
-
NgTemplateOutlet,
|
|
162
168
|
RouterLink,
|
|
163
169
|
FaIconComponent,
|
|
164
|
-
], template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a
|
|
170
|
+
], template: "@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n\r\n @if (user) {\r\n\r\n <div class=\"user-details\">\r\n @if (user.photo) {\r\n <img src=\"{{user.photo}}\" alt='{{user.name}}' class=\"user-image\">\r\n } @else {\r\n <div class=\"user-image\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n </div>\r\n }\r\n\r\n <div class=\"data\">\r\n <span>\r\n <fa-icon [icon]=\"faCircle\" class=\"icon\"></fa-icon>\r\n {{ user.name }}\r\n </span>\r\n <span class=\"email\">\r\n {{ user.email }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"{\r\n activeRoute: activeRoute === item.url\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + entry.url]\"\r\n (click)=\"handleClick()\"\r\n class=\"entry\"\r\n [ngClass]=\"{\r\n activeRoute: isActiveRoute(item.url + entry.url)\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\" class=\"icon\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n <hr/>\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;display:flex}to{opacity:0;display:none}}div.background-overlay{position:fixed;top:40px;left:0;width:100%;height:calc(100% - 40px);background-color:#000c;transition:all .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:89}div.background-overlay.closed{opacity:0;visibility:hidden;animation:fadeOut .3s ease-in-out}div.background-overlay.open{opacity:1;visibility:visible;animation:fadeIn .3s ease-in-out}aside.sidebar{border-top:1px solid white;position:fixed;top:40px;height:calc(100% - 40px);overflow-y:auto;width:100%;max-width:400px;padding:0 0 16px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;box-sizing:border-box;transition:left .3s ease-in-out;box-shadow:-2px 0 55px #0000004d;z-index:90}aside.sidebar.open{left:0}aside.sidebar.closed{left:-100%}aside.sidebar .user-details{border-top:1px solid rgba(242,242,242,.22);border-bottom:1px solid rgba(242,242,242,.22);margin:0 20px;padding:10px 0;display:grid;grid-template-columns:70px 1fr;grid-template-rows:70px;column-gap:20px;place-items:start;place-content:center;box-sizing:border-box}aside.sidebar .user-details .user-image{background-color:#fff;border:2px solid white;width:70px;height:70px;grid-column:1;grid-row:1/3;border-radius:50%;display:flex;place-items:center;place-content:center}aside.sidebar .user-details .data{grid-row:1;grid-column:2;height:100%;display:flex;flex-direction:column;justify-content:center;margin:auto 0;gap:8px}aside.sidebar .user-details .data span{height:fit-content;margin:0;padding:0;grid-column:2;display:flex;align-items:center;color:#fff;font-size:16px}aside.sidebar .user-details .data span .icon{font-size:8px;color:#65a518;margin-right:4px}aside.sidebar .user-details .data span.email{font-size:12px}aside.sidebar .entries{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}aside.sidebar .entries li{width:100%;box-sizing:border-box}aside.sidebar .entries li .entry{width:100%;margin:0;padding:14px 20px;box-sizing:border-box;background-color:transparent;transition:all .3s ease;color:#fff;text-decoration:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-size:14px}aside.sidebar .entries li .entry:hover{background-color:#0000004d}aside.sidebar .entries li .entry.activeRoute{background-color:#0000001a}aside.sidebar .entries li.section{width:100%;box-sizing:border-box}aside.sidebar .entries li.section .section-title{width:100%;margin:0;padding:14px 20px;color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;-webkit-user-select:none;user-select:none;cursor:pointer;font-size:14px}aside.sidebar .entries li.section .section-title .chevron{font-size:12px}aside.sidebar .entries li.section .section-title:hover{background-color:#ffffff0d}aside.sidebar .entries li.section .section-entries{animation:fadeIn .3s ease-in-out}aside.sidebar .entries li.section .section-entries .entry{padding:14px 30px}aside.sidebar .entries li.section .section-entries .entry .icon{font-size:10px}aside.sidebar .entries li.section .section-entries hr{width:calc(100% - 40px);margin:auto;padding:0 20px 0 30px;color:#fff3;box-sizing:border-box}\n"] }]
|
|
165
171
|
}], propDecorators: { show: [{
|
|
166
172
|
type: Input
|
|
173
|
+
}], user: [{
|
|
174
|
+
type: Input
|
|
167
175
|
}], entries: [{
|
|
168
176
|
type: Input
|
|
169
177
|
}], backgroundStart: [{
|
|
170
178
|
type: Input
|
|
171
179
|
}], backgroundEnd: [{
|
|
172
180
|
type: Input
|
|
181
|
+
}], activeRoute: [{
|
|
182
|
+
type: Input
|
|
173
183
|
}] } });
|
|
174
184
|
|
|
175
185
|
// src/lib/config/rdnd-config.token.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gentera-rdnd.mjs","sources":["../../../projects/gentera-rdnd/src/lib/styles/colors.ts","../../../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/config/rdnd-config.token.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-loader/rdnd-loader.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-loader/rdnd-loader.component.html","../../../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/lib/services/storage.service.ts","../../../projects/gentera-rdnd/src/public-api.ts","../../../projects/gentera-rdnd/src/gentera-rdnd.ts"],"sourcesContent":["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 {Component, Input} from '@angular/core';\r\nimport {NgClass, NgStyle} from \"@angular/common\";\r\nimport {colors} from \"../../styles/colors\";\r\n\r\n@Component({\r\n selector: 'rdnd-screen-title',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle\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 @Input() color = colors[\"magentaEnd\"];\r\n\r\n}\r\n","<h1 [class]=\" 'align-' + align \" [ngStyle]=\"{\r\n color: color\r\n}\">\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 RdndNavbar {\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 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 @Input() showSidebar = false;\r\n onSignOut = output();\r\n onToggleSidebar = output();\r\n\r\n // Functions\r\n toggleMenu = () => {\r\n this.showSidebar = !this.showSidebar;\r\n this.onToggleSidebar.emit();\r\n }\r\n\r\n closeMenu = () => {\r\n this.showSidebar = 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]=\"showSidebar ? 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 {FaIconComponent} from '@fortawesome/angular-fontawesome';\r\nimport {\r\n faArrowRight,\r\n faChevronDown,\r\n faChevronUp,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet} from '@angular/common';\r\nimport {RouterLink} from '@angular/router';\r\nimport {RdndSidebarItem} from \"../../types/Sidebar.types\";\r\n\r\n@Component({\r\n selector: 'rdnd-sidebar',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle,\r\n NgIf,\r\n NgFor,\r\n NgTemplateOutlet,\r\n RouterLink,\r\n FaIconComponent,\r\n ],\r\n templateUrl: './rdnd-sidebar.component.html',\r\n styleUrl: './rdnd-sidebar.component.scss',\r\n})\r\nexport class RdndSidebar {\r\n @Input() show: boolean = false;\r\n @Input() entries: RdndSidebarItem[] = [];\r\n @Input() backgroundStart: string = '#C2185B';\r\n @Input() backgroundEnd: string = '#7E0083';\r\n\r\n onClickEntry = output();\r\n\r\n protected readonly faArrowRight = faArrowRight;\r\n protected readonly faChevronDown = faChevronDown;\r\n protected readonly faChevronUp = faChevronUp;\r\n\r\n openSections = new Set<string>();\r\n\r\n handleClick = () => {\r\n this.onClickEntry.emit();\r\n };\r\n\r\n toggleSection(name: string) {\r\n this.openSections.has(name)\r\n ? this.openSections.delete(name)\r\n : this.openSections.add(name);\r\n }\r\n\r\n isSectionOpen(name: string): boolean {\r\n return this.openSections.has(name);\r\n }\r\n}\r\n","@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a [routerLink]=\"[item.url]\" class=\"entry\" (click)=\"handleClick()\">\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item.name) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item.name)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + '/' + entry.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n","// src/lib/config/rdnd-config.token.ts\r\nimport { InjectionToken } from '@angular/core';\r\n// @ts-ignore\r\nimport { LoaderConfig } from '../types/loader-config';\r\n\r\nexport const RDND_CONFIG = new InjectionToken<LoaderConfig>('RDND_CONFIG');\r\n","import {Component, Inject, Input, Optional} from '@angular/core';\r\nimport { RDND_CONFIG } from '../../config/rdnd-config.token';\r\nimport {LoaderConfig, LoaderType} from \"../../types/Loader-config.types\";\r\n\r\n@Component({\r\n selector: 'rdnd-loader',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './rdnd-loader.component.html',\r\n styleUrl: './rdnd-loader.component.scss'\r\n})\r\nexport class RdndLoaderComponent {\r\n\r\n @Input() show: boolean = false;\r\n\r\n loaderType: LoaderType = 'gentera';\r\n\r\n constructor(@Optional() @Inject(RDND_CONFIG) config: LoaderConfig | null) {\r\n const type = config?.loader?.loaderType;\r\n if (type === 'gentera' || type === 'compartamos') {\r\n this.loaderType = type;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","@if (show) {\r\n <div class=\"loader\">\r\n @if (loaderType === 'compartamos') {\r\n <div class=\"svg-wrapper\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:cc=\"http://creativecommons.org/ns#\"\r\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\r\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\r\n xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 1629.3 720\">\r\n <defs>\r\n <style>\r\n .cls-1 {\r\n fill: #fff;\r\n }\r\n\r\n .cls-2 {\r\n fill: #8d104b;\r\n }\r\n\r\n .cls-3 {\r\n fill: #f7961c;\r\n }\r\n </style>\r\n </defs>\r\n <!-- Generator: Adobe Illustrator 28.7.1, SVG Export Plug-In . SVG Version: 1.2.0 Build 142) -->\r\n <g>\r\n <g id=\"Capa_1\">\r\n <path id=\"path16\" class=\"cls-3\"\r\n d=\"M664.5,84.3c-7,1.3-43.6-10.4-43.6-10.4,0,0,26.2,19.3,28.4,22.7,2.2,3.5-7.9,33-7.9,33,0,0,19.3-22.3,26.6-29,4.4-4,14.6-2.1,19.5-.9,4.9,1.2,53.4,14.5,101.8-14.4,31.6-18.9,31.5-23,31.5-23,0,0-26.5-21.5-69.6-16.6-43.2,5-79.8,37.1-86.8,38.4\"/>\r\n <path id=\"path18\" class=\"cls-2\"\r\n d=\"M507.7,668.9c-8.4,2.3-52.7,1.7-52.7,1.7,0,0,31,14,33.5,17,2.4,2.9-10.4,32.4-10.4,32.4,0,0,20.7-21.3,29.6-28.8,5.4-4.5,17.1-5.9,26.7-6.7,5.9-.5,63.8,5.2,122.8-29.6,38.5-22.7,38.5-26.6,38.5-26.6,0,0-37.8-20.3-89.8-8.8-51.9,11.5-89.7,47.1-98.1,49.5\"/>\r\n <path id=\"path20\" class=\"cls-3\"\r\n d=\"M1368.2,125.5c-11.8,2.3-72.1-3.5-72.1-3.5,0,0,40.7,22.6,43.8,26.9,3,4.2-17.9,43.1-17.9,43.1,0,0,30.6-26.8,43.7-35.9,7.9-5.6,24.1-6.1,37.1-6.1s86.5,14.3,171-26.6c55.2-26.8,55.5-32.1,55.5-32.1,0,0-49.3-32-121.6-22.2-72.2,9.9-127.7,54.2-139.5,56.5\"/>\r\n <path id=\"path22\" class=\"cls-3\"\r\n d=\"M77.2,575.8c-12.3,2.6-77.2-17-77.2-17,0,0,46.9,33.2,50.8,39.3,3.8,6.1-13,58.5-13,58.5,0,0,33.4-39.9,46.1-51.8,7.7-7.3,25.8-4.1,34.4-2.1,8.7,1.9,94.7,24,179.3-28.3,55.2-34.1,54.9-41.4,54.9-41.4,0,0-47.3-37.2-123.3-27.2-76,10-139.7,67.8-152.1,70.3\"/>\r\n <path id=\"path24\" class=\"cls-2\"\r\n d=\"M1194.7,50.2c-7.7,1.5-45.8-10.6-45.8-10.6,0,0,27.1,19.3,28.4,23,1.5,4.1-10.4,31.9-10.4,31.9,0,0,22.4-22,30.8-28.6,5.1-4,16.2-2.5,21.5-1.5,5.4,1,59.2,12.3,113.8-17.2,32.8-17.7,34.9-22.9,34.9-22.9,0,0-27.9-19.8-75.7-13.6-47.7,6.1-89.7,38.1-97.5,39.6\"/>\r\n <path id=\"path26\" class=\"cls-1\"\r\n d=\"M1062.8,620.1c0,38.8-36.7,62.4-79.1,62.4s-31.5-2.1-50.6-2.1l31.5-198.2c20.9,0,26.7-2.6,46.7-2.6,37.1,0,54.7,19.4,54.7,43.5s-19.4,43.2-44.7,49.1c23,5,41.5,26.1,41.5,47.9M1040.8,620.7c0-19.1-13.8-38.3-56.4-38.3s-11.2.3-17.7.9l-11.8,74.1c-.9,5.6,7.4,8,29.7,8s56.2-17.1,56.2-44.8M1044.6,525.4c0-16.8-12.1-29.5-36.8-29.5s-26.2,2.4-27.3,8.2c-4.4,22.1-8.8,48.3-11.2,62.1h11.2c46.7-1.2,64.1-18,64.1-40.9\"/>\r\n <path id=\"path28\" class=\"cls-1\"\r\n d=\"M1171.1,680.4c-2.3-9.4-2.3-17.7-1.5-27.3-9.7,14.1-25,30.2-47.4,30.2s-38.5-20.8-38.5-45.8c0-41.5,32.6-95.6,79.1-95.6s20,4.7,39.4,4.7c-10.3,49.7-16.8,97.6-16.8,118.5s.5,12.4,1.2,15.3h-15.6.1ZM1162,557.4c-31.8,0-58.5,39.7-58.5,78.2s8,31.3,22,31.3c25.3,0,44.1-32.1,49.5-63.3l5.9-34.1c.9-6.7-3.2-12-18.8-12\"/>\r\n <path id=\"path30\" class=\"cls-1\"\r\n d=\"M1247.1,574.5l-16.8,105.8h-17.6l20.9-131.1c25.9,0,32.4-7.4,52.7-7.4s40.5,9.1,40.5,34.4-.3,7-.9,10.9l-14.6,93.2h-17.7l14.1-88.8c.6-3.5.9-6.8.9-9.7,0-17.1-7.3-24.4-26.7-24.4s-33.5,9.4-34.7,17.1\"/>\r\n <path id=\"path32\" class=\"cls-1\"\r\n d=\"M1418.6,557.7c-33.2,0-56.2,28.2-56.2,72.7s15,38.5,37.4,38.5,17-.8,24.1-2.6l-2.3,15.6c-7.6,1.7-15,2.6-21.7,2.6-35,0-57.2-17.9-57.2-53.8s32.1-88.8,78.9-88.8,14.7.5,21.7,1.8l-2.6,17.3c-7.3-2.3-15-3.2-22-3.2\"/>\r\n <path id=\"path34\" class=\"cls-1\"\r\n d=\"M1560.5,593.9c0,46.8-27.1,90.6-68.9,90.6s-45-18.8-45-52.1c0-47.1,27.6-90.6,68.8-90.6s45.1,19.1,45.1,52M1465.7,631.2c0,26.1,9.5,37.9,28.2,37.9s47.3-32.6,47.3-73.5-8.5-38.2-27.6-38.2c-27.1,0-48,33-48,73.8\"/>\r\n <path id=\"path36\" class=\"cls-1\"\r\n d=\"M179.3,400.2c-12.4,5.9-27.1,8.9-41.2,8.9-54.4,0-101.3-28.8-101.3-102.7s48.3-104.9,102.8-104.9,28,1.8,39.8,5.3v34.5c-12-5-25.4-8-40-8-38.3,0-65.7,19.4-65.7,72.2s29.7,71.6,65.9,71.6,27.4-2.4,39.8-7.7v30.9\"/>\r\n <path id=\"path38\" class=\"cls-1\"\r\n d=\"M228.5,335.5c0,29.7,12.9,44.4,29.1,44.4s28-13.5,28-44.4-13-44.2-29.5-44.2-27.6,13.2-27.6,44.2M320.3,335.5c0,43.2-25,73.3-63.6,73.3s-63.3-30.1-63.3-73.3,25.3-72.7,63.3-72.7,63.6,28.8,63.6,72.7\"/>\r\n <path id=\"path40\" class=\"cls-1\"\r\n d=\"M522.5,404.6h-32.5v-88c0-18.2-7-25-21.7-25s-21.2,3.5-21.2,10.2c.3,3.2.9,7.4.9,11.8v91h-32.4v-88c0-18.5-7.4-25-20-25s-21.8,2.9-21.8,12.9v100.1h-32.4v-134.9c28.6,0,37.7-6.5,58.9-6.5s26.8,4.4,33.8,10.6c10.6-6.8,24.1-10.6,41.5-10.6,28,0,46.9,12.7,46.9,48.9v92.5\"/>\r\n <path id=\"path42\" class=\"cls-1\"\r\n d=\"M597.2,290.4c-10.8,0-17.8,4.7-17.8,9.5v70.6c0,5,7.8,9.4,17.8,9.4,20.5,0,32.3-13.5,32.3-44.2s-11.8-45.3-32.3-45.3M546.3,477.9c.6-30.9,1.2-61.5,1.2-100.1v-110.4c20,0,32.7-4.7,52.3-4.7,35.7,0,65.4,25.6,65.4,73.6s-31.8,71.5-61.2,71.5-20-3-24.5-6.2v76.2h-33.2\"/>\r\n <path id=\"path44\" class=\"cls-1\"\r\n d=\"M753,337.8c-26.8.8-40.6,9.1-40.6,24.7s8.3,18,20.9,18,17.4-3.2,18.6-7.4c.9-4.4,1.1-17.6,1.1-35.3M753,313.7v-5.3c0-11.2-7.6-17.9-21.4-17.9s-28.3,2.7-43,9.4v-30.3c15.3-4.4,29.1-6.7,45.6-6.7,31.8,0,51.5,12.9,51.5,45.3s-.9,42.4-.9,64.2.6,24.2,1.5,31.5c-23.6,0-36.2,3.8-56.2,3.8-34.1,0-51.2-15.8-51.2-42.6s22.4-49.8,74.1-51.2\"/>\r\n <path id=\"path46\" class=\"cls-1\"\r\n d=\"M810.8,404.6v-137.8h30.6v13c8.2-13,22.1-17.4,35.6-17.4s10.5.6,15,1.2v34.1c-5.6-2.6-14.5-3.8-22.7-3.8-13.2,0-25,5.3-25.7,16.8-.6,23.2-.6,58.8-.6,93.9h-32.4\"/>\r\n <path id=\"path48\" class=\"cls-1\"\r\n d=\"M937.9,266.8h39.7v28.3h-39.7c0,29.1-.3,49.2-.3,70.7s6.2,14.4,17.1,14.4,15.9-1.5,22.9-5.3v28.5c-9.7,3.6-19.7,5.3-31.5,5.3-23.5,0-40.9-10.9-40.9-36.5v-130.4l32.7-19.4v44.4\"/>\r\n <path id=\"path50\" class=\"cls-1\"\r\n d=\"M1068.6,337.8c-26.8.8-40.6,9.1-40.6,24.7s8.2,18,20.9,18,17.3-3.2,18.5-7.4c.9-4.4,1.2-17.6,1.2-35.3M1068.6,313.7v-5.3c0-11.2-7.7-17.9-21.5-17.9s-28.3,2.7-43,9.4v-30.3c15.3-4.4,29-6.7,45.6-6.7,31.8,0,51.5,12.9,51.5,45.3s-.9,42.4-.9,64.2.6,24.2,1.5,31.5c-23.5,0-36.2,3.8-56.3,3.8-34.1,0-51.2-15.8-51.2-42.6s22.4-49.8,74.2-51.2\"/>\r\n <path id=\"path52\" class=\"cls-1\"\r\n d=\"M1307.8,404.6h-32.4v-88c0-18.2-7.1-25-21.8-25s-21.2,3.5-21.2,10.2c.2,3.2.9,7.4.9,11.8v91h-32.4v-88c0-18.5-7.4-25-20-25s-21.8,2.9-21.8,12.9v100.1h-32.3v-134.9c28.5,0,37.7-6.5,58.8-6.5s26.8,4.4,33.9,10.6c10.6-6.8,24.1-10.6,41.5-10.6,28,0,46.8,12.7,46.8,48.9v92.5\"/>\r\n <path id=\"path54\" class=\"cls-1\"\r\n d=\"M1363,335.5c0,29.7,13,44.4,29.2,44.4s27.9-13.5,27.9-44.4-12.9-44.2-29.4-44.2-27.8,13.2-27.8,44.2M1454.9,335.5c0,43.2-25,73.3-63.6,73.3s-63.3-30.1-63.3-73.3,25.4-72.7,63.3-72.7,63.6,28.8,63.6,72.7\"/>\r\n <path id=\"path56\" class=\"cls-1\"\r\n d=\"M1522.2,262.7c10.9,0,20,.8,31.8,4.1v30.7c-13.8-5.6-23.6-7.1-33-7.1s-18.2,4.7-18.2,11.8c0,21.2,57.6,19.1,57.6,61.5s-16.5,45-54.7,45-24.4-1.2-35.9-4.7v-28.8c11.2,3.8,24.4,5.6,33.8,5.6,15.6,0,23.5-5.9,23.5-15,0-23.3-58-19.7-58-60.1s20.1-43,53-43\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n } @else {\r\n <div class=\"svg-wrapper\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n\r\n </div>\r\n }\r\n </div>\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","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor() {\r\n }\r\n\r\n public save(key: string, value: any) {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n };\r\n\r\n public get(key: string): JSON | null {\r\n const data = sessionStorage.getItem(key);\r\n if (data !== null) {\r\n return JSON.parse(data);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public delete(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n public wipe(): void {\r\n sessionStorage.clear();\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\nexport * from \"./lib/components/rdnd-loader/rdnd-loader.component\";\r\n\r\n// Components with its corresponding service handlers\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/hooks/button.service';\r\n\r\nexport * from './lib/components/input/input.component';\r\nexport * from './lib/hooks/input.service';\r\n\r\nexport * from './lib/components/modal/modal.component';\r\nexport * from './lib/hooks/modal.service';\r\n\r\n// Export services\r\nexport * from './lib/services/storage.service';\r\n\r\n// Export utils\r\nexport {themes as rdndThemes} from './lib/styles/themes';\r\nexport {RDND_CONFIG} from \"./lib/config/rdnd-config.token\";\r\n\r\n\r\n// Export types\r\nexport {RdndSidebarItem} from \"./lib/types/Sidebar.types\";\r\nexport {LoaderConfig} from \"./lib/types/Loader-config.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/styles/colors.ts","../../../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/config/rdnd-config.token.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-loader/rdnd-loader.component.ts","../../../projects/gentera-rdnd/src/lib/components/rdnd-loader/rdnd-loader.component.html","../../../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/lib/services/storage.service.ts","../../../projects/gentera-rdnd/src/public-api.ts","../../../projects/gentera-rdnd/src/gentera-rdnd.ts"],"sourcesContent":["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 {Component, Input} from '@angular/core';\r\nimport {NgClass, NgStyle} from \"@angular/common\";\r\nimport {colors} from \"../../styles/colors\";\r\n\r\n@Component({\r\n selector: 'rdnd-screen-title',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle\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 @Input() color = colors[\"magentaEnd\"];\r\n\r\n}\r\n","<h1 [class]=\" 'align-' + align \" [ngStyle]=\"{\r\n color: color\r\n}\">\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 RdndNavbar {\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 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 @Input() showSidebar = false;\r\n onSignOut = output();\r\n onToggleSidebar = output();\r\n\r\n // Functions\r\n toggleMenu = () => {\r\n this.showSidebar = !this.showSidebar;\r\n this.onToggleSidebar.emit();\r\n }\r\n\r\n closeMenu = () => {\r\n this.showSidebar = 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]=\"showSidebar ? 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 {NgClass, NgStyle} from '@angular/common';\r\nimport {RouterLink} from '@angular/router';\r\n// Icons\r\nimport {FaIconComponent} from '@fortawesome/angular-fontawesome';\r\nimport {\r\n faArrowRight,\r\n faChevronDown,\r\n faChevronUp,\r\n faCircle\r\n} from '@fortawesome/free-solid-svg-icons';\r\n// Components\r\nimport {RdndSidebarItem} from \"../../types/Sidebar.types\";\r\n\r\n@Component({\r\n selector: 'rdnd-sidebar',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle,\r\n RouterLink,\r\n FaIconComponent,\r\n ],\r\n templateUrl: './rdnd-sidebar.component.html',\r\n styleUrl: './rdnd-sidebar.component.scss',\r\n})\r\nexport class RdndSidebar {\r\n // Inputs\r\n @Input() show: boolean = false;\r\n @Input() user?: { name: string; email: string; photo?: string };\r\n @Input() entries: RdndSidebarItem[] = [];\r\n @Input() backgroundStart: string = '#C2185B';\r\n @Input() backgroundEnd: string = '#7E0083';\r\n @Input() activeRoute?: string = '/';\r\n\r\n // Outputs\r\n onClickEntry = output();\r\n\r\n protected readonly faArrowRight = faArrowRight;\r\n protected readonly faChevronDown = faChevronDown;\r\n protected readonly faChevronUp = faChevronUp;\r\n protected readonly faCircle = faCircle;\r\n\r\n openSections = new Set<string>();\r\n\r\n handleClick = () => {\r\n this.onClickEntry.emit();\r\n };\r\n\r\n toggleSection(name: string) {\r\n this.openSections.has(name)\r\n ? this.openSections.delete(name)\r\n : this.openSections.add(name);\r\n }\r\n\r\n isSectionOpen(section: RdndSidebarItem): boolean {\r\n const hasActiveChild = section.entries?.some(entry => this.activeRoute === `${section.url}${entry.url}`)\r\n return hasActiveChild || this.openSections.has(section.name);\r\n }\r\n\r\n isActiveRoute(itemRoute: string): boolean {\r\n return this.activeRoute === itemRoute;\r\n }\r\n\r\n}\r\n","@if (show) {\r\n <div\r\n class=\"background-overlay\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"show ? 'open' : 'closed'\">\r\n </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]=\"{\r\n 'background': 'linear-gradient(to bottom, ' + backgroundStart + ', ' + backgroundEnd + ')'\r\n }\"\r\n>\r\n\r\n @if (user) {\r\n\r\n <div class=\"user-details\">\r\n @if (user.photo) {\r\n <img src=\"{{user.photo}}\" alt='{{user.name}}' class=\"user-image\">\r\n } @else {\r\n <div class=\"user-image\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n </div>\r\n }\r\n\r\n <div class=\"data\">\r\n <span>\r\n <fa-icon [icon]=\"faCircle\" class=\"icon\"></fa-icon>\r\n {{ user.name }}\r\n </span>\r\n <span class=\"email\">\r\n {{ user.email }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <ul class=\"entries\">\r\n @for (item of entries; track item.name) {\r\n\r\n @if (item.type === 'ENTRY') {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url]\"\r\n class=\"entry\"\r\n (click)=\"handleClick()\"\r\n [ngClass]=\"{\r\n activeRoute: activeRoute === item.url\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\"/>\r\n {{ item.name }}\r\n </a>\r\n </li>\r\n } @else if (item.type === 'SECTION') {\r\n <li class=\"section\">\r\n\r\n <div class=\"section-title\" (click)=\"toggleSection(item.name)\">\r\n <fa-icon\r\n [icon]=\"isSectionOpen(item) ? faChevronUp : faChevronDown\"\r\n class=\"chevron\"\r\n />\r\n <span>{{ item.name }}</span>\r\n </div>\r\n\r\n @if (isSectionOpen(item)) {\r\n <ul class=\"section-entries\">\r\n @for (entry of item.entries; track entry.name) {\r\n <li>\r\n <a\r\n [routerLink]=\"[item.url + entry.url]\"\r\n (click)=\"handleClick()\"\r\n class=\"entry\"\r\n [ngClass]=\"{\r\n activeRoute: isActiveRoute(item.url + entry.url)\r\n }\"\r\n >\r\n <fa-icon [icon]=\"faArrowRight\" class=\"icon\"/>\r\n {{ entry.name }}\r\n </a>\r\n </li>\r\n }\r\n <hr/>\r\n </ul>\r\n }\r\n </li>\r\n }\r\n }\r\n\r\n </ul>\r\n</aside>\r\n","// src/lib/config/rdnd-config.token.ts\r\nimport { InjectionToken } from '@angular/core';\r\n// @ts-ignore\r\nimport { LoaderConfig } from '../types/loader-config';\r\n\r\nexport const RDND_CONFIG = new InjectionToken<LoaderConfig>('RDND_CONFIG');\r\n","import {Component, Inject, Input, Optional} from '@angular/core';\r\nimport { RDND_CONFIG } from '../../config/rdnd-config.token';\r\nimport {LoaderConfig, LoaderType} from \"../../types/Loader-config.types\";\r\n\r\n@Component({\r\n selector: 'rdnd-loader',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './rdnd-loader.component.html',\r\n styleUrl: './rdnd-loader.component.scss'\r\n})\r\nexport class RdndLoaderComponent {\r\n\r\n @Input() show: boolean = false;\r\n\r\n loaderType: LoaderType = 'gentera';\r\n\r\n constructor(@Optional() @Inject(RDND_CONFIG) config: LoaderConfig | null) {\r\n const type = config?.loader?.loaderType;\r\n if (type === 'gentera' || type === 'compartamos') {\r\n this.loaderType = type;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","@if (show) {\r\n <div class=\"loader\">\r\n @if (loaderType === 'compartamos') {\r\n <div class=\"svg-wrapper\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:cc=\"http://creativecommons.org/ns#\"\r\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\r\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\r\n xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 1629.3 720\">\r\n <defs>\r\n <style>\r\n .cls-1 {\r\n fill: #fff;\r\n }\r\n\r\n .cls-2 {\r\n fill: #8d104b;\r\n }\r\n\r\n .cls-3 {\r\n fill: #f7961c;\r\n }\r\n </style>\r\n </defs>\r\n <!-- Generator: Adobe Illustrator 28.7.1, SVG Export Plug-In . SVG Version: 1.2.0 Build 142) -->\r\n <g>\r\n <g id=\"Capa_1\">\r\n <path id=\"path16\" class=\"cls-3\"\r\n d=\"M664.5,84.3c-7,1.3-43.6-10.4-43.6-10.4,0,0,26.2,19.3,28.4,22.7,2.2,3.5-7.9,33-7.9,33,0,0,19.3-22.3,26.6-29,4.4-4,14.6-2.1,19.5-.9,4.9,1.2,53.4,14.5,101.8-14.4,31.6-18.9,31.5-23,31.5-23,0,0-26.5-21.5-69.6-16.6-43.2,5-79.8,37.1-86.8,38.4\"/>\r\n <path id=\"path18\" class=\"cls-2\"\r\n d=\"M507.7,668.9c-8.4,2.3-52.7,1.7-52.7,1.7,0,0,31,14,33.5,17,2.4,2.9-10.4,32.4-10.4,32.4,0,0,20.7-21.3,29.6-28.8,5.4-4.5,17.1-5.9,26.7-6.7,5.9-.5,63.8,5.2,122.8-29.6,38.5-22.7,38.5-26.6,38.5-26.6,0,0-37.8-20.3-89.8-8.8-51.9,11.5-89.7,47.1-98.1,49.5\"/>\r\n <path id=\"path20\" class=\"cls-3\"\r\n d=\"M1368.2,125.5c-11.8,2.3-72.1-3.5-72.1-3.5,0,0,40.7,22.6,43.8,26.9,3,4.2-17.9,43.1-17.9,43.1,0,0,30.6-26.8,43.7-35.9,7.9-5.6,24.1-6.1,37.1-6.1s86.5,14.3,171-26.6c55.2-26.8,55.5-32.1,55.5-32.1,0,0-49.3-32-121.6-22.2-72.2,9.9-127.7,54.2-139.5,56.5\"/>\r\n <path id=\"path22\" class=\"cls-3\"\r\n d=\"M77.2,575.8c-12.3,2.6-77.2-17-77.2-17,0,0,46.9,33.2,50.8,39.3,3.8,6.1-13,58.5-13,58.5,0,0,33.4-39.9,46.1-51.8,7.7-7.3,25.8-4.1,34.4-2.1,8.7,1.9,94.7,24,179.3-28.3,55.2-34.1,54.9-41.4,54.9-41.4,0,0-47.3-37.2-123.3-27.2-76,10-139.7,67.8-152.1,70.3\"/>\r\n <path id=\"path24\" class=\"cls-2\"\r\n d=\"M1194.7,50.2c-7.7,1.5-45.8-10.6-45.8-10.6,0,0,27.1,19.3,28.4,23,1.5,4.1-10.4,31.9-10.4,31.9,0,0,22.4-22,30.8-28.6,5.1-4,16.2-2.5,21.5-1.5,5.4,1,59.2,12.3,113.8-17.2,32.8-17.7,34.9-22.9,34.9-22.9,0,0-27.9-19.8-75.7-13.6-47.7,6.1-89.7,38.1-97.5,39.6\"/>\r\n <path id=\"path26\" class=\"cls-1\"\r\n d=\"M1062.8,620.1c0,38.8-36.7,62.4-79.1,62.4s-31.5-2.1-50.6-2.1l31.5-198.2c20.9,0,26.7-2.6,46.7-2.6,37.1,0,54.7,19.4,54.7,43.5s-19.4,43.2-44.7,49.1c23,5,41.5,26.1,41.5,47.9M1040.8,620.7c0-19.1-13.8-38.3-56.4-38.3s-11.2.3-17.7.9l-11.8,74.1c-.9,5.6,7.4,8,29.7,8s56.2-17.1,56.2-44.8M1044.6,525.4c0-16.8-12.1-29.5-36.8-29.5s-26.2,2.4-27.3,8.2c-4.4,22.1-8.8,48.3-11.2,62.1h11.2c46.7-1.2,64.1-18,64.1-40.9\"/>\r\n <path id=\"path28\" class=\"cls-1\"\r\n d=\"M1171.1,680.4c-2.3-9.4-2.3-17.7-1.5-27.3-9.7,14.1-25,30.2-47.4,30.2s-38.5-20.8-38.5-45.8c0-41.5,32.6-95.6,79.1-95.6s20,4.7,39.4,4.7c-10.3,49.7-16.8,97.6-16.8,118.5s.5,12.4,1.2,15.3h-15.6.1ZM1162,557.4c-31.8,0-58.5,39.7-58.5,78.2s8,31.3,22,31.3c25.3,0,44.1-32.1,49.5-63.3l5.9-34.1c.9-6.7-3.2-12-18.8-12\"/>\r\n <path id=\"path30\" class=\"cls-1\"\r\n d=\"M1247.1,574.5l-16.8,105.8h-17.6l20.9-131.1c25.9,0,32.4-7.4,52.7-7.4s40.5,9.1,40.5,34.4-.3,7-.9,10.9l-14.6,93.2h-17.7l14.1-88.8c.6-3.5.9-6.8.9-9.7,0-17.1-7.3-24.4-26.7-24.4s-33.5,9.4-34.7,17.1\"/>\r\n <path id=\"path32\" class=\"cls-1\"\r\n d=\"M1418.6,557.7c-33.2,0-56.2,28.2-56.2,72.7s15,38.5,37.4,38.5,17-.8,24.1-2.6l-2.3,15.6c-7.6,1.7-15,2.6-21.7,2.6-35,0-57.2-17.9-57.2-53.8s32.1-88.8,78.9-88.8,14.7.5,21.7,1.8l-2.6,17.3c-7.3-2.3-15-3.2-22-3.2\"/>\r\n <path id=\"path34\" class=\"cls-1\"\r\n d=\"M1560.5,593.9c0,46.8-27.1,90.6-68.9,90.6s-45-18.8-45-52.1c0-47.1,27.6-90.6,68.8-90.6s45.1,19.1,45.1,52M1465.7,631.2c0,26.1,9.5,37.9,28.2,37.9s47.3-32.6,47.3-73.5-8.5-38.2-27.6-38.2c-27.1,0-48,33-48,73.8\"/>\r\n <path id=\"path36\" class=\"cls-1\"\r\n d=\"M179.3,400.2c-12.4,5.9-27.1,8.9-41.2,8.9-54.4,0-101.3-28.8-101.3-102.7s48.3-104.9,102.8-104.9,28,1.8,39.8,5.3v34.5c-12-5-25.4-8-40-8-38.3,0-65.7,19.4-65.7,72.2s29.7,71.6,65.9,71.6,27.4-2.4,39.8-7.7v30.9\"/>\r\n <path id=\"path38\" class=\"cls-1\"\r\n d=\"M228.5,335.5c0,29.7,12.9,44.4,29.1,44.4s28-13.5,28-44.4-13-44.2-29.5-44.2-27.6,13.2-27.6,44.2M320.3,335.5c0,43.2-25,73.3-63.6,73.3s-63.3-30.1-63.3-73.3,25.3-72.7,63.3-72.7,63.6,28.8,63.6,72.7\"/>\r\n <path id=\"path40\" class=\"cls-1\"\r\n d=\"M522.5,404.6h-32.5v-88c0-18.2-7-25-21.7-25s-21.2,3.5-21.2,10.2c.3,3.2.9,7.4.9,11.8v91h-32.4v-88c0-18.5-7.4-25-20-25s-21.8,2.9-21.8,12.9v100.1h-32.4v-134.9c28.6,0,37.7-6.5,58.9-6.5s26.8,4.4,33.8,10.6c10.6-6.8,24.1-10.6,41.5-10.6,28,0,46.9,12.7,46.9,48.9v92.5\"/>\r\n <path id=\"path42\" class=\"cls-1\"\r\n d=\"M597.2,290.4c-10.8,0-17.8,4.7-17.8,9.5v70.6c0,5,7.8,9.4,17.8,9.4,20.5,0,32.3-13.5,32.3-44.2s-11.8-45.3-32.3-45.3M546.3,477.9c.6-30.9,1.2-61.5,1.2-100.1v-110.4c20,0,32.7-4.7,52.3-4.7,35.7,0,65.4,25.6,65.4,73.6s-31.8,71.5-61.2,71.5-20-3-24.5-6.2v76.2h-33.2\"/>\r\n <path id=\"path44\" class=\"cls-1\"\r\n d=\"M753,337.8c-26.8.8-40.6,9.1-40.6,24.7s8.3,18,20.9,18,17.4-3.2,18.6-7.4c.9-4.4,1.1-17.6,1.1-35.3M753,313.7v-5.3c0-11.2-7.6-17.9-21.4-17.9s-28.3,2.7-43,9.4v-30.3c15.3-4.4,29.1-6.7,45.6-6.7,31.8,0,51.5,12.9,51.5,45.3s-.9,42.4-.9,64.2.6,24.2,1.5,31.5c-23.6,0-36.2,3.8-56.2,3.8-34.1,0-51.2-15.8-51.2-42.6s22.4-49.8,74.1-51.2\"/>\r\n <path id=\"path46\" class=\"cls-1\"\r\n d=\"M810.8,404.6v-137.8h30.6v13c8.2-13,22.1-17.4,35.6-17.4s10.5.6,15,1.2v34.1c-5.6-2.6-14.5-3.8-22.7-3.8-13.2,0-25,5.3-25.7,16.8-.6,23.2-.6,58.8-.6,93.9h-32.4\"/>\r\n <path id=\"path48\" class=\"cls-1\"\r\n d=\"M937.9,266.8h39.7v28.3h-39.7c0,29.1-.3,49.2-.3,70.7s6.2,14.4,17.1,14.4,15.9-1.5,22.9-5.3v28.5c-9.7,3.6-19.7,5.3-31.5,5.3-23.5,0-40.9-10.9-40.9-36.5v-130.4l32.7-19.4v44.4\"/>\r\n <path id=\"path50\" class=\"cls-1\"\r\n d=\"M1068.6,337.8c-26.8.8-40.6,9.1-40.6,24.7s8.2,18,20.9,18,17.3-3.2,18.5-7.4c.9-4.4,1.2-17.6,1.2-35.3M1068.6,313.7v-5.3c0-11.2-7.7-17.9-21.5-17.9s-28.3,2.7-43,9.4v-30.3c15.3-4.4,29-6.7,45.6-6.7,31.8,0,51.5,12.9,51.5,45.3s-.9,42.4-.9,64.2.6,24.2,1.5,31.5c-23.5,0-36.2,3.8-56.3,3.8-34.1,0-51.2-15.8-51.2-42.6s22.4-49.8,74.2-51.2\"/>\r\n <path id=\"path52\" class=\"cls-1\"\r\n d=\"M1307.8,404.6h-32.4v-88c0-18.2-7.1-25-21.8-25s-21.2,3.5-21.2,10.2c.2,3.2.9,7.4.9,11.8v91h-32.4v-88c0-18.5-7.4-25-20-25s-21.8,2.9-21.8,12.9v100.1h-32.3v-134.9c28.5,0,37.7-6.5,58.8-6.5s26.8,4.4,33.9,10.6c10.6-6.8,24.1-10.6,41.5-10.6,28,0,46.8,12.7,46.8,48.9v92.5\"/>\r\n <path id=\"path54\" class=\"cls-1\"\r\n d=\"M1363,335.5c0,29.7,13,44.4,29.2,44.4s27.9-13.5,27.9-44.4-12.9-44.2-29.4-44.2-27.8,13.2-27.8,44.2M1454.9,335.5c0,43.2-25,73.3-63.6,73.3s-63.3-30.1-63.3-73.3,25.4-72.7,63.3-72.7,63.6,28.8,63.6,72.7\"/>\r\n <path id=\"path56\" class=\"cls-1\"\r\n d=\"M1522.2,262.7c10.9,0,20,.8,31.8,4.1v30.7c-13.8-5.6-23.6-7.1-33-7.1s-18.2,4.7-18.2,11.8c0,21.2,57.6,19.1,57.6,61.5s-16.5,45-54.7,45-24.4-1.2-35.9-4.7v-28.8c11.2,3.8,24.4,5.6,33.8,5.6,15.6,0,23.5-5.9,23.5-15,0-23.3-58-19.7-58-60.1s20.1-43,53-43\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n } @else {\r\n <div class=\"svg-wrapper\">\r\n <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 554 481\" style=\"enable-background:new 0 0 554 481;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0 {\r\n fill: none;\r\n }\r\n\r\n .st1 {\r\n fill: #E85E16;\r\n }\r\n\r\n .st2 {\r\n fill: #9D0046;\r\n }\r\n\r\n .st3 {\r\n fill: #592275;\r\n }\r\n\r\n .st4 {\r\n fill: #CD0058;\r\n }\r\n\r\n .st5 {\r\n fill: #00587F;\r\n }\r\n\r\n .st6 {\r\n fill: #229B7D;\r\n }\r\n</style>\r\n <rect class=\"st0\" width=\"554\" height=\"481\"/>\r\n <g>\r\n\t<path id=\"naranja\" class=\"st1\" d=\"M277.4,128.4c74.7-40.1,146.4-40,154.5-40c8.1,48,13.7,67-7.9,121.3\r\n\t\tc-24.2,43.8-169.9,71.1-169.9,71.1l0,0c2.7-5.3-3.7-67.7-3.7-67.7S248.6,141.8,277.4,128.4\"/>\r\n <path id=\"roja\" class=\"st2\" d=\"M449.8,205.7c-2.6,16-11.6,58-43.6,101.2s-99.9,85.5-138,96s-35.3,8-51.6,8\r\n\t\tc-10-28.6-11.3-33.9-4.9-81.3s22.9-61.8,56.5-80c24.4-10.7,48.7-17.3,73.1-25.3C379.4,213.7,417.4,208.3,449.8,205.7\"/>\r\n <path id=\"morada\" class=\"st3\" d=\"M236.8,95.1c18.8-8.3,43.1-16.7,70-25.2c-7.8,18.8-10.1,42.8-15.2,66.9\r\n\t\tc-6.6,43.2-12.8,104.4-40.2,136.6C217.9,313,127.3,348.2,127,347.6l-2.5,0c-14.4-50.4-20.6-93-15.7-125\r\n\t\tC116,166.4,150.6,131.2,236.8,95.1L236.8,95.1\"/>\r\n <path id=\"fushia\" class=\"st4\" d=\"M425.5,246h13.6c-13.5,37.3-31.4,76.2-72,105.6c-69,48.9-98.8,50.7-98.8,50.7S341.4,254,425.5,246\r\n\t\t\"/>\r\n <path id=\"azul\" class=\"st5\" d=\"M122.5,344.1L122.5,344.1c13.6,45.3,48.8,69.3,100.3,66.6c24.4-48,44-108.8,52.1-164.7\r\n\t\tC218,272.7,165.9,312.1,122.5,344.1\"/>\r\n <path id=\"verde\" class=\"st6\" d=\"M277,232.3c5.4-37.3,10.8-72,16.2-103.9C206.5,171,144.2,251,122.5,344.3\r\n\t\tc43.4-32,95.2-70.3,152.1-97\"/>\r\n</g>\r\n</svg>\r\n\r\n </div>\r\n }\r\n </div>\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","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor() {\r\n }\r\n\r\n public save(key: string, value: any) {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n };\r\n\r\n public get(key: string): JSON | null {\r\n const data = sessionStorage.getItem(key);\r\n if (data !== null) {\r\n return JSON.parse(data);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public delete(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n public wipe(): void {\r\n sessionStorage.clear();\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\nexport * from \"./lib/components/rdnd-loader/rdnd-loader.component\";\r\n\r\n// Components with its corresponding service handlers\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/hooks/button.service';\r\n\r\nexport * from './lib/components/input/input.component';\r\nexport * from './lib/hooks/input.service';\r\n\r\nexport * from './lib/components/modal/modal.component';\r\nexport * from './lib/hooks/modal.service';\r\n\r\n// Export services\r\nexport * from './lib/services/storage.service';\r\n\r\n// Export utils\r\nexport {themes as rdndThemes} from './lib/styles/themes';\r\nexport {RDND_CONFIG} from \"./lib/config/rdnd-config.token\";\r\n\r\n\r\n// Export types\r\nexport {RdndSidebarItem} from \"./lib/types/Sidebar.types\";\r\nexport {LoaderConfig} from \"./lib/types/Loader-config.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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"}
|
|
@@ -2,17 +2,25 @@ import { RdndSidebarItem } from "../../types/Sidebar.types";
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class RdndSidebar {
|
|
4
4
|
show: boolean;
|
|
5
|
+
user?: {
|
|
6
|
+
name: string;
|
|
7
|
+
email: string;
|
|
8
|
+
photo?: string;
|
|
9
|
+
};
|
|
5
10
|
entries: RdndSidebarItem[];
|
|
6
11
|
backgroundStart: string;
|
|
7
12
|
backgroundEnd: string;
|
|
13
|
+
activeRoute?: string;
|
|
8
14
|
onClickEntry: import("@angular/core").OutputEmitterRef<void>;
|
|
9
15
|
protected readonly faArrowRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
10
16
|
protected readonly faChevronDown: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
11
17
|
protected readonly faChevronUp: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
18
|
+
protected readonly faCircle: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
12
19
|
openSections: Set<string>;
|
|
13
20
|
handleClick: () => void;
|
|
14
21
|
toggleSection(name: string): void;
|
|
15
|
-
isSectionOpen(
|
|
22
|
+
isSectionOpen(section: RdndSidebarItem): boolean;
|
|
23
|
+
isActiveRoute(itemRoute: string): boolean;
|
|
16
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdndSidebar, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RdndSidebar, "rdnd-sidebar", never, { "show": { "alias": "show"; "required": false; }; "entries": { "alias": "entries"; "required": false; }; "backgroundStart": { "alias": "backgroundStart"; "required": false; }; "backgroundEnd": { "alias": "backgroundEnd"; "required": false; }; }, { "onClickEntry": "onClickEntry"; }, never, never, true, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RdndSidebar, "rdnd-sidebar", never, { "show": { "alias": "show"; "required": false; }; "user": { "alias": "user"; "required": false; }; "entries": { "alias": "entries"; "required": false; }; "backgroundStart": { "alias": "backgroundStart"; "required": false; }; "backgroundEnd": { "alias": "backgroundEnd"; "required": false; }; "activeRoute": { "alias": "activeRoute"; "required": false; }; }, { "onClickEntry": "onClickEntry"; }, never, never, true, never>;
|
|
18
26
|
}
|