@mckit/auth 18.0.13 → 18.0.15

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 CHANGED
@@ -1,24 +1,54 @@
1
- # Auth
1
+ # Auth - MC Kit
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.1.0.
3
+ Core para integrar facilmente Auth en tu plataforma. Incluye paginas de login ya maquetadas.
4
4
 
5
- ## Code scaffolding
5
+ ## Table of Contents
6
6
 
7
- Run `ng generate component component-name --project auth` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project auth`.
8
- > Note: Don't forget to add `--project auth` or else it will be added to the default project in your `angular.json` file.
7
+ - [Installation](#installation)
8
+ - [1. Install MIA Core](#1-install-mia-core)
9
+ - [1. Install libraries](#1-install-libraries)
10
+ - [2. Add Styles](#2-add-styles)
11
+ - [Use Login Page Layout](#use-login-page-layout)
12
+ - [1. Create component](#1-create-component)
13
+ - [1. Install libraries](#1-install-libraries)
14
+ - [2. Add Styles](#2-add-styles)
9
15
 
10
- ## Build
16
+ ## Installation
11
17
 
12
- Run `ng build auth` to build the project. The build artifacts will be stored in the `dist/` directory.
18
+ ### 1. Install MIA Core
13
19
 
14
- ## Publishing
20
+ [Instalar MIA Core](https://github.com/matiascamiletti/mc-kit/blob/main/projects/mckit/core/README.md#1-install-libraries)
15
21
 
16
- After building your library with `ng build auth`, go to the dist folder `cd dist/auth` and run `npm publish`.
22
+ ### 2. Install libraries
17
23
 
18
- ## Running unit tests
24
+ ```bash
25
+ npm install --save @ngx-pwa/local-storage@18 @mckit/auth
26
+ ```
19
27
 
20
- Run `ng test auth` to execute the unit tests via [Karma](https://karma-runner.github.io).
28
+ ## Use Login Page Layout
21
29
 
22
- ## Further help
30
+ ### 1. Create component
31
+
32
+ ```html
33
+ <mc-auth-basic #authComp [config]="config" (submit)="onLogin($event)"></mc-auth-basic>
34
+ ```
35
+
36
+ ```typescript
37
+ onLogin(data: MCAuthModel) {
38
+ console.log(data);
39
+ }
40
+
41
+ loadConfig() {
42
+ this.config = new MCAuthBasicConfig();
43
+ this.config.title = 'Inicio de sesión';
44
+ this.config.subtitle = 'Por favor, inicie sesión para continuar';
45
+ this.config.emailPlaceholder = 'Correo electrónico';
46
+ this.config.passwordPlaceholder = 'Contraseña';
47
+ this.config.submitButton = 'Iniciar sesión';
48
+ this.config.resetPassword = '¿Olvidaste tu contraseña?';
49
+ this.config.resetPasswordLink = '/reset-password';
50
+ this.config.register = '¿No tienes una cuenta?';
51
+ this.config.registerLink = '/register';
52
+ }
53
+ ```
23
54
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -58,11 +58,11 @@ export class MCAuthBasicComponent {
58
58
  this.isSending = false;
59
59
  }
60
60
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthBasicComponent, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthBasicComponent, isStandalone: true, selector: "mc-auth-basic", inputs: { config: "config" }, outputs: { submit: "submit" }, providers: [MessageService], ngImport: i0, template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "ngmodule", type: IconFieldModule }, { kind: "component", type: i5.IconField, selector: "p-iconField", inputs: ["iconPosition"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "component", type: i6.InputIcon, selector: "p-inputIcon", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "directive", type: i8.PasswordDirective, selector: "[pPassword]", inputs: ["promptLabel", "weakLabel", "mediumLabel", "strongLabel", "feedback", "showPassword", "variant"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i9.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthBasicComponent, isStandalone: true, selector: "mc-auth-basic", inputs: { config: "config" }, outputs: { submit: "submit" }, providers: [MessageService], ngImport: i0, template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" (keyup.enter)=\"onClickSubmit()\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "ngmodule", type: IconFieldModule }, { kind: "component", type: i5.IconField, selector: "p-iconField", inputs: ["iconPosition"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "component", type: i6.InputIcon, selector: "p-inputIcon", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "directive", type: i8.PasswordDirective, selector: "[pPassword]", inputs: ["promptLabel", "weakLabel", "mediumLabel", "strongLabel", "feedback", "showPassword", "variant"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i9.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthBasicComponent, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: 'mc-auth-basic', standalone: true, imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule], providers: [MessageService], template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"] }]
65
+ args: [{ selector: 'mc-auth-basic', standalone: true, imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule], providers: [MessageService], template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" (keyup.enter)=\"onClickSubmit()\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"] }]
66
66
  }], ctorParameters: () => [{ type: i1.MessageService }], propDecorators: { config: [{
67
67
  type: Input
68
68
  }], submit: [{
@@ -78,4 +78,4 @@ export class MCAuthBasicConfig extends MCBaseAuthPageConfig {
78
78
  register;
79
79
  registerLink;
80
80
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1iYXNpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tY2tpdC9hdXRoL3NyYy9saWIvcGFnZXMvYXV0aC1iYXNpYy9hdXRoLWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL2xpYi9wYWdlcy9hdXRoLWJhc2ljL2F1dGgtYmFzaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7OztBQVkvQyxNQUFNLE9BQU8sb0JBQW9CO0lBWXJCO0lBWEQsTUFBTSxDQUFxQjtJQUMxQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUVuRCxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDcEIsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztLQUMzRCxDQUFDLENBQUM7SUFFSCxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFlBQ1UsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSixhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksR0FBRyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDM0MsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBZTtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3VHQTVDVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5SEFKcEIsQ0FBQyxjQUFjLENBQUMsMEJDcEI3Qix3dUZBeUNBLHVpQkR0QlksV0FBVywycEJBQUUsbUJBQW1CLCtVQUFFLFlBQVksb2VBQUUsVUFBVSxnSkFBRSxlQUFlLDRIQUFFLGVBQWUsMEhBQUUsZUFBZSx3SEFBRSxjQUFjLHFOQUFFLGNBQWMsMlJBQUUsWUFBWTs7MkZBSzFKLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsYUFDM0osQ0FBQyxjQUFjLENBQUM7bUZBS2xCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07O0FBNkNULE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBb0I7SUFDekQsUUFBUSxDQUFVO0lBRWxCLGdCQUFnQixDQUFVO0lBQzFCLG1CQUFtQixDQUFVO0lBRTdCLFlBQVksQ0FBVTtJQUV0QixhQUFhLENBQVU7SUFDdkIsaUJBQWlCLENBQVU7SUFFM0IsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBVTtDQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYXJkJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEljb25GaWVsZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaWNvbmZpZWxkJztcbmltcG9ydCB7IElucHV0SWNvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRpY29uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IFBhc3N3b3JkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYXNzd29yZCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1DQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvbWMtYXV0aC1tb2RlbCc7XG5pbXBvcnQgeyBNQ0Jhc2VBdXRoUGFnZUNvbmZpZyB9IGZyb20gJy4uLy4uL2VudGl0aWVzL21jLWJhc2UtYXV0aC1wYWdlLWNvbmZpZyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWMtYXV0aC1iYXNpYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQnV0dG9uTW9kdWxlLCBDYXJkTW9kdWxlLCBJY29uRmllbGRNb2R1bGUsIElucHV0SWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBQYXNzd29yZE1vZHVsZSwgTWVzc2FnZXNNb2R1bGUsIFJvdXRlck1vZHVsZV0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtYmFzaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXV0aC1iYXNpYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTUNBdXRoQmFzaWNDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWchOiBNQ0F1dGhCYXNpY0NvbmZpZztcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8TUNBdXRoTW9kZWw+KCk7XG5cbiAgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSksXG4gICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICB9KTtcblxuICBpc1NlbmRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHt9XG5cbiAgb25DbGlja1N1Ym1pdCgpIHtcbiAgICB0aGlzLmNsZWFyTWVzc2FnZXMoKTtcblxuICAgIGxldCBvYmogPSBuZXcgTUNBdXRoTW9kZWwoKTtcbiAgICBvYmouZW1haWwgPSB0aGlzLmdyb3VwLmdldCgnZW1haWwnKT8udmFsdWU7XG4gICAgb2JqLnBhc3N3b3JkID0gdGhpcy5ncm91cC5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xuXG4gICAgdGhpcy5zaG93TG9hZGluZygpO1xuICAgIHRoaXMuc3VibWl0LmVtaXQob2JqKTtcbiAgfVxuXG4gIHNob3dTdWNjZXNzTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6IG1lc3NhZ2V9KTtcbiAgfVxuXG4gIHNob3dFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogbWVzc2FnZX0pO1xuICB9XG5cbiAgY2xlYXJNZXNzYWdlcygpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBzaG93TG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IHRydWU7XG4gIH1cblxuICBoaWRlTG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNQ0F1dGhCYXNpY0NvbmZpZyBleHRlbmRzIE1DQmFzZUF1dGhQYWdlQ29uZmlnIHtcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG5cbiAgZW1haWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgcGFzc3dvcmRQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICBzdWJtaXRCdXR0b24/OiBzdHJpbmc7XG5cbiAgcmVzZXRQYXNzd29yZD86IHN0cmluZztcbiAgcmVzZXRQYXNzd29yZExpbms/OiBzdHJpbmc7XG5cbiAgcmVnaXN0ZXI/OiBzdHJpbmc7XG4gIHJlZ2lzdGVyTGluaz86IHN0cmluZztcbn1cbiIsIjxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kLWNvbnRhaW5lclwiPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2MDAgODAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIiBjbGFzcz1cImZpeGVkIGxlZnQtMCB0b3AtMCBtaW4taC1zY3JlZW4gbWluLXctc2NyZWVuXCI+PHJlY3Qgd2lkdGg9XCIxNjAwXCIgaGVpZ2h0PVwiODAwXCIgZmlsbD1cInZhcigtLXByaW1hcnktNTAwKVwiPjwvcmVjdD48cGF0aCBkPVwiTTQ3OC40IDU4MWMzLjIgMC44IDYuNCAxLjcgOS41IDIuNWMxOTYuMiA1Mi41IDM4OC43IDEzMy41IDU5My41IDE3Ni42YzE3NC4yIDM2LjYgMzQ5LjUgMjkuMiA1MTguNi0xMC4yVjBIMHY1NzQuOWM1Mi4zLTE3LjYgMTA2LjUtMjcuNyAxNjEuMS0zMC45QzI2OC40IDUzNy40IDM3NS43IDU1NC4yIDQ3OC40IDU4MXpcIiBmaWxsPVwidmFyKC0tcHJpbWFyeS00MDApXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTgxLjggMjU5LjRjOTguMiA2IDE5MS45IDM1LjIgMjgxLjMgNzIuMWMyLjggMS4xIDUuNSAyLjMgOC4zIDMuNGMxNzEgNzEuNiAzNDIuNyAxNTguNSA1MzEuMyAyMDcuN2MxOTguOCA1MS44IDQwMy40IDQwLjggNTk3LjMtMTQuOFYwSDB2MjgzLjJDNTkgMjYzLjYgMTIwLjYgMjU1LjcgMTgxLjggMjU5LjR6XCIgZmlsbD1cInZhcigtLXByaW1hcnktMzAwKVwiPjwvcGF0aD48cGF0aCBkPVwiTTQ1NC45IDg2LjNDNjAwLjcgMTc3IDc1MS42IDI2OS4zIDkyNC4xIDMyNWMyMDguNiA2Ny40IDQzMS4zIDYwLjggNjM3LjktNS4zYzEyLjgtNC4xIDI1LjQtOC40IDM4LjEtMTIuOVYwSDI4OC4xYzU2IDIxLjMgMTA4LjcgNTAuNiAxNTkuNyA4MkM0NTAuMiA4My40IDQ1Mi41IDg0LjkgNDU0LjkgODYuM3pcIiBmaWxsPVwidmFyKC0tcHJpbWFyeS0yMDApXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTM5Ny41IDE1NC44YzQ3LjItMTAuNiA5My42LTI1LjMgMTM4LjYtNDMuOGMyMS43LTguOSA0My0xOC44IDYzLjktMjkuNVYwSDY0My40YzYyLjkgNDEuNyAxMjkuNyA3OC4yIDIwMi4xIDEwNy40QzEwMjAuNCAxNzguMSAxMjE0LjIgMTk2LjEgMTM5Ny41IDE1NC44elwiIGZpbGw9XCJ2YXIoLS1wcmltYXJ5LTEwMClcIj48L3BhdGg+PC9zdmc+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYy1hdXRoLWJhc2ljLWNvbnRhaW5lclwiPlxuICA8cC1jYXJkIFtoZWFkZXJdPVwiY29uZmlnLnRpdGxlID8/ICdMb2cgaW4nXCIgW3N1YmhlYWRlcl09XCJjb25maWcuc3VidGl0bGUgPz8gJ1BsZWFzZSBlbnRlciB5b3VyIGRldGFpbHMnXCI+XG5cbiAgICA8Zm9ybSBjbGFzcz1cIlwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgIDxwLWljb25GaWVsZCBpY29uUG9zaXRpb249XCJsZWZ0XCI+XG4gICAgICAgIDxwLWlucHV0SWNvbiBzdHlsZUNsYXNzPVwicGkgcGktZW52ZWxvcGVcIiAvPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IFtwbGFjZWhvbGRlcl09XCJjb25maWcuZW1haWxQbGFjZWhvbGRlciA/PyAnRW1haWwnXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxuICAgICAgPC9wLWljb25GaWVsZD5cblxuICAgICAgPGJyLz48YnIvPlxuXG4gICAgICA8cC1pY29uRmllbGQgaWNvblBvc2l0aW9uPVwibGVmdFwiPlxuICAgICAgICA8cC1pbnB1dEljb24gc3R5bGVDbGFzcz1cInBpIHBpLWxvY2tcIiAvPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcFBhc3N3b3JkIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGFzc3dvcmRQbGFjZWhvbGRlciA/PyAnUGFzc3dvcmQnXCIgW2ZlZWRiYWNrXT1cImZhbHNlXCIgdG9nZ2xlTWFzaz1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIC8+XG4gICAgICA8L3AtaWNvbkZpZWxkPlxuXG4gICAgICBAaWYgKGNvbmZpZy5yZXNldFBhc3N3b3JkTGluayAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9uc1wiPlxuICAgICAgICAgIDxwLWJ1dHRvbiBbcm91dGVyTGlua109XCJjb25maWcucmVzZXRQYXNzd29yZExpbmtcIiBbbGFiZWxdPVwiY29uZmlnLnJlc2V0UGFzc3dvcmQgPz8gJ1Jlc2V0IFBhc3N3b3JkJ1wiIFtsaW5rXT1cInRydWVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPHAtbWVzc2FnZXMgLz5cbiAgICA8L2Zvcm0+XG5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMyBtdC0xXCI+XG4gICAgICAgIDxwLWJ1dHRvbiBbbGFiZWxdPVwiY29uZmlnLnN1Ym1pdEJ1dHRvbiA/PyAnTG9nIGluJ1wiIFtsb2FkaW5nXT1cImlzU2VuZGluZ1wiIFtzdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScgfVwiIChjbGljayk9XCJvbkNsaWNrU3VibWl0KClcIiBbZGlzYWJsZWRdPVwiZ3JvdXAuaW52YWxpZCB8fCBpc1NlbmRpbmdcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoY29uZmlnLnJlZ2lzdGVyTGluayAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1mb290ZXJcIj5cbiAgICAgICAgICA8cC1idXR0b24gW3JvdXRlckxpbmtdPVwiY29uZmlnLnJlZ2lzdGVyTGlua1wiIFtsYWJlbF09XCJjb25maWcucmVnaXN0ZXIgPz8gJ0RvbuKAmXQgaGF2ZSBhbiBhY2NvdW50PyBSZWdpc3RlcidcIiBbbGlua109XCJ0cnVlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLWNhcmQ+XG48L2Rpdj5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1iYXNpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tY2tpdC9hdXRoL3NyYy9saWIvcGFnZXMvYXV0aC1iYXNpYy9hdXRoLWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL2xpYi9wYWdlcy9hdXRoLWJhc2ljL2F1dGgtYmFzaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7OztBQVkvQyxNQUFNLE9BQU8sb0JBQW9CO0lBWXJCO0lBWEQsTUFBTSxDQUFxQjtJQUMxQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUVuRCxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDcEIsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztLQUMzRCxDQUFDLENBQUM7SUFFSCxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFlBQ1UsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSixhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksR0FBRyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDM0MsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBZTtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3VHQTVDVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5SEFKcEIsQ0FBQyxjQUFjLENBQUMsMEJDcEI3Qiwwd0ZBeUNBLHVpQkR0QlksV0FBVywycEJBQUUsbUJBQW1CLCtVQUFFLFlBQVksb2VBQUUsVUFBVSxnSkFBRSxlQUFlLDRIQUFFLGVBQWUsMEhBQUUsZUFBZSx3SEFBRSxjQUFjLHFOQUFFLGNBQWMsMlJBQUUsWUFBWTs7MkZBSzFKLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsYUFDM0osQ0FBQyxjQUFjLENBQUM7bUZBS2xCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07O0FBNkNULE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBb0I7SUFDekQsUUFBUSxDQUFVO0lBRWxCLGdCQUFnQixDQUFVO0lBQzFCLG1CQUFtQixDQUFVO0lBRTdCLFlBQVksQ0FBVTtJQUV0QixhQUFhLENBQVU7SUFDdkIsaUJBQWlCLENBQVU7SUFFM0IsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBVTtDQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYXJkJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEljb25GaWVsZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaWNvbmZpZWxkJztcbmltcG9ydCB7IElucHV0SWNvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRpY29uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IFBhc3N3b3JkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYXNzd29yZCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1DQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvbWMtYXV0aC1tb2RlbCc7XG5pbXBvcnQgeyBNQ0Jhc2VBdXRoUGFnZUNvbmZpZyB9IGZyb20gJy4uLy4uL2VudGl0aWVzL21jLWJhc2UtYXV0aC1wYWdlLWNvbmZpZyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWMtYXV0aC1iYXNpYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQnV0dG9uTW9kdWxlLCBDYXJkTW9kdWxlLCBJY29uRmllbGRNb2R1bGUsIElucHV0SWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBQYXNzd29yZE1vZHVsZSwgTWVzc2FnZXNNb2R1bGUsIFJvdXRlck1vZHVsZV0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtYmFzaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXV0aC1iYXNpYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTUNBdXRoQmFzaWNDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWchOiBNQ0F1dGhCYXNpY0NvbmZpZztcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8TUNBdXRoTW9kZWw+KCk7XG5cbiAgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSksXG4gICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICB9KTtcblxuICBpc1NlbmRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHt9XG5cbiAgb25DbGlja1N1Ym1pdCgpIHtcbiAgICB0aGlzLmNsZWFyTWVzc2FnZXMoKTtcblxuICAgIGxldCBvYmogPSBuZXcgTUNBdXRoTW9kZWwoKTtcbiAgICBvYmouZW1haWwgPSB0aGlzLmdyb3VwLmdldCgnZW1haWwnKT8udmFsdWU7XG4gICAgb2JqLnBhc3N3b3JkID0gdGhpcy5ncm91cC5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xuXG4gICAgdGhpcy5zaG93TG9hZGluZygpO1xuICAgIHRoaXMuc3VibWl0LmVtaXQob2JqKTtcbiAgfVxuXG4gIHNob3dTdWNjZXNzTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6IG1lc3NhZ2V9KTtcbiAgfVxuXG4gIHNob3dFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogbWVzc2FnZX0pO1xuICB9XG5cbiAgY2xlYXJNZXNzYWdlcygpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBzaG93TG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IHRydWU7XG4gIH1cblxuICBoaWRlTG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNQ0F1dGhCYXNpY0NvbmZpZyBleHRlbmRzIE1DQmFzZUF1dGhQYWdlQ29uZmlnIHtcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG5cbiAgZW1haWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgcGFzc3dvcmRQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICBzdWJtaXRCdXR0b24/OiBzdHJpbmc7XG5cbiAgcmVzZXRQYXNzd29yZD86IHN0cmluZztcbiAgcmVzZXRQYXNzd29yZExpbms/OiBzdHJpbmc7XG5cbiAgcmVnaXN0ZXI/OiBzdHJpbmc7XG4gIHJlZ2lzdGVyTGluaz86IHN0cmluZztcbn1cbiIsIjxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kLWNvbnRhaW5lclwiPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2MDAgODAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIiBjbGFzcz1cImZpeGVkIGxlZnQtMCB0b3AtMCBtaW4taC1zY3JlZW4gbWluLXctc2NyZWVuXCI+PHJlY3Qgd2lkdGg9XCIxNjAwXCIgaGVpZ2h0PVwiODAwXCIgZmlsbD1cInZhcigtLXByaW1hcnktNTAwKVwiPjwvcmVjdD48cGF0aCBkPVwiTTQ3OC40IDU4MWMzLjIgMC44IDYuNCAxLjcgOS41IDIuNWMxOTYuMiA1Mi41IDM4OC43IDEzMy41IDU5My41IDE3Ni42YzE3NC4yIDM2LjYgMzQ5LjUgMjkuMiA1MTguNi0xMC4yVjBIMHY1NzQuOWM1Mi4zLTE3LjYgMTA2LjUtMjcuNyAxNjEuMS0zMC45QzI2OC40IDUzNy40IDM3NS43IDU1NC4yIDQ3OC40IDU4MXpcIiBmaWxsPVwidmFyKC0tcHJpbWFyeS00MDApXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTgxLjggMjU5LjRjOTguMiA2IDE5MS45IDM1LjIgMjgxLjMgNzIuMWMyLjggMS4xIDUuNSAyLjMgOC4zIDMuNGMxNzEgNzEuNiAzNDIuNyAxNTguNSA1MzEuMyAyMDcuN2MxOTguOCA1MS44IDQwMy40IDQwLjggNTk3LjMtMTQuOFYwSDB2MjgzLjJDNTkgMjYzLjYgMTIwLjYgMjU1LjcgMTgxLjggMjU5LjR6XCIgZmlsbD1cInZhcigtLXByaW1hcnktMzAwKVwiPjwvcGF0aD48cGF0aCBkPVwiTTQ1NC45IDg2LjNDNjAwLjcgMTc3IDc1MS42IDI2OS4zIDkyNC4xIDMyNWMyMDguNiA2Ny40IDQzMS4zIDYwLjggNjM3LjktNS4zYzEyLjgtNC4xIDI1LjQtOC40IDM4LjEtMTIuOVYwSDI4OC4xYzU2IDIxLjMgMTA4LjcgNTAuNiAxNTkuNyA4MkM0NTAuMiA4My40IDQ1Mi41IDg0LjkgNDU0LjkgODYuM3pcIiBmaWxsPVwidmFyKC0tcHJpbWFyeS0yMDApXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTM5Ny41IDE1NC44YzQ3LjItMTAuNiA5My42LTI1LjMgMTM4LjYtNDMuOGMyMS43LTguOSA0My0xOC44IDYzLjktMjkuNVYwSDY0My40YzYyLjkgNDEuNyAxMjkuNyA3OC4yIDIwMi4xIDEwNy40QzEwMjAuNCAxNzguMSAxMjE0LjIgMTk2LjEgMTM5Ny41IDE1NC44elwiIGZpbGw9XCJ2YXIoLS1wcmltYXJ5LTEwMClcIj48L3BhdGg+PC9zdmc+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYy1hdXRoLWJhc2ljLWNvbnRhaW5lclwiPlxuICA8cC1jYXJkIFtoZWFkZXJdPVwiY29uZmlnLnRpdGxlID8/ICdMb2cgaW4nXCIgW3N1YmhlYWRlcl09XCJjb25maWcuc3VidGl0bGUgPz8gJ1BsZWFzZSBlbnRlciB5b3VyIGRldGFpbHMnXCI+XG5cbiAgICA8Zm9ybSBjbGFzcz1cIlwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgIDxwLWljb25GaWVsZCBpY29uUG9zaXRpb249XCJsZWZ0XCI+XG4gICAgICAgIDxwLWlucHV0SWNvbiBzdHlsZUNsYXNzPVwicGkgcGktZW52ZWxvcGVcIiAvPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IFtwbGFjZWhvbGRlcl09XCJjb25maWcuZW1haWxQbGFjZWhvbGRlciA/PyAnRW1haWwnXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxuICAgICAgPC9wLWljb25GaWVsZD5cblxuICAgICAgPGJyLz48YnIvPlxuXG4gICAgICA8cC1pY29uRmllbGQgaWNvblBvc2l0aW9uPVwibGVmdFwiPlxuICAgICAgICA8cC1pbnB1dEljb24gc3R5bGVDbGFzcz1cInBpIHBpLWxvY2tcIiAvPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcFBhc3N3b3JkIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGFzc3dvcmRQbGFjZWhvbGRlciA/PyAnUGFzc3dvcmQnXCIgW2ZlZWRiYWNrXT1cImZhbHNlXCIgdG9nZ2xlTWFzaz1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIChrZXl1cC5lbnRlcik9XCJvbkNsaWNrU3VibWl0KClcIiAvPlxuICAgICAgPC9wLWljb25GaWVsZD5cblxuICAgICAgQGlmIChjb25maWcucmVzZXRQYXNzd29yZExpbmsgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLWFjdGlvbnNcIj5cbiAgICAgICAgICA8cC1idXR0b24gW3JvdXRlckxpbmtdPVwiY29uZmlnLnJlc2V0UGFzc3dvcmRMaW5rXCIgW2xhYmVsXT1cImNvbmZpZy5yZXNldFBhc3N3b3JkID8/ICdSZXNldCBQYXNzd29yZCdcIiBbbGlua109XCJ0cnVlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxwLW1lc3NhZ2VzIC8+XG4gICAgPC9mb3JtPlxuXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTMgbXQtMVwiPlxuICAgICAgICA8cC1idXR0b24gW2xhYmVsXT1cImNvbmZpZy5zdWJtaXRCdXR0b24gPz8gJ0xvZyBpbidcIiBbbG9hZGluZ109XCJpc1NlbmRpbmdcIiBbc3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIiAoY2xpY2spPVwib25DbGlja1N1Ym1pdCgpXCIgW2Rpc2FibGVkXT1cImdyb3VwLmludmFsaWQgfHwgaXNTZW5kaW5nXCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGNvbmZpZy5yZWdpc3RlckxpbmsgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLWFjdGlvbnMtZm9vdGVyXCI+XG4gICAgICAgICAgPHAtYnV0dG9uIFtyb3V0ZXJMaW5rXT1cImNvbmZpZy5yZWdpc3RlckxpbmtcIiBbbGFiZWxdPVwiY29uZmlnLnJlZ2lzdGVyID8/ICdEb27igJl0IGhhdmUgYW4gYWNjb3VudD8gUmVnaXN0ZXInXCIgW2xpbmtdPVwidHJ1ZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1jYXJkPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { makeEnvironmentProviders } from "@angular/core";
2
+ import { MC_AUTH_CONFIG } from "../entities/mc-auth-config";
3
+ export function provideMCAuth(value) {
4
+ return makeEnvironmentProviders([{ provide: MC_AUTH_CONFIG, useValue: value }]);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL2xpYi9wcm92aWRlcnMvYXV0aC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFFMUUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFtQjtJQUMvQyxPQUFPLHdCQUF3QixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTUNfQVVUSF9DT05GSUcsIE1DQXV0aENvbmZpZyB9IGZyb20gXCIuLi9lbnRpdGllcy9tYy1hdXRoLWNvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1DQXV0aCh2YWx1ZTogTUNBdXRoQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt7IHByb3ZpZGU6IE1DX0FVVEhfQ09ORklHLCB1c2VWYWx1ZTogdmFsdWUgfV0pO1xufVxuIl19
@@ -8,6 +8,10 @@ export * from './lib/entities/mc-user';
8
8
  export * from './lib/entities/mc-auth-config';
9
9
  export * from './lib/entities/mc-auth-model';
10
10
  export * from './lib/entities/mc-base-auth-page-config';
11
+ /**
12
+ * Providers
13
+ */
14
+ export * from './lib/providers/auth.provider';
11
15
  /**
12
16
  * Services
13
17
  */
@@ -24,4 +28,4 @@ export * from './lib/guards/auth.guard';
24
28
  * Pages
25
29
  */
26
30
  export * from './lib/pages/auth-basic/auth-basic.component';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUNBQXlDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxjQUFjLHVDQUF1QyxDQUFDO0FBRXREOztHQUVHO0FBQ0gsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRDs7R0FFRztBQUNILGNBQWMseUJBQXlCLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhdXRoXG4gKi9cblxuLyoqXG4gKiBFbnRpdGllc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnRpdGllcy9tYy11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0aWVzL21jLWF1dGgtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0aWVzL21jLWF1dGgtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW50aXRpZXMvbWMtYmFzZS1hdXRoLXBhZ2UtY29uZmlnJztcblxuLyoqXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmNlcHRvcnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3InO1xuXG4vKipcbiAqIEd1YXJkc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC5ndWFyZCc7XG5cbi8qKlxuICogUGFnZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvYXV0aC1iYXNpYy9hdXRoLWJhc2ljLmNvbXBvbmVudCc7XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUNBQXlDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RDs7R0FFRztBQUNILGNBQWMscUNBQXFDLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDOztHQUVHO0FBQ0gsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0aFxuICovXG5cbi8qKlxuICogRW50aXRpZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW50aXRpZXMvbWMtdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnRpdGllcy9tYy1hdXRoLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnRpdGllcy9tYy1hdXRoLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0aWVzL21jLWJhc2UtYXV0aC1wYWdlLWNvbmZpZyc7XG5cbi8qKlxuICogUHJvdmlkZXJzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb3ZpZGVycy9hdXRoLnByb3ZpZGVyJztcblxuLyoqXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmNlcHRvcnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3InO1xuXG4vKipcbiAqIEd1YXJkc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC5ndWFyZCc7XG5cbi8qKlxuICogUGFnZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvYXV0aC1iYXNpYy9hdXRoLWJhc2ljLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, signal, Injectable, inject, EventEmitter, Component, Input, Output } from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, signal, Injectable, inject, EventEmitter, Component, Input, Output } from '@angular/core';
3
3
  import { tap, map, switchMap, catchError } from 'rxjs';
4
4
  import * as i1 from '@ngx-pwa/local-storage';
5
5
  import { HttpResponse, HttpErrorResponse } from '@angular/common/http';
@@ -54,6 +54,10 @@ class MCBaseAuthPageConfig {
54
54
  title;
55
55
  }
56
56
 
57
+ function provideMCAuth(value) {
58
+ return makeEnvironmentProviders([{ provide: MC_AUTH_CONFIG, useValue: value }]);
59
+ }
60
+
57
61
  const MC_AUTH_KEY_STORAGE_TOKEN = 'mc.auth.storage';
58
62
  class MCAuthenticationService {
59
63
  storage;
@@ -183,11 +187,11 @@ class MCAuthBasicComponent {
183
187
  this.isSending = false;
184
188
  }
185
189
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthBasicComponent, deps: [{ token: i1$1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
186
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthBasicComponent, isStandalone: true, selector: "mc-auth-basic", inputs: { config: "config" }, outputs: { submit: "submit" }, providers: [MessageService], ngImport: i0, template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "ngmodule", type: IconFieldModule }, { kind: "component", type: i5.IconField, selector: "p-iconField", inputs: ["iconPosition"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "component", type: i6.InputIcon, selector: "p-inputIcon", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "directive", type: i8.PasswordDirective, selector: "[pPassword]", inputs: ["promptLabel", "weakLabel", "mediumLabel", "strongLabel", "feedback", "showPassword", "variant"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i9.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthBasicComponent, isStandalone: true, selector: "mc-auth-basic", inputs: { config: "config" }, outputs: { submit: "submit" }, providers: [MessageService], ngImport: i0, template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" (keyup.enter)=\"onClickSubmit()\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "ngmodule", type: IconFieldModule }, { kind: "component", type: i5.IconField, selector: "p-iconField", inputs: ["iconPosition"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "component", type: i6.InputIcon, selector: "p-inputIcon", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "directive", type: i8.PasswordDirective, selector: "[pPassword]", inputs: ["promptLabel", "weakLabel", "mediumLabel", "strongLabel", "feedback", "showPassword", "variant"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i9.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
187
191
  }
188
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthBasicComponent, decorators: [{
189
193
  type: Component,
190
- args: [{ selector: 'mc-auth-basic', standalone: true, imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule], providers: [MessageService], template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"] }]
194
+ args: [{ selector: 'mc-auth-basic', standalone: true, imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule], providers: [MessageService], template: "<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" (keyup.enter)=\"onClickSubmit()\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don\u2019t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n", styles: [".background-container{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:-1}.mc-auth-basic-container{display:flex;justify-content:center;min-height:100%;align-items:center}p-card{width:500px;max-width:500px}:host ::ng-deep .p-card-body{padding:40px}p-iconField input{width:100%}.more-actions{text-align:right;font-size:small}:host ::ng-deep .more-actions .p-button{padding-right:0}.more-actions-footer{text-align:center;font-size:x-small}@media (max-width: 768px){p-card{width:100%}}\n"] }]
191
195
  }], ctorParameters: () => [{ type: i1$1.MessageService }], propDecorators: { config: [{
192
196
  type: Input
193
197
  }], submit: [{
@@ -215,5 +219,5 @@ class MCAuthBasicConfig extends MCBaseAuthPageConfig {
215
219
  * Generated bundle index. Do not edit.
216
220
  */
217
221
 
218
- export { MCAuthBasicComponent, MCAuthBasicConfig, MCAuthConfig, MCAuthModel, MCAuthenticationService, MCBaseAuthPageConfig, MCUser, MC_AUTH_CONFIG, MC_AUTH_KEY_STORAGE_TOKEN, authInterceptor, mcAuthGuard };
222
+ export { MCAuthBasicComponent, MCAuthBasicConfig, MCAuthConfig, MCAuthModel, MCAuthenticationService, MCBaseAuthPageConfig, MCUser, MC_AUTH_CONFIG, MC_AUTH_KEY_STORAGE_TOKEN, authInterceptor, mcAuthGuard, provideMCAuth };
219
223
  //# sourceMappingURL=mckit-auth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mckit-auth.mjs","sources":["../../../../projects/mckit/auth/src/lib/entities/mc-user.ts","../../../../projects/mckit/auth/src/lib/entities/mc-auth-config.ts","../../../../projects/mckit/auth/src/lib/entities/mc-auth-model.ts","../../../../projects/mckit/auth/src/lib/entities/mc-base-auth-page-config.ts","../../../../projects/mckit/auth/src/lib/services/authentication.service.ts","../../../../projects/mckit/auth/src/lib/interceptors/auth.interceptor.ts","../../../../projects/mckit/auth/src/lib/guards/auth.guard.ts","../../../../projects/mckit/auth/src/lib/pages/auth-basic/auth-basic.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-basic/auth-basic.component.html","../../../../projects/mckit/auth/src/public-api.ts","../../../../projects/mckit/auth/src/mckit-auth.ts"],"sourcesContent":["export class MCUser {\n static STATUS_INACTIVE = 0;\n static STATUS_ACTIVE = 1;\n static STATUS_SUSPENDED = 2;\n\n public id?: number|string;\n public firstname: string = '';\n public lastname: string = '';\n public email: string = '';\n public photo?: string = '';\n public role: number = 0;\n public status: number = 0;\n public created_at: string = '';\n\n public token_type: string = 'bearer';\n public access_token: string = '';\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const MC_AUTH_CONFIG = new InjectionToken<MCAuthConfig>('mc.auth');\n\nexport class MCAuthConfig {\n baseUrl: string = '';\n}\n","export class MCAuthModel {\n email?: string|null;\n password?: string|null;\n}\n","export class MCBaseAuthPageConfig {\n title?: string;\n}\n","import { Injectable, signal } from '@angular/core';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { MCUser } from '../entities/mc-user';\nimport { map, Observable, tap } from 'rxjs';\n\nexport const MC_AUTH_KEY_STORAGE_TOKEN = 'mc.auth.storage';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCAuthenticationService {\n\n isLogged = signal<boolean>(false);\n\n constructor(\n private storage: StorageMap\n ) {\n this.initialize();\n }\n\n saveUser(user: MCUser): Observable<undefined> {\n return this.storage.set(MC_AUTH_KEY_STORAGE_TOKEN, JSON.stringify(user), { type: 'string' })\n .pipe(tap(res => this.isLogged.update(res => true)));\n }\n\n getUser(): Observable<MCUser|undefined> {\n return this.storage.get(MC_AUTH_KEY_STORAGE_TOKEN, { type: 'string' })\n .pipe(map(data => {\n if(data == undefined||data == ''){\n return;\n }\n return JSON.parse(data);\n }));\n }\n\n removeUser(): Observable<any> {\n return this.storage.delete(MC_AUTH_KEY_STORAGE_TOKEN);\n }\n\n initialize() {\n this.getUser()\n .subscribe(user => {\n if(user == undefined){\n return;\n }\n\n this.isLogged.update(res => true);\n });\n }\n}\n","import { HttpErrorResponse, HttpInterceptorFn, HttpResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { MC_AUTH_CONFIG } from '../entities/mc-auth-config';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { catchError, switchMap, tap } from 'rxjs';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n\n const config = inject(MC_AUTH_CONFIG);\n const authService = inject(MCAuthenticationService);\n\n if(req.url.indexOf(config.baseUrl) == -1){\n return next(req);\n }\n\n return authService.getUser()\n .pipe(\n\n switchMap(user => {\n\n if(user == undefined){\n return next(req);\n }\n\n return next(req.clone({\n headers: req.headers.set('Authorization', `Bearer ${user.access_token}`)\n }));\n\n }),\n tap(event => {\n\n if(event instanceof HttpResponse && event.status == 401){\n authService.removeUser().subscribe(() => {\n window.location.reload();\n });\n }\n\n }),\n catchError(err => {\n\n if(err instanceof HttpErrorResponse && err.status == 401){\n authService.removeUser().subscribe(() => {\n window.location.reload();\n });\n }\n\n throw err;\n }),\n\n\n );\n};\n","import { inject } from '@angular/core';\nimport { CanActivateFn, RedirectCommand, Router } from '@angular/router';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { map } from 'rxjs';\n\nexport const mcAuthGuard: CanActivateFn = (route, state) => {\n const router = inject(Router);\n const authService = inject(MCAuthenticationService);\n\n let paramRedirect = router.url;\n if (paramRedirect.includes('/login')) {\n paramRedirect = '';\n }\n\n return authService.getUser()\n .pipe(map(user => {\n if(user == undefined){\n const loginPath = router.parseUrl(\"/login\");\n loginPath.queryParams = {\n redirect: paramRedirect\n };\n return new RedirectCommand(loginPath, { skipLocationChange: true });\n }\n\n return true;\n }));\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CardModule } from 'primeng/card';\nimport { ButtonModule } from 'primeng/button';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { FormGroup, FormsModule, ReactiveFormsModule, FormControl, Validators } from '@angular/forms';\nimport { MessagesModule } from 'primeng/messages';\nimport { MessageService } from 'primeng/api';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { RouterModule } from '@angular/router';\n\n\n\n@Component({\n selector: 'mc-auth-basic',\n standalone: true,\n imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule],\n providers: [MessageService],\n templateUrl: './auth-basic.component.html',\n styleUrl: './auth-basic.component.scss'\n})\nexport class MCAuthBasicComponent {\n @Input() config!: MCAuthBasicConfig;\n @Output() submit = new EventEmitter<MCAuthModel>();\n\n group = new FormGroup({\n email: new FormControl<string>('', [Validators.required, Validators.email]),\n password: new FormControl<string>('', Validators.required)\n });\n\n isSending = false;\n\n constructor(\n private messageService: MessageService\n ) {}\n\n onClickSubmit() {\n this.clearMessages();\n\n let obj = new MCAuthModel();\n obj.email = this.group.get('email')?.value;\n obj.password = this.group.get('password')?.value;\n\n this.showLoading();\n this.submit.emit(obj);\n }\n\n showSuccessMessage(message: string) {\n this.messageService.add({ severity: 'success', summary: message});\n }\n\n showErrorMessage(message: string) {\n this.messageService.add({ severity: 'error', summary: message});\n }\n\n clearMessages() {\n this.messageService.clear();\n }\n\n showLoading() {\n this.isSending = true;\n }\n\n hideLoading() {\n this.isSending = false;\n }\n}\n\nexport class MCAuthBasicConfig extends MCBaseAuthPageConfig {\n subtitle?: string;\n\n emailPlaceholder?: string;\n passwordPlaceholder?: string;\n\n submitButton?: string;\n\n resetPassword?: string;\n resetPasswordLink?: string;\n\n register?: string;\n registerLink?: string;\n}\n","<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don’t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n","/*\n * Public API Surface of auth\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/mc-user';\nexport * from './lib/entities/mc-auth-config';\nexport * from './lib/entities/mc-auth-model';\nexport * from './lib/entities/mc-base-auth-page-config';\n\n/**\n * Services\n */\nexport * from './lib/services/authentication.service';\n\n/**\n * Interceptors\n */\nexport * from './lib/interceptors/auth.interceptor';\n\n/**\n * Guards\n */\nexport * from './lib/guards/auth.guard';\n\n/**\n * Pages\n */\nexport * from './lib/pages/auth-basic/auth-basic.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"mckit-auth.mjs","sources":["../../../../projects/mckit/auth/src/lib/entities/mc-user.ts","../../../../projects/mckit/auth/src/lib/entities/mc-auth-config.ts","../../../../projects/mckit/auth/src/lib/entities/mc-auth-model.ts","../../../../projects/mckit/auth/src/lib/entities/mc-base-auth-page-config.ts","../../../../projects/mckit/auth/src/lib/providers/auth.provider.ts","../../../../projects/mckit/auth/src/lib/services/authentication.service.ts","../../../../projects/mckit/auth/src/lib/interceptors/auth.interceptor.ts","../../../../projects/mckit/auth/src/lib/guards/auth.guard.ts","../../../../projects/mckit/auth/src/lib/pages/auth-basic/auth-basic.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-basic/auth-basic.component.html","../../../../projects/mckit/auth/src/public-api.ts","../../../../projects/mckit/auth/src/mckit-auth.ts"],"sourcesContent":["export class MCUser {\n static STATUS_INACTIVE = 0;\n static STATUS_ACTIVE = 1;\n static STATUS_SUSPENDED = 2;\n\n public id?: number|string;\n public firstname: string = '';\n public lastname: string = '';\n public email: string = '';\n public photo?: string = '';\n public role: number = 0;\n public status: number = 0;\n public created_at: string = '';\n\n public token_type: string = 'bearer';\n public access_token: string = '';\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const MC_AUTH_CONFIG = new InjectionToken<MCAuthConfig>('mc.auth');\n\nexport class MCAuthConfig {\n baseUrl: string = '';\n}\n","export class MCAuthModel {\n email?: string|null;\n password?: string|null;\n}\n","export class MCBaseAuthPageConfig {\n title?: string;\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\nimport { MC_AUTH_CONFIG, MCAuthConfig } from \"../entities/mc-auth-config\";\n\nexport function provideMCAuth(value: MCAuthConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: MC_AUTH_CONFIG, useValue: value }]);\n}\n","import { Injectable, signal } from '@angular/core';\nimport { StorageMap } from '@ngx-pwa/local-storage';\nimport { MCUser } from '../entities/mc-user';\nimport { map, Observable, tap } from 'rxjs';\n\nexport const MC_AUTH_KEY_STORAGE_TOKEN = 'mc.auth.storage';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCAuthenticationService {\n\n isLogged = signal<boolean>(false);\n\n constructor(\n private storage: StorageMap\n ) {\n this.initialize();\n }\n\n saveUser(user: MCUser): Observable<undefined> {\n return this.storage.set(MC_AUTH_KEY_STORAGE_TOKEN, JSON.stringify(user), { type: 'string' })\n .pipe(tap(res => this.isLogged.update(res => true)));\n }\n\n getUser(): Observable<MCUser|undefined> {\n return this.storage.get(MC_AUTH_KEY_STORAGE_TOKEN, { type: 'string' })\n .pipe(map(data => {\n if(data == undefined||data == ''){\n return;\n }\n return JSON.parse(data);\n }));\n }\n\n removeUser(): Observable<any> {\n return this.storage.delete(MC_AUTH_KEY_STORAGE_TOKEN);\n }\n\n initialize() {\n this.getUser()\n .subscribe(user => {\n if(user == undefined){\n return;\n }\n\n this.isLogged.update(res => true);\n });\n }\n}\n","import { HttpErrorResponse, HttpInterceptorFn, HttpResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { MC_AUTH_CONFIG } from '../entities/mc-auth-config';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { catchError, switchMap, tap } from 'rxjs';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n\n const config = inject(MC_AUTH_CONFIG);\n const authService = inject(MCAuthenticationService);\n\n if(req.url.indexOf(config.baseUrl) == -1){\n return next(req);\n }\n\n return authService.getUser()\n .pipe(\n\n switchMap(user => {\n\n if(user == undefined){\n return next(req);\n }\n\n return next(req.clone({\n headers: req.headers.set('Authorization', `Bearer ${user.access_token}`)\n }));\n\n }),\n tap(event => {\n\n if(event instanceof HttpResponse && event.status == 401){\n authService.removeUser().subscribe(() => {\n window.location.reload();\n });\n }\n\n }),\n catchError(err => {\n\n if(err instanceof HttpErrorResponse && err.status == 401){\n authService.removeUser().subscribe(() => {\n window.location.reload();\n });\n }\n\n throw err;\n }),\n\n\n );\n};\n","import { inject } from '@angular/core';\nimport { CanActivateFn, RedirectCommand, Router } from '@angular/router';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { map } from 'rxjs';\n\nexport const mcAuthGuard: CanActivateFn = (route, state) => {\n const router = inject(Router);\n const authService = inject(MCAuthenticationService);\n\n let paramRedirect = router.url;\n if (paramRedirect.includes('/login')) {\n paramRedirect = '';\n }\n\n return authService.getUser()\n .pipe(map(user => {\n if(user == undefined){\n const loginPath = router.parseUrl(\"/login\");\n loginPath.queryParams = {\n redirect: paramRedirect\n };\n return new RedirectCommand(loginPath, { skipLocationChange: true });\n }\n\n return true;\n }));\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CardModule } from 'primeng/card';\nimport { ButtonModule } from 'primeng/button';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { FormGroup, FormsModule, ReactiveFormsModule, FormControl, Validators } from '@angular/forms';\nimport { MessagesModule } from 'primeng/messages';\nimport { MessageService } from 'primeng/api';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { RouterModule } from '@angular/router';\n\n\n\n@Component({\n selector: 'mc-auth-basic',\n standalone: true,\n imports: [FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessagesModule, RouterModule],\n providers: [MessageService],\n templateUrl: './auth-basic.component.html',\n styleUrl: './auth-basic.component.scss'\n})\nexport class MCAuthBasicComponent {\n @Input() config!: MCAuthBasicConfig;\n @Output() submit = new EventEmitter<MCAuthModel>();\n\n group = new FormGroup({\n email: new FormControl<string>('', [Validators.required, Validators.email]),\n password: new FormControl<string>('', Validators.required)\n });\n\n isSending = false;\n\n constructor(\n private messageService: MessageService\n ) {}\n\n onClickSubmit() {\n this.clearMessages();\n\n let obj = new MCAuthModel();\n obj.email = this.group.get('email')?.value;\n obj.password = this.group.get('password')?.value;\n\n this.showLoading();\n this.submit.emit(obj);\n }\n\n showSuccessMessage(message: string) {\n this.messageService.add({ severity: 'success', summary: message});\n }\n\n showErrorMessage(message: string) {\n this.messageService.add({ severity: 'error', summary: message});\n }\n\n clearMessages() {\n this.messageService.clear();\n }\n\n showLoading() {\n this.isSending = true;\n }\n\n hideLoading() {\n this.isSending = false;\n }\n}\n\nexport class MCAuthBasicConfig extends MCBaseAuthPageConfig {\n subtitle?: string;\n\n emailPlaceholder?: string;\n passwordPlaceholder?: string;\n\n submitButton?: string;\n\n resetPassword?: string;\n resetPasswordLink?: string;\n\n register?: string;\n registerLink?: string;\n}\n","<div class=\"background-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 800\" preserveAspectRatio=\"none\" class=\"fixed left-0 top-0 min-h-screen min-w-screen\"><rect width=\"1600\" height=\"800\" fill=\"var(--primary-500)\"></rect><path d=\"M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z\" fill=\"var(--primary-400)\"></path><path d=\"M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z\" fill=\"var(--primary-300)\"></path><path d=\"M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z\" fill=\"var(--primary-200)\"></path><path d=\"M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z\" fill=\"var(--primary-100)\"></path></svg>\n</div>\n<div class=\"mc-auth-basic-container\">\n <p-card [header]=\"config.title ?? 'Log in'\" [subheader]=\"config.subtitle ?? 'Please enter your details'\">\n\n <form class=\"\" [formGroup]=\"group\">\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config.emailPlaceholder ?? 'Email'\" formControlName=\"email\" />\n </p-iconField>\n\n <br/><br/>\n\n <p-iconField iconPosition=\"left\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <input type=\"password\" pPassword [placeholder]=\"config.passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" toggleMask=\"true\" formControlName=\"password\" (keyup.enter)=\"onClickSubmit()\" />\n </p-iconField>\n\n @if (config.resetPasswordLink != undefined) {\n <div class=\"more-actions\">\n <p-button [routerLink]=\"config.resetPasswordLink\" [label]=\"config.resetPassword ?? 'Reset Password'\" [link]=\"true\" />\n </div>\n }\n\n <p-messages />\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"flex gap-3 mt-1\">\n <p-button [label]=\"config.submitButton ?? 'Log in'\" [loading]=\"isSending\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending\" />\n </div>\n\n @if (config.registerLink != undefined) {\n <div class=\"more-actions-footer\">\n <p-button [routerLink]=\"config.registerLink\" [label]=\"config.register ?? 'Don’t have an account? Register'\" [link]=\"true\" />\n </div>\n }\n </ng-template>\n </p-card>\n</div>\n","/*\n * Public API Surface of auth\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/mc-user';\nexport * from './lib/entities/mc-auth-config';\nexport * from './lib/entities/mc-auth-model';\nexport * from './lib/entities/mc-base-auth-page-config';\n\n/**\n * Providers\n */\nexport * from './lib/providers/auth.provider';\n\n/**\n * Services\n */\nexport * from './lib/services/authentication.service';\n\n/**\n * Interceptors\n */\nexport * from './lib/interceptors/auth.interceptor';\n\n/**\n * Guards\n */\nexport * from './lib/guards/auth.guard';\n\n/**\n * Pages\n */\nexport * from './lib/pages/auth-basic/auth-basic.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { EnvironmentProviders } from "@angular/core";
2
+ import { MCAuthConfig } from "../entities/mc-auth-config";
3
+ export declare function provideMCAuth(value: MCAuthConfig): EnvironmentProviders;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mckit/auth",
3
- "version": "18.0.13",
3
+ "version": "18.0.15",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.1.0",
6
6
  "@angular/core": "^18.1.0",
package/public-api.d.ts CHANGED
@@ -5,6 +5,10 @@ export * from './lib/entities/mc-user';
5
5
  export * from './lib/entities/mc-auth-config';
6
6
  export * from './lib/entities/mc-auth-model';
7
7
  export * from './lib/entities/mc-base-auth-page-config';
8
+ /**
9
+ * Providers
10
+ */
11
+ export * from './lib/providers/auth.provider';
8
12
  /**
9
13
  * Services
10
14
  */