angular-bootstrap-italia
Version:
<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>
31 lines • 5.02 kB
JavaScript
import { __decorate } from "tslib";
import { Component, Input, Output, EventEmitter } from '@angular/core';
let LoginPageComponent = class LoginPageComponent {
constructor() {
this.formSubmit = new EventEmitter();
}
onSubmit(form) {
if (!form.valid) {
return;
}
const email = form.value.email;
const password = form.value.password;
this.formSubmit.emit({ email, password });
form.reset();
}
};
__decorate([
Input()
], LoginPageComponent.prototype, "isLoading", void 0);
__decorate([
Output()
], LoginPageComponent.prototype, "formSubmit", void 0);
LoginPageComponent = __decorate([
Component({
selector: 'lib-login-page',
template: "<div id=\"content\" class=\"container py-5\">\r\n <div class=\"wrapper\">\r\n\r\n <section class=\"container\" style=\"max-width: 40em\">\r\n <h1 class=\"pb-5\">Log in</h1>\r\n\r\n <form class=\"login\" #authForm=\"ngForm\" (ngSubmit)=\"onSubmit(authForm)\" *ngIf=\"!isLoading\">\r\n\r\n <div class=\"form-group\">\r\n <input type=\"text\" name=\"email\" class=\"form-control \" id=\"email\" ngModel required email>\r\n <label for=\"email\">Email</label>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <input type=\"password\" name=\"password\" class=\"form-control input-password\" id=\"password\" ngModel required minlength=\"14\">\r\n <label for=\"password\">Password</label>\r\n <span class=\"password-icon bg-transparent\" aria-hidden=\"true\">\r\n <svg class=\"password-icon-visible icon icon-sm\">\r\n <use\r\n xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-password-visible\">\r\n </use>\r\n </svg>\r\n <svg class=\"password-icon-invisible icon icon-sm d-none\">\r\n <use\r\n xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-password-invisible\">\r\n </use>\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n <div class=\"form-check\">\r\n <input id=\"remember\" name=\"remember\" type=\"checkbox\">\r\n <label for=\"remember\">Ricordami</label>\r\n </div>\r\n\r\n <div class=\"py-4 login_buttons\">\r\n <button class=\"btn btn-primary\" type=\"submit\" [disabled]=\"!authForm.valid\">Log in</button>\r\n </div>\r\n\r\n <!-- <p>Se non hai ancora creato un account, <a [routerLink]=\"['/']\" >registrati</a> adesso.</p> -->\r\n\r\n <p>Se invece hai dimenticato la password, puoi <a [routerLink]=\"['/reset-password']\">reimpostarla</a>.</p>\r\n\r\n </form>\r\n\r\n </section>\r\n\r\n </div>\r\n</div>\r\n",
styles: [".form-group{margin-bottom:1.5rem}"]
})
], LoginPageComponent);
export { LoginPageComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWJvb3RzdHJhcC1pdGFsaWEvIiwic291cmNlcyI6WyJsaWIvcGFnZXMvbG9naW4tcGFnZS9sb2dpbi1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVF2RSxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQUk3QjtRQUZVLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUMsQ0FBQztJQUU3RCxDQUFDO0lBRWpCLFFBQVEsQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0NBRUYsQ0FBQTtBQWpCVTtJQUFSLEtBQUssRUFBRTtxREFBb0I7QUFDbEI7SUFBVCxNQUFNLEVBQUU7c0RBQW9FO0FBRmxFLGtCQUFrQjtJQUw5QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLG0vREFBMEM7O0tBRTNDLENBQUM7R0FDVyxrQkFBa0IsQ0FrQjlCO1NBbEJZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxvZ2luLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi1wYWdlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luUGFnZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaXNMb2FkaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjx7ZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZ30+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG9uU3VibWl0KGZvcm06IE5nRm9ybSkge1xyXG4gICAgaWYgKCFmb3JtLnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGVtYWlsID0gZm9ybS52YWx1ZS5lbWFpbDtcclxuICAgIGNvbnN0IHBhc3N3b3JkID0gZm9ybS52YWx1ZS5wYXNzd29yZDtcclxuXHJcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdCh7IGVtYWlsLCBwYXNzd29yZCB9KTtcclxuXHJcbiAgICBmb3JtLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=