@mckit/auth 18.0.20 → 18.0.22
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.
|
@@ -25,11 +25,11 @@ export class MCAuthSakaiComponent extends MCBaseAuthPage {
|
|
|
25
25
|
this.submit.emit(obj);
|
|
26
26
|
}
|
|
27
27
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthSakaiComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<div class=\"surface-ground flex items-center justify-center min-h-screen min-w-screen 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 style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\"
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<div 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\">\n }\n <div style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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()\"></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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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: [".surface-ground{background-color:#f9fafb}.surface-card{background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.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: "ngmodule", type: CardModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i4.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i5.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }] });
|
|
29
29
|
}
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthSakaiComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'mc-auth-sakai', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule], providers: [MessageService], template: "<div class=\"surface-ground flex items-center justify-center min-h-screen min-w-screen 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 style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\"
|
|
32
|
+
args: [{ selector: 'mc-auth-sakai', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule], providers: [MessageService], template: "<div 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\">\n }\n <div style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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()\"></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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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: [".surface-ground{background-color:#f9fafb}.surface-card{background-color:#fff}\n"] }]
|
|
33
33
|
}] });
|
|
34
34
|
export class MCAuthSakaiConfig extends MCBaseAuthPageConfig {
|
|
35
35
|
logo;
|
|
@@ -42,4 +42,4 @@ export class MCAuthSakaiConfig extends MCBaseAuthPageConfig {
|
|
|
42
42
|
register;
|
|
43
43
|
registerLink;
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zYWthaS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tY2tpdC9hdXRoL3NyYy9saWIvcGFnZXMvYXV0aC1zYWthaS9hdXRoLXNha2FpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21ja2l0L2F1dGgvc3JjL2xpYi9wYWdlcy9hdXRoLXNha2FpL2F1dGgtc2FrYWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQTBCLFdBQVcsRUFBRSxtQkFBbUIsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7O0FBVWxELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxjQUFjO0lBQ3RELE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO0lBQzdDLE1BQU0sR0FBRyxNQUFNLEVBQWUsQ0FBQztJQUUvQixRQUFRLENBQUMsR0FBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzt1R0FOVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixpT0FKcEIsQ0FBQyxjQUFjLENBQUMsaURDcEI3QiwrbEZBeUNBLHdJRHRCWSxZQUFZLDhCQUFFLFdBQVcsMnBCQUFFLG1CQUFtQiwrVUFBRSxZQUFZLDZYQUFFLFVBQVUsOEJBQUUsZUFBZSw4QkFBRSxlQUFlLDhCQUFFLGVBQWUsd0hBQUUsY0FBYyw2Z0JBQUUsY0FBYyw4QkFBRSxjQUFjOzsyRkFLMUssb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsYUFDM0ssQ0FBQyxjQUFjLENBQUM7O0FBYTdCLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBb0I7SUFDekQsSUFBSSxDQUFVO0lBRWQsUUFBUSxDQUFVO0lBRWxCLGdCQUFnQixDQUFVO0lBQzFCLG1CQUFtQixDQUFVO0lBRTdCLFlBQVksQ0FBVTtJQUV0QixhQUFhLENBQVU7SUFDdkIsaUJBQWlCLENBQVU7SUFFM0IsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBVTtDQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FyZCc7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkZpZWxkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pY29uZmllbGQnO1xuaW1wb3J0IHsgSW5wdXRJY29uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGljb24nO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Bhc3N3b3JkJztcbmltcG9ydCB7IE1DQmFzZUF1dGhQYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvbWMtYmFzZS1hdXRoLXBhZ2UtY29uZmlnJztcbmltcG9ydCB7IE1DQmFzZUF1dGhQYWdlIH0gZnJvbSAnLi4vYmFzZS1hdXRoLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1DQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvbWMtYXV0aC1tb2RlbCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21jLWF1dGgtc2FrYWknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQnV0dG9uTW9kdWxlLCBDYXJkTW9kdWxlLCBJY29uRmllbGRNb2R1bGUsIElucHV0SWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBQYXNzd29yZE1vZHVsZSwgQ2hlY2tib3hNb2R1bGUsIE1lc3NhZ2VzTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1zYWthaS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRoLXNha2FpLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBNQ0F1dGhTYWthaUNvbXBvbmVudCBleHRlbmRzIE1DQmFzZUF1dGhQYWdlIHtcbiAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8TUNBdXRoU2FrYWlDb25maWc+KCk7XG4gIHN1Ym1pdCA9IG91dHB1dDxNQ0F1dGhNb2RlbD4oKTtcblxuICBvblN1Ym1pdChvYmo6IE1DQXV0aE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChvYmopO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNQ0F1dGhTYWthaUNvbmZpZyBleHRlbmRzIE1DQmFzZUF1dGhQYWdlQ29uZmlnIHtcbiAgbG9nbz86IHN0cmluZztcblxuICBzdWJ0aXRsZT86IHN0cmluZztcblxuICBlbWFpbFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBwYXNzd29yZFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIHN1Ym1pdEJ1dHRvbj86IHN0cmluZztcblxuICByZXNldFBhc3N3b3JkPzogc3RyaW5nO1xuICByZXNldFBhc3N3b3JkTGluaz86IHN0cmluZztcblxuICByZWdpc3Rlcj86IHN0cmluZztcbiAgcmVnaXN0ZXJMaW5rPzogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cInN1cmZhY2UtZ3JvdW5kIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGp1c3RpZnktY2VudGVyIG1pbi1oLXNjcmVlbiBtaW4tdy1zY3JlZW4gb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgQGlmIChjb25maWcoKS5sb2dvICE9IHVuZGVmaW5lZCkge1xuICAgICAgICA8aW1nIFtzcmNdPVwiY29uZmlnKCkubG9nb1wiIGNsYXNzPVwibWItNSB3LTZyZW0gZmxleC1zaHJpbmstMFwiPlxuICAgICAgfVxuICAgICAgPGRpdiBzdHlsZT1cImJvcmRlci1yYWRpdXM6NTZweDsgcGFkZGluZzowLjNyZW07IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXByaW1hcnktY29sb3IpIDEwJSwgcmdiYSgzMywgMTUwLCAyNDMsIDApIDMwJSk7XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBzdXJmYWNlLWNhcmQgcHktOCBweC01IHNtOnB4LThcIiBzdHlsZT1cImJvcmRlci1yYWRpdXM6NTNweFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtOTAwIHRleHQtc20gZm9udC1tZWRpdW0gbWItMyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0XCI+e3tjb25maWcoKS5zdWJ0aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LTYwMCBmb250LWJsYWNrIHRleHQtMnhsXCI+e3tjb25maWcoKS50aXRsZX19PC9oMT5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9XCJcIiBbZm9ybUdyb3VwXT1cImdyb3VwXCIgKG5nU3VibWl0KT1cIm9uQ2xpY2tTdWJtaXQoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1haWxcIiBjbGFzcz1cImJsb2NrIG1iLTAgdGV4dC14c1wiPkVtYWlsPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgW3BsYWNlaG9sZGVyXT1cImNvbmZpZygpLmVtYWlsUGxhY2Vob2xkZXIgPz8gJ0VtYWlsJ1wiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgbmFtZT1cImVtYWlsXCIgY2xhc3M9XCJ3LWZ1bGxcIiAvPlxuXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFzc3dvcmQxXCIgY2xhc3M9XCJibG9jayBtYi0wIG10LTIgdGV4dC14c1wiPlBhc3N3b3JkPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLXBhc3N3b3JkIGlkPVwicGFzc3dvcmQxXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBuYW1lPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCIgW3RvZ2dsZU1hc2tdPVwidHJ1ZVwiIHN0eWxlQ2xhc3M9XCJtYi01XCIgaW5wdXRTdHlsZUNsYXNzPVwidy1mdWxsIHAtMyBtZDp3LTMwcmVtXCIgW3BsYWNlaG9sZGVyXT1cImNvbmZpZygpLnBhc3N3b3JkUGxhY2Vob2xkZXIgPz8gJ1Bhc3N3b3JkJ1wiIChrZXl1cC5lbnRlcik9XCJvbkNsaWNrU3VibWl0KClcIj48L3AtcGFzc3dvcmQ+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi01IGdhcC01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1jaGVja2JveCBpZD1cInJlbWVtYmVybWUxXCIgW2JpbmFyeV09XCJ0cnVlXCIgc3R5bGVDbGFzcz1cIm1yLTJcIj48L3AtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZW1lbWJlcm1lMVwiPlJlbWVtYmVyIG1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZvbnQtbWVkaXVtIG5vLXVuZGVybGluZSBtbC0yIHRleHQtcmlnaHQgY3Vyc29yLXBvaW50ZXJcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKVwiPkZvcmdvdCBwYXNzd29yZD88L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cblxuICAgICAgICAgICAgICAgICAgPHAtbWVzc2FnZXMgLz5cblxuICAgICAgICAgICAgICAgICAgPHAtYnV0dG9uIHBSaXBwbGUgW2xhYmVsXT1cImNvbmZpZygpLnN1Ym1pdEJ1dHRvbiA/PyAnU2lnbiBpbidcIiBbbG9hZGluZ109XCJpc1NlbmRpbmdcIiBzaXplPVwibGFyZ2VcIiBbc3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIiAoY2xpY2spPVwib25DbGlja1N1Ym1pdCgpXCIgW2Rpc2FibGVkXT1cImdyb3VwLmludmFsaWQgfHwgaXNTZW5kaW5nXCIgLz5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -10,11 +10,15 @@ export class MCBaseAuthPage {
|
|
|
10
10
|
});
|
|
11
11
|
isSending = false;
|
|
12
12
|
onClickSubmit() {
|
|
13
|
+
if (this.isSending) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
13
16
|
this.clearMessages();
|
|
14
17
|
let obj = new MCAuthModel();
|
|
15
18
|
obj.email = this.group.get('email')?.value;
|
|
16
19
|
obj.password = this.group.get('password')?.value;
|
|
17
20
|
this.showLoading();
|
|
21
|
+
this.onSubmit(obj);
|
|
18
22
|
}
|
|
19
23
|
showSuccessMessage(message) {
|
|
20
24
|
this.messageService.add({ severity: 'success', summary: message });
|
|
@@ -32,4 +36,4 @@ export class MCBaseAuthPage {
|
|
|
32
36
|
this.isSending = false;
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRoLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWNraXQvYXV0aC9zcmMvbGliL3BhZ2VzL2Jhc2UtYXV0aC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE1BQU0sT0FBZ0IsY0FBYztJQUNsQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhDLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztRQUNwQixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO0tBQzNELENBQUMsQ0FBQztJQUVILFNBQVMsR0FBRyxLQUFLLENBQUM7SUFJbEIsYUFBYTtRQUNYLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksR0FBRyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDM0MsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1DQXV0aE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0aWVzL21jLWF1dGgtbW9kZWxcIjtcbmltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTUNCYXNlQXV0aFBhZ2Uge1xuICBtZXNzYWdlU2VydmljZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XG5cbiAgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSksXG4gICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICB9KTtcblxuICBpc1NlbmRpbmcgPSBmYWxzZTtcblxuICBhYnN0cmFjdCBvblN1Ym1pdChvYmo6IE1DQXV0aE1vZGVsKTogdm9pZDtcblxuICBvbkNsaWNrU3VibWl0KCkge1xuICAgIGlmKHRoaXMuaXNTZW5kaW5nKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFyTWVzc2FnZXMoKTtcblxuICAgIGxldCBvYmogPSBuZXcgTUNBdXRoTW9kZWwoKTtcbiAgICBvYmouZW1haWwgPSB0aGlzLmdyb3VwLmdldCgnZW1haWwnKT8udmFsdWU7XG4gICAgb2JqLnBhc3N3b3JkID0gdGhpcy5ncm91cC5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xuXG4gICAgdGhpcy5zaG93TG9hZGluZygpO1xuICAgIHRoaXMub25TdWJtaXQob2JqKTtcbiAgfVxuXG4gIHNob3dTdWNjZXNzTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6IG1lc3NhZ2V9KTtcbiAgfVxuXG4gIHNob3dFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogbWVzc2FnZX0pO1xuICB9XG5cbiAgY2xlYXJNZXNzYWdlcygpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBzaG93TG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IHRydWU7XG4gIH1cblxuICBoaWRlTG9hZGluZygpIHtcbiAgICB0aGlzLmlzU2VuZGluZyA9IGZhbHNlO1xuICB9XG59XG4iXX0=
|
package/fesm2022/mckit-auth.mjs
CHANGED
|
@@ -172,11 +172,15 @@ class MCBaseAuthPage {
|
|
|
172
172
|
});
|
|
173
173
|
isSending = false;
|
|
174
174
|
onClickSubmit() {
|
|
175
|
+
if (this.isSending) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
175
178
|
this.clearMessages();
|
|
176
179
|
let obj = new MCAuthModel();
|
|
177
180
|
obj.email = this.group.get('email')?.value;
|
|
178
181
|
obj.password = this.group.get('password')?.value;
|
|
179
182
|
this.showLoading();
|
|
183
|
+
this.onSubmit(obj);
|
|
180
184
|
}
|
|
181
185
|
showSuccessMessage(message) {
|
|
182
186
|
this.messageService.add({ severity: 'success', summary: message });
|
|
@@ -244,11 +248,11 @@ class MCAuthSakaiComponent extends MCBaseAuthPage {
|
|
|
244
248
|
this.submit.emit(obj);
|
|
245
249
|
}
|
|
246
250
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthSakaiComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
247
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<div class=\"surface-ground flex items-center justify-center min-h-screen min-w-screen 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 style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\"
|
|
251
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MCAuthSakaiComponent, isStandalone: true, selector: "mc-auth-sakai", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { submit: "submit" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<div 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\">\n }\n <div style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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()\"></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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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: [".surface-ground{background-color:#f9fafb}.surface-card{background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.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: "ngmodule", type: CardModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i8.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CheckboxModule }, { 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"] }] });
|
|
248
252
|
}
|
|
249
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MCAuthSakaiComponent, decorators: [{
|
|
250
254
|
type: Component,
|
|
251
|
-
args: [{ selector: 'mc-auth-sakai', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule], providers: [MessageService], template: "<div class=\"surface-ground flex items-center justify-center min-h-screen min-w-screen 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 style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\"
|
|
255
|
+
args: [{ selector: 'mc-auth-sakai', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule], providers: [MessageService], template: "<div 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\">\n }\n <div style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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()\"></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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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: [".surface-ground{background-color:#f9fafb}.surface-card{background-color:#fff}\n"] }]
|
|
252
256
|
}] });
|
|
253
257
|
class MCAuthSakaiConfig extends MCBaseAuthPageConfig {
|
|
254
258
|
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/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/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 { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MCAuthModel } from \"../entities/mc-auth-model\";\nimport { inject } from \"@angular/core\";\nimport { MessageService } from \"primeng/api\";\n\nexport abstract class MCBaseAuthPage {\n messageService = inject(MessageService);\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 abstract onSubmit(obj: MCAuthModel): void;\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 }\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","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 { 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';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\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 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\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" (keyup.enter)=\"onClickSubmit()\" />\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\" name=\"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","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 standalone: true,\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 { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } 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 { MessageService } from 'primeng/api';\nimport { MessagesModule } from 'primeng/messages';\n\n@Component({\n selector: 'mc-auth-sakai',\n standalone: true,\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule],\n providers: [MessageService],\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\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\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=\"surface-ground flex items-center justify-center min-h-screen min-w-screen 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 style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" (keyup.enter)=\"onClickSubmit()\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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'\"></p-password>\n\n <!--<div class=\"flex items-center justify-between mb-5 gap-5\">\n <div class=\"flex 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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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","/*\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 * 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';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i4","i5"],"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/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/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 { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MCAuthModel } from \"../entities/mc-auth-model\";\nimport { inject } from \"@angular/core\";\nimport { MessageService } from \"primeng/api\";\n\nexport abstract class MCBaseAuthPage {\n messageService = inject(MessageService);\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 abstract onSubmit(obj: MCAuthModel): void;\n\n onClickSubmit() {\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.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","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 { 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';\nimport { MCBaseAuthPage } from '../base-auth-page.component';\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 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\">\n <p-inputIcon styleClass=\"pi pi-envelope\" />\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" (keyup.enter)=\"onClickSubmit()\" />\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\" name=\"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","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 standalone: true,\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 { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } 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 { MessageService } from 'primeng/api';\nimport { MessagesModule } from 'primeng/messages';\n\n@Component({\n selector: 'mc-auth-sakai',\n standalone: true,\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ButtonModule, CardModule, IconFieldModule, InputIconModule, InputTextModule, PasswordModule, CheckboxModule, MessagesModule],\n providers: [MessageService],\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\n onSubmit(obj: MCAuthModel): void {\n this.submit.emit(obj);\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=\"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\">\n }\n <div style=\"border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, var(--primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\n <div class=\"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 <label for=\"email\" class=\"block mb-0 text-xs\">Email</label>\n <input type=\"text\" pInputText [placeholder]=\"config().emailPlaceholder ?? 'Email'\" formControlName=\"email\" name=\"email\" class=\"w-full\" />\n\n <label for=\"password1\" class=\"block mb-0 mt-2 text-xs\">Password</label>\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()\"></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 <p-messages />\n\n <p-button pRipple [label]=\"config().submitButton ?? 'Sign 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","/*\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 * 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';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i4","i5"],"mappings":"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"}
|