@rolatech/angular-account 20.2.8-beta.9 → 20.2.9-beta.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.
Files changed (42) hide show
  1. package/fesm2022/{rolatech-angular-account-address-add.component-UPK0KZqC.mjs → rolatech-angular-account-address-add.component-CzMQwFw1.mjs} +4 -4
  2. package/fesm2022/{rolatech-angular-account-address-add.component-UPK0KZqC.mjs.map → rolatech-angular-account-address-add.component-CzMQwFw1.mjs.map} +1 -1
  3. package/fesm2022/{rolatech-angular-account-address-billing.component-CAgrcM1E.mjs → rolatech-angular-account-address-billing.component-CYhd3-1W.mjs} +4 -4
  4. package/fesm2022/{rolatech-angular-account-address-billing.component-CAgrcM1E.mjs.map → rolatech-angular-account-address-billing.component-CYhd3-1W.mjs.map} +1 -1
  5. package/fesm2022/{rolatech-angular-account-address-detail.component-DUM87B_T.mjs → rolatech-angular-account-address-detail.component-BeezDpvO.mjs} +4 -4
  6. package/fesm2022/{rolatech-angular-account-address-detail.component-DUM87B_T.mjs.map → rolatech-angular-account-address-detail.component-BeezDpvO.mjs.map} +1 -1
  7. package/fesm2022/{rolatech-angular-account-address-home.component-BBmJR0HZ.mjs → rolatech-angular-account-address-home.component-DfYaDS7S.mjs} +4 -4
  8. package/fesm2022/{rolatech-angular-account-address-home.component-BBmJR0HZ.mjs.map → rolatech-angular-account-address-home.component-DfYaDS7S.mjs.map} +1 -1
  9. package/fesm2022/{rolatech-angular-account-address-shipping.component-BioYE5P6.mjs → rolatech-angular-account-address-shipping.component-C2CFW-Q5.mjs} +4 -4
  10. package/fesm2022/{rolatech-angular-account-address-shipping.component-BioYE5P6.mjs.map → rolatech-angular-account-address-shipping.component-C2CFW-Q5.mjs.map} +1 -1
  11. package/fesm2022/{rolatech-angular-account-address-work.component-hSCWkkht.mjs → rolatech-angular-account-address-work.component-DBxX4es0.mjs} +4 -4
  12. package/fesm2022/{rolatech-angular-account-address-work.component-hSCWkkht.mjs.map → rolatech-angular-account-address-work.component-DBxX4es0.mjs.map} +1 -1
  13. package/fesm2022/{rolatech-angular-account-address.routes-DNdHpyci.mjs → rolatech-angular-account-address.routes-HCXKXdWY.mjs} +7 -7
  14. package/fesm2022/{rolatech-angular-account-address.routes-DNdHpyci.mjs.map → rolatech-angular-account-address.routes-HCXKXdWY.mjs.map} +1 -1
  15. package/fesm2022/{rolatech-angular-account-email-verification.component-BNeKwyq5.mjs → rolatech-angular-account-email-verification.component-CeeTYVUg.mjs} +4 -4
  16. package/fesm2022/{rolatech-angular-account-email-verification.component-BNeKwyq5.mjs.map → rolatech-angular-account-email-verification.component-CeeTYVUg.mjs.map} +1 -1
  17. package/fesm2022/{rolatech-angular-account-email.component-D5wIYo6L.mjs → rolatech-angular-account-email.component-D3gr4IXg.mjs} +12 -7
  18. package/fesm2022/rolatech-angular-account-email.component-D3gr4IXg.mjs.map +1 -0
  19. package/fesm2022/{rolatech-angular-account-gender.component-YLgNhkX7.mjs → rolatech-angular-account-gender.component-BVXEyW5M.mjs} +8 -5
  20. package/fesm2022/rolatech-angular-account-gender.component-BVXEyW5M.mjs.map +1 -0
  21. package/fesm2022/{rolatech-angular-account-home.component-C1XN9r6C.mjs → rolatech-angular-account-home.component-C8nUVoGu.mjs} +4 -4
  22. package/fesm2022/{rolatech-angular-account-home.component-C1XN9r6C.mjs.map → rolatech-angular-account-home.component-C8nUVoGu.mjs.map} +1 -1
  23. package/fesm2022/{rolatech-angular-account-info.component-BYm38AN1.mjs → rolatech-angular-account-info.component-D-b2xEFv.mjs} +12 -16
  24. package/fesm2022/rolatech-angular-account-info.component-D-b2xEFv.mjs.map +1 -0
  25. package/fesm2022/{rolatech-angular-account-phone.component-22syWgDT.mjs → rolatech-angular-account-phone.component-DQyeBwX9.mjs} +5 -5
  26. package/fesm2022/rolatech-angular-account-phone.component-DQyeBwX9.mjs.map +1 -0
  27. package/fesm2022/{rolatech-angular-account-profile.component-KZ1qb9QI.mjs → rolatech-angular-account-profile.component-BdXmXOor.mjs} +5 -5
  28. package/fesm2022/rolatech-angular-account-profile.component-BdXmXOor.mjs.map +1 -0
  29. package/fesm2022/{rolatech-angular-account-security.routes-L_ZCcqmP.mjs → rolatech-angular-account-security.routes-D1Snb_A1.mjs} +19 -20
  30. package/fesm2022/rolatech-angular-account-security.routes-D1Snb_A1.mjs.map +1 -0
  31. package/fesm2022/{rolatech-angular-account-username.component-C2OwUc5r.mjs → rolatech-angular-account-username.component-Dfnm2TNs.mjs} +5 -5
  32. package/fesm2022/rolatech-angular-account-username.component-Dfnm2TNs.mjs.map +1 -0
  33. package/fesm2022/rolatech-angular-account.mjs +34 -32
  34. package/fesm2022/rolatech-angular-account.mjs.map +1 -1
  35. package/package.json +6 -6
  36. package/fesm2022/rolatech-angular-account-email.component-D5wIYo6L.mjs.map +0 -1
  37. package/fesm2022/rolatech-angular-account-gender.component-YLgNhkX7.mjs.map +0 -1
  38. package/fesm2022/rolatech-angular-account-info.component-BYm38AN1.mjs.map +0 -1
  39. package/fesm2022/rolatech-angular-account-phone.component-22syWgDT.mjs.map +0 -1
  40. package/fesm2022/rolatech-angular-account-profile.component-KZ1qb9QI.mjs.map +0 -1
  41. package/fesm2022/rolatech-angular-account-security.routes-L_ZCcqmP.mjs.map +0 -1
  42. package/fesm2022/rolatech-angular-account-username.component-C2OwUc5r.mjs.map +0 -1
@@ -16,7 +16,7 @@ class UsernameComponent extends BaseComponent {
16
16
  this.user = inject(AuthService).user;
17
17
  this.username = '';
18
18
  effect(() => {
19
- this.username = this.user().username;
19
+ this.username = this.user()?.username ?? '';
20
20
  });
21
21
  }
22
22
  ngOnInit() { }
@@ -30,13 +30,13 @@ class UsernameComponent extends BaseComponent {
30
30
  },
31
31
  });
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UsernameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: UsernameComponent, isStandalone: true, selector: "rolatech-account-username", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Update username\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your username is your unique identification on this site</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }], encapsulation: i0.ViewEncapsulation.None }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UsernameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: UsernameComponent, isStandalone: true, selector: "rolatech-account-username", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Update username\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your username is your unique identification on this site</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }], encapsulation: i0.ViewEncapsulation.None }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UsernameComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UsernameComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, ContainerComponent, ToolbarComponent], selector: 'rolatech-account-username', encapsulation: ViewEncapsulation.None, template: "<rolatech-container>\n <rolatech-toolbar title=\"Update username\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your username is your unique identification on this site</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n" }]
39
39
  }], ctorParameters: () => [] });
40
40
 
41
41
  export { UsernameComponent };
42
- //# sourceMappingURL=rolatech-angular-account-username.component-C2OwUc5r.mjs.map
42
+ //# sourceMappingURL=rolatech-angular-account-username.component-Dfnm2TNs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-account-username.component-Dfnm2TNs.mjs","sources":["../../../../packages/angular-account/src/lib/pages/myaccount/personal-info/username/username.component.ts","../../../../packages/angular-account/src/lib/pages/myaccount/personal-info/username/username.component.html"],"sourcesContent":["import { Component, OnInit, ViewEncapsulation, effect, inject } from '@angular/core';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, ContainerComponent, ToolbarComponent],\n selector: 'rolatech-account-username',\n templateUrl: './username.component.html',\n styleUrls: ['./username.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class UsernameComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n user = inject(AuthService).user;\n username = '';\n constructor() {\n super();\n effect(() => {\n this.username = this.user()?.username ?? '';\n });\n }\n ngOnInit(): void {}\n\n save() {\n this.authUserService.changeUsername(this.username).subscribe({\n next: (res) => {\n this.snackBarService.open(res.data);\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<rolatech-container>\n <rolatech-toolbar title=\"Update username\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your username is your unique identification on this site</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n"],"names":[],"mappings":";;;;;;;;;;;AAaM,MAAO,iBAAkB,SAAQ,aAAa,CAAA;AAIlD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAJT,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI;QAC/B,IAAA,CAAA,QAAQ,GAAG,EAAE;QAGX,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,IAAI,EAAE;AAC7C,QAAA,CAAC,CAAC;IACJ;AACA,IAAA,QAAQ,KAAU;IAElB,IAAI,GAAA;QACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;AAC3D,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;gBACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACrC,CAAC;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1C,CAAC;AACF,SAAA,CAAC;IACJ;8GArBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb9B,ssBAgBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMtG,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EACxG,2BAA2B,EAAA,aAAA,EAGtB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ssBAAA,EAAA;;;;;"}
@@ -30,12 +30,14 @@ class TopbarLoginComponent {
30
30
  ngOnInit() {
31
31
  if (isPlatformBrowser(this.platformId)) {
32
32
  this.signinUrl = `${this.environment.accountsUrl}/signin?continue=` + window.location.href;
33
+ this.signupUrl = `${this.environment.accountsUrl}/signup?continue=` + window.location.href;
33
34
  this.logoutUrl = this.environment.accountsUrl + `/logout?service=${this.service()}&continue=` + window.location.origin;
34
35
  }
35
36
  this.routerSubscription = this.router.events
36
37
  .pipe(filter((event) => event instanceof NavigationStart))
37
38
  .subscribe((event) => {
38
39
  this.signinUrl = `${this.environment.accountsUrl}/signin?continue=` + window.location.origin + event.url;
40
+ this.signupUrl = `${this.environment.accountsUrl}/signup?continue=` + window.location.href + event.url;
39
41
  // this.checkRouteGuard(event.url);
40
42
  const currentUrl = this.router.url; // Get the current URL
41
43
  const matchedRoute = this.findRouteConfig(currentUrl);
@@ -76,10 +78,10 @@ class TopbarLoginComponent {
76
78
  const urlSegment = url.split('/').join('');
77
79
  return path === urlSegment;
78
80
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TopbarLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: TopbarLoginComponent, isStandalone: true, selector: "rolatech-account-topbar-login", inputs: { service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center\">\n <a mat-stroked-button class=\"mr-2 max-h-9 md:max-h-10\" [href]=\"signinUrl\"><span i18n>Sign in</span></a>\n <a mat-flat-button class=\"max-h-9 md:max-h-10\" [href]=\"signupUrl\"><span i18n>Sign up</span></a>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TopbarLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: TopbarLoginComponent, isStandalone: true, selector: "rolatech-account-topbar-login", inputs: { service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center\">\n <a mat-stroked-button class=\"mr-2 max-h-9 md:max-h-10\" [href]=\"signinUrl\"><span i18n>Sign in</span></a>\n <a mat-flat-button class=\"max-h-9 md:max-h-10\" [href]=\"signupUrl\"><span i18n>Sign up</span></a>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
81
83
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TopbarLoginComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TopbarLoginComponent, decorators: [{
83
85
  type: Component,
84
86
  args: [{ selector: 'rolatech-account-topbar-login', imports: [CommonModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"flex items-center\">\n <a mat-stroked-button class=\"mr-2 max-h-9 md:max-h-10\" [href]=\"signinUrl\"><span i18n>Sign in</span></a>\n <a mat-flat-button class=\"max-h-9 md:max-h-10\" [href]=\"signupUrl\"><span i18n>Sign up</span></a>\n</div>\n" }]
85
87
  }], propDecorators: { service: [{ type: i0.Input, args: [{ isSignal: true, alias: "service", required: false }] }] } });
@@ -117,10 +119,10 @@ class LogoutComponent {
117
119
  },
118
120
  });
119
121
  }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LogoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LogoutComponent, isStandalone: true, selector: "rolatech-account-logout", ngImport: i0, template: "<p>Please waiting...</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LogoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: LogoutComponent, isStandalone: true, selector: "rolatech-account-logout", ngImport: i0, template: "<p>Please waiting...</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
122
124
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LogoutComponent, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LogoutComponent, decorators: [{
124
126
  type: Component,
125
127
  args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-logout', template: "<p>Please waiting...</p>\n" }]
126
128
  }] });
@@ -129,11 +131,11 @@ class WeChatLoginService {
129
131
  constructor() {
130
132
  this.onWeChatLogin = new EventEmitter();
131
133
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WeChatLoginService, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
133
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: WeChatLoginService, isStandalone: true, ngImport: i0 }); }
134
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WeChatLoginService, providedIn: 'root' }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: WeChatLoginService, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: WeChatLoginService, isStandalone: true, ngImport: i0 }); }
136
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: WeChatLoginService, providedIn: 'root' }); }
135
137
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WeChatLoginService, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: WeChatLoginService, decorators: [{
137
139
  type: Injectable,
138
140
  args: [{
139
141
  providedIn: 'root',
@@ -295,10 +297,10 @@ class SigninComponent extends BaseComponent {
295
297
  const src = `${this.baseUrl}?appid=${this.appid}&response_type=code&self_redirect=true&scope=snsapi_login&stylelite=1&redirect_uri=${encodedURI}&state=${this.state}#wechat_redirect`;
296
298
  this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(src);
297
299
  }
298
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SigninComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
299
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: SigninComponent, isStandalone: true, selector: "rolatech-account-signin", host: { listeners: { "window:message": "onLogin($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n\n <div class=\"flex flex-col justify-between lg:w-1/2\">\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Sign in</div>\n <div class=\"text-md ml-2\" i18n>Use your {{ environment.name }} Account</div>\n </div>\n <!-- <div>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n </div> -->\n </div>\n <div class=\"lg:w-1/2\">\n <rolatech-tabs [(select)]=\"tabIndex\">\n @if (hasPassword) {\n <rolatech-tab label=\"Password\"></rolatech-tab>\n }\n @if (hasOTP) {\n <rolatech-tab label=\"OTP\"></rolatech-tab>\n }\n @if (hasWeChat) {\n <rolatech-tab label=\"WeChat\"></rolatech-tab>\n }\n </rolatech-tabs>\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n @if (tabIndex() === 0) {\n <form [formGroup]=\"passrodForm\" class=\"flex flex-col\">\n @if (hasPassword) {\n <mat-form-field>\n <mat-label i18n> Email/Username </mat-label>\n <input matInput formControlName=\"account\" required />\n @if (passrodForm.controls['account'].touched && passrodForm.controls['account'].invalid) {\n <mat-error>\n @if (passrodForm.controls['account'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (passrodForm.controls['account'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label i18n> Password </mat-label>\n <input autocomplete matInput formControlName=\"password\" type=\"password\" />\n @if (passrodForm.controls['password'].touched && passrodForm.controls['password'].invalid) {\n <mat-error>\n @if (passrodForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (passrodForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n }\n @if (tabIndex() === 1) {\n <form [formGroup]=\"codeForm\" class=\"flex flex-col\">\n @if (hasOTP) {\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input autocomplete matInput formControlName=\"phone\" required />\n @if (codeForm.controls['phone'].touched && codeForm.controls['phone'].invalid) {\n <mat-error>\n @if (codeForm.controls['phone'].errors?.['required']) {\n <span i18n> Phone required</span>\n }\n @if (codeForm.controls['phone'].errors?.['pattern']) {\n <span i18n> Phone invalid </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <div class=\"flex justify-between items-center\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Code </mat-label>\n <input matInput formControlName=\"code\" required />\n @if (codeForm.controls['code'].touched && codeForm.controls['code'].invalid) {\n <mat-error>\n @if (codeForm.controls['code'].errors?.['required']) {\n <span i18n>Code required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button\n mat-flat-button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n class=\"max-w-[128px] text-white text-center\"\n >\n <span i18n>{{ showButtonText }}</span>\n </button>\n </div>\n }\n </form>\n }\n @if (tabIndex() === 2) {\n <div class=\"w-[190px] h-[190px] ml-[56px]\">\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\" #iframe></iframe>\n </div>\n }\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Create account</a>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n <button mat-flat-button (click)=\"login()\" class=\"w-[128px]\" i18n>Sign in</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signin{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signin{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }], encapsulation: i0.ViewEncapsulation.None }); }
300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SigninComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
301
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: SigninComponent, isStandalone: true, selector: "rolatech-account-signin", host: { listeners: { "window:message": "onLogin($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n\n <div class=\"flex flex-col justify-between lg:w-1/2\">\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Sign in</div>\n <div class=\"text-md ml-2\" i18n>Use your {{ environment.name }} Account</div>\n </div>\n <!-- <div>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n </div> -->\n </div>\n <div class=\"lg:w-1/2\">\n <rolatech-tabs [(select)]=\"tabIndex\">\n @if (hasPassword) {\n <rolatech-tab label=\"Password\"></rolatech-tab>\n }\n @if (hasOTP) {\n <rolatech-tab label=\"OTP\"></rolatech-tab>\n }\n @if (hasWeChat) {\n <rolatech-tab label=\"WeChat\"></rolatech-tab>\n }\n </rolatech-tabs>\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n @if (tabIndex() === 0) {\n <form [formGroup]=\"passrodForm\" class=\"flex flex-col\">\n @if (hasPassword) {\n <mat-form-field>\n <mat-label i18n> Email/Username </mat-label>\n <input matInput formControlName=\"account\" required />\n @if (passrodForm.controls['account'].touched && passrodForm.controls['account'].invalid) {\n <mat-error>\n @if (passrodForm.controls['account'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (passrodForm.controls['account'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label i18n> Password </mat-label>\n <input autocomplete matInput formControlName=\"password\" type=\"password\" />\n @if (passrodForm.controls['password'].touched && passrodForm.controls['password'].invalid) {\n <mat-error>\n @if (passrodForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (passrodForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n }\n @if (tabIndex() === 1) {\n <form [formGroup]=\"codeForm\" class=\"flex flex-col\">\n @if (hasOTP) {\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input autocomplete matInput formControlName=\"phone\" required />\n @if (codeForm.controls['phone'].touched && codeForm.controls['phone'].invalid) {\n <mat-error>\n @if (codeForm.controls['phone'].errors?.['required']) {\n <span i18n> Phone required</span>\n }\n @if (codeForm.controls['phone'].errors?.['pattern']) {\n <span i18n> Phone invalid </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <div class=\"flex justify-between items-center\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Code </mat-label>\n <input matInput formControlName=\"code\" required />\n @if (codeForm.controls['code'].touched && codeForm.controls['code'].invalid) {\n <mat-error>\n @if (codeForm.controls['code'].errors?.['required']) {\n <span i18n>Code required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button\n mat-flat-button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n class=\"max-w-[128px] text-white text-center\"\n >\n <span i18n>{{ showButtonText }}</span>\n </button>\n </div>\n }\n </form>\n }\n @if (tabIndex() === 2) {\n <div class=\"w-[190px] h-[190px] ml-[56px]\">\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\" #iframe></iframe>\n </div>\n }\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Create account</a>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n <button mat-flat-button (click)=\"login()\" class=\"w-[128px]\" i18n>Sign in</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signin{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signin{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }], encapsulation: i0.ViewEncapsulation.None }); }
300
302
  }
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SigninComponent, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SigninComponent, decorators: [{
302
304
  type: Component,
303
305
  args: [{ imports: [AngularCommonModule, AngularComponentsModule, TabsComponent, TabComponent], selector: 'rolatech-account-signin', encapsulation: ViewEncapsulation.None, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n\n <div class=\"flex flex-col justify-between lg:w-1/2\">\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Sign in</div>\n <div class=\"text-md ml-2\" i18n>Use your {{ environment.name }} Account</div>\n </div>\n <!-- <div>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n </div> -->\n </div>\n <div class=\"lg:w-1/2\">\n <rolatech-tabs [(select)]=\"tabIndex\">\n @if (hasPassword) {\n <rolatech-tab label=\"Password\"></rolatech-tab>\n }\n @if (hasOTP) {\n <rolatech-tab label=\"OTP\"></rolatech-tab>\n }\n @if (hasWeChat) {\n <rolatech-tab label=\"WeChat\"></rolatech-tab>\n }\n </rolatech-tabs>\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n @if (tabIndex() === 0) {\n <form [formGroup]=\"passrodForm\" class=\"flex flex-col\">\n @if (hasPassword) {\n <mat-form-field>\n <mat-label i18n> Email/Username </mat-label>\n <input matInput formControlName=\"account\" required />\n @if (passrodForm.controls['account'].touched && passrodForm.controls['account'].invalid) {\n <mat-error>\n @if (passrodForm.controls['account'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (passrodForm.controls['account'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label i18n> Password </mat-label>\n <input autocomplete matInput formControlName=\"password\" type=\"password\" />\n @if (passrodForm.controls['password'].touched && passrodForm.controls['password'].invalid) {\n <mat-error>\n @if (passrodForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (passrodForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n }\n @if (tabIndex() === 1) {\n <form [formGroup]=\"codeForm\" class=\"flex flex-col\">\n @if (hasOTP) {\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input autocomplete matInput formControlName=\"phone\" required />\n @if (codeForm.controls['phone'].touched && codeForm.controls['phone'].invalid) {\n <mat-error>\n @if (codeForm.controls['phone'].errors?.['required']) {\n <span i18n> Phone required</span>\n }\n @if (codeForm.controls['phone'].errors?.['pattern']) {\n <span i18n> Phone invalid </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <div class=\"flex justify-between items-center\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Code </mat-label>\n <input matInput formControlName=\"code\" required />\n @if (codeForm.controls['code'].touched && codeForm.controls['code'].invalid) {\n <mat-error>\n @if (codeForm.controls['code'].errors?.['required']) {\n <span i18n>Code required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button\n mat-flat-button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n class=\"max-w-[128px] text-white text-center\"\n >\n <span i18n>{{ showButtonText }}</span>\n </button>\n </div>\n }\n </form>\n }\n @if (tabIndex() === 2) {\n <div class=\"w-[190px] h-[190px] ml-[56px]\">\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\" #iframe></iframe>\n </div>\n }\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Create account</a>\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"forGotUrl\" i18n>Forgot?</a>\n <button mat-flat-button (click)=\"login()\" class=\"w-[128px]\" i18n>Sign in</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signin{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signin{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}\n"] }]
304
306
  }], ctorParameters: () => [], propDecorators: { onLogin: [{
@@ -382,10 +384,10 @@ class SignupComponent extends BaseComponent {
382
384
  },
383
385
  });
384
386
  }
385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SignupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: SignupComponent, isStandalone: true, selector: "rolatech-account-signup", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full md:h-auto justify-start md:justify-between p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Create your {{ environment.name }} account</div>\n <div class=\"text-md ml-2\" i18n>Sign up, Get more.</div>\n </div>\n <div class=\"min-w-[320px]\">\n <form [formGroup]=\"signupForm\" (submit)=\"submit()\" class=\"flex flex-col\">\n @if (usePhone) {\n <!-- name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n @if (signupForm.controls['name'].touched && signupForm.controls['name'].invalid) {\n <mat-error>\n @if (signupForm.controls['name'].errors?.['required']) {\n <span i18n>Name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput formControlName=\"phone\" required />\n @if (signupForm.controls['phone'].touched && signupForm.controls['phone'].invalid) {\n <mat-error>\n @if (signupForm.controls['phone'].errors?.['required']) {\n <span i18n>Phone is required</span>\n }\n @if (signupForm.controls['phone'].errors?.['pattern']) {\n <span i18n>Invalid Phone </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone code -->\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\" class=\"w-full\">\n <mat-label i18n> Code </mat-label>\n <input matInput type=\"text\" formControlName=\"code\" autocomplete=\"new-password\" required />\n @if (signupForm.controls['code'].touched && signupForm.controls['code'].invalid) {\n <mat-error>\n @if (signupForm.controls['code'].errors?.['required']) {\n <span i18n>Code is required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px] text-white text-center\">\n <span>{{ showButtonText }}</span>\n </button>\n </div>\n }\n <div class=\"flex flex-col md:flex-row gap-3 items-center\">\n <!--First name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Fist name </mat-label>\n <input matInput formControlName=\"firstName\" required />\n @if (signupForm.controls['firstName'].touched && signupForm.controls['firstName'].invalid) {\n <mat-error>\n @if (signupForm.controls['firstName'].errors?.['required']) {\n <span i18n>First name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Last name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Last name </mat-label>\n <input matInput formControlName=\"lastName\" required />\n @if (signupForm.controls['lastName'].touched && signupForm.controls['lastName'].invalid) {\n <mat-error>\n @if (signupForm.controls['lastName'].errors?.['required']) {\n <span i18n>Last name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </div>\n <!-- Email account -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput formControlName=\"email\" required />\n @if (signupForm.controls['email'].touched && signupForm.controls['email'].invalid) {\n <mat-error>\n @if (signupForm.controls['email'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (signupForm.controls['email'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Password -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"password\" type=\"password\" autocomplete=\"password\" />\n @if (signupForm.controls['password'].touched && signupForm.controls['password'].invalid) {\n <mat-error>\n @if (signupForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <!-- password confirm -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"rePassword\" type=\"password\" autocomplete=\"rePassword\" />\n @if (signupForm.controls['rePassword'].touched && signupForm.controls['rePassword'].invalid) {\n <mat-error>\n @if (signupForm.controls['rePassword'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['rePassword'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a mat-button [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"submit()\" class=\"w-[128px]\" i18n>Sign up</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signup{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signup{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }], encapsulation: i0.ViewEncapsulation.None }); }
387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SignupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: SignupComponent, isStandalone: true, selector: "rolatech-account-signup", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full md:h-auto justify-start md:justify-between p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Create your {{ environment.name }} account</div>\n <div class=\"text-md ml-2\" i18n>Sign up, Get more.</div>\n </div>\n <div class=\"min-w-[320px]\">\n <form [formGroup]=\"signupForm\" (submit)=\"submit()\" class=\"flex flex-col\">\n @if (usePhone) {\n <!-- name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n @if (signupForm.controls['name'].touched && signupForm.controls['name'].invalid) {\n <mat-error>\n @if (signupForm.controls['name'].errors?.['required']) {\n <span i18n>Name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput formControlName=\"phone\" required />\n @if (signupForm.controls['phone'].touched && signupForm.controls['phone'].invalid) {\n <mat-error>\n @if (signupForm.controls['phone'].errors?.['required']) {\n <span i18n>Phone is required</span>\n }\n @if (signupForm.controls['phone'].errors?.['pattern']) {\n <span i18n>Invalid Phone </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone code -->\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\" class=\"w-full\">\n <mat-label i18n> Code </mat-label>\n <input matInput type=\"text\" formControlName=\"code\" autocomplete=\"new-password\" required />\n @if (signupForm.controls['code'].touched && signupForm.controls['code'].invalid) {\n <mat-error>\n @if (signupForm.controls['code'].errors?.['required']) {\n <span i18n>Code is required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px] text-white text-center\">\n <span>{{ showButtonText }}</span>\n </button>\n </div>\n }\n <div class=\"flex flex-col md:flex-row gap-3 items-center\">\n <!--First name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Fist name </mat-label>\n <input matInput formControlName=\"firstName\" required />\n @if (signupForm.controls['firstName'].touched && signupForm.controls['firstName'].invalid) {\n <mat-error>\n @if (signupForm.controls['firstName'].errors?.['required']) {\n <span i18n>First name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Last name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Last name </mat-label>\n <input matInput formControlName=\"lastName\" required />\n @if (signupForm.controls['lastName'].touched && signupForm.controls['lastName'].invalid) {\n <mat-error>\n @if (signupForm.controls['lastName'].errors?.['required']) {\n <span i18n>Last name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </div>\n <!-- Email account -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput formControlName=\"email\" required />\n @if (signupForm.controls['email'].touched && signupForm.controls['email'].invalid) {\n <mat-error>\n @if (signupForm.controls['email'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (signupForm.controls['email'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Password -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"password\" type=\"password\" autocomplete=\"password\" />\n @if (signupForm.controls['password'].touched && signupForm.controls['password'].invalid) {\n <mat-error>\n @if (signupForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <!-- password confirm -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"rePassword\" type=\"password\" autocomplete=\"rePassword\" />\n @if (signupForm.controls['rePassword'].touched && signupForm.controls['rePassword'].invalid) {\n <mat-error>\n @if (signupForm.controls['rePassword'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['rePassword'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a mat-button [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"submit()\" class=\"w-[128px]\" i18n>Sign up</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signup{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signup{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }], encapsulation: i0.ViewEncapsulation.None }); }
387
389
  }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SignupComponent, decorators: [{
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SignupComponent, decorators: [{
389
391
  type: Component,
390
392
  args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-signup', encapsulation: ViewEncapsulation.None, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full md:h-auto justify-start md:justify-between p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Create your {{ environment.name }} account</div>\n <div class=\"text-md ml-2\" i18n>Sign up, Get more.</div>\n </div>\n <div class=\"min-w-[320px]\">\n <form [formGroup]=\"signupForm\" (submit)=\"submit()\" class=\"flex flex-col\">\n @if (usePhone) {\n <!-- name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n @if (signupForm.controls['name'].touched && signupForm.controls['name'].invalid) {\n <mat-error>\n @if (signupForm.controls['name'].errors?.['required']) {\n <span i18n>Name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput formControlName=\"phone\" required />\n @if (signupForm.controls['phone'].touched && signupForm.controls['phone'].invalid) {\n <mat-error>\n @if (signupForm.controls['phone'].errors?.['required']) {\n <span i18n>Phone is required</span>\n }\n @if (signupForm.controls['phone'].errors?.['pattern']) {\n <span i18n>Invalid Phone </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone code -->\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\" class=\"w-full\">\n <mat-label i18n> Code </mat-label>\n <input matInput type=\"text\" formControlName=\"code\" autocomplete=\"new-password\" required />\n @if (signupForm.controls['code'].touched && signupForm.controls['code'].invalid) {\n <mat-error>\n @if (signupForm.controls['code'].errors?.['required']) {\n <span i18n>Code is required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px] text-white text-center\">\n <span>{{ showButtonText }}</span>\n </button>\n </div>\n }\n <div class=\"flex flex-col md:flex-row gap-3 items-center\">\n <!--First name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Fist name </mat-label>\n <input matInput formControlName=\"firstName\" required />\n @if (signupForm.controls['firstName'].touched && signupForm.controls['firstName'].invalid) {\n <mat-error>\n @if (signupForm.controls['firstName'].errors?.['required']) {\n <span i18n>First name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Last name -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Last name </mat-label>\n <input matInput formControlName=\"lastName\" required />\n @if (signupForm.controls['lastName'].touched && signupForm.controls['lastName'].invalid) {\n <mat-error>\n @if (signupForm.controls['lastName'].errors?.['required']) {\n <span i18n>Last name required</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </div>\n <!-- Email account -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput formControlName=\"email\" required />\n @if (signupForm.controls['email'].touched && signupForm.controls['email'].invalid) {\n <mat-error>\n @if (signupForm.controls['email'].errors?.['required']) {\n <span i18n>Email is required</span>\n }\n @if (signupForm.controls['email'].errors?.['pattern']) {\n <span i18n>Invalid email</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- Password -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"password\" type=\"password\" autocomplete=\"password\" />\n @if (signupForm.controls['password'].touched && signupForm.controls['password'].invalid) {\n <mat-error>\n @if (signupForm.controls['password'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['password'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <!-- password confirm -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput formControlName=\"rePassword\" type=\"password\" autocomplete=\"rePassword\" />\n @if (signupForm.controls['rePassword'].touched && signupForm.controls['rePassword'].invalid) {\n <mat-error>\n @if (signupForm.controls['rePassword'].errors?.['required']) {\n <span i18n>Password required</span>\n }\n @if (signupForm.controls['rePassword'].errors?.['minlength']) {\n <span i18n>Password too short</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a mat-button [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"submit()\" class=\"w-[128px]\" i18n>Sign up</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-signup{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-signup{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"] }]
391
393
  }] });
@@ -411,10 +413,10 @@ class Forgot extends BaseComponent {
411
413
  },
412
414
  });
413
415
  }
414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Forgot, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: Forgot, isStandalone: true, selector: "rolatech-account-forgot", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your email, password reset link will send to this email.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <!-- <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Sign in</a> -->\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"send()\" class=\"w-[128px]\" i18n>Send</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-forgot{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-forgot{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
416
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Forgot, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
417
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: Forgot, isStandalone: true, selector: "rolatech-account-forgot", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your email, password reset link will send to this email.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <!-- <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Sign in</a> -->\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"send()\" class=\"w-[128px]\" i18n>Send</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-forgot{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-forgot{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
416
418
  }
417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Forgot, decorators: [{
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Forgot, decorators: [{
418
420
  type: Component,
419
421
  args: [{ selector: 'rolatech-account-forgot', imports: [FormsModule, MatInputModule, CommonModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your email, password reset link will send to this email.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <!-- content -->\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Email </mat-label>\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <!-- actions -->\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <!-- <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signUpUrl\" i18n>Sign in</a> -->\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"send()\" class=\"w-[128px]\" i18n>Send</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-account-forgot{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-forgot{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"] }]
420
422
  }] });
@@ -461,10 +463,10 @@ class PasswordReset extends BaseComponent {
461
463
  },
462
464
  });
463
465
  }
464
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PasswordReset, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
465
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PasswordReset, isStandalone: true, selector: "rolatech-account-password-reset", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n @if (invalidToken) {\n <div>\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Link invalid or expired</div>\n <div class=\"text-md ml-2\" i18n>\n To reset your password, return to the login page and select \"Forgot?\" to send a new email.\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n </div>\n </div>\n\n } @else {\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your new password.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"password\" required type=\"password\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"newPassword\" required type=\"password\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"resetPassword()\" class=\"w-[128px]\" i18n>Reset</button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["rolatech-account-password-reset{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-password-reset{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: PasswordReset, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
467
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: PasswordReset, isStandalone: true, selector: "rolatech-account-password-reset", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n @if (invalidToken) {\n <div>\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Link invalid or expired</div>\n <div class=\"text-md ml-2\" i18n>\n To reset your password, return to the login page and select \"Forgot?\" to send a new email.\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n </div>\n </div>\n\n } @else {\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your new password.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"password\" required type=\"password\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"newPassword\" required type=\"password\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"resetPassword()\" class=\"w-[128px]\" i18n>Reset</button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["rolatech-account-password-reset{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-password-reset{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], encapsulation: i0.ViewEncapsulation.None }); }
466
468
  }
467
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PasswordReset, decorators: [{
469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: PasswordReset, decorators: [{
468
470
  type: Component,
469
471
  args: [{ selector: 'rolatech-account-password-reset', imports: [FormsModule, MatInputModule, CommonModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"h-full flex items-start sm:items-center sm:justify-center\">\n <div\n class=\"w-full h-full justify-start md:h-auto p-6 lg:p-11 rounded-xl bg-[--rt-signin-inner-background] flex flex-col lg:flex-row md:justify-between xl:w-[1000px] lg:w-[900px] md:w-[600px]\"\n >\n @if (invalidToken) {\n <div>\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Link invalid or expired</div>\n <div class=\"text-md ml-2\" i18n>\n To reset your password, return to the login page and select \"Forgot?\" to send a new email.\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n </div>\n </div>\n\n } @else {\n <div class=\"flex flex-col py-6 lg:w-1/2 lg:pr-4\">\n <div class=\"text-3xl font-medium mb-3 ml-2\" i18n>Reset password</div>\n <div class=\"text-md ml-2\" i18n>Enter your new password.</div>\n </div>\n <div class=\"lg:w-1/2 lg:pl-4\">\n <div class=\"pt-6 min-w-[320px] min-h-[214px]\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"password\" required type=\"password\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Password </mat-label>\n <input matInput [(ngModel)]=\"newPassword\" required type=\"password\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a class=\"underline underline-offset-4 text-sm text-[--rt-brand-color]\" [href]=\"signInUrl\" i18n>Sign in</a>\n <button mat-flat-button (click)=\"resetPassword()\" class=\"w-[128px]\" i18n>Reset</button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["rolatech-account-password-reset{height:100%;color:var(--rt-text-primary, #0f0f0f);background:var(--rt-signin-background)}@media(max-width:600px){rolatech-account-password-reset{background:var(--rt-signin-inner-background)}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}mat-form-field{width:100%}\n"] }]
470
472
  }] });
@@ -502,35 +504,35 @@ const accountRoutes = [
502
504
  const myaccountRoutes = [
503
505
  {
504
506
  path: '',
505
- loadComponent: () => import('./rolatech-angular-account-home.component-C1XN9r6C.mjs').then((c) => c.HomeComponent),
507
+ loadComponent: () => import('./rolatech-angular-account-home.component-C8nUVoGu.mjs').then((c) => c.HomeComponent),
506
508
  data: { title: '首页' },
507
509
  },
508
510
  {
509
511
  path: 'personal-info',
510
- loadComponent: () => import('./rolatech-angular-account-info.component-BYm38AN1.mjs').then((c) => c.InfoComponent),
512
+ loadComponent: () => import('./rolatech-angular-account-info.component-D-b2xEFv.mjs').then((c) => c.InfoComponent),
511
513
  },
512
514
  {
513
515
  path: 'profile',
514
- loadComponent: () => import('./rolatech-angular-account-profile.component-KZ1qb9QI.mjs').then((c) => c.ProfileComponent),
516
+ loadComponent: () => import('./rolatech-angular-account-profile.component-BdXmXOor.mjs').then((c) => c.ProfileComponent),
515
517
  },
516
518
  {
517
519
  path: 'username',
518
- loadComponent: () => import('./rolatech-angular-account-username.component-C2OwUc5r.mjs').then((c) => c.UsernameComponent),
520
+ loadComponent: () => import('./rolatech-angular-account-username.component-Dfnm2TNs.mjs').then((c) => c.UsernameComponent),
519
521
  },
520
- { path: 'gender', loadComponent: () => import('./rolatech-angular-account-gender.component-YLgNhkX7.mjs').then((c) => c.GenderComponent) },
521
- { path: 'email', loadComponent: () => import('./rolatech-angular-account-email.component-D5wIYo6L.mjs').then((c) => c.EmailComponent) },
522
+ { path: 'gender', loadComponent: () => import('./rolatech-angular-account-gender.component-BVXEyW5M.mjs').then((c) => c.GenderComponent) },
523
+ { path: 'email', loadComponent: () => import('./rolatech-angular-account-email.component-D3gr4IXg.mjs').then((c) => c.EmailComponent) },
522
524
  {
523
525
  path: 'email-verification/:id',
524
- loadComponent: () => import('./rolatech-angular-account-email-verification.component-BNeKwyq5.mjs').then((c) => c.EmailVerificationComponent),
526
+ loadComponent: () => import('./rolatech-angular-account-email-verification.component-CeeTYVUg.mjs').then((c) => c.EmailVerificationComponent),
525
527
  },
526
- { path: 'phone', loadComponent: () => import('./rolatech-angular-account-phone.component-22syWgDT.mjs').then((c) => c.PhoneComponent) },
528
+ { path: 'phone', loadComponent: () => import('./rolatech-angular-account-phone.component-DQyeBwX9.mjs').then((c) => c.PhoneComponent) },
527
529
  {
528
530
  path: 'address',
529
- loadChildren: () => import('./rolatech-angular-account-address.routes-DNdHpyci.mjs').then((r) => r.addressRoutes),
531
+ loadChildren: () => import('./rolatech-angular-account-address.routes-HCXKXdWY.mjs').then((r) => r.addressRoutes),
530
532
  },
531
533
  {
532
534
  path: 'security',
533
- loadChildren: () => import('./rolatech-angular-account-security.routes-L_ZCcqmP.mjs'),
535
+ loadChildren: () => import('./rolatech-angular-account-security.routes-D1Snb_A1.mjs'),
534
536
  data: { title: 'Security' },
535
537
  },
536
538
  {