{"__symbolic":"module","version":4,"metadata":{"FORGOT_PASSWORD_FORM_DEFAULT_SCHEMA":{"username":{"type":"text","validators":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/forms","name":"Validators","line":6,"character":17},"member":"required"}],"label":"Username","icon":"person"}},"ForgotPasswordDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[labsForgotPassword]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormToggleService"}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":9,"character":3},"arguments":["click",["$event"]]}]}]}},"FormInput":{"__symbolic":"interface"},"FormSelectInput":{"__symbolic":"interface"},"FormSchema":{"__symbolic":"interface"},"FormToggleService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"toggle":[{"__symbolic":"method"}]}},"FormValue":{"__symbolic":"interface"},"LoginCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"labs-login-card","providers":[{"__symbolic":"reference","name":"FormToggleService"}],"template":"<mat-card>\n  <mat-card-header>\n    <mat-card-title>\n      Welcome to\n      <ng-content select=\"[labsLoginCardLogo]\"></ng-content>\n    </mat-card-title>\n  </mat-card-header>\n  <mat-card-content>\n    <labs-login-form\n      [formSchema]=\"isLogin ? loginFormSchema : forgotPasswordFormSchema\"\n      [isLogin]=\"isLogin\"\n      [isSubmitting]=\"isSubmitting\"\n      (submitForm)=\"handleSubmitForm($event)\"\n    ></labs-login-form>\n  </mat-card-content>\n  <mat-card-footer>\n    <ng-content select=\"[labsLoginCardFooter]\"></ng-content>\n  </mat-card-footer>\n  <mat-progress-bar\n    *ngIf=\"isSubmitting\"\n    color=\"primary\"\n    mode=\"indeterminate\"\n  ></mat-progress-bar>\n</mat-card>\n","styles":[":host{display:block;min-width:280px;max-width:448px}mat-card{padding:0}mat-card-content,mat-card-header{padding:0 32px}@media (min-width:576px){mat-card-content,mat-card-header{padding:0 64px}}mat-card-header{flex-direction:column;align-items:center;justify-content:center;padding-top:64px;padding-bottom:48px}mat-card-title{text-align:center}mat-card-title ::ng-deep [labsLoginCardLogo]{display:block;margin-top:32px;padding:0 16px}mat-card-title ::ng-deep img[labsLoginCardLogo],mat-card-title ::ng-deep picture[labsLoginCardLogo] img{max-width:100%}mat-card-content{margin:0}mat-card-footer{margin:0;padding:64px 16px 16px}mat-progress-bar{position:absolute;bottom:0;left:0}"]}]}],"members":{"loginFormSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"forgotPasswordFormSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isSubmitting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"submitForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormToggleService"}]}],"handleSubmitForm":[{"__symbolic":"method"}]}},"LOGIN_FORM_DEFAULT_SCHEMA":{"username":{"type":"text","validators":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/forms","name":"Validators","line":6,"character":17},"member":"required"}],"label":"Username","icon":"person"},"password":{"type":"password","validators":[{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/forms","name":"Validators","line":12,"character":17},"member":"required"}],"label":"Password","icon":"lock"}},"LoginFormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"labs-login-form","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":18,"character":19},"member":"OnPush"},"template":"<form\n  [formGroup]=\"form\"\n  (ngSubmit)=\"submitForm.emit(form.value)\"\n  autocomplete=\"off\"\n  novalidate\n>\n  <ng-container *ngFor=\"let item of formSchema | keyvalue: originalOrder\">\n    <ng-container [ngSwitch]=\"item.value.type\">\n      <mat-form-field *ngSwitchCase=\"'select'\">\n        <mat-label\n          ><mat-icon>{{ item.value.icon }}</mat-icon>\n          {{ item.value.label }}</mat-label\n        >\n        <mat-select [formControlName]=\"item.key\">\n          <mat-option\n            *ngFor=\"let option of item.value.options\"\n            [value]=\"option\"\n          >\n            {{ option }}\n          </mat-option>\n        </mat-select>\n      </mat-form-field>\n      <mat-form-field *ngSwitchDefault>\n        <mat-label\n          ><mat-icon>{{ item.value.icon }}</mat-icon>\n          {{ item.value.label }}</mat-label\n        >\n        <input matInput [formControlName]=\"item.key\" />\n      </mat-form-field>\n    </ng-container>\n  </ng-container>\n\n  <button\n    mat-raised-button\n    color=\"primary\"\n    type=\"submit\"\n    [disabled]=\"!form.valid || isSubmitting\"\n  >\n    <ng-container *ngIf=\"isLogin\">\n      {{ isSubmitting ? 'Signing In' : 'Sign in' }}\n    </ng-container>\n    <ng-container *ngIf=\"!isLogin\">\n      {{ isSubmitting ? 'Submitting' : 'Submit' }}\n    </ng-container>\n  </button>\n</form>\n","styles":["button[type=submit],mat-form-field{width:100%}button[type=submit]{margin-top:24px}"]}]}],"members":{"formSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"isSubmitting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"submitForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":26}]}],"ngOnChanges":[{"__symbolic":"method"}],"setFormGroup":[{"__symbolic":"method"}]}},"LoginModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/material/card","name":"MatCardModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":25,"character":4}],"declarations":[{"__symbolic":"reference","name":"ForgotPasswordDirective"},{"__symbolic":"reference","name":"LoginCardComponent"},{"__symbolic":"reference","name":"LoginFormComponent"}],"exports":[{"__symbolic":"reference","name":"ForgotPasswordDirective"},{"__symbolic":"reference","name":"LoginCardComponent"},{"__symbolic":"reference","name":"LoginFormComponent"}]}]}],"members":{}}},"origins":{"FORGOT_PASSWORD_FORM_DEFAULT_SCHEMA":"./forgot-password-form-default-schema","ForgotPasswordDirective":"./forgot-password.directive","FormInput":"./form-schema","FormSelectInput":"./form-schema","FormSchema":"./form-schema","FormToggleService":"./form-toggle.service","FormValue":"./form-value","LoginCardComponent":"./login-card.component","LOGIN_FORM_DEFAULT_SCHEMA":"./login-form-default-schema","LoginFormComponent":"./login-form.component","LoginModule":"./login.module"},"importAs":"ng-labs/login"}