@rolatech/angular-account 19.0.0-beta.9 → 19.1.0-beta.3

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 (106) hide show
  1. package/fesm2022/rolatech-angular-account-address-add.component-wa2bcup4.mjs +36 -0
  2. package/fesm2022/rolatech-angular-account-address-add.component-wa2bcup4.mjs.map +1 -0
  3. package/fesm2022/rolatech-angular-account-address-billing.component-BQez3wKq.mjs +35 -0
  4. package/fesm2022/rolatech-angular-account-address-billing.component-BQez3wKq.mjs.map +1 -0
  5. package/fesm2022/{rolatech-angular-account-address-detail.component-ZOfWc_yz.mjs → rolatech-angular-account-address-detail.component-BLlet9GE.mjs} +6 -6
  6. package/fesm2022/rolatech-angular-account-address-detail.component-BLlet9GE.mjs.map +1 -0
  7. package/fesm2022/{rolatech-angular-account-address-home.component-C4QYRh5u.mjs → rolatech-angular-account-address-home.component-Cq8df4BZ.mjs} +5 -5
  8. package/fesm2022/rolatech-angular-account-address-home.component-Cq8df4BZ.mjs.map +1 -0
  9. package/fesm2022/rolatech-angular-account-address-shipping.component-BoCUP8BP.mjs +40 -0
  10. package/fesm2022/rolatech-angular-account-address-shipping.component-BoCUP8BP.mjs.map +1 -0
  11. package/fesm2022/rolatech-angular-account-address-work.component-DZVmQk00.mjs +35 -0
  12. package/fesm2022/rolatech-angular-account-address-work.component-DZVmQk00.mjs.map +1 -0
  13. package/fesm2022/{rolatech-angular-account-address.routes-Ch53Z6As.mjs → rolatech-angular-account-address.routes-BG537bit.mjs} +7 -7
  14. package/fesm2022/rolatech-angular-account-address.routes-BG537bit.mjs.map +1 -0
  15. package/fesm2022/{rolatech-angular-account-email-verification.component-B8pTGyx9.mjs → rolatech-angular-account-email-verification.component-CFXEcDgQ.mjs} +5 -5
  16. package/fesm2022/rolatech-angular-account-email-verification.component-CFXEcDgQ.mjs.map +1 -0
  17. package/fesm2022/rolatech-angular-account-email.component-Cln1gL9k.mjs +44 -0
  18. package/fesm2022/rolatech-angular-account-email.component-Cln1gL9k.mjs.map +1 -0
  19. package/fesm2022/rolatech-angular-account-gender.component-BSNLzoVL.mjs +55 -0
  20. package/fesm2022/rolatech-angular-account-gender.component-BSNLzoVL.mjs.map +1 -0
  21. package/fesm2022/{rolatech-angular-account-home.component-DnsqsRNc.mjs → rolatech-angular-account-home.component-BNs5snXX.mjs} +5 -5
  22. package/fesm2022/rolatech-angular-account-home.component-BNs5snXX.mjs.map +1 -0
  23. package/fesm2022/rolatech-angular-account-info.component-3eu2_7TG.mjs +111 -0
  24. package/fesm2022/rolatech-angular-account-info.component-3eu2_7TG.mjs.map +1 -0
  25. package/fesm2022/rolatech-angular-account-phone.component-BLHE_waH.mjs +76 -0
  26. package/fesm2022/rolatech-angular-account-phone.component-BLHE_waH.mjs.map +1 -0
  27. package/fesm2022/rolatech-angular-account-profile.component-CLXgdPX-.mjs +43 -0
  28. package/fesm2022/rolatech-angular-account-profile.component-CLXgdPX-.mjs.map +1 -0
  29. package/fesm2022/rolatech-angular-account-security.routes-CQH41xZs.mjs +237 -0
  30. package/fesm2022/rolatech-angular-account-security.routes-CQH41xZs.mjs.map +1 -0
  31. package/fesm2022/rolatech-angular-account-user-CJa0pCxF.mjs +9 -0
  32. package/fesm2022/rolatech-angular-account-user-CJa0pCxF.mjs.map +1 -0
  33. package/fesm2022/rolatech-angular-account-username.component-BmX7QCbs.mjs +42 -0
  34. package/fesm2022/rolatech-angular-account-username.component-BmX7QCbs.mjs.map +1 -0
  35. package/fesm2022/rolatech-angular-account.mjs +511 -1
  36. package/fesm2022/rolatech-angular-account.mjs.map +1 -1
  37. package/index.d.ts +29 -4
  38. package/package.json +6 -6
  39. package/fesm2022/rolatech-angular-account-address-add.component-Bj6pnCLm.mjs +0 -36
  40. package/fesm2022/rolatech-angular-account-address-add.component-Bj6pnCLm.mjs.map +0 -1
  41. package/fesm2022/rolatech-angular-account-address-billing.component-P1YV-5wC.mjs +0 -35
  42. package/fesm2022/rolatech-angular-account-address-billing.component-P1YV-5wC.mjs.map +0 -1
  43. package/fesm2022/rolatech-angular-account-address-detail.component-ZOfWc_yz.mjs.map +0 -1
  44. package/fesm2022/rolatech-angular-account-address-home.component-C4QYRh5u.mjs.map +0 -1
  45. package/fesm2022/rolatech-angular-account-address-shipping.component-DhXX3Ksi.mjs +0 -40
  46. package/fesm2022/rolatech-angular-account-address-shipping.component-DhXX3Ksi.mjs.map +0 -1
  47. package/fesm2022/rolatech-angular-account-address-work.component-DELZ5ymv.mjs +0 -35
  48. package/fesm2022/rolatech-angular-account-address-work.component-DELZ5ymv.mjs.map +0 -1
  49. package/fesm2022/rolatech-angular-account-address.routes-Ch53Z6As.mjs.map +0 -1
  50. package/fesm2022/rolatech-angular-account-email-verification.component-B8pTGyx9.mjs.map +0 -1
  51. package/fesm2022/rolatech-angular-account-email.component-Q9ZpDLPX.mjs +0 -44
  52. package/fesm2022/rolatech-angular-account-email.component-Q9ZpDLPX.mjs.map +0 -1
  53. package/fesm2022/rolatech-angular-account-gender.component-DrxiKHvu.mjs +0 -55
  54. package/fesm2022/rolatech-angular-account-gender.component-DrxiKHvu.mjs.map +0 -1
  55. package/fesm2022/rolatech-angular-account-home.component-DnsqsRNc.mjs.map +0 -1
  56. package/fesm2022/rolatech-angular-account-info.component-BwS2LI6u.mjs +0 -112
  57. package/fesm2022/rolatech-angular-account-info.component-BwS2LI6u.mjs.map +0 -1
  58. package/fesm2022/rolatech-angular-account-login.routes-CHrOk4GX.mjs +0 -43
  59. package/fesm2022/rolatech-angular-account-login.routes-CHrOk4GX.mjs.map +0 -1
  60. package/fesm2022/rolatech-angular-account-phone.component-CYHAQ-Zb.mjs +0 -76
  61. package/fesm2022/rolatech-angular-account-phone.component-CYHAQ-Zb.mjs.map +0 -1
  62. package/fesm2022/rolatech-angular-account-profile.component-JIuW8kyu.mjs +0 -43
  63. package/fesm2022/rolatech-angular-account-profile.component-JIuW8kyu.mjs.map +0 -1
  64. package/fesm2022/rolatech-angular-account-rolatech-angular-account-B10UbSq5.mjs +0 -465
  65. package/fesm2022/rolatech-angular-account-rolatech-angular-account-B10UbSq5.mjs.map +0 -1
  66. package/fesm2022/rolatech-angular-account-security.routes-ezGjJPgA.mjs +0 -237
  67. package/fesm2022/rolatech-angular-account-security.routes-ezGjJPgA.mjs.map +0 -1
  68. package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs +0 -9
  69. package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs.map +0 -1
  70. package/fesm2022/rolatech-angular-account-username.component-C4k-jzFG.mjs +0 -42
  71. package/fesm2022/rolatech-angular-account-username.component-C4k-jzFG.mjs.map +0 -1
  72. package/lib/account.routes.d.ts +0 -2
  73. package/lib/components/avatar-update-dialog/avatar-update-dialog.component.d.ts +0 -22
  74. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -8
  75. package/lib/components/index.d.ts +0 -1
  76. package/lib/components/login/login-wechat/login-wechat.component.d.ts +0 -15
  77. package/lib/components/login/login.routes.d.ts +0 -3
  78. package/lib/components/logout/logout.component.d.ts +0 -19
  79. package/lib/components/passwordreset/passwordreset.component.d.ts +0 -8
  80. package/lib/components/topbar-login/topbar-login.component.d.ts +0 -20
  81. package/lib/contant/user.d.ts +0 -5
  82. package/lib/myaccount.routes.d.ts +0 -2
  83. package/lib/pages/accounts/signin/signin.component.d.ts +0 -39
  84. package/lib/pages/accounts/signup/signup.component.d.ts +0 -21
  85. package/lib/pages/myaccount/address/address-add/address-add.component.d.ts +0 -11
  86. package/lib/pages/myaccount/address/address-billing/address-billing.component.d.ts +0 -12
  87. package/lib/pages/myaccount/address/address-detail/address-detail.component.d.ts +0 -14
  88. package/lib/pages/myaccount/address/address-home/address-home.component.d.ts +0 -12
  89. package/lib/pages/myaccount/address/address-shipping/address-shipping.component.d.ts +0 -12
  90. package/lib/pages/myaccount/address/address-work/address-work.component.d.ts +0 -12
  91. package/lib/pages/myaccount/address/address.routes.d.ts +0 -2
  92. package/lib/pages/myaccount/email/email.component.d.ts +0 -15
  93. package/lib/pages/myaccount/email-verification/email-verification.component.d.ts +0 -9
  94. package/lib/pages/myaccount/gender/gender.component.d.ts +0 -17
  95. package/lib/pages/myaccount/home/home.component.d.ts +0 -11
  96. package/lib/pages/myaccount/personal-info/info.component.d.ts +0 -18
  97. package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +0 -14
  98. package/lib/pages/myaccount/personal-info/username/username.component.d.ts +0 -14
  99. package/lib/pages/myaccount/phone/phone.component.d.ts +0 -19
  100. package/lib/pages/myaccount/security/security-faceid/security-faceid.component.d.ts +0 -5
  101. package/lib/pages/myaccount/security/security-index/security-index.component.d.ts +0 -22
  102. package/lib/pages/myaccount/security/security-password/security-password.component.d.ts +0 -16
  103. package/lib/pages/myaccount/security/security-verification/security-verification.component.d.ts +0 -24
  104. package/lib/pages/myaccount/security/security.routes.d.ts +0 -3
  105. package/lib/services/wechat-login.service.d.ts +0 -9
  106. package/provider.d.ts +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-account-email.component-Cln1gL9k.mjs","sources":["../tmp-esm2022/lib/pages/myaccount/email/email.component.js"],"sourcesContent":["import { Component, effect, inject } from '@angular/core';\nimport { AuthStore, 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';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/material/input\";\nexport class EmailComponent extends BaseComponent {\n constructor() {\n super();\n this.authUserService = inject(AuthUserService);\n this.authStore = inject(AuthStore);\n this.user = this.authStore.user;\n this.email = '';\n effect(() => {\n this.email = this.user()?.email;\n });\n }\n ngOnInit() { }\n save() {\n this.authUserService.update({ email: this.email }).subscribe({\n next: (res) => {\n this.snackBarService.open('Update successfully');\n this.authStore.updateEmail(this.email);\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: EmailComponent, isStandalone: true, selector: \"rolatech-account-email\", usesInheritance: true, ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Update email\\\" link=\\\"/personal-info\\\" divider></rolatech-toolbar>\\n <div class=\\\"py-3\\\">\\n <p class=\\\"text-md\\\" i18n>You can get more information about our services by email</p>\\n <div class=\\\"flex flex-col mt-6\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput [(ngModel)]=\\\"email\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex justify-end items-center mt-3\\\">\\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: 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\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: EmailComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, ContainerComponent, ToolbarComponent], selector: 'rolatech-account-email', template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Update email\\\" link=\\\"/personal-info\\\" divider></rolatech-toolbar>\\n <div class=\\\"py-3\\\">\\n <p class=\\\"text-md\\\" i18n>You can get more information about our services by email</p>\\n <div class=\\\"flex flex-col mt-6\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput [(ngModel)]=\\\"email\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex justify-end items-center mt-3\\\">\\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\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L2VtYWlsL2VtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9lbWFpbC9lbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxNQUFNLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBUWpFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUsvQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBTFYsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQixTQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDckMsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHN0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixJQUFJO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXZCVSxjQUFjO2tHQUFkLGNBQWMseUdDWjNCLHVwQkFlQSx5RERSWSxtQkFBbUIsOG1CQUFFLHVCQUF1QixrNkJBQUUsbUJBQW1CLGlFQUFFLGtCQUFrQiwrREFBRSxnQkFBZ0I7OzJGQUt0RyxjQUFjO2tCQU4xQixTQUFTOzhCQUNDLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsWUFDeEcsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFBMQVRGT1JNX0lELCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIG1vZGVsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoU3RvcmUsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQ29udGFpbmVyQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCYWNrQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYWNrQnV0dG9uRGlyZWN0aXZlLCBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWFjY291bnQtZW1haWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbWFpbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgYXV0aFN0b3JlID0gaW5qZWN0KEF1dGhTdG9yZSk7XG4gIHByb3RlY3RlZCB1c2VyID0gdGhpcy5hdXRoU3RvcmUudXNlcjtcbiAgZW1haWw6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmVtYWlsID0gdGhpcy51c2VyKCk/LmVtYWlsO1xuICAgIH0pO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBzYXZlKCkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLnVwZGF0ZSh7IGVtYWlsOiB0aGlzLmVtYWlsIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1VwZGF0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgdGhpcy5hdXRoU3RvcmUudXBkYXRlRW1haWwodGhpcy5lbWFpbCEpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1jb250YWluZXI+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiVXBkYXRlIGVtYWlsXCIgbGluaz1cIi9wZXJzb25hbC1pbmZvXCIgZGl2aWRlcj48L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LW1kXCIgaTE4bj5Zb3UgY2FuIGdldCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG91ciBzZXJ2aWNlcyBieSBlbWFpbDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC02XCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiZW1haWxcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgbXQtM1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHJvbGF0ZWNoQmFja0J1dHRvbiBpMThuPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTIwIG1sLTNcIiAoY2xpY2spPVwic2F2ZSgpXCIgaTE4bj5TYXZlPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1jb250YWluZXI+XG4iXX0="],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, effect, Component } from '@angular/core';
3
+ import * as i3 from '@angular/material/radio';
4
+ import { MatRadioModule } from '@angular/material/radio';
5
+ import { AuthUserService, AuthService } from '@rolatech/angular-auth';
6
+ import { AngularCommonModule } from '@rolatech/angular-common';
7
+ import { BaseComponent, AngularComponentsModule, ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';
8
+ import { BackButtonDirective } from '@rolatech/angular-services';
9
+ import { U as UserGender } from './rolatech-angular-account-user-CJa0pCxF.mjs';
10
+ import * as i2 from '@angular/material/button';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import * as i1 from '@angular/forms';
13
+
14
+ class GenderComponent extends BaseComponent {
15
+ constructor() {
16
+ super();
17
+ this.authUserService = inject(AuthUserService);
18
+ this.GENDERS = ['Male', 'Female', 'Rather not say'];
19
+ this.gender = UserGender;
20
+ this.selectedGender = '';
21
+ this.user = inject(AuthService).user;
22
+ this.email = '';
23
+ effect(() => {
24
+ this.selectedGender = this.gender[this.user().gender];
25
+ });
26
+ }
27
+ ngOnInit() { }
28
+ save() {
29
+ this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({
30
+ next: (res) => {
31
+ this.snackBarService.open('Update successfully');
32
+ },
33
+ error: (error) => {
34
+ this.snackBarService.open(error.message);
35
+ },
36
+ });
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: GenderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: GenderComponent, isStandalone: true, selector: "rolatech-account-gender", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Gender\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <span class=\"px-2\" i18n>Your gender may be used for personalizations, including how we refer to you.</span>\n <mat-radio-group class=\"flex flex-col\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 p-2 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.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: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatRadioModule }, { 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"] }, { kind: "ngmodule", type: MatButtonModule }] }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: GenderComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ imports: [
44
+ AngularCommonModule,
45
+ AngularComponentsModule,
46
+ MatRadioModule,
47
+ BackButtonDirective,
48
+ ContainerComponent,
49
+ ToolbarComponent,
50
+ MatButtonModule,
51
+ ], selector: 'rolatech-account-gender', template: "<rolatech-container>\n <rolatech-toolbar title=\"Gender\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <span class=\"px-2\" i18n>Your gender may be used for personalizations, including how we refer to you.</span>\n <mat-radio-group class=\"flex flex-col\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n" }]
52
+ }], ctorParameters: () => [] });
53
+
54
+ export { GenderComponent };
55
+ //# sourceMappingURL=rolatech-angular-account-gender.component-BSNLzoVL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-account-gender.component-BSNLzoVL.mjs","sources":["../tmp-esm2022/lib/pages/myaccount/gender/gender.component.js"],"sourcesContent":["import { Component, effect, inject } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\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';\nimport { UserGender } from '../../../contant/user';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/radio\";\nexport class GenderComponent extends BaseComponent {\n constructor() {\n super();\n this.authUserService = inject(AuthUserService);\n this.GENDERS = ['Male', 'Female', 'Rather not say'];\n this.gender = UserGender;\n this.selectedGender = '';\n this.user = inject(AuthService).user;\n this.email = '';\n effect(() => {\n this.selectedGender = this.gender[this.user().gender];\n });\n }\n ngOnInit() { }\n save() {\n this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({\n next: (res) => {\n this.snackBarService.open('Update successfully');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: GenderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: GenderComponent, isStandalone: true, selector: \"rolatech-account-gender\", usesInheritance: true, ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Gender\\\" link=\\\"/personal-info\\\" divider></rolatech-toolbar>\\n <div class=\\\"py-3\\\">\\n <span class=\\\"px-2\\\" i18n>Your gender may be used for personalizations, including how we refer to you.</span>\\n <mat-radio-group class=\\\"flex flex-col\\\" [(ngModel)]=\\\"selectedGender\\\">\\n @for (gender of GENDERS; track gender) {\\n <mat-radio-button [value]=\\\"gender\\\">{{ gender }}</mat-radio-button>\\n }\\n </mat-radio-group>\\n <div class=\\\"flex justify-end items-center mt-3\\\">\\n <button mat-button rolatechBackButton i18n>Cancel</button>\\n <button mat-flat-button class=\\\"w-20 p-2 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.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: \"directive\", type: i3.MatRadioGroup, selector: \"mat-radio-group\", inputs: [\"color\", \"name\", \"labelPosition\", \"value\", \"selected\", \"disabled\", \"required\", \"disabledInteractive\"], outputs: [\"change\"], exportAs: [\"matRadioGroup\"] }, { kind: \"component\", type: i3.MatRadioButton, selector: \"mat-radio-button\", inputs: [\"id\", \"name\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"disableRipple\", \"tabIndex\", \"checked\", \"value\", \"labelPosition\", \"disabled\", \"required\", \"color\", \"disabledInteractive\"], outputs: [\"change\"], exportAs: [\"matRadioButton\"] }, { kind: \"ngmodule\", type: MatRadioModule }, { 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\"] }, { kind: \"ngmodule\", type: MatButtonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: GenderComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n AngularCommonModule,\n AngularComponentsModule,\n MatRadioModule,\n BackButtonDirective,\n ContainerComponent,\n ToolbarComponent,\n MatButtonModule,\n ], selector: 'rolatech-account-gender', template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Gender\\\" link=\\\"/personal-info\\\" divider></rolatech-toolbar>\\n <div class=\\\"py-3\\\">\\n <span class=\\\"px-2\\\" i18n>Your gender may be used for personalizations, including how we refer to you.</span>\\n <mat-radio-group class=\\\"flex flex-col\\\" [(ngModel)]=\\\"selectedGender\\\">\\n @for (gender of GENDERS; track gender) {\\n <mat-radio-button [value]=\\\"gender\\\">{{ gender }}</mat-radio-button>\\n }\\n </mat-radio-group>\\n <div class=\\\"flex justify-end items-center mt-3\\\">\\n <button mat-button rolatechBackButton i18n>Cancel</button>\\n <button mat-flat-button class=\\\"w-20 p-2 ml-3\\\" (click)=\\\"save()\\\" i18n>Save</button>\\n </div>\\n </div>\\n</rolatech-container>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9nZW5kZXIvZ2VuZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9nZW5kZXIvZ2VuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFnQjNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFPaEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVBWLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLFlBQU8sR0FBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxXQUFNLEdBQVEsVUFBVSxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hDLFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRzdCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRyxDQUFDLE1BQU8sQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsS0FBVSxDQUFDO0lBRW5CLElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4QlUsZUFBZTtrR0FBZixlQUFlLDBHQ3ZCNUIsOHVCQWVBLHlEREpJLG1CQUFtQiw4VkFDbkIsdUJBQXVCLHk2QkFDdkIsY0FBYywrQkFDZCxtQkFBbUIsaUVBQ25CLGtCQUFrQiwrREFDbEIsZ0JBQWdCLCtIQUNoQixlQUFlOzsyRkFNTixlQUFlO2tCQWQzQixTQUFTOzhCQUNDO3dCQUNQLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCLFlBQ1MseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIENvbnRhaW5lckNvbXBvbmVudCwgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFja0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IFVzZXJHZW5kZXIgfSBmcm9tICcuLi8uLi8uLi9jb250YW50L3VzZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtcbiAgICBBbmd1bGFyQ29tbW9uTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIEJhY2tCdXR0b25EaXJlY3RpdmUsXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICBdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWFjY291bnQtZ2VuZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dlbmRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHZW5kZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG4gIEdFTkRFUlM6IHN0cmluZ1tdID0gWydNYWxlJywgJ0ZlbWFsZScsICdSYXRoZXIgbm90IHNheSddO1xuICBnZW5kZXI6IGFueSA9IFVzZXJHZW5kZXI7XG4gIHNlbGVjdGVkR2VuZGVyID0gJyc7XG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIGVtYWlsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEdlbmRlciA9IHRoaXMuZ2VuZGVyW3RoaXMudXNlcigpIS5nZW5kZXIhXTtcbiAgICB9KTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS51cGRhdGUoeyBnZW5kZXI6IHRoaXMuZ2VuZGVyW3RoaXMuc2VsZWN0ZWRHZW5kZXJdIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1VwZGF0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkdlbmRlclwiIGxpbms9XCIvcGVyc29uYWwtaW5mb1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgIDxzcGFuIGNsYXNzPVwicHgtMlwiIGkxOG4+WW91ciBnZW5kZXIgbWF5IGJlIHVzZWQgZm9yIHBlcnNvbmFsaXphdGlvbnMsIGluY2x1ZGluZyBob3cgd2UgcmVmZXIgdG8geW91Ljwvc3Bhbj5cbiAgICA8bWF0LXJhZGlvLWdyb3VwIGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRHZW5kZXJcIj5cbiAgICAgIEBmb3IgKGdlbmRlciBvZiBHRU5ERVJTOyB0cmFjayBnZW5kZXIpIHtcbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cImdlbmRlclwiPnt7IGdlbmRlciB9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgbXQtM1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHJvbGF0ZWNoQmFja0J1dHRvbiBpMThuPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTIwIHAtMiBtbC0zXCIgKGNsaWNrKT1cInNhdmUoKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtY29udGFpbmVyPlxuIl19"],"names":[],"mappings":"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"}
@@ -11,13 +11,13 @@ class HomeComponent extends BaseComponent {
11
11
  this.selectIndex = model(1);
12
12
  }
13
13
  ngOnInit() { }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: HomeComponent, isStandalone: true, selector: "rolatech-account-home", inputs: { selectIndex: { classPropertyName: "selectIndex", publicName: "selectIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectIndex: "selectIndexChange" }, usesInheritance: true, ngImport: i0, template: "@if (user(); as user) {\n <rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-[--rt-brand-color]\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" alt=\"avatar img\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\" i18n>\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: HomeComponent, isStandalone: true, selector: "rolatech-account-home", inputs: { selectIndex: { classPropertyName: "selectIndex", publicName: "selectIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectIndex: "selectIndexChange" }, usesInheritance: true, ngImport: i0, template: "@if (user(); as user) {\n <rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-[--rt-brand-color]\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" alt=\"avatar img\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\" i18n>Welcome back, {{ user.name }}</p>\n <p class=\"text-md\" i18n>Manage your info, privacy, and security to make work better for you.</p>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: HomeComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: HomeComponent, decorators: [{
18
18
  type: Component,
19
- args: [{ imports: [AngularCommonModule, AngularComponentsModule, ContainerComponent], selector: 'rolatech-account-home', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (user(); as user) {\n <rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-[--rt-brand-color]\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" alt=\"avatar img\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\" i18n>\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-container>\n}\n" }]
19
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, ContainerComponent], selector: 'rolatech-account-home', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (user(); as user) {\n <rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-[--rt-brand-color]\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" alt=\"avatar img\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\" i18n>Welcome back, {{ user.name }}</p>\n <p class=\"text-md\" i18n>Manage your info, privacy, and security to make work better for you.</p>\n </div>\n </div>\n </rolatech-container>\n}\n" }]
20
20
  }], ctorParameters: () => [] });
21
21
 
22
22
  export { HomeComponent };
23
- //# sourceMappingURL=rolatech-angular-account-home.component-DnsqsRNc.mjs.map
23
+ //# sourceMappingURL=rolatech-angular-account-home.component-BNs5snXX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-account-home.component-BNs5snXX.mjs","sources":["../tmp-esm2022/lib/pages/myaccount/home/home.component.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, model } from '@angular/core';\nimport { AuthService } from '@rolatech/angular-auth';\nimport { AngularComponentsModule, ContainerComponent, BaseComponent } from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nexport class HomeComponent extends BaseComponent {\n constructor() {\n super();\n this.user = inject(AuthService).user;\n this.selectIndex = model(1);\n }\n ngOnInit() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: HomeComponent, isStandalone: true, selector: \"rolatech-account-home\", inputs: { selectIndex: { classPropertyName: \"selectIndex\", publicName: \"selectIndex\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectIndex: \"selectIndexChange\" }, usesInheritance: true, ngImport: i0, template: \"@if (user(); as user) {\\n <rolatech-container>\\n <div class=\\\"max-w-[820px] m-3\\\">\\n <div class=\\\"flex flex-col justify-center items-center p-3 mb-12\\\">\\n <div class=\\\"p-3 mb-3\\\">\\n <div class=\\\"w-20 h-20 rounded-full bg-[--rt-brand-color]\\\">\\n @if (user.avatar) {\\n <img class=\\\"w-20 h-20 rounded-full object-cover\\\" [src]=\\\"user.avatar\\\" alt=\\\"avatar img\\\" />\\n }\\n </div>\\n </div>\\n <p class=\\\"text-3xl\\\" i18n>Welcome back, {{ user.name }}</p>\\n <p class=\\\"text-md\\\" i18n>Manage your info, privacy, and security to make work better for you.</p>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: HomeComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule, ContainerComponent], selector: 'rolatech-account-home', changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (user(); as user) {\\n <rolatech-container>\\n <div class=\\\"max-w-[820px] m-3\\\">\\n <div class=\\\"flex flex-col justify-center items-center p-3 mb-12\\\">\\n <div class=\\\"p-3 mb-3\\\">\\n <div class=\\\"w-20 h-20 rounded-full bg-[--rt-brand-color]\\\">\\n @if (user.avatar) {\\n <img class=\\\"w-20 h-20 rounded-full object-cover\\\" [src]=\\\"user.avatar\\\" alt=\\\"avatar img\\\" />\\n }\\n </div>\\n </div>\\n <p class=\\\"text-3xl\\\" i18n>Welcome back, {{ user.name }}</p>\\n <p class=\\\"text-md\\\" i18n>Manage your info, privacy, and security to make work better for you.</p>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvaG9tZS9ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9ob21lL2hvbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBUy9ELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQUc5QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBSFYsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFHdkIsQ0FBQztJQUNELFFBQVEsS0FBVSxDQUFDOzhHQU5SLGFBQWE7a0dBQWIsYUFBYSw2U0NaMUIsdXJCQWlCQSx5RERYWSxtQkFBbUIsOEJBQUUsdUJBQXVCLCtCQUFFLGtCQUFrQjs7MkZBTS9ELGFBQWE7a0JBUHpCLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQyxZQUNqRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIG1vZGVsLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQ29udGFpbmVyQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhvbWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdXNlciA9IGluamVjdChBdXRoU2VydmljZSkudXNlcjtcbiAgc2VsZWN0SW5kZXggPSBtb2RlbCgxKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG59XG4iLCJAaWYgKHVzZXIoKTsgYXMgdXNlcikge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJtYXgtdy1bODIwcHhdIG0tM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHAtMyBtYi0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIG1iLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0yMCBoLTIwIHJvdW5kZWQtZnVsbCBiZy1bLS1ydC1icmFuZC1jb2xvcl1cIj5cbiAgICAgICAgICAgIEBpZiAodXNlci5hdmF0YXIpIHtcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMjAgaC0yMCByb3VuZGVkLWZ1bGwgb2JqZWN0LWNvdmVyXCIgW3NyY109XCJ1c2VyLmF2YXRhclwiIGFsdD1cImF2YXRhciBpbWdcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LTN4bFwiIGkxOG4+V2VsY29tZSBiYWNrLCB7eyB1c2VyLm5hbWUgfX08L3A+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1tZFwiIGkxOG4+TWFuYWdlIHlvdXIgaW5mbywgcHJpdmFjeSwgYW5kIHNlY3VyaXR5IHRvIG1ha2Ugd29yayBiZXR0ZXIgZm9yIHlvdS48L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0="],"names":[],"mappings":";;;;;;AAKO,MAAM,aAAa,SAAS,aAAa,CAAC;AACjD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI;AAC5C,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;AACnC;AACA,IAAI,QAAQ,GAAG;AACf,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,urBAAurB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACh2C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,urBAAurB,EAAE;AACz3B,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;;;"}
@@ -0,0 +1,111 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, output, Inject, Component } from '@angular/core';
3
+ import { AuthUserService, AuthService } from '@rolatech/angular-auth';
4
+ import { AngularCommonModule, AddressFormatPipe } from '@rolatech/angular-common';
5
+ import { AngularComponentsModule, SpinnerComponent, ContainerComponent } from '@rolatech/angular-components';
6
+ import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
7
+ import { U as UserGender } from './rolatech-angular-account-user-CJa0pCxF.mjs';
8
+ import { CommonModule } from '@angular/common';
9
+ import * as i2 from '@angular/material/button';
10
+ import { MatButtonModule } from '@angular/material/button';
11
+ import * as i3 from '@angular/material/icon';
12
+ import { MatIconModule } from '@angular/material/icon';
13
+ import { SnackBarService } from '@rolatech/angular-services';
14
+ import * as i1 from '@angular/router';
15
+ import * as i2$1 from '@angular/material/divider';
16
+ import * as i4 from '@angular/material/list';
17
+
18
+ class AvatarUpdateDialogComponent {
19
+ constructor(data) {
20
+ this.data = data;
21
+ this.dialogRef = inject(MatDialogRef);
22
+ this.authUserService = inject(AuthUserService);
23
+ this.snackBarService = inject(SnackBarService);
24
+ this.avatar = '';
25
+ this.save = output();
26
+ this.avatar = data.avatar;
27
+ }
28
+ cancel() {
29
+ this.dialogRef.close();
30
+ }
31
+ onSave() {
32
+ this.save.emit(this.avatar);
33
+ }
34
+ onUpload(event) {
35
+ const file = event.target.files[0];
36
+ if (file) {
37
+ const reader = new FileReader();
38
+ reader.readAsDataURL(file);
39
+ reader.onload = () => {
40
+ this.avatar = reader.result;
41
+ // this.isUploading = true;
42
+ const formData = new FormData();
43
+ formData.append('file', file);
44
+ this.authUserService.uploadAvatar(formData).subscribe({
45
+ next: (res) => {
46
+ this.snackBarService.open('Update successfully');
47
+ // this.isUploading = false;
48
+ },
49
+ error: (e) => {
50
+ // this.isUploading = false;
51
+ // this.snackBar.open('Upload failed: ' + e.message);
52
+ },
53
+ });
54
+ };
55
+ reader.onerror = (error) => {
56
+ // this.isUploading = false;
57
+ };
58
+ }
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AvatarUpdateDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: AvatarUpdateDialogComponent, isStandalone: true, selector: "rolatech-account-avatar-update-dialog", outputs: { save: "save" }, ngImport: i0, template: "<div class=\"flex flex-col p-3 max-w-[500px] mx-auto\">\n <div class=\"text-xl font-bold p-3\" i18n>Update profile picture</div>\n <div class=\"px-3 py-8\">\n <div\n class=\"bg-[--rt-brand-color] w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (avatar) {\n <div class=\"w-[256px] h-[256px]\">\n <img [src]=\"avatar\" class=\"w-[256px] h-[256px] rounded-full object-cover\" alt=\"avatar img\" />\n </div>\n }\n </div>\n </div>\n\n <div class=\"py-3\">\n <input style=\"display: none\" type=\"file\" accept=\"image/*\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Change profile picture</span>\n </button>\n </div>\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"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AvatarUpdateDialogComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'rolatech-account-avatar-update-dialog', imports: [CommonModule, MatButtonModule, MatIconModule], template: "<div class=\"flex flex-col p-3 max-w-[500px] mx-auto\">\n <div class=\"text-xl font-bold p-3\" i18n>Update profile picture</div>\n <div class=\"px-3 py-8\">\n <div\n class=\"bg-[--rt-brand-color] w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (avatar) {\n <div class=\"w-[256px] h-[256px]\">\n <img [src]=\"avatar\" class=\"w-[256px] h-[256px] rounded-full object-cover\" alt=\"avatar img\" />\n </div>\n }\n </div>\n </div>\n\n <div class=\"py-3\">\n <input style=\"display: none\" type=\"file\" accept=\"image/*\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Change profile picture</span>\n </button>\n </div>\n</div>\n" }]
66
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [MAT_DIALOG_DATA]
69
+ }] }] });
70
+
71
+ class InfoComponent {
72
+ constructor() {
73
+ this.authUserService = inject(AuthUserService);
74
+ this.dialog = inject(MatDialog);
75
+ this.user = inject(AuthService).user;
76
+ this.gender = UserGender;
77
+ }
78
+ ngOnInit() {
79
+ this.findUserAddress();
80
+ }
81
+ updateAvatar(avatar) {
82
+ const dialogRef = this.dialog.open(AvatarUpdateDialogComponent, {
83
+ data: {
84
+ avatar: avatar,
85
+ },
86
+ });
87
+ dialogRef.afterClosed().subscribe((result) => {
88
+ location.reload();
89
+ });
90
+ }
91
+ findUserAddress() {
92
+ this.authUserService.findAllAddress({}).subscribe({
93
+ next: (res) => {
94
+ if (res.data) {
95
+ this.homeAddress = res.data.filter((item) => item.type === 'HOME')[0];
96
+ this.workAddress = res.data.filter((item) => item.type === 'WORK')[0];
97
+ this.billingAddress = res.data.filter((item) => item.type === 'BILLING')[0];
98
+ }
99
+ },
100
+ });
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: InfoComponent, isStandalone: true, selector: "rolatech-account-info", ngImport: i0, template: "<rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user(); as user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-8\">\n <p class=\"text-3xl\" i18n>Personal info</p>\n <p class=\"text-md\" i18n>Personal info and options to manage it.</p>\n </div>\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\">\n <div class=\"p-3 text-xl\" i18n>Basic info</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar(user?.avatar)\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Profile picture</span>\n <span class=\"w-24 text-sm text-[--rt-text-primary]\" i18n>A picture helps people recognize you</span>\n </div>\n <div\n class=\"mr-6 bg-[--rt-brand-color] w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" alt=\"avatar img\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Name</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Gender</span>\n <span>{{ gender[user.gender] || 'Untitled' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\">Username</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\">\n <div class=\"p-3 text-xl\" i18n>Contact</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Email</span>\n <span i18n>{{ user.email || 'Untitled' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Phone</span>\n <span i18n>{{ user.phone || 'Untitled' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- address -->\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\" i18n>Addresses</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../address/home\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Home address</span>\n <span>{{ homeAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../address/work\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Work address</span>\n <span>{{ workAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-list-item routerLink=\"../address/billing\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Billing address</span>\n <span>{{ billingAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-list-item routerLink=\"../address/shipping\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Shipping address</span>\n <!-- <span>{{ shippingAddress || 'Untitled' }}</span> -->\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "pipe", type: AddressFormatPipe, name: "address" }] }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: InfoComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ContainerComponent, AddressFormatPipe], selector: 'rolatech-account-info', template: "<rolatech-container>\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user(); as user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-8\">\n <p class=\"text-3xl\" i18n>Personal info</p>\n <p class=\"text-md\" i18n>Personal info and options to manage it.</p>\n </div>\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\">\n <div class=\"p-3 text-xl\" i18n>Basic info</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar(user?.avatar)\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Profile picture</span>\n <span class=\"w-24 text-sm text-[--rt-text-primary]\" i18n>A picture helps people recognize you</span>\n </div>\n <div\n class=\"mr-6 bg-[--rt-brand-color] w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" alt=\"avatar img\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Name</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Gender</span>\n <span>{{ gender[user.gender] || 'Untitled' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\">Username</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\">\n <div class=\"p-3 text-xl\" i18n>Contact</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Email</span>\n <span i18n>{{ user.email || 'Untitled' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm\" i18n>Phone</span>\n <span i18n>{{ user.phone || 'Untitled' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- address -->\n <div class=\"border border-[--rt-border-color] rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\" i18n>Addresses</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../address/home\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Home address</span>\n <span>{{ homeAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../address/work\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Work address</span>\n <span>{{ workAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-list-item routerLink=\"../address/billing\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Billing address</span>\n <span>{{ billingAddress | address }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-list-item routerLink=\"../address/shipping\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center justify-between\">\n <span class=\"w-24 text-sm\" i18n>Shipping address</span>\n <!-- <span>{{ shippingAddress || 'Untitled' }}</span> -->\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n" }]
108
+ }] });
109
+
110
+ export { InfoComponent };
111
+ //# sourceMappingURL=rolatech-angular-account-info.component-3eu2_7TG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-account-info.component-3eu2_7TG.mjs","sources":["../tmp-esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.js","../tmp-esm2022/lib/pages/myaccount/personal-info/info.component.js"],"sourcesContent":["import { Component, Inject, inject, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SnackBarService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class AvatarUpdateDialogComponent {\n constructor(data) {\n this.data = data;\n this.dialogRef = inject(MatDialogRef);\n this.authUserService = inject(AuthUserService);\n this.snackBarService = inject(SnackBarService);\n this.avatar = '';\n this.save = output();\n this.avatar = data.avatar;\n }\n cancel() {\n this.dialogRef.close();\n }\n onSave() {\n this.save.emit(this.avatar);\n }\n onUpload(event) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n this.avatar = reader.result;\n // this.isUploading = true;\n const formData = new FormData();\n formData.append('file', file);\n this.authUserService.uploadAvatar(formData).subscribe({\n next: (res) => {\n this.snackBarService.open('Update successfully');\n // this.isUploading = false;\n },\n error: (e) => {\n // this.isUploading = false;\n // this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n };\n reader.onerror = (error) => {\n // this.isUploading = false;\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AvatarUpdateDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: AvatarUpdateDialogComponent, isStandalone: true, selector: \"rolatech-account-avatar-update-dialog\", outputs: { save: \"save\" }, ngImport: i0, template: \"<div class=\\\"flex flex-col p-3 max-w-[500px] mx-auto\\\">\\n <div class=\\\"text-xl font-bold p-3\\\" i18n>Update profile picture</div>\\n <div class=\\\"px-3 py-8\\\">\\n <div\\n class=\\\"bg-[--rt-brand-color] w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\\\"\\n >\\n @if (avatar) {\\n <div class=\\\"w-[256px] h-[256px]\\\">\\n <img [src]=\\\"avatar\\\" class=\\\"w-[256px] h-[256px] rounded-full object-cover\\\" alt=\\\"avatar img\\\" />\\n </div>\\n }\\n </div>\\n </div>\\n\\n <div class=\\\"py-3\\\">\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <button mat-flat-button (click)=\\\"fileInput.click()\\\">\\n <mat-icon>edit</mat-icon>\\n <span i18n>Change profile picture</span>\\n </button>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AvatarUpdateDialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-account-avatar-update-dialog', imports: [CommonModule, MatButtonModule, MatIconModule], template: \"<div class=\\\"flex flex-col p-3 max-w-[500px] mx-auto\\\">\\n <div class=\\\"text-xl font-bold p-3\\\" i18n>Update profile picture</div>\\n <div class=\\\"px-3 py-8\\\">\\n <div\\n class=\\\"bg-[--rt-brand-color] w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\\\"\\n >\\n @if (avatar) {\\n <div class=\\\"w-[256px] h-[256px]\\\">\\n <img [src]=\\\"avatar\\\" class=\\\"w-[256px] h-[256px] rounded-full object-cover\\\" alt=\\\"avatar img\\\" />\\n </div>\\n }\\n </div>\\n </div>\\n\\n <div class=\\\"py-3\\\">\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <button mat-flat-button (click)=\\\"fileInput.click()\\\">\\n <mat-icon>edit</mat-icon>\\n <span i18n>Change profile picture</span>\\n </button>\\n </div>\\n</div>\\n\" }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [MAT_DIALOG_DATA]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXVwZGF0ZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvY29tcG9uZW50cy9hdmF0YXItdXBkYXRlLWRpYWxvZy9hdmF0YXItdXBkYXRlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2F2YXRhci11cGRhdGUtZGlhbG9nL2F2YXRhci11cGRhdGUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBUTdELE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFBNEMsSUFBd0I7UUFBeEIsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFOcEUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLFNBQUksR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUduQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBVTtRQUNqQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLDJCQUEyQjtnQkFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRTlCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDcEQsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7d0JBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7d0JBQ2pELDRCQUE0QjtvQkFDOUIsQ0FBQztvQkFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDWCw0QkFBNEI7d0JBQzVCLHFEQUFxRDtvQkFDdkQsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLDRCQUE0QjtZQUM5QixDQUFDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0EzQ1UsMkJBQTJCLGtCQU9sQixlQUFlO2tHQVB4QiwyQkFBMkIsNEhDZHhDLGkyQkFzQkEseUREWlksWUFBWSw4QkFBRSxlQUFlLG1YQUFFLGFBQWE7OzJGQUkzQywyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsdUNBQXVDLFdBQ3hDLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7OzBCQVcxQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWF2YXRhci11cGRhdGUtZGlhbG9nJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci11cGRhdGUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F2YXRhci11cGRhdGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyVXBkYXRlRGlhbG9nQ29tcG9uZW50IHtcbiAgZGlhbG9nUmVmID0gaW5qZWN0KE1hdERpYWxvZ1JlZik7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBzbmFja0JhclNlcnZpY2UgPSBpbmplY3QoU25hY2tCYXJTZXJ2aWNlKTtcbiAgYXZhdGFyOiBhbnkgPSAnJztcbiAgc2F2ZSA9IG91dHB1dDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IGF2YXRhcjogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmF2YXRhciA9IGRhdGEuYXZhdGFyO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cbiAgb25TYXZlKCkge1xuICAgIHRoaXMuc2F2ZS5lbWl0KHRoaXMuYXZhdGFyKTtcbiAgfVxuICBvblVwbG9hZChldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5hdmF0YXIgPSByZWFkZXIucmVzdWx0O1xuICAgICAgICAvLyB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICAgICAgdGhpcy5hdXRoVXNlclNlcnZpY2UudXBsb2FkQXZhdGFyKGZvcm1EYXRhKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignVXBkYXRlIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgLy8gdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICAvLyB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAvLyB0aGlzLnNuYWNrQmFyLm9wZW4oJ1VwbG9hZCBmYWlsZWQ6ICcgKyBlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgIC8vIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBwLTMgbWF4LXctWzUwMHB4XSBteC1hdXRvXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBwLTNcIiBpMThuPlVwZGF0ZSBwcm9maWxlIHBpY3R1cmU8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInB4LTMgcHktOFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYmctWy0tcnQtYnJhbmQtY29sb3JdIHctWzI1NnB4XSBoLVsyNTZweF0gcm91bmRlZC1mdWxsIGN1cnNvci1wb2ludGVyIGhvdmVyOm91dGxpbmUtZ3JheS0yMDAgb3V0bGluZSBvdXRsaW5lLXRyYW5zcGFyZW50IG91dGxpbmUtNFwiXG4gICAgPlxuICAgICAgQGlmIChhdmF0YXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInctWzI1NnB4XSBoLVsyNTZweF1cIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyXCIgY2xhc3M9XCJ3LVsyNTZweF0gaC1bMjU2cHhdIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXJcIiBhbHQ9XCJhdmF0YXIgaW1nXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIChjaGFuZ2UpPVwib25VcGxvYWQoJGV2ZW50KVwiICNmaWxlSW5wdXQgLz5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIGkxOG4+Q2hhbmdlIHByb2ZpbGUgcGljdHVyZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { AddressFormatPipe, AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ContainerComponent, SpinnerComponent } from '@rolatech/angular-components';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UserGender } from '../../../contant/user';\nimport { AvatarUpdateDialogComponent } from '../../../components/avatar-update-dialog/avatar-update-dialog.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/divider\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/list\";\nexport class InfoComponent {\n constructor() {\n this.authUserService = inject(AuthUserService);\n this.dialog = inject(MatDialog);\n this.user = inject(AuthService).user;\n this.gender = UserGender;\n }\n ngOnInit() {\n this.findUserAddress();\n }\n updateAvatar(avatar) {\n const dialogRef = this.dialog.open(AvatarUpdateDialogComponent, {\n data: {\n avatar: avatar,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n location.reload();\n });\n }\n findUserAddress() {\n this.authUserService.findAllAddress({}).subscribe({\n next: (res) => {\n if (res.data) {\n this.homeAddress = res.data.filter((item) => item.type === 'HOME')[0];\n this.workAddress = res.data.filter((item) => item.type === 'WORK')[0];\n this.billingAddress = res.data.filter((item) => item.type === 'BILLING')[0];\n }\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: InfoComponent, isStandalone: true, selector: \"rolatech-account-info\", ngImport: i0, template: \"<rolatech-container>\\n <div class=\\\"max-w-[820px] m-3\\\">\\n <rolatech-spinner></rolatech-spinner>\\n @if (user(); as user) {\\n <div>\\n <div class=\\\"flex flex-col justify-center items-center p-3 mb-8\\\">\\n <p class=\\\"text-3xl\\\" i18n>Personal info</p>\\n <p class=\\\"text-md\\\" i18n>Personal info and options to manage it.</p>\\n </div>\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Basic info</div>\\n <mat-nav-list>\\n <mat-list-item (click)=\\\"updateAvatar(user?.avatar)\\\" class=\\\"h-16\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Profile picture</span>\\n <span class=\\\"w-24 text-sm text-[--rt-text-primary]\\\" i18n>A picture helps people recognize you</span>\\n </div>\\n <div\\n class=\\\"mr-6 bg-[--rt-brand-color] w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\\\"\\n >\\n @if (user.avatar) {\\n <div class=\\\"w-9 h-9\\\">\\n <img [src]=\\\"user.avatar\\\" class=\\\"w-9 h-9 rounded-full object-cover\\\" alt=\\\"avatar img\\\" />\\n </div>\\n }\\n </div>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../profile\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Name</span>\\n <span>{{ user?.name }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../gender\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Gender</span>\\n <span>{{ gender[user.gender] || 'Untitled' }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../username\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\">Username</span>\\n <span>{{ user.username }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n <!-- contact -->\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Contact</div>\\n <mat-nav-list>\\n <mat-list-item routerLink=\\\"../email\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Email</span>\\n <span i18n>{{ user.email || 'Untitled' }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../phone\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Phone</span>\\n <span i18n>{{ user.phone || 'Untitled' }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n <!-- address -->\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Addresses</div>\\n <mat-nav-list>\\n <mat-list-item routerLink=\\\"../address/home\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Home address</span>\\n <span>{{ homeAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../address/work\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Work address</span>\\n <span>{{ workAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-list-item routerLink=\\\"../address/billing\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Billing address</span>\\n <span>{{ billingAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-list-item routerLink=\\\"../address/shipping\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Shipping address</span>\\n <!-- <span>{{ shippingAddress || 'Untitled' }}</span> -->\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n </div>\\n }\\n </div>\\n</rolatech-container>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i4.MatNavList, selector: \"mat-nav-list\", exportAs: [\"matNavList\"] }, { kind: \"component\", type: i4.MatListItem, selector: \"mat-list-item, a[mat-list-item], button[mat-list-item]\", inputs: [\"activated\"], exportAs: [\"matListItem\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"pipe\", type: AddressFormatPipe, name: \"address\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: InfoComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ContainerComponent, AddressFormatPipe], selector: 'rolatech-account-info', template: \"<rolatech-container>\\n <div class=\\\"max-w-[820px] m-3\\\">\\n <rolatech-spinner></rolatech-spinner>\\n @if (user(); as user) {\\n <div>\\n <div class=\\\"flex flex-col justify-center items-center p-3 mb-8\\\">\\n <p class=\\\"text-3xl\\\" i18n>Personal info</p>\\n <p class=\\\"text-md\\\" i18n>Personal info and options to manage it.</p>\\n </div>\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Basic info</div>\\n <mat-nav-list>\\n <mat-list-item (click)=\\\"updateAvatar(user?.avatar)\\\" class=\\\"h-16\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Profile picture</span>\\n <span class=\\\"w-24 text-sm text-[--rt-text-primary]\\\" i18n>A picture helps people recognize you</span>\\n </div>\\n <div\\n class=\\\"mr-6 bg-[--rt-brand-color] w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\\\"\\n >\\n @if (user.avatar) {\\n <div class=\\\"w-9 h-9\\\">\\n <img [src]=\\\"user.avatar\\\" class=\\\"w-9 h-9 rounded-full object-cover\\\" alt=\\\"avatar img\\\" />\\n </div>\\n }\\n </div>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../profile\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Name</span>\\n <span>{{ user?.name }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../gender\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Gender</span>\\n <span>{{ gender[user.gender] || 'Untitled' }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../username\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\">Username</span>\\n <span>{{ user.username }}</span>\\n </div>\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n <!-- contact -->\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3 mb-8\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Contact</div>\\n <mat-nav-list>\\n <mat-list-item routerLink=\\\"../email\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Email</span>\\n <span i18n>{{ user.email || 'Untitled' }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../phone\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Phone</span>\\n <span i18n>{{ user.phone || 'Untitled' }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n <!-- address -->\\n <div class=\\\"border border-[--rt-border-color] rounded px-3 pt-3\\\">\\n <div class=\\\"p-3 text-xl\\\" i18n>Addresses</div>\\n <mat-nav-list>\\n <mat-list-item routerLink=\\\"../address/home\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Home address</span>\\n <span>{{ homeAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-divider class=\\\"mx-3\\\"></mat-divider>\\n <mat-list-item routerLink=\\\"../address/work\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Work address</span>\\n <span>{{ workAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-list-item routerLink=\\\"../address/billing\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Billing address</span>\\n <span>{{ billingAddress | address }}</span>\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n <mat-list-item routerLink=\\\"../address/shipping\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <div class=\\\"flex flex-1 items-center justify-between\\\">\\n <span class=\\\"w-24 text-sm\\\" i18n>Shipping address</span>\\n <!-- <span>{{ shippingAddress || 'Untitled' }}</span> -->\\n </div>\\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\\n <span>\\n <mat-icon> navigate_next </mat-icon>\\n </span>\\n </div>\\n </mat-list-item>\\n </mat-nav-list>\\n </div>\\n </div>\\n }\\n </div>\\n</rolatech-container>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGVyc29uYWwtaW5mby9pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9wZXJzb25hbC1pbmZvL2luZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7QUFRdEgsTUFBTSxPQUFPLGFBQWE7SUFOMUI7UUFPRSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hDLFdBQU0sR0FBUSxVQUFVLENBQUM7S0E2QjFCO0lBeEJDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQzlELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsTUFBTTthQUNmO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RFLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoQ1UsYUFBYTtrR0FBYixhQUFhLGlGQ2QxQiw0b09BNkpBLHlERHBKWSxtQkFBbUIsK1FBQUUsdUJBQXVCLDJoQkFBRSxnQkFBZ0IsZ0ZBQUUsa0JBQWtCLDBEQUFFLGlCQUFpQjs7MkZBS3BHLGFBQWE7a0JBTnpCLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxZQUN0Ryx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdFBpcGUsIEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIENvbnRhaW5lckNvbXBvbmVudCwgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFVzZXJHZW5kZXIgfSBmcm9tICcuLi8uLi8uLi9jb250YW50L3VzZXInO1xuaW1wb3J0IHsgQXZhdGFyVXBkYXRlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9hdmF0YXItdXBkYXRlLWRpYWxvZy9hdmF0YXItdXBkYXRlLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBTcGlubmVyQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQsIEFkZHJlc3NGb3JtYXRQaXBlXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWluZm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZm8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgdXNlciA9IGluamVjdChBdXRoU2VydmljZSkudXNlcjtcbiAgZ2VuZGVyOiBhbnkgPSBVc2VyR2VuZGVyO1xuICBob21lQWRkcmVzcztcbiAgd29ya0FkZHJlc3M7XG4gIGJpbGxpbmdBZGRyZXNzO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFVzZXJBZGRyZXNzKCk7XG4gIH1cbiAgdXBkYXRlQXZhdGFyKGF2YXRhcjogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBdmF0YXJVcGRhdGVEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgYXZhdGFyOiBhdmF0YXIsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBsb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9KTtcbiAgfVxuICBmaW5kVXNlckFkZHJlc3MoKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UuZmluZEFsbEFkZHJlc3Moe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMuZGF0YSkge1xuICAgICAgICAgIHRoaXMuaG9tZUFkZHJlc3MgPSByZXMuZGF0YS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gJ0hPTUUnKVswXTtcbiAgICAgICAgICB0aGlzLndvcmtBZGRyZXNzID0gcmVzLmRhdGEuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09ICdXT1JLJylbMF07XG4gICAgICAgICAgdGhpcy5iaWxsaW5nQWRkcmVzcyA9IHJlcy5kYXRhLmZpbHRlcigoaXRlbSkgPT4gaXRlbS50eXBlID09PSAnQklMTElORycpWzBdO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwibWF4LXctWzgyMHB4XSBtLTNcIj5cbiAgICA8cm9sYXRlY2gtc3Bpbm5lcj48L3JvbGF0ZWNoLXNwaW5uZXI+XG4gICAgQGlmICh1c2VyKCk7IGFzIHVzZXIpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItOFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC0zeGxcIiBpMThuPlBlcnNvbmFsIGluZm88L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW1kXCIgaTE4bj5QZXJzb25hbCBpbmZvIGFuZCBvcHRpb25zIHRvIG1hbmFnZSBpdC48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1bLS1ydC1ib3JkZXItY29sb3JdIHJvdW5kZWQgcHgtMyBwdC0zIG1iLThcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIHRleHQteGxcIiBpMThuPkJhc2ljIGluZm88L2Rpdj5cbiAgICAgICAgICA8bWF0LW5hdi1saXN0PlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cInVwZGF0ZUF2YXRhcih1c2VyPy5hdmF0YXIpXCIgY2xhc3M9XCJoLTE2XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMjQgdGV4dC1zbVwiIGkxOG4+UHJvZmlsZSBwaWN0dXJlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTI0IHRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXByaW1hcnldXCIgaTE4bj5BIHBpY3R1cmUgaGVscHMgcGVvcGxlIHJlY29nbml6ZSB5b3U8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtci02IGJnLVstLXJ0LWJyYW5kLWNvbG9yXSB3LTkgaC05IHJvdW5kZWQtZnVsbCBjdXJzb3ItcG9pbnRlciBob3ZlcjpvdXRsaW5lLWdyYXktMjAwIG91dGxpbmUgb3V0bGluZS10cmFuc3BhcmVudCBvdXRsaW5lLTRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIEBpZiAodXNlci5hdmF0YXIpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctOSBoLTlcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwidXNlci5hdmF0YXJcIiBjbGFzcz1cInctOSBoLTkgcm91bmRlZC1mdWxsIG9iamVjdC1jb3ZlclwiIGFsdD1cImF2YXRhciBpbWdcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJteC0zXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvdXRlckxpbms9XCIuLi9wcm9maWxlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMjQgdGV4dC1zbVwiIGkxOG4+TmFtZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHVzZXI/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibXgtM1wiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vZ2VuZGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMjQgdGV4dC1zbVwiIGkxOG4+R2VuZGVyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2VuZGVyW3VzZXIuZ2VuZGVyXSB8fCAnVW50aXRsZWQnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPiBuYXZpZ2F0ZV9uZXh0IDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm14LTNcIj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gcm91dGVyTGluaz1cIi4uL3VzZXJuYW1lXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMjQgdGV4dC1zbVwiPlVzZXJuYW1lPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdXNlci51c2VybmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgPC9tYXQtbmF2LWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIGNvbnRhY3QgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLVstLXJ0LWJvcmRlci1jb2xvcl0gcm91bmRlZCBweC0zIHB0LTMgbWItOFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC14bFwiIGkxOG4+Q29udGFjdDwvZGl2PlxuICAgICAgICAgIDxtYXQtbmF2LWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vZW1haWxcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtXCIgaTE4bj5FbWFpbDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGkxOG4+e3sgdXNlci5lbWFpbCB8fCAnVW50aXRsZWQnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIG1hdC1saXN0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj4gLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibXgtM1wiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vcGhvbmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtXCIgaTE4bj5QaG9uZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGkxOG4+e3sgdXNlci5waG9uZSB8fCAnVW50aXRsZWQnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIG1hdC1saXN0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj4gLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgIDwvbWF0LW5hdi1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBhZGRyZXNzIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1bLS1ydC1ib3JkZXItY29sb3JdIHJvdW5kZWQgcHgtMyBwdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LXhsXCIgaTE4bj5BZGRyZXNzZXM8L2Rpdj5cbiAgICAgICAgICA8bWF0LW5hdi1saXN0PlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gcm91dGVyTGluaz1cIi4uL2FkZHJlc3MvaG9tZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtXCIgaTE4bj5Ib21lIGFkZHJlc3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBob21lQWRkcmVzcyB8IGFkZHJlc3MgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJteC0zXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvdXRlckxpbms9XCIuLi9hZGRyZXNzL3dvcmtcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMjQgdGV4dC1zbVwiIGkxOG4+V29yayBhZGRyZXNzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgd29ya0FkZHJlc3MgfCBhZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIG1hdC1saXN0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj4gLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gcm91dGVyTGluaz1cIi4uL2FkZHJlc3MvYmlsbGluZ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtXCIgaTE4bj5CaWxsaW5nIGFkZHJlc3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBiaWxsaW5nQWRkcmVzcyB8IGFkZHJlc3MgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vYWRkcmVzcy9zaGlwcGluZ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtXCIgaTE4bj5TaGlwcGluZyBhZGRyZXNzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj57eyBzaGlwcGluZ0FkZHJlc3MgfHwgJ1VudGl0bGVkJyB9fTwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgPC9tYXQtbmF2LWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtY29udGFpbmVyPlxuIl19"],"names":["i1","i2"],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, effect, Component } from '@angular/core';
3
+ import * as i2 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { AuthService, AuthUserService } from '@rolatech/angular-auth';
6
+ import { AngularCommonModule } from '@rolatech/angular-common';
7
+ import { BaseComponent, AngularComponentsModule, ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';
8
+ import { BackButtonDirective } from '@rolatech/angular-services';
9
+ import * as i1 from '@angular/forms';
10
+ import * as i3 from '@angular/material/form-field';
11
+ import * as i4 from '@angular/material/input';
12
+
13
+ class PhoneComponent extends BaseComponent {
14
+ constructor() {
15
+ super();
16
+ this.user = inject(AuthService).user;
17
+ this.authUserService = inject(AuthUserService);
18
+ this.phone = '';
19
+ this.code = '';
20
+ this.countDown = false;
21
+ this.countDownTime = 60;
22
+ this.showButtonText = 'Send';
23
+ effect(() => {
24
+ this.phone = this.user().phone;
25
+ });
26
+ }
27
+ ngOnInit() { }
28
+ sendSMSCode() {
29
+ this.countDown = true;
30
+ const start = setInterval(() => {
31
+ if (this.countDownTime >= 0) {
32
+ this.showButtonText = `${this.countDownTime--}s resend`;
33
+ }
34
+ else {
35
+ clearInterval(start);
36
+ this.showButtonText = 'Resend';
37
+ this.countDown = false;
38
+ this.countDownTime = 60;
39
+ }
40
+ }, 1000);
41
+ this.authUserService.sendSMSCode('+86', this.phone).subscribe({
42
+ next: (res) => {
43
+ this.snackBarService.open('success');
44
+ },
45
+ error: (error) => {
46
+ this.snackBarService.open(error.message);
47
+ },
48
+ });
49
+ }
50
+ save() {
51
+ this.authUserService.changePhone(this.phone, this.code).subscribe({
52
+ next: (res) => {
53
+ this.snackBarService.open('success');
54
+ },
55
+ error: (error) => {
56
+ this.snackBarService.open(error.message);
57
+ },
58
+ });
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PhoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: PhoneComponent, isStandalone: true, selector: "rolatech-account-phone", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Your phone\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your phone number is unique identifier on this site.</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Code </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px]\">\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-[128px] ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n", styles: ["mat-form-field{width:100%}\n"], 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.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: 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: 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: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }] }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PhoneComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ imports: [
66
+ AngularCommonModule,
67
+ AngularComponentsModule,
68
+ ContainerComponent,
69
+ ToolbarComponent,
70
+ MatButtonModule,
71
+ BackButtonDirective,
72
+ ], selector: 'rolatech-account-phone', template: "<rolatech-container>\n <rolatech-toolbar title=\"Your phone\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\" i18n>Your phone number is unique identifier on this site.</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Code </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px]\">\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton i18n>Cancel</button>\n <button mat-flat-button class=\"w-[128px] ml-3\" (click)=\"save()\" i18n>Save</button>\n </div>\n </div>\n</rolatech-container>\n", styles: ["mat-form-field{width:100%}\n"] }]
73
+ }], ctorParameters: () => [] });
74
+
75
+ export { PhoneComponent };
76
+ //# sourceMappingURL=rolatech-angular-account-phone.component-BLHE_waH.mjs.map