rm-side-menu 0.0.0-stage → 0.0.2
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.
- package/README.md +63 -2
- package/fesm2022/rm-side-menu.mjs +127 -0
- package/fesm2022/rm-side-menu.mjs.map +1 -0
- package/package.json +35 -3
- package/types/rm-side-menu.d.ts +29 -0
package/README.md
CHANGED
|
@@ -1,3 +1,64 @@
|
|
|
1
|
-
#
|
|
1
|
+
# RmSideMenu
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 22.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
ng generate component component-name
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ng generate --help
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Building
|
|
20
|
+
|
|
21
|
+
To build the library, run:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
ng build rm-side-menu
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
|
|
28
|
+
|
|
29
|
+
### Publishing the Library
|
|
30
|
+
|
|
31
|
+
Once the project is built, you can publish your library by following these steps:
|
|
32
|
+
|
|
33
|
+
1. Navigate to the `dist` directory:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cd dist/rm-side-menu
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Run the `npm publish` command to publish your library to the npm registry:
|
|
40
|
+
```bash
|
|
41
|
+
npm publish
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Running unit tests
|
|
45
|
+
|
|
46
|
+
To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
ng test
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Running end-to-end tests
|
|
53
|
+
|
|
54
|
+
For end-to-end (e2e) testing, run:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
ng e2e
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
|
|
61
|
+
|
|
62
|
+
## Additional Resources
|
|
63
|
+
|
|
64
|
+
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { Component, input, output } from "@angular/core";
|
|
3
|
+
import { RouterLink, RouterLinkActive } from "@angular/router";
|
|
4
|
+
var TitleColor;
|
|
5
|
+
(function(TitleColor) {
|
|
6
|
+
TitleColor["blue"] = "text-blue-500";
|
|
7
|
+
TitleColor["red"] = "text-red-500";
|
|
8
|
+
TitleColor["green"] = "text-green-500";
|
|
9
|
+
TitleColor["purple"] = "text-purple-500";
|
|
10
|
+
})(TitleColor || (TitleColor = {}));
|
|
11
|
+
var RmSideMenu = class RmSideMenu {
|
|
12
|
+
isAuthenticated = input(false, ...ngDevMode ? [{ debugName: "isAuthenticated" }] : /* istanbul ignore next */ []);
|
|
13
|
+
titleColor = input(TitleColor.purple, ...ngDevMode ? [{ debugName: "titleColor" }] : /* istanbul ignore next */ []);
|
|
14
|
+
onSignOut = output();
|
|
15
|
+
onSignIn = output();
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
17
|
+
minVersion: "12.0.0",
|
|
18
|
+
version: "22.2.5",
|
|
19
|
+
ngImport: i0,
|
|
20
|
+
type: RmSideMenu,
|
|
21
|
+
deps: [],
|
|
22
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
23
|
+
});
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
25
|
+
minVersion: "17.0.0",
|
|
26
|
+
version: "22.2.5",
|
|
27
|
+
type: RmSideMenu,
|
|
28
|
+
isStandalone: true,
|
|
29
|
+
selector: "lib-rm-side-menu",
|
|
30
|
+
inputs: {
|
|
31
|
+
isAuthenticated: {
|
|
32
|
+
classPropertyName: "isAuthenticated",
|
|
33
|
+
publicName: "isAuthenticated",
|
|
34
|
+
isSignal: true,
|
|
35
|
+
isRequired: false,
|
|
36
|
+
transformFunction: null
|
|
37
|
+
},
|
|
38
|
+
titleColor: {
|
|
39
|
+
classPropertyName: "titleColor",
|
|
40
|
+
publicName: "titleColor",
|
|
41
|
+
isSignal: true,
|
|
42
|
+
isRequired: false,
|
|
43
|
+
transformFunction: null
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
outputs: {
|
|
47
|
+
onSignOut: "onSignOut",
|
|
48
|
+
onSignIn: "onSignIn"
|
|
49
|
+
},
|
|
50
|
+
ngImport: i0,
|
|
51
|
+
template: "<aside\r\n class=\"bg-gradient-to-br from-gray-800 to-gray-900 -translate-x-80 fixed inset-0 z-50 my-4 ml-4 h-[calc(100vh-32px)] w-72 rounded-xl transition-transform duration-300 xl:translate-x-0\"\r\n>\r\n <div class=\"relative border-b border-white/20\">\r\n <a class=\"flex items-center gap-4 py-6 px-8\" href=\"#/\">\r\n <h6\r\n class=\"text-2xl font-bold block antialiased tracking-normal font-sans leading-relaxed text-white\"\r\n >\r\n <!-- Todo: personalizar colores -->\r\n <span [classList]=\"[titleColor()]\">RM</span>\r\n <span class=\"font-thin\"> Corp</span>\r\n </h6>\r\n </a>\r\n <button\r\n class=\"middle none font-sans font-medium text-center uppercase transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none w-8 max-w-[32px] h-8 max-h-[32px] rounded-lg text-xs text-white hover:bg-white/10 active:bg-white/30 absolute right-0 top-0 grid rounded-br-none rounded-tl-none xl:hidden\"\r\n type=\"button\"\r\n >\r\n <span class=\"absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2.5\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"h-5 w-5 text-white\"\r\n >\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\"></path>\r\n </svg>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"m-4\">\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li>\r\n <!-- middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/40 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize -->\r\n\r\n <a\r\n aria-current=\"page\"\r\n routerLink=\"/\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M11.47 3.84a.75.75 0 011.06 0l8.69 8.69a.75.75 0 101.06-1.06l-8.689-8.69a2.25 2.25 0 00-3.182 0l-8.69 8.69a.75.75 0 001.061 1.06l8.69-8.69z\"\r\n ></path>\r\n <path\r\n d=\"M12 5.432l8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 01-.75-.75v-4.5a.75.75 0 00-.75-.75h-3a.75.75 0 00-.75.75V21a.75.75 0 01-.75.75H5.625a1.875 1.875 0 01-1.875-1.875v-6.198a2.29 2.29 0 00.091-.086L12 5.43z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n dashboard\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n profile\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n routerLink=\"/projects\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n class=\"\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M1.5 5.625c0-1.036.84-1.875 1.875-1.875h17.25c1.035 0 1.875.84 1.875 1.875v12.75c0 1.035-.84 1.875-1.875 1.875H3.375A1.875 1.875 0 011.5 18.375V5.625zM21 9.375A.375.375 0 0020.625 9h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zM10.875 18.75a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5zM3.375 15h7.5a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375zm0-3.75h7.5a.375.375 0 00.375-.375v-1.5A.375.375 0 0010.875 9h-7.5A.375.375 0 003 9.375v1.5c0 .207.168.375.375.375z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Projects\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.25 9a6.75 6.75 0 0113.5 0v.75c0 2.123.8 4.057 2.118 5.52a.75.75 0 01-.297 1.206c-1.544.57-3.16.99-4.831 1.243a3.75 3.75 0 11-7.48 0 24.585 24.585 0 01-4.831-1.244.75.75 0 01-.298-1.205A8.217 8.217 0 005.25 9.75V9zm4.502 8.9a2.25 2.25 0 104.496 0 25.057 25.057 0 01-4.496 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n notifactions\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n </ul>\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li class=\"mx-3.5 mt-4 mb-2\">\r\n <p\r\n class=\"block antialiased font-sans text-sm leading-normal text-white font-black uppercase opacity-75\"\r\n >\r\n auth pages\r\n </p>\r\n </li>\r\n\r\n @if (isAuthenticated()) {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignOut.emit()\"\r\n data-logout\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M7.5 3.75A1.5 1.5 0 006 5.25v13.5a1.5 1.5 0 001.5 1.5h6a1.5 1.5 0 001.5-1.5V15a.75.75 0 011.5 0v3.75a3 3 0 01-3 3h-6a3 3 0 01-3-3V5.25a3 3 0 013-3h6a3 3 0 013 3V9A.75.75 0 0115 9V5.25a1.5 1.5 0 00-1.5-1.5h-6zm10.72 4.72a.75.75 0 011.06 0l3 3a.75.75 0 010 1.06l-3 3a.75.75 0 11-1.06-1.06l1.72-1.72H9a.75.75 0 010-1.5h10.94l-1.72-1.72a.75.75 0 010-1.06z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n logout\r\n </p>\r\n </button>\r\n </li>\r\n } @else {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignIn.emit()\"\r\n data-login\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M6.25 6.375a4.125 4.125 0 118.25 0 4.125 4.125 0 01-8.25 0zM3.25 19.125a7.125 7.125 0 0114.25 0v.003l-.001.119a.75.75 0 01-.363.63 13.067 13.067 0 01-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 01-.364-.63l-.001-.122zM19.75 7.5a.75.75 0 00-1.5 0v2.25H16a.75.75 0 000 1.5h2.25v2.25a.75.75 0 001.5 0v-2.25H22a.75.75 0 000-1.5h-2.25V7.5z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Login\r\n </p>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</aside>\r\n",
|
|
52
|
+
styles: [""],
|
|
53
|
+
dependencies: [{
|
|
54
|
+
kind: "directive",
|
|
55
|
+
type: RouterLink,
|
|
56
|
+
selector: "[routerLink]",
|
|
57
|
+
inputs: [
|
|
58
|
+
"target",
|
|
59
|
+
"queryParams",
|
|
60
|
+
"fragment",
|
|
61
|
+
"queryParamsHandling",
|
|
62
|
+
"state",
|
|
63
|
+
"info",
|
|
64
|
+
"relativeTo",
|
|
65
|
+
"preserveFragment",
|
|
66
|
+
"skipLocationChange",
|
|
67
|
+
"replaceUrl",
|
|
68
|
+
"browserUrl",
|
|
69
|
+
"routerLink"
|
|
70
|
+
]
|
|
71
|
+
}, {
|
|
72
|
+
kind: "directive",
|
|
73
|
+
type: RouterLinkActive,
|
|
74
|
+
selector: "[routerLinkActive]",
|
|
75
|
+
inputs: [
|
|
76
|
+
"routerLinkActiveOptions",
|
|
77
|
+
"ariaCurrentWhenActive",
|
|
78
|
+
"routerLinkActive"
|
|
79
|
+
],
|
|
80
|
+
outputs: ["isActiveChange"],
|
|
81
|
+
exportAs: ["routerLinkActive"]
|
|
82
|
+
}]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
86
|
+
minVersion: "12.0.0",
|
|
87
|
+
version: "22.2.5",
|
|
88
|
+
ngImport: i0,
|
|
89
|
+
type: RmSideMenu,
|
|
90
|
+
decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{
|
|
93
|
+
imports: [RouterLink, RouterLinkActive],
|
|
94
|
+
selector: "lib-rm-side-menu",
|
|
95
|
+
template: "<aside\r\n class=\"bg-gradient-to-br from-gray-800 to-gray-900 -translate-x-80 fixed inset-0 z-50 my-4 ml-4 h-[calc(100vh-32px)] w-72 rounded-xl transition-transform duration-300 xl:translate-x-0\"\r\n>\r\n <div class=\"relative border-b border-white/20\">\r\n <a class=\"flex items-center gap-4 py-6 px-8\" href=\"#/\">\r\n <h6\r\n class=\"text-2xl font-bold block antialiased tracking-normal font-sans leading-relaxed text-white\"\r\n >\r\n <!-- Todo: personalizar colores -->\r\n <span [classList]=\"[titleColor()]\">RM</span>\r\n <span class=\"font-thin\"> Corp</span>\r\n </h6>\r\n </a>\r\n <button\r\n class=\"middle none font-sans font-medium text-center uppercase transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none w-8 max-w-[32px] h-8 max-h-[32px] rounded-lg text-xs text-white hover:bg-white/10 active:bg-white/30 absolute right-0 top-0 grid rounded-br-none rounded-tl-none xl:hidden\"\r\n type=\"button\"\r\n >\r\n <span class=\"absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2.5\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"h-5 w-5 text-white\"\r\n >\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\"></path>\r\n </svg>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"m-4\">\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li>\r\n <!-- middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/40 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize -->\r\n\r\n <a\r\n aria-current=\"page\"\r\n routerLink=\"/\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M11.47 3.84a.75.75 0 011.06 0l8.69 8.69a.75.75 0 101.06-1.06l-8.689-8.69a2.25 2.25 0 00-3.182 0l-8.69 8.69a.75.75 0 001.061 1.06l8.69-8.69z\"\r\n ></path>\r\n <path\r\n d=\"M12 5.432l8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 01-.75-.75v-4.5a.75.75 0 00-.75-.75h-3a.75.75 0 00-.75.75V21a.75.75 0 01-.75.75H5.625a1.875 1.875 0 01-1.875-1.875v-6.198a2.29 2.29 0 00.091-.086L12 5.43z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n dashboard\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n profile\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n routerLink=\"/projects\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n class=\"\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M1.5 5.625c0-1.036.84-1.875 1.875-1.875h17.25c1.035 0 1.875.84 1.875 1.875v12.75c0 1.035-.84 1.875-1.875 1.875H3.375A1.875 1.875 0 011.5 18.375V5.625zM21 9.375A.375.375 0 0020.625 9h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zM10.875 18.75a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5zM3.375 15h7.5a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375zm0-3.75h7.5a.375.375 0 00.375-.375v-1.5A.375.375 0 0010.875 9h-7.5A.375.375 0 003 9.375v1.5c0 .207.168.375.375.375z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Projects\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.25 9a6.75 6.75 0 0113.5 0v.75c0 2.123.8 4.057 2.118 5.52a.75.75 0 01-.297 1.206c-1.544.57-3.16.99-4.831 1.243a3.75 3.75 0 11-7.48 0 24.585 24.585 0 01-4.831-1.244.75.75 0 01-.298-1.205A8.217 8.217 0 005.25 9.75V9zm4.502 8.9a2.25 2.25 0 104.496 0 25.057 25.057 0 01-4.496 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n notifactions\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n </ul>\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li class=\"mx-3.5 mt-4 mb-2\">\r\n <p\r\n class=\"block antialiased font-sans text-sm leading-normal text-white font-black uppercase opacity-75\"\r\n >\r\n auth pages\r\n </p>\r\n </li>\r\n\r\n @if (isAuthenticated()) {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignOut.emit()\"\r\n data-logout\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M7.5 3.75A1.5 1.5 0 006 5.25v13.5a1.5 1.5 0 001.5 1.5h6a1.5 1.5 0 001.5-1.5V15a.75.75 0 011.5 0v3.75a3 3 0 01-3 3h-6a3 3 0 01-3-3V5.25a3 3 0 013-3h6a3 3 0 013 3V9A.75.75 0 0115 9V5.25a1.5 1.5 0 00-1.5-1.5h-6zm10.72 4.72a.75.75 0 011.06 0l3 3a.75.75 0 010 1.06l-3 3a.75.75 0 11-1.06-1.06l1.72-1.72H9a.75.75 0 010-1.5h10.94l-1.72-1.72a.75.75 0 010-1.06z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n logout\r\n </p>\r\n </button>\r\n </li>\r\n } @else {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignIn.emit()\"\r\n data-login\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M6.25 6.375a4.125 4.125 0 118.25 0 4.125 4.125 0 01-8.25 0zM3.25 19.125a7.125 7.125 0 0114.25 0v.003l-.001.119a.75.75 0 01-.363.63 13.067 13.067 0 01-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 01-.364-.63l-.001-.122zM19.75 7.5a.75.75 0 00-1.5 0v2.25H16a.75.75 0 000 1.5h2.25v2.25a.75.75 0 001.5 0v-2.25H22a.75.75 0 000-1.5h-2.25V7.5z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Login\r\n </p>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</aside>\r\n"
|
|
96
|
+
}]
|
|
97
|
+
}],
|
|
98
|
+
propDecorators: {
|
|
99
|
+
isAuthenticated: [{
|
|
100
|
+
type: i0.Input,
|
|
101
|
+
args: [{
|
|
102
|
+
isSignal: true,
|
|
103
|
+
alias: "isAuthenticated",
|
|
104
|
+
required: false
|
|
105
|
+
}]
|
|
106
|
+
}],
|
|
107
|
+
titleColor: [{
|
|
108
|
+
type: i0.Input,
|
|
109
|
+
args: [{
|
|
110
|
+
isSignal: true,
|
|
111
|
+
alias: "titleColor",
|
|
112
|
+
required: false
|
|
113
|
+
}]
|
|
114
|
+
}],
|
|
115
|
+
onSignOut: [{
|
|
116
|
+
type: i0.Output,
|
|
117
|
+
args: ["onSignOut"]
|
|
118
|
+
}],
|
|
119
|
+
onSignIn: [{
|
|
120
|
+
type: i0.Output,
|
|
121
|
+
args: ["onSignIn"]
|
|
122
|
+
}]
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
export { RmSideMenu, TitleColor };
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=rm-side-menu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rm-side-menu.mjs","names":[],"sources":["../../../projects/rm-side-menu/src/lib/rm-side-menu.ts","../../../projects/rm-side-menu/src/lib/rm-side-menu.html"],"sourcesContent":["import { Component, input, output } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\nexport enum TitleColor {\n blue = 'text-blue-500',\n red = 'text-red-500',\n green = 'text-green-500',\n purple = 'text-purple-500'\n}\n\n@Component({\n imports: [RouterLink, RouterLinkActive],\n selector: 'lib-rm-side-menu',\n styles: ``,\n templateUrl: './rm-side-menu.html'\n})\nexport class RmSideMenu {\n\n isAuthenticated = input(false);\n\n titleColor = input<TitleColor>(TitleColor.purple);\n\n onSignOut = output();\n onSignIn = output();\n\n}\n","<aside\r\n class=\"bg-gradient-to-br from-gray-800 to-gray-900 -translate-x-80 fixed inset-0 z-50 my-4 ml-4 h-[calc(100vh-32px)] w-72 rounded-xl transition-transform duration-300 xl:translate-x-0\"\r\n>\r\n <div class=\"relative border-b border-white/20\">\r\n <a class=\"flex items-center gap-4 py-6 px-8\" href=\"#/\">\r\n <h6\r\n class=\"text-2xl font-bold block antialiased tracking-normal font-sans leading-relaxed text-white\"\r\n >\r\n <!-- Todo: personalizar colores -->\r\n <span [classList]=\"[titleColor()]\">RM</span>\r\n <span class=\"font-thin\"> Corp</span>\r\n </h6>\r\n </a>\r\n <button\r\n class=\"middle none font-sans font-medium text-center uppercase transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none w-8 max-w-[32px] h-8 max-h-[32px] rounded-lg text-xs text-white hover:bg-white/10 active:bg-white/30 absolute right-0 top-0 grid rounded-br-none rounded-tl-none xl:hidden\"\r\n type=\"button\"\r\n >\r\n <span class=\"absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"2.5\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"h-5 w-5 text-white\"\r\n >\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\"></path>\r\n </svg>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"m-4\">\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li>\r\n <!-- middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/40 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize -->\r\n\r\n <a\r\n aria-current=\"page\"\r\n routerLink=\"/\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M11.47 3.84a.75.75 0 011.06 0l8.69 8.69a.75.75 0 101.06-1.06l-8.689-8.69a2.25 2.25 0 00-3.182 0l-8.69 8.69a.75.75 0 001.061 1.06l8.69-8.69z\"\r\n ></path>\r\n <path\r\n d=\"M12 5.432l8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 01-.75-.75v-4.5a.75.75 0 00-.75-.75h-3a.75.75 0 00-.75.75V21a.75.75 0 01-.75.75H5.625a1.875 1.875 0 01-1.875-1.875v-6.198a2.29 2.29 0 00.091-.086L12 5.43z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n dashboard\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n profile\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n routerLink=\"/projects\"\r\n routerLinkActive=\"rounded-lg bg-gradient-to-tr from-blue-600 to-blue-400 text-white shadow-md shadow-blue-500/20 active:opacity-[0.85] w-full flex items-center gap-4 px-4 capitalize\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n class=\"\"\r\n href=\"#\"\r\n >\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M1.5 5.625c0-1.036.84-1.875 1.875-1.875h17.25c1.035 0 1.875.84 1.875 1.875v12.75c0 1.035-.84 1.875-1.875 1.875H3.375A1.875 1.875 0 011.5 18.375V5.625zM21 9.375A.375.375 0 0020.625 9h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zm0 3.75a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5a.375.375 0 00.375-.375v-1.5zM10.875 18.75a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375h7.5zM3.375 15h7.5a.375.375 0 00.375-.375v-1.5a.375.375 0 00-.375-.375h-7.5a.375.375 0 00-.375.375v1.5c0 .207.168.375.375.375zm0-3.75h7.5a.375.375 0 00.375-.375v-1.5A.375.375 0 0010.875 9h-7.5A.375.375 0 003 9.375v1.5c0 .207.168.375.375.375z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Projects\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"\" href=\"#\">\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.25 9a6.75 6.75 0 0113.5 0v.75c0 2.123.8 4.057 2.118 5.52a.75.75 0 01-.297 1.206c-1.544.57-3.16.99-4.831 1.243a3.75 3.75 0 11-7.48 0 24.585 24.585 0 01-4.831-1.244.75.75 0 01-.298-1.205A8.217 8.217 0 005.25 9.75V9zm4.502 8.9a2.25 2.25 0 104.496 0 25.057 25.057 0 01-4.496 0z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n notifactions\r\n </p>\r\n </button>\r\n </a>\r\n </li>\r\n </ul>\r\n <ul class=\"mb-4 flex flex-col gap-1\">\r\n <li class=\"mx-3.5 mt-4 mb-2\">\r\n <p\r\n class=\"block antialiased font-sans text-sm leading-normal text-white font-black uppercase opacity-75\"\r\n >\r\n auth pages\r\n </p>\r\n </li>\r\n\r\n @if (isAuthenticated()) {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignOut.emit()\"\r\n data-logout\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M7.5 3.75A1.5 1.5 0 006 5.25v13.5a1.5 1.5 0 001.5 1.5h6a1.5 1.5 0 001.5-1.5V15a.75.75 0 011.5 0v3.75a3 3 0 01-3 3h-6a3 3 0 01-3-3V5.25a3 3 0 013-3h6a3 3 0 013 3V9A.75.75 0 0115 9V5.25a1.5 1.5 0 00-1.5-1.5h-6zm10.72 4.72a.75.75 0 011.06 0l3 3a.75.75 0 010 1.06l-3 3a.75.75 0 11-1.06-1.06l1.72-1.72H9a.75.75 0 010-1.5h10.94l-1.72-1.72a.75.75 0 010-1.06z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n logout\r\n </p>\r\n </button>\r\n </li>\r\n } @else {\r\n <li>\r\n <button\r\n class=\"middle none font-sans font-bold center transition-all disabled:opacity-50 disabled:shadow-none disabled:pointer-events-none text-xs py-3 rounded-lg text-white hover:bg-white/10 active:bg-white/30 w-full flex items-center gap-4 px-4 capitalize\"\r\n type=\"button\"\r\n (click)=\"onSignIn.emit()\"\r\n data-login\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n class=\"w-5 h-5 text-inherit\"\r\n >\r\n <path\r\n d=\"M6.25 6.375a4.125 4.125 0 118.25 0 4.125 4.125 0 01-8.25 0zM3.25 19.125a7.125 7.125 0 0114.25 0v.003l-.001.119a.75.75 0 01-.363.63 13.067 13.067 0 01-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 01-.364-.63l-.001-.122zM19.75 7.5a.75.75 0 00-1.5 0v2.25H16a.75.75 0 000 1.5h2.25v2.25a.75.75 0 001.5 0v-2.25H22a.75.75 0 000-1.5h-2.25V7.5z\"\r\n ></path>\r\n </svg>\r\n <p\r\n class=\"block antialiased font-sans text-base leading-relaxed text-inherit font-medium capitalize\"\r\n >\r\n Login\r\n </p>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</aside>\r\n"],"mappings":";;;AAGA,IAAY;CAAZ,SAAY,YAAU;CACpB,WAAA,UAAA;CACA,WAAA,SAAA;CACA,WAAA,WAAA;CACA,WAAA,YAAA;AACF,EAAA,CALY,eAAA,aAAU,CAAA,EAAA;AAatB,IAAa,aAAb,MAAa,WAAU;CAErB,kBAAkB,MAAM,OAAM,GAAA,YAAA,CAAA,EAAA,WAAA,kBAAA,CAAA,+BAAA,CAAA,CAAA;CAE9B,aAAa,MAAkB,WAAW,QAAO,GAAA,YAAA,CAAA,EAAA,WAAA,aAAA,CAAA,+BAAA,CAAA,CAAA;CAEjD,YAAY,OAAM;CAClB,WAAW,OAAM;CAPN,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAU,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAV,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAU,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,iBAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,YAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,SAAA;GAAA,WAAA;GAAA,UAAA;EAAA;EAAA,UAAA;EAAA,UChBvB;EAiOA,QAAA,CAAA,EAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MDtNY;GAAU,UAAA;GAAA,QAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;GAAA;EAAA,GAAA;GAAA,MAAA;GAAA,MAAE;GAAgB,UAAA;GAAA,QAAA;IAAA;IAAA;IAAA;GAAA;GAAA,SAAA,CAAA,gBAAA;GAAA,UAAA,CAAA,kBAAA;EAAA,CAAA;CAAA,CAAA;;AAK3B,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAU,YAAA,CAAA;EANtB,MAAA;EACU,MAAA,CAAA;GAAA,SAAA,CAAC,YAAY,gBAAgB;GAAC,UAC7B;GAAkB,UAAA;EAAA,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rm-side-menu",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
"repository": {
|
|
4
|
+
"type": "git",
|
|
5
|
+
"url": "https://github.com/richardmazo/angular-advanced-udemy/tree/main/05-rm-workspace"
|
|
6
|
+
},
|
|
7
|
+
"keywords": [
|
|
8
|
+
"richard",
|
|
9
|
+
"rm",
|
|
10
|
+
"do-not-use"
|
|
11
|
+
],
|
|
12
|
+
"author": "Richard Mazo",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/richardmazo/angular-advanced-udemy/issues"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://richard-mazo.com",
|
|
17
|
+
"version": "0.0.2",
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"@angular/common": "^22.2.0",
|
|
20
|
+
"@angular/core": "^22.2.0"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
},
|
|
25
|
+
"sideEffects": false,
|
|
26
|
+
"module": "fesm2022/rm-side-menu.mjs",
|
|
27
|
+
"typings": "types/rm-side-menu.d.ts",
|
|
28
|
+
"exports": {
|
|
29
|
+
"./package.json": {
|
|
30
|
+
"default": "./package.json"
|
|
31
|
+
},
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./types/rm-side-menu.d.ts",
|
|
34
|
+
"default": "./fesm2022/rm-side-menu.mjs"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"type": "module"
|
|
6
38
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare enum TitleColor {
|
|
3
|
+
blue = "text-blue-500",
|
|
4
|
+
red = "text-red-500",
|
|
5
|
+
green = "text-green-500",
|
|
6
|
+
purple = "text-purple-500"
|
|
7
|
+
}
|
|
8
|
+
export declare class RmSideMenu {
|
|
9
|
+
isAuthenticated: import("@angular/core").InputSignal<boolean>;
|
|
10
|
+
titleColor: import("@angular/core").InputSignal<TitleColor>;
|
|
11
|
+
onSignOut: import("@angular/core").OutputEmitterRef<void>;
|
|
12
|
+
onSignIn: import("@angular/core").OutputEmitterRef<void>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RmSideMenu, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RmSideMenu, "lib-rm-side-menu", never, {
|
|
15
|
+
"isAuthenticated": {
|
|
16
|
+
"alias": "isAuthenticated";
|
|
17
|
+
"required": false;
|
|
18
|
+
"isSignal": true;
|
|
19
|
+
};
|
|
20
|
+
"titleColor": {
|
|
21
|
+
"alias": "titleColor";
|
|
22
|
+
"required": false;
|
|
23
|
+
"isSignal": true;
|
|
24
|
+
};
|
|
25
|
+
}, {
|
|
26
|
+
"onSignOut": "onSignOut";
|
|
27
|
+
"onSignIn": "onSignIn";
|
|
28
|
+
}, never, never, true, never>;
|
|
29
|
+
}
|