@mckit/auth 19.0.0 → 19.0.1

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.
@@ -280,11 +280,11 @@ class MCAuthSakaiComponent extends MCBaseAuthPage {
280
280
  this.action.emit(type);
281
281
  }
282
282
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCAuthSakaiComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i9.Password, selector: "p-password", inputs: ["ariaLabel", "fluid", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "size", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i10.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }] });
283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5 w-full\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i9.Password, selector: "p-password", inputs: ["ariaLabel", "fluid", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "size", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i10.Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }] });
284
284
  }
285
285
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCAuthSakaiComponent, decorators: [{
286
286
  type: Component,
287
- args: [{ selector: 'mc-auth-sakai', imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule], template: "<div class=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n" }]
287
+ args: [{ selector: 'mc-auth-sakai', imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule], template: "<div class=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5 w-full\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n" }]
288
288
  }] });
289
289
  class MCAuthSakaiConfig extends MCBaseAuthPageConfig {
290
290
  logo;
@@ -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/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/resolvers/user.resolver.ts","../../../../projects/mckit/auth/src/lib/pipes/initial-name.pipe.ts","../../../../projects/mckit/auth/src/lib/pages/base-auth-page.component.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/lib/pages/auth-half/auth-half.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-half/auth-half.component.html","../../../../projects/mckit/auth/src/lib/pages/auth-sakai/auth-sakai.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-sakai/auth-sakai.component.html","../../../../projects/mckit/auth/src/lib/pages/auth-sakai-only-social/auth-sakai-only-social.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-sakai-only-social/auth-sakai-only-social.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 public extra: any;\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 MC_AUTH_SKIP_INTERCEPTOR = 'skip-interceptor';\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 if (req.headers.has(MC_AUTH_SKIP_INTERCEPTOR)) {\n const clonedReq = req.clone({ headers: req.headers.delete(MC_AUTH_SKIP_INTERCEPTOR) });\n return next(clonedReq);\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 { ResolveFn } from '@angular/router';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { inject } from '@angular/core';\nimport { MCUser } from '../entities/mc-user';\n\nexport const mcUserResolver: ResolveFn<MCUser|undefined> = (route, state) => {\n const authService = inject(MCAuthenticationService);\n\n return authService.getUser();\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MCUser } from '../entities/mc-user';\n\n@Pipe({\n name: 'initialName',\n standalone: true\n})\nexport class InitialNamePipe implements PipeTransform {\n\n transform(user: MCUser): string {\n // Get the first letter of the first name\n const firstLetter = user.firstname.charAt(0);\n // Verify if the last name is not empty\n if (user.lastname == undefined || user.lastname == '') {\n // Return the first letter\n return firstLetter;\n }\n // Get the first letter of the last name\n const lastLetter = user.lastname.charAt(0);\n // Return the initials\n return firstLetter + lastLetter;\n }\n\n}\n","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MCAuthModel } from \"../entities/mc-auth-model\";\nimport { inject, signal } from \"@angular/core\";\nimport { MCMessage } from \"@mckit/core\";\n\nexport abstract class MCBaseAuthPage {\n group = new FormGroup({\n email: new FormControl<string>('', [Validators.required, Validators.email]),\n password: new FormControl<string>('', Validators.required)\n });\n\n isSending = signal(false);\n\n messages = signal<Array<MCMessage>>([]);\n\n abstract onSubmit(obj: MCAuthModel): void;\n\n onClickSubmit() {\n if(this.group.invalid){\n return;\n }\n\n if(this.isSending()){\n return;\n }\n\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.onSubmit(obj);\n }\n\n showSuccessMessage(message: string) {\n this.messages.set([{ severity: 'success', text: message}]);\n }\n\n showErrorMessage(message: string) {\n this.messages.set([{ severity: 'error', text: message}]);\n }\n\n clearMessages() {\n this.messages.set([]);\n }\n\n showLoading() {\n this.isSending.set(true);\n }\n\n hideLoading() {\n this.isSending.set(false);\n }\n}\n","import { Component, EventEmitter, input, Input, output, 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 { MessageModule } from 'primeng/message';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { RouterModule } from '@angular/router';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { CommonModule } from '@angular/common';\n\n\n\n@Component({\n selector: 'mc-auth-basic',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessageModule, RouterModule],\n templateUrl: './auth-basic.component.html',\n styleUrl: './auth-basic.component.scss'\n})\nexport class MCAuthBasicComponent extends MCBaseAuthPage {\n config = input.required<MCAuthBasicConfig>();\n submit = output<MCAuthModel>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\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\" (ngSubmit)=\"onClickSubmit()\">\n <p-iconField iconPosition=\"left\" class=\"mb-3 w-full\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" (keyup.enter)=\"onClickSubmit()\" class=\"w-full\" />\n </p-iconField>\n\n <p-iconField iconPosition=\"left\" class=\"w-full\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <p-password [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" [toggleMask]=\"true\" formControlName=\"password\" name=\"password\" (keyup.enter)=\"onClickSubmit()\" inputStyleClass=\"w-full\" styleClass=\"w-full\" />\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 @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"mt-1 w-full\">\n <p-button [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" styleClass=\"w-full\" />\n </div>\n\n @if (config().registerLink != undefined) {\n <div class=\"more-actions-footer mt-3\">\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","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mc-auth-half',\n imports: [CommonModule],\n templateUrl: './auth-half.component.html',\n styleUrl: './auth-half.component.scss'\n})\nexport class MCAuthHalfComponent {\n @Input() config!: MCAuthHalfConfig;\n @Output() submit = new EventEmitter<MCAuthModel>();\n\n\n}\n\nexport class MCAuthHalfConfig extends MCBaseAuthPageConfig {\n image?: string;\n}\n","<div class=\"mc-auth-half-container\">\n <div class=\"column-left\">\n <div class=\"container-form\">\n <h1>{{ config.title }}</h1>\n </div>\n </div>\n\n <div class=\"column-right\">\n @if (config.image != undefined) {\n <img [src]=\"config.image\" />\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { CardModule } from 'primeng/card';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MessageModule } from 'primeng/message';\n\n@Component({\n selector: 'mc-auth-sakai',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule],\n templateUrl: './auth-sakai.component.html',\n styleUrl: './auth-sakai.component.scss'\n})\nexport class MCAuthSakaiComponent extends MCBaseAuthPage {\n config = input.required<MCAuthSakaiConfig>();\n submit = output<MCAuthModel>();\n action = output<string>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\n }\n\n onAction(type: string) {\n this.action.emit(type);\n }\n}\n\nexport class MCAuthSakaiConfig extends MCBaseAuthPageConfig {\n logo?: string;\n\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=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { CardModule } from 'primeng/card';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MessageModule } from 'primeng/message';\nimport { MCAuthSakaiConfig } from '../auth-sakai/auth-sakai.component';\n\n@Component({\n selector: 'mc-auth-sakai-social',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule],\n\n templateUrl: './auth-sakai-only-social.component.html',\n styleUrl: './auth-sakai-only-social.component.scss'\n})\nexport class MCAuthSakaiSocialComponent extends MCBaseAuthPage {\n config = input.required<MCAuthSakaiConfig>();\n submit = output<MCAuthModel>();\n action = output<string>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\n }\n\n onAction(type: string) {\n this.action.emit(type);\n }\n}\n","<div\n class=\"surface-ground flex align-items-center items-center justify-content-center justify-center min-h-screen min-w-screen overflow-hidden\">\n <div class=\"flex flex-col flex-column align-items-center items-center justify-content-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\" alt=\"logo\">\n }\n\n <ng-content select=\"[pageheader]\"></ng-content>\n <div class=\"container-degradee\"\n style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"container-content w-full surface-card py-8 px-5 sm:px-8\" style=\"border-radius:53px\">\n <div class=\"text-center mb-5\">\n <div class=\"text-900 text-sm font-medium mb-3 uppercase tracking-widest\">{{ config().subtitle }}</div>\n <h1 class=\"text-600 font-black text-2xl\">{{ config().title }}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <ng-content></ng-content>\n </div>\n </form>\n </div>\n </div>\n </div>\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 * Resolvers\n */\nexport * from './lib/resolvers/user.resolver';\n\n/**\n * Pipes\n */\nexport * from './lib/pipes/initial-name.pipe';\n\n/**\n * Pages\n */\nexport * from './lib/pages/base-auth-page.component';\nexport * from './lib/pages/auth-basic/auth-basic.component';\nexport * from './lib/pages/auth-half/auth-half.component';\nexport * from './lib/pages/auth-sakai/auth-sakai.component';\nexport * from './lib/pages/auth-sakai-only-social/auth-sakai-only-social.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i6","i3"],"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/resolvers/user.resolver.ts","../../../../projects/mckit/auth/src/lib/pipes/initial-name.pipe.ts","../../../../projects/mckit/auth/src/lib/pages/base-auth-page.component.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/lib/pages/auth-half/auth-half.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-half/auth-half.component.html","../../../../projects/mckit/auth/src/lib/pages/auth-sakai/auth-sakai.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-sakai/auth-sakai.component.html","../../../../projects/mckit/auth/src/lib/pages/auth-sakai-only-social/auth-sakai-only-social.component.ts","../../../../projects/mckit/auth/src/lib/pages/auth-sakai-only-social/auth-sakai-only-social.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 public extra: any;\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 MC_AUTH_SKIP_INTERCEPTOR = 'skip-interceptor';\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 if (req.headers.has(MC_AUTH_SKIP_INTERCEPTOR)) {\n const clonedReq = req.clone({ headers: req.headers.delete(MC_AUTH_SKIP_INTERCEPTOR) });\n return next(clonedReq);\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 { ResolveFn } from '@angular/router';\nimport { MCAuthenticationService } from '../services/authentication.service';\nimport { inject } from '@angular/core';\nimport { MCUser } from '../entities/mc-user';\n\nexport const mcUserResolver: ResolveFn<MCUser|undefined> = (route, state) => {\n const authService = inject(MCAuthenticationService);\n\n return authService.getUser();\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MCUser } from '../entities/mc-user';\n\n@Pipe({\n name: 'initialName',\n standalone: true\n})\nexport class InitialNamePipe implements PipeTransform {\n\n transform(user: MCUser): string {\n // Get the first letter of the first name\n const firstLetter = user.firstname.charAt(0);\n // Verify if the last name is not empty\n if (user.lastname == undefined || user.lastname == '') {\n // Return the first letter\n return firstLetter;\n }\n // Get the first letter of the last name\n const lastLetter = user.lastname.charAt(0);\n // Return the initials\n return firstLetter + lastLetter;\n }\n\n}\n","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MCAuthModel } from \"../entities/mc-auth-model\";\nimport { inject, signal } from \"@angular/core\";\nimport { MCMessage } from \"@mckit/core\";\n\nexport abstract class MCBaseAuthPage {\n group = new FormGroup({\n email: new FormControl<string>('', [Validators.required, Validators.email]),\n password: new FormControl<string>('', Validators.required)\n });\n\n isSending = signal(false);\n\n messages = signal<Array<MCMessage>>([]);\n\n abstract onSubmit(obj: MCAuthModel): void;\n\n onClickSubmit() {\n if(this.group.invalid){\n return;\n }\n\n if(this.isSending()){\n return;\n }\n\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.onSubmit(obj);\n }\n\n showSuccessMessage(message: string) {\n this.messages.set([{ severity: 'success', text: message}]);\n }\n\n showErrorMessage(message: string) {\n this.messages.set([{ severity: 'error', text: message}]);\n }\n\n clearMessages() {\n this.messages.set([]);\n }\n\n showLoading() {\n this.isSending.set(true);\n }\n\n hideLoading() {\n this.isSending.set(false);\n }\n}\n","import { Component, EventEmitter, input, Input, output, 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 { MessageModule } from 'primeng/message';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { RouterModule } from '@angular/router';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { CommonModule } from '@angular/common';\n\n\n\n@Component({\n selector: 'mc-auth-basic',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, MessageModule, RouterModule],\n templateUrl: './auth-basic.component.html',\n styleUrl: './auth-basic.component.scss'\n})\nexport class MCAuthBasicComponent extends MCBaseAuthPage {\n config = input.required<MCAuthBasicConfig>();\n submit = output<MCAuthModel>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\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\" (ngSubmit)=\"onClickSubmit()\">\n <p-iconField iconPosition=\"left\" class=\"mb-3 w-full\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" (keyup.enter)=\"onClickSubmit()\" class=\"w-full\" />\n </p-iconField>\n\n <p-iconField iconPosition=\"left\" class=\"w-full\">\n <p-inputIcon styleClass=\"pi pi-lock\" />\n <p-password [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" [feedback]=\"false\" [toggleMask]=\"true\" formControlName=\"password\" name=\"password\" (keyup.enter)=\"onClickSubmit()\" inputStyleClass=\"w-full\" styleClass=\"w-full\" />\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 @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n </form>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"mt-1 w-full\">\n <p-button [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" styleClass=\"w-full\" />\n </div>\n\n @if (config().registerLink != undefined) {\n <div class=\"more-actions-footer mt-3\">\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","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mc-auth-half',\n imports: [CommonModule],\n templateUrl: './auth-half.component.html',\n styleUrl: './auth-half.component.scss'\n})\nexport class MCAuthHalfComponent {\n @Input() config!: MCAuthHalfConfig;\n @Output() submit = new EventEmitter<MCAuthModel>();\n\n\n}\n\nexport class MCAuthHalfConfig extends MCBaseAuthPageConfig {\n image?: string;\n}\n","<div class=\"mc-auth-half-container\">\n <div class=\"column-left\">\n <div class=\"container-form\">\n <h1>{{ config.title }}</h1>\n </div>\n </div>\n\n <div class=\"column-right\">\n @if (config.image != undefined) {\n <img [src]=\"config.image\" />\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { CardModule } from 'primeng/card';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { MCBaseAuthPageConfig } from '../../entities/mc-base-auth-page-config';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MessageModule } from 'primeng/message';\n\n@Component({\n selector: 'mc-auth-sakai',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule],\n templateUrl: './auth-sakai.component.html',\n styleUrl: './auth-sakai.component.scss'\n})\nexport class MCAuthSakaiComponent extends MCBaseAuthPage {\n config = input.required<MCAuthSakaiConfig>();\n submit = output<MCAuthModel>();\n action = output<string>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\n }\n\n onAction(type: string) {\n this.action.emit(type);\n }\n}\n\nexport class MCAuthSakaiConfig extends MCBaseAuthPageConfig {\n logo?: string;\n\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=\"bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden\">\n <div class=\"flex flex-col items-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\">\n }\n <div class=\"container-degradee\" style=\"border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%)\">\n <div class=\"container-content\" class=\"w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20\" style=\"border-radius:53px\">\n <div class=\"text-center mb-8\">\n <div class=\"text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4\">{{config().subtitle}}</div>\n <h1 class=\"text-muted-color font-medium\">{{config().title}}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n <label for=\"email\" class=\"block text-surface-900 dark:text-surface-0 text-xl font-medium mb-2\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full md:w-[30rem] mb-8\" />\n\n <div class=\"container-password-label flex justify-between justify-content-between align-items-end items-end\">\n <label for=\"password1\" class=\"block text-surface-900 dark:text-surface-0 font-medium text-xl mb-2\">Password</label>\n @if (config().resetPassword != undefined) {\n <div class=\"more-actions\">\n <p-button [label]=\"config().resetPassword ?? 'Reset Password'\" [link]=\"true\" (onClick)=\"onAction('forgot-password')\" styleClass=\"button-forgot-password\" />\n </div>\n }\n </div>\n\n <p-password id=\"password1\" formControlName=\"password\" name=\"password\" placeholder=\"Password\" [toggleMask]=\"true\" styleClass=\"mb-5 w-full\" inputStyleClass=\"w-full p-3 md:w-30rem\" [placeholder]=\"config().passwordPlaceholder ?? 'Password'\" (keyup.enter)=\"onClickSubmit()\" [feedback]=\"false\"></p-password>\n\n <!--<div class=\"flex align-items-center items-center justify-between mb-5 gap-5\">\n <div class=\"flex align-items-center items-center\">\n <p-checkbox id=\"rememberme1\" [binary]=\"true\" styleClass=\"mr-2\"></p-checkbox>\n <label for=\"rememberme1\">Remember me</label>\n </div>\n <a class=\"font-medium no-underline ml-2 text-right cursor-pointer\" style=\"color: var(--primary-color)\">Forgot password?</a>\n </div>-->\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Log in'\" [loading]=\"isSending()\" size=\"large\" [style]=\"{ width: '100%' }\" (click)=\"onClickSubmit()\" [disabled]=\"group.invalid || isSending()\" />\n\n </div>\n </form>\n </div>\n </div>\n\n <ng-content></ng-content>\n\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { CardModule } from 'primeng/card';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { PasswordModule } from 'primeng/password';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\nimport { MCAuthModel } from '../../entities/mc-auth-model';\nimport { MessageModule } from 'primeng/message';\nimport { MCAuthSakaiConfig } from '../auth-sakai/auth-sakai.component';\n\n@Component({\n selector: 'mc-auth-sakai-social',\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessageModule],\n\n templateUrl: './auth-sakai-only-social.component.html',\n styleUrl: './auth-sakai-only-social.component.scss'\n})\nexport class MCAuthSakaiSocialComponent extends MCBaseAuthPage {\n config = input.required<MCAuthSakaiConfig>();\n submit = output<MCAuthModel>();\n action = output<string>();\n\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\n }\n\n onAction(type: string) {\n this.action.emit(type);\n }\n}\n","<div\n class=\"surface-ground flex align-items-center items-center justify-content-center justify-center min-h-screen min-w-screen overflow-hidden\">\n <div class=\"flex flex-col flex-column align-items-center items-center justify-content-center justify-center\">\n @if (config().logo != undefined) {\n <img [src]=\"config().logo\" class=\"mb-5 w-6rem flex-shrink-0\" alt=\"logo\">\n }\n\n <ng-content select=\"[pageheader]\"></ng-content>\n <div class=\"container-degradee\"\n style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"container-content w-full surface-card py-8 px-5 sm:px-8\" style=\"border-radius:53px\">\n <div class=\"text-center mb-5\">\n <div class=\"text-900 text-sm font-medium mb-3 uppercase tracking-widest\">{{ config().subtitle }}</div>\n <h1 class=\"text-600 font-black text-2xl\">{{ config().title }}</h1>\n </div>\n\n <form class=\"\" [formGroup]=\"group\" (ngSubmit)=\"onClickSubmit()\">\n <div>\n\n @for (message of messages(); track message; let first = $first) {\n <p-message [severity]=\"message.severity\" [text]=\"message.text\" [ngClass]=\"{ 'mt-4': !first }\" />\n }\n\n <ng-content></ng-content>\n </div>\n </form>\n </div>\n </div>\n </div>\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 * Resolvers\n */\nexport * from './lib/resolvers/user.resolver';\n\n/**\n * Pipes\n */\nexport * from './lib/pipes/initial-name.pipe';\n\n/**\n * Pages\n */\nexport * from './lib/pages/base-auth-page.component';\nexport * from './lib/pages/auth-basic/auth-basic.component';\nexport * from './lib/pages/auth-half/auth-half.component';\nexport * from './lib/pages/auth-sakai/auth-sakai.component';\nexport * from './lib/pages/auth-sakai-only-social/auth-sakai-only-social.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i6","i3"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mckit/auth",
3
- "version": "19.0.0",
3
+ "version": "19.0.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0",
6
6
  "@angular/core": "^19.0.0",