@acorex/modules 18.0.5 → 18.0.6

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 (88) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/esm2022/auth/index.mjs +1 -1
  4. package/esm2022/auth/lib/account/account.module.mjs +1 -1
  5. package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +3 -3
  6. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +3 -3
  7. package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +3 -3
  8. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +3 -3
  9. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +3 -3
  10. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +3 -3
  11. package/esm2022/auth/lib/auth.config.mjs +1 -1
  12. package/esm2022/auth/lib/auth.module.mjs +1 -1
  13. package/esm2022/auth/lib/auth.routes.mjs +1 -1
  14. package/esm2022/auth/lib/error-handler.mjs +1 -1
  15. package/esm2022/auth/lib/forgot/password/password.component.mjs +3 -3
  16. package/esm2022/auth/lib/forgot/routes.mjs +1 -1
  17. package/esm2022/auth/lib/login/login.module.mjs +1 -1
  18. package/esm2022/auth/lib/login/password/password.component.mjs +3 -3
  19. package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +1 -1
  20. package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +3 -3
  21. package/esm2022/auth/lib/shared/services/idle.service.mjs +1 -1
  22. package/esm2022/auth/lib/shared/services/index.mjs +1 -1
  23. package/esm2022/auth/lib/store/auth.effects.mjs +1 -1
  24. package/esm2022/auth/lib/store/index.mjs +1 -1
  25. package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +3 -3
  26. package/esm2022/auth/lib/two-factor/two-factor.module.mjs +1 -1
  27. package/esm2022/backend/index.mjs +1 -1
  28. package/esm2022/backend/lib/auth/oidc/application.loader.mjs +1 -1
  29. package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +1 -1
  30. package/esm2022/backend/lib/auth/oidc/feature.loader.mjs +1 -1
  31. package/esm2022/backend/lib/auth/oidc/index.mjs +1 -1
  32. package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +1 -1
  33. package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +1 -1
  34. package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +1 -1
  35. package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +1 -1
  36. package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +1 -1
  37. package/esm2022/backend/lib/backend.configs.mjs +1 -1
  38. package/esm2022/backend/lib/backend.module.mjs +1 -1
  39. package/esm2022/backend/lib/data/api/data-provider.mjs +1 -3
  40. package/esm2022/backend/lib/data/index.mjs +1 -1
  41. package/esm2022/backend/lib/data/local/data-Conditioner.mjs +1 -1
  42. package/esm2022/backend/lib/data/local/local-data-provider.mjs +1 -1
  43. package/esm2022/log-management/lib/audit-logs.entity.mjs +1 -1
  44. package/esm2022/notification/index.mjs +1 -1
  45. package/esm2022/notification/lib/notification.module.mjs +1 -1
  46. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs → acorex-modules-auth-acorex-modules-auth-DrgYCAJo.mjs} +17 -17
  47. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DrgYCAJo.mjs.map +1 -0
  48. package/fesm2022/acorex-modules-auth-app-chooser.component-DaN9f4KF.mjs +70 -0
  49. package/fesm2022/acorex-modules-auth-app-chooser.component-DaN9f4KF.mjs.map +1 -0
  50. package/fesm2022/acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map +1 -1
  51. package/fesm2022/{acorex-modules-auth-login.module-CsfZ__0S.mjs → acorex-modules-auth-login.module-CE5vC6u4.mjs} +4 -4
  52. package/fesm2022/acorex-modules-auth-login.module-CE5vC6u4.mjs.map +1 -0
  53. package/fesm2022/acorex-modules-auth-master.layout-paCatSJi.mjs +37 -0
  54. package/fesm2022/acorex-modules-auth-master.layout-paCatSJi.mjs.map +1 -0
  55. package/fesm2022/acorex-modules-auth-password.component-CPmueXNM.mjs +72 -0
  56. package/fesm2022/acorex-modules-auth-password.component-CPmueXNM.mjs.map +1 -0
  57. package/fesm2022/acorex-modules-auth-password.component-R0GpvJ4M.mjs +125 -0
  58. package/fesm2022/acorex-modules-auth-password.component-R0GpvJ4M.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-auth-routes--jOmlQkp.mjs → acorex-modules-auth-routes-e9VlDgFf.mjs} +2 -2
  60. package/fesm2022/acorex-modules-auth-routes-e9VlDgFf.mjs.map +1 -0
  61. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CPAKVSwH.mjs +83 -0
  62. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CPAKVSwH.mjs.map +1 -0
  63. package/fesm2022/acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs +40 -0
  64. package/fesm2022/acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-auth-two-factor.module-CmSVriRz.mjs → acorex-modules-auth-two-factor.module-DPBqQHGS.mjs} +3 -3
  66. package/fesm2022/{acorex-modules-auth-two-factor.module-CmSVriRz.mjs.map → acorex-modules-auth-two-factor.module-DPBqQHGS.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-auth.mjs +1 -1
  68. package/fesm2022/acorex-modules-backend.mjs +0 -2
  69. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  70. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  71. package/fesm2022/acorex-modules-notification.mjs.map +1 -1
  72. package/notification/README.md +3 -3
  73. package/package.json +1 -1
  74. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs.map +0 -1
  75. package/fesm2022/acorex-modules-auth-app-chooser.component-Bw4IumjA.mjs +0 -70
  76. package/fesm2022/acorex-modules-auth-app-chooser.component-Bw4IumjA.mjs.map +0 -1
  77. package/fesm2022/acorex-modules-auth-login.module-CsfZ__0S.mjs.map +0 -1
  78. package/fesm2022/acorex-modules-auth-master.layout-7OSbK7SF.mjs +0 -37
  79. package/fesm2022/acorex-modules-auth-master.layout-7OSbK7SF.mjs.map +0 -1
  80. package/fesm2022/acorex-modules-auth-password.component-V2IWBUZb.mjs +0 -125
  81. package/fesm2022/acorex-modules-auth-password.component-V2IWBUZb.mjs.map +0 -1
  82. package/fesm2022/acorex-modules-auth-password.component-qr9vkp8j.mjs +0 -72
  83. package/fesm2022/acorex-modules-auth-password.component-qr9vkp8j.mjs.map +0 -1
  84. package/fesm2022/acorex-modules-auth-routes--jOmlQkp.mjs.map +0 -1
  85. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CjEiwASS.mjs +0 -83
  86. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CjEiwASS.mjs.map +0 -1
  87. package/fesm2022/acorex-modules-auth-two-factor-code.component-C0JWM0rO.mjs +0 -40
  88. package/fesm2022/acorex-modules-auth-two-factor-code.component-C0JWM0rO.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs","sources":["../../../../libs/modules/auth/src/lib/error-handler.ts","../../../../libs/modules/auth/src/lib/auth.config.ts","../../../../libs/modules/auth/src/lib/auth.routes.ts","../../../../libs/modules/auth/src/lib/shared/services/idle.service.ts","../../../../libs/modules/auth/src/lib/store/auth.effects.ts","../../../../libs/modules/auth/src/lib/store/index.ts","../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser-list.component.html","../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser-slot.component.ts","../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser-slot.component.html","../../../../libs/modules/auth/src/lib/account/tenant-chooser/tenant-chooser-dropdown.component.ts","../../../../libs/modules/auth/src/lib/account/tenant-chooser/tenant-chooser-dropdown.component.html","../../../../libs/modules/auth/src/lib/account/profile/profile-slot.component.ts","../../../../libs/modules/auth/src/lib/account/profile/profile-slot.component.html","../../../../libs/modules/auth/src/lib/account/account.module.ts","../../../../libs/modules/auth/src/lib/auth.module.ts","../../../../libs/modules/auth/src/acorex-modules-auth.ts"],"sourcesContent":["import { Injectable, NgZone, inject, isDevMode } from \"@angular/core\";\r\nimport { AXPErrorHandler, AXPLayoutService } from \"@acorex/platform/common\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AXPUnauthenticatedError, AXPUnauthorizedError } from \"@acorex/platform/auth\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Injectable()\r\nexport class AXMAuthErrorHandler implements AXPErrorHandler {\r\n\r\n\r\n private router = inject(Router);\r\n private layoutService = inject(AXPLayoutService);\r\n private zone = inject(NgZone);\r\n\r\n\r\n\r\n handleError(error: Error, next: (error: any) => void): void {\r\n if (error instanceof HttpErrorResponse) {\r\n if (error.status == 401) {\r\n this.router.navigate(['/auth/login']);\r\n }\r\n else if (error.status == 404) {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n else if (error instanceof AXPUnauthorizedError) {\r\n const redirectUrl = error.data?.redirectUrl;\r\n console.error(error.message);\r\n this.router.navigate(['/401'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\r\n }\r\n else if (error instanceof AXPUnauthenticatedError) {\r\n console.error(error.message);\r\n const redirectUrl = error.data?.redirectUrl;\r\n this.router.navigate(['/auth/login'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\r\n } else {\r\n if (isDevMode()) {\r\n next(error); // Pass the error to the next handler\r\n }\r\n else {\r\n next(error); // maybe we need a error page\r\n }\r\n }\r\n this.layoutService.setNavigationLoading(false);\r\n }\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { UserManagerSettings } from 'oidc-client-ts';\r\n\r\nexport enum AXMAuthenticationTypes {\r\n UsernamePassword,\r\n UsernameEmailPassword,\r\n EmailPassword,\r\n MobilePassword,\r\n EmailCode,\r\n MobileCode,\r\n}\r\n\r\nexport const AXM_AUTH_CONFIG_TOKEN = new InjectionToken<AXMAuthConfigs>('app-module-auth-config', {\r\n providedIn: 'root',\r\n factory: () => {\r\n return AXMDefaultAuthConfigs;\r\n },\r\n});\r\n\r\nexport interface AXMAuthConfigs {\r\n type: AXMAuthenticationTypes;\r\n oidc_settings?: UserManagerSettings;\r\n end_url?: string;\r\n signinPage?: {\r\n description: string;\r\n slogan: string;\r\n };\r\n idleTimeout?: number;\r\n}\r\n\r\nexport const AXMDefaultAuthConfigs: AXMAuthConfigs = {\r\n type: AXMAuthenticationTypes.UsernamePassword,\r\n};\r\n\r\nexport function configAuthModule(config: Partial<AXMAuthConfigs> = AXMDefaultAuthConfigs): AXMAuthConfigs {\r\n return { ...AXMDefaultAuthConfigs, ...config };\r\n}\r\n","import { Route } from '@angular/router';\r\nexport const routes: Route[] = [\r\n {\r\n path: 'auth',\r\n children: [\r\n {\r\n path: '',\r\n pathMatch: 'full',\r\n redirectTo: 'login',\r\n },\r\n {\r\n path: '',\r\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\r\n loadChildren: () => import('./login/login.module').then((c) => c.AXPSignInModule),\r\n },\r\n {\r\n path: '',\r\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\r\n loadChildren: () => import('./two-factor/two-factor.module').then((c) => c.AXPTwoFactorModule),\r\n },\r\n {\r\n path: '',\r\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\r\n loadChildren: () => import('./forgot/routes').then((c) => c),\r\n },\r\n {\r\n path: 'account',\r\n loadComponent: () => import('./shared/layouts/blank/blank.layout').then((c) => c.AXPAuthBlankLayoutComponent),\r\n loadChildren: () => import('./account/account.module').then((c) => c.AXPAccountModule),\r\n },\r\n // {\r\n // path: '',\r\n // loadComponent: () =>\r\n // import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\r\n // loadChildren: () => import('./register/register.module').then((c) => c.AXPRegisterModule),\r\n // },\r\n ],\r\n },\r\n];\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Subject, Observable, timer, Subscription } from 'rxjs';\r\nimport { startWith, switchMap, tap } from 'rxjs/operators';\r\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXPIdleService {\r\n private configs = inject(AXM_AUTH_CONFIG_TOKEN);\r\n private idle$ = new Subject<void>();\r\n private timeoutDuration = this.configs.idleTimeout ?? 10 * 60 * 1000;\r\n private userActivity$ = new Subject<void>();\r\n private idleSubscription: Subscription | null = null;\r\n\r\n constructor() {\r\n this.setupActivityListeners();\r\n }\r\n\r\n get idleState$(): Observable<void> {\r\n return this.idle$.asObservable();\r\n }\r\n\r\n private setupActivityListeners() {\r\n const activityEvents = ['mousemove', 'keydown', 'wheel'];\r\n activityEvents.forEach(event =>\r\n document.addEventListener(event, () => this.resetTimer())\r\n );\r\n }\r\n\r\n startWatching() {\r\n this.stopWatching(); // Stop any existing subscription\r\n this.idleSubscription = this.userActivity$.pipe(\r\n startWith(null),\r\n switchMap(() => timer(this.timeoutDuration)),\r\n tap(() => this.idle$.next()),\r\n ).subscribe();\r\n }\r\n\r\n resetTimer() {\r\n this.userActivity$.next();\r\n }\r\n\r\n stopWatching() {\r\n if (this.idleSubscription) {\r\n this.idleSubscription.unsubscribe();\r\n this.idleSubscription = null;\r\n }\r\n }\r\n}\r\n","import { AXDialogButtonItem, AXDialogService } from \"@acorex/components/dialog\";\r\nimport { AXPSessionService } from \"@acorex/platform/auth\";\r\nimport { AXPSignInAction, AXPSignOutAction } from \"@acorex/platform/common\";\r\nimport { Injectable, inject } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { of, switchMap, tap } from \"rxjs\";\r\nimport { AXPIdleService } from \"../shared/services\";\r\nimport { AXM_AUTH_CONFIG_TOKEN } from \"../auth.config\";\r\n\r\n@Injectable()\r\nexport class AXPAuthEffects {\r\n\r\n private configs = inject(AXM_AUTH_CONFIG_TOKEN);\r\n private sessionService = inject(AXPSessionService);\r\n private idleService = inject(AXPIdleService);\r\n private dialogService = inject(AXDialogService);\r\n private dialogAlreadyOpen = false;\r\n\r\n constructor(private actions$: Actions, private router: Router) { }\r\n\r\n signout$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AXPSignOutAction),\r\n switchMap((action) => {\r\n this.idleService.stopWatching();\r\n this.router.navigate(['/auth/login']);\r\n return of();\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n signin$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AXPSignInAction),\r\n switchMap((action) => {\r\n if (this.configs.idleTimeout) {\r\n this.idleService.startWatching();\r\n }\r\n return of();\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n\r\n idle$ = createEffect(\r\n () =>\r\n this.idleService.idleState$.pipe(\r\n tap(() => {\r\n if (!this.dialogAlreadyOpen) {\r\n let time = 60;\r\n let intervalId: number;\r\n const buttonText = (time: number) => `Stay Sign In (${time})`;\r\n const stayButton: AXDialogButtonItem = {\r\n text: buttonText(time),\r\n color: 'primary',\r\n autofocus: true,\r\n onClick: () => {\r\n this.idleService.resetTimer();\r\n dialog.close();\r\n this.dialogAlreadyOpen = false;\r\n clearInterval(intervalId);\r\n }\r\n }\r\n const dialog = this.dialogService.open({\r\n title: \"Session Timeout\",\r\n content: \"You're being timed out due to inactivity. Please choose to stay signed in or to sign off. Otherwise, you will signed off automatically.\",\r\n type: 'warning',\r\n buttons: [\r\n {\r\n text: \"Sign Off\",\r\n color: 'ghost',\r\n onClick: async () => {\r\n await this.sessionService.signout();\r\n dialog.close();\r\n this.dialogAlreadyOpen = false;\r\n clearInterval(intervalId);\r\n }\r\n },\r\n stayButton,\r\n ]\r\n });\r\n this.dialogAlreadyOpen = true;\r\n // Automatically close dialog and sign out after additional time\r\n intervalId = setInterval(() => {\r\n if (time > 0) {\r\n stayButton.text = buttonText(--time);\r\n } else {\r\n clearInterval(intervalId);\r\n this.sessionService.signout();\r\n dialog.close();\r\n this.dialogAlreadyOpen = false;\r\n }\r\n }, 1000);\r\n //\r\n }\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n}\r\n","export * from './auth.effects';\r\n//export * from './auth.actions';","import { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXPApplication, AXPSessionService } from '@acorex/platform/auth';\r\nimport { AXPLogoComponent } from '@acorex/platform/common';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'axp-app-chooser-list',\r\n templateUrl: 'app-chooser-list.component.html',\r\n standalone: true,\r\n imports: [CommonModule, AXDecoratorModule, AXPLogoComponent, AXLoadingModule],\r\n})\r\nexport class AXPAppChooserListComponent {\r\n private router = inject(Router);\r\n private sessionService = inject(AXPSessionService);\r\n\r\n protected selectedApplication: AXPApplication | null = null;\r\n protected applications$ = this.sessionService.applications$;\r\n\r\n async chooseApplication(item: AXPApplication) {\r\n this.selectedApplication = item;\r\n await this.sessionService.setApplication(item);\r\n this.router.navigate([`/${item.name}/home`]);\r\n }\r\n}\r\n","<div class=\" ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\r\n @for(application of (applications$ | async); track $index){\r\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\r\n (click)=\"chooseApplication(application)\">\r\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\r\n <div\r\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\">\r\n <ax-icon class=\"fa-solid fa-computer ax-text-neutral-500 ax-text-lg\"> </ax-icon>\r\n <!-- TODO: logo instead of application icon -->\r\n <!-- <axp-logo [source]=\"application.logo\" [attr.alt]=\"application.title\"\r\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"></axp-logo> -->\r\n </div>\r\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\r\n <span class=\"ax-text-gray-500 md:ax-text-sm ax-text-xs\">{{application.editionName}}</span>\r\n @if(application.name===selectedApplication?.name){\r\n <ax-loading></ax-loading>\r\n }@else {\r\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>","import { AXButtonModule } from \"@acorex/components/button\";\r\nimport { AXDecoratorModule } from \"@acorex/components/decorators\";\r\nimport { AXPopoverModule } from \"@acorex/components/popover\";\r\nimport { AXPApplication, AXPSessionService } from \"@acorex/platform/auth\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Component, inject } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AXPAppChooserListComponent } from \"./app-chooser-list.component\";\r\nimport { of } from \"rxjs\";\r\nimport { AXPLogoComponent } from \"@acorex/platform/common\";\r\n\r\n@Component({\r\n templateUrl: './app-chooser-slot.component.html',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n AXButtonModule,\r\n AXPopoverModule,\r\n AXDecoratorModule,\r\n AXPLogoComponent,\r\n AXPAppChooserListComponent\r\n ]\r\n})\r\nexport class AXMAppChooserSlotComponent {\r\n private sessionService = inject(AXPSessionService);\r\n protected tenant$ = this.sessionService.tenant$;\r\n\r\n protected application$ = this.sessionService.application$;\r\n protected applications$ = of([]);\r\n\r\n private router = inject(Router);\r\n\r\n\r\n async chooseApplication(item: AXPApplication) {\r\n //await this.sessionService.selectApplication(item.name);\r\n this.router.navigate([`/${item.name}/home`]);\r\n }\r\n\r\n\r\n}","@if(((applications$ | async)?.length ?? 0) > 1)\r\n{\r\n<ax-button color=\"default\" look=\"blank\" #appChooser>\r\n <ax-icon>\r\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\r\n </ax-icon>\r\n</ax-button>\r\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\r\n <div class=\"ax-bg-surface ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\r\n <axp-app-chooser-list></axp-app-chooser-list>\r\n </div>\r\n</ax-popover>\r\n}","import { Component, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AXPSessionService } from '@acorex/platform/auth';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { CommonModule } from '@angular/common';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'axp-tenant-chooser-dropdown',\r\n templateUrl: 'tenant-chooser-dropdown.component.html',\r\n standalone: true,\r\n imports: [CommonModule, AXDecoratorModule]\r\n})\r\nexport class AXPTenantChooserDropdownComponent {\r\n\r\n private router = inject(Router);\r\n private sessionService = inject(AXPSessionService);\r\n protected tenants$ = of([]) // this.sessionService.tenants$;\r\n protected tenant = this.sessionService.tenant;\r\n\r\n tenantChooser() {\r\n this.router.navigate(['/auth/account/tenant-chooser']);\r\n }\r\n\r\n\r\n}","<ng-container *ngIf=\"tenants$ | async as tenants\">\r\n @if(tenants.length>1){\r\n <div (click)=\"tenantChooser()\"\r\n class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\r\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\"></ax-icon>\r\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\r\n {{ tenant?.title }}\r\n </p>\r\n <ax-icon class=\"fa-regular fa-chevron-down ax-text-neutral-400\"></ax-icon>\r\n </div>\r\n }@else {\r\n <div class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\r\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500\"></ax-icon>\r\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\r\n {{ tenant?.title }}\r\n </p>\r\n </div>\r\n }\r\n</ng-container>","import { AXAvatarModule } from '@acorex/components/avatar';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXImageModule } from '@acorex/components/image';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\r\nimport { AXPSessionService } from '@acorex/platform/auth';\r\nimport { AXPDataProvider } from '@acorex/platform/common';\r\nimport { MockDataService } from '@acorex/platform/mocks';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, ViewChild, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\r\n\r\n@Component({\r\n templateUrl: './profile-slot.component.html',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n AXImageModule,\r\n AXAvatarModule,\r\n AXPopoverModule,\r\n AXButtonModule,\r\n AXDecoratorModule,\r\n AXPTenantChooserDropdownComponent,\r\n AXLoadingModule,\r\n ],\r\n})\r\nexport class AXMAuthProfileSlotComponent {\r\n private router = inject(Router);\r\n private sessionService = inject(AXPSessionService);\r\n private dataService = inject(AXPDataProvider, { optional: true });\r\n private mockerService = inject(MockDataService);\r\n\r\n constructor() {\r\n this.loadImage();\r\n }\r\n protected src!: string;\r\n protected user$ = this.sessionService.user$;\r\n protected tenant$ = this.sessionService.tenant$;\r\n\r\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\r\n\r\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\r\n\r\n editProfile() {\r\n // this.router.navigate(['/asc/identity/e/user-info/0/view']);\r\n this.router.navigate(['/asc/oidc/e/user-info/0/view']);\r\n }\r\n\r\n async logOut() {\r\n await this.sessionService.signout();\r\n }\r\n\r\n toggleProfileMenu() {\r\n this.profilePopover.open();\r\n }\r\n\r\n protected handleSignIn() {\r\n this.router.navigate(['/auth/login']);\r\n }\r\n private async loadImage() {\r\n try {\r\n const url = this.sessionService.user?.avatar as string;\r\n if (url?.toLowerCase().startsWith('http')) {\r\n this.src = url;\r\n } else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\r\n //TODO: Remove dataService and mockService\r\n const blob = await this.dataService.viewFile(url, '');\r\n this.src = URL.createObjectURL(blob);\r\n } else {\r\n this.src = this.mockerService.avatar();\r\n }\r\n } catch (error) {\r\n console.error('Failed to load image by ID:', error);\r\n }\r\n }\r\n}\r\n","@if((isAuthenticated$ | async)) {\r\n<ax-avatar #avatar color=\"secondary\" [size]=\"32\" class=\"ax-cursor-pointer ax-ms-4\">\r\n <ax-image [src]=\"src\"></ax-image>\r\n</ax-avatar>\r\n<ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\">\r\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\r\n <ax-avatar [size]=\"60\">\r\n <ax-image [src]=\"src\">\r\n <ax-loading></ax-loading>\r\n </ax-image>\r\n </ax-avatar>\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\r\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\r\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"profile-menus ax-text-slate-500\">\r\n <!-- <ul>\r\n <li>\r\n <i class=\"fa-solid fa-folder-open\"></i>\r\n <span> Project Management </span>\r\n </li>\r\n <li>\r\n <i class=\"fa-solid fa-envelope-open-text\"></i>\r\n <span>Email Config</span>\r\n </li>\r\n <li>\r\n <i class=\"fa-solid fa-gear\"></i>\r\n <span>Setting</span>\r\n </li>\r\n </ul> -->\r\n <ul>\r\n <!-- <li>\r\n <i class=\"fa-solid fa-gem ax-text-primary-500\"></i>\r\n <span> Upgrade account </span>\r\n </li> -->\r\n <li (click)=\"editProfile()\">\r\n <i class=\"fa-solid fa-user\"></i>\r\n <span>Edit profile</span>\r\n </li>\r\n </ul>\r\n <ul>\r\n <li class=\"ax-text-danger-500\" (click)=\"logOut()\">\r\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\r\n <span>Logout</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</ax-popover>\r\n} @else {\r\n<ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\r\n <ax-icon>\r\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\r\n </ax-icon>\r\n</ax-button>\r\n}","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\r\nimport { inject, NgModule } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivateFn, Router, RouterModule, RouterStateSnapshot, ROUTES, Routes } from '@angular/router';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { AXMAppChooserSlotComponent } from './app-chooser/app-chooser-slot.component';\r\nimport { AXMAuthProfileSlotComponent } from './profile/profile-slot.component';\r\nimport { AXPComponentSlotModule } from '@acorex/platform/common';\r\n\r\n\r\nconst canActivateTenantChooser: CanActivateFn =\r\n async (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\r\n const sessionService = inject(AXPSessionService);\r\n const router = inject(Router);\r\n const tenants = await firstValueFrom(sessionService.tenants$);\r\n if (tenants.length == 0) {\r\n return router.createUrlTree(['/auth/login']);\r\n }\r\n if (tenants.length == 1) {\r\n await sessionService.setTenant(tenants[0]);\r\n return router.createUrlTree(['/auth/account/app-chooser']);\r\n }\r\n return true;\r\n };\r\n\r\n\r\nconst canActivateAppChooser: CanActivateFn =\r\n async (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\r\n const sessionService = inject(AXPSessionService);\r\n const router = inject(Router);\r\n const apps = await firstValueFrom(sessionService.applications$);\r\n if (apps.length == 0) {\r\n return router.createUrlTree(['/auth/login']);\r\n }\r\n if (apps.length == 1) {\r\n await sessionService.setApplication(apps[0])\r\n return router.createUrlTree([`/${apps[0].name}/home`]);\r\n }\r\n return true\r\n };\r\n\r\n\r\nfunction routesFacory() {\r\n let routes: Routes = [];\r\n routes = [\r\n {\r\n path: 'tenant-chooser',\r\n loadComponent: () =>\r\n import('./tenant-chooser/tenant-chooser.component').then(\r\n (c) => c.AXPAuthTenantChooserComponent\r\n ),\r\n canActivate: [AXPAuthGuard, canActivateTenantChooser]\r\n },\r\n {\r\n path: 'app-chooser',\r\n loadComponent: () =>\r\n import('./app-chooser/app-chooser.component').then((c) => c.AXPAuthAppChooserComponent),\r\n canActivate: [AXPAuthGuard, canActivateAppChooser]\r\n },\r\n ];\r\n return routes;\r\n}\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n RouterModule,\r\n //\r\n AXPComponentSlotModule.forChild({\r\n \"header-end\": [\r\n {\r\n name: \"app-choser\",\r\n component: AXMAppChooserSlotComponent,\r\n },\r\n {\r\n name: \"profile\",\r\n component: AXMAuthProfileSlotComponent,\r\n },\r\n ]\r\n })\r\n ],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: ROUTES,\r\n multi: true,\r\n useFactory: routesFacory,\r\n },\r\n ],\r\n})\r\nexport class AXPAccountModule { }\r\n","import { AXPCommonModule } from '@acorex/platform/common';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { routes } from './auth.routes';\r\nimport { AXMAuthErrorHandler } from './error-handler';\r\nimport { AXPAuthEffects } from './store';\r\nimport { AXPAccountModule } from './account/account.module';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\r\n HttpClientModule,\r\n RouterModule.forChild(routes),\r\n EffectsModule.forFeature([AXPAuthEffects]),\r\n AXPAccountModule\r\n ],\r\n providers: [AXMAuthErrorHandler],\r\n})\r\nexport class AXMAuthModule {\r\n static forRoot(): ModuleWithProviders<AXMAuthModule> {\r\n return {\r\n ngModule: AXMAuthModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["switchMap","tap","i1","i2","i3","i4","i5","i6","i7"],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, Component, ViewEncapsulation } from '@angular/core';
3
- import * as i3 from '@acorex/components/avatar';
4
- import { AXAvatarModule } from '@acorex/components/avatar';
5
- import { AXButtonModule } from '@acorex/components/button';
6
- import { AXCheckBoxModule } from '@acorex/components/check-box';
7
- import { AXDecoratorModule } from '@acorex/components/decorators';
8
- import { AXFormModule } from '@acorex/components/form';
9
- import * as i2 from '@acorex/components/image';
10
- import { AXImageModule } from '@acorex/components/image';
11
- import { AXLabelModule } from '@acorex/components/label';
12
- import { AXLoadingModule } from '@acorex/components/loading';
13
- import { AXTextBoxModule } from '@acorex/components/text-box';
14
- import * as i6 from '@acorex/core/translation';
15
- import { AXTranslationModule } from '@acorex/core/translation';
16
- import { AXPSessionService } from '@acorex/platform/auth';
17
- import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent } from '@acorex/platform/common';
18
- import * as i1 from '@angular/common';
19
- import { CommonModule } from '@angular/common';
20
- import { Router } from '@angular/router';
21
- import { b as AXPTenantChooserDropdownComponent, c as AXPAppChooserListComponent } from './acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs';
22
- import { of } from 'rxjs';
23
- import '@angular/common/http';
24
- import '@ngrx/effects';
25
- import '@acorex/components/dialog';
26
- import 'rxjs/operators';
27
- import '@acorex/components/popover';
28
- import '@acorex/platform/mocks';
29
-
30
- class AXPAuthAppChooserComponent {
31
- constructor() {
32
- this.router = inject(Router);
33
- this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
34
- this.sessionService = inject(AXPSessionService);
35
- this.user = this.sessionService.user;
36
- this.tenants$ = of([]); //this.sessionService.tenants$;
37
- this.tenant = this.sessionService.tenant;
38
- }
39
- tenantChooser() {
40
- this.router.navigate(['/auth/account/tenant-chooser']);
41
- }
42
- async handleSignout() {
43
- await this.sessionService.signout();
44
- this.router.navigate(['/auth/login']);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthAppChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPAuthAppChooserComponent, isStandalone: true, selector: "axp-auth-app-chooser", ngImport: i0, template: "<main *translate=\"let t\"\r\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface md:ax-bg-default\">\r\n <section>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\r\n </section>\r\n <section class=\"ax-flex ax-justify-center\">\r\n <div\r\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\r\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\r\n @if(user?.avatar){\r\n <ax-image [src]=\"user?.avatar\"></ax-image>\r\n }\r\n </ax-avatar>\r\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\r\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\r\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\r\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\r\n </p>\r\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\r\n <axp-app-chooser-list></axp-app-chooser-list>\r\n </div>\r\n </div>\r\n </section>\r\n <section>\r\n <p class=\"ax-text-neutral-400 ax-text-sm\">\r\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\r\n <ng-container *ngIf=\"tenants$ | async as tenants\">\r\n @if(tenants.length > 1){\r\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\r\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\r\n </a>\r\n } @else {\r\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\r\n {{ t('backLogin', { scope: 'auth' }) | async }}\r\n </a>\r\n }\r\n </ng-container>\r\n </p>\r\n </section>\r\n</main>", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i3.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }], encapsulation: i0.ViewEncapsulation.None }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthAppChooserComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'axp-auth-app-chooser', imports: [
52
- CommonModule,
53
- AXFormModule,
54
- AXTextBoxModule,
55
- AXButtonModule,
56
- AXLabelModule,
57
- AXCheckBoxModule,
58
- AXAvatarModule,
59
- AXImageModule,
60
- AXDecoratorModule,
61
- AXPLogoComponent,
62
- AXLoadingModule,
63
- AXTranslationModule,
64
- AXPTenantChooserDropdownComponent,
65
- AXPAppChooserListComponent
66
- ], encapsulation: ViewEncapsulation.None, standalone: true, template: "<main *translate=\"let t\"\r\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface md:ax-bg-default\">\r\n <section>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\r\n </section>\r\n <section class=\"ax-flex ax-justify-center\">\r\n <div\r\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\r\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\r\n @if(user?.avatar){\r\n <ax-image [src]=\"user?.avatar\"></ax-image>\r\n }\r\n </ax-avatar>\r\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\r\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\r\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\r\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\r\n </p>\r\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\r\n <axp-app-chooser-list></axp-app-chooser-list>\r\n </div>\r\n </div>\r\n </section>\r\n <section>\r\n <p class=\"ax-text-neutral-400 ax-text-sm\">\r\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\r\n <ng-container *ngIf=\"tenants$ | async as tenants\">\r\n @if(tenants.length > 1){\r\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\r\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\r\n </a>\r\n } @else {\r\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\r\n {{ t('backLogin', { scope: 'auth' }) | async }}\r\n </a>\r\n }\r\n </ng-container>\r\n </p>\r\n </section>\r\n</main>", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
67
- }] });
68
-
69
- export { AXPAuthAppChooserComponent };
70
- //# sourceMappingURL=acorex-modules-auth-app-chooser.component-Bw4IumjA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-app-chooser.component-Bw4IumjA.mjs","sources":["../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser.component.ts","../../../../libs/modules/auth/src/lib/account/app-chooser/app-chooser.component.html"],"sourcesContent":["import { Component, ViewEncapsulation, inject } from '@angular/core';\r\n\r\nimport { AXAvatarModule } from '@acorex/components/avatar';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXFormModule } from '@acorex/components/form';\r\nimport { AXImageModule } from '@acorex/components/image';\r\nimport { AXLabelModule } from '@acorex/components/label';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXTextBoxModule } from '@acorex/components/text-box';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXPSessionService } from '@acorex/platform/auth';\r\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\r\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'axp-auth-app-chooser',\r\n templateUrl: './app-chooser.component.html',\r\n styleUrls: ['./app-chooser.component.scss'],\r\n imports: [\r\n CommonModule,\r\n AXFormModule,\r\n AXTextBoxModule,\r\n AXButtonModule,\r\n AXLabelModule,\r\n AXCheckBoxModule,\r\n AXAvatarModule,\r\n AXImageModule,\r\n AXDecoratorModule,\r\n AXPLogoComponent,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n AXPTenantChooserDropdownComponent,\r\n AXPAppChooserListComponent\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n})\r\nexport class AXPAuthAppChooserComponent {\r\n\r\n private router = inject(Router);\r\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\r\n private sessionService = inject(AXPSessionService);\r\n\r\n protected user = this.sessionService.user;\r\n protected tenants$ = of([])//this.sessionService.tenants$;\r\n protected tenant = this.sessionService.tenant;\r\n\r\n\r\n tenantChooser() {\r\n this.router.navigate(['/auth/account/tenant-chooser']);\r\n }\r\n\r\n async handleSignout() {\r\n await this.sessionService.signout();\r\n this.router.navigate(['/auth/login']);\r\n }\r\n\r\n\r\n}\r\n","<main *translate=\"let t\"\r\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-surface md:ax-bg-default\">\r\n <section>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"></axp-logo>\r\n </section>\r\n <section class=\"ax-flex ax-justify-center\">\r\n <div\r\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\">\r\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\r\n @if(user?.avatar){\r\n <ax-image [src]=\"user?.avatar\"></ax-image>\r\n }\r\n </ax-avatar>\r\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\r\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\r\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\r\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\r\n </p>\r\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\r\n <axp-app-chooser-list></axp-app-chooser-list>\r\n </div>\r\n </div>\r\n </section>\r\n <section>\r\n <p class=\"ax-text-neutral-400 ax-text-sm\">\r\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\r\n <ng-container *ngIf=\"tenants$ | async as tenants\">\r\n @if(tenants.length > 1){\r\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\r\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\r\n </a>\r\n } @else {\r\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\r\n {{ t('backLogin', { scope: 'auth' }) | async }}\r\n </a>\r\n }\r\n </ng-container>\r\n </p>\r\n </section>\r\n</main>"],"names":["i2","i3","i4"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-login.module-CsfZ__0S.mjs","sources":["../../../../libs/modules/auth/src/lib/login/login.module.ts"],"sourcesContent":["import { NgModule, inject } from '@angular/core';\r\nimport { ROUTES, RouterModule, Routes } from '@angular/router';\r\nimport { AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../auth.config';\r\n\r\nfunction routesFacory() {\r\n const val = inject(AXM_AUTH_CONFIG_TOKEN);\r\n let routes: Routes = [];\r\n routes = [\r\n {\r\n path: 'login',\r\n loadComponent: () => {\r\n if (\r\n [\r\n AXMAuthenticationTypes.UsernamePassword,\r\n AXMAuthenticationTypes.EmailPassword,\r\n AXMAuthenticationTypes.MobilePassword,\r\n ].includes(val.type)\r\n ) {\r\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\r\n } else {\r\n return import('./password/password.component').then((c) => c.AXPLoginPasswordComponent);\r\n }\r\n },\r\n },\r\n ];\r\n return routes;\r\n}\r\n\r\n@NgModule({\r\n imports: [RouterModule],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: ROUTES,\r\n multi: true,\r\n useFactory: routesFacory,\r\n },\r\n ],\r\n})\r\nexport class AXPSignInModule { }\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAW,EAAE,CAAC;AACxB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,MAAK;gBAClB,IACE;AACE,oBAAA,sBAAsB,CAAC,gBAAgB;AACvC,oBAAA,sBAAsB,CAAC,aAAa;AACpC,oBAAA,sBAAsB,CAAC,cAAc;AACtC,iBAAA,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACpB;AACA,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC;iBACzF;qBAAM;AACL,oBAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC;iBACzF;aACF;AACF,SAAA;KACF,CAAC;AACF,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;MAaY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAVhB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAUX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EARf,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CARS,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAUX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,YAAY;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;;;"}
@@ -1,37 +0,0 @@
1
- import * as i1 from '@acorex/platform/common';
2
- import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent, AXPComponentSlotModule } from '@acorex/platform/common';
3
- import * as i0 from '@angular/core';
4
- import { inject, Component, ViewEncapsulation } from '@angular/core';
5
- import * as i2 from '@angular/router';
6
- import { RouterModule } from '@angular/router';
7
- import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs';
8
- import '@acorex/platform/auth';
9
- import '@angular/common/http';
10
- import '@angular/common';
11
- import '@ngrx/effects';
12
- import '@acorex/components/dialog';
13
- import 'rxjs';
14
- import 'rxjs/operators';
15
- import '@acorex/components/button';
16
- import '@acorex/components/decorators';
17
- import '@acorex/components/popover';
18
- import '@acorex/components/loading';
19
- import '@acorex/components/avatar';
20
- import '@acorex/components/image';
21
- import '@acorex/platform/mocks';
22
-
23
- class AXPAuthMasterLayoutComponent {
24
- constructor() {
25
- this.authConfig = inject(AXM_AUTH_CONFIG_TOKEN);
26
- this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthMasterLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPAuthMasterLayoutComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\r\n <div class=\"ax-flex-1 ax-bg-surface ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\r\n <router-outlet></router-outlet>\r\n <div class=\"ax-flex ax-justify-between\">\r\n <div class=\"auth-footer-links\">\r\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-flex-1 axp-auth-bk\">\r\n <div class=\"ax-flex ax-flex-col ax-text-primary-fore ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\r\n <div>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\r\n </div>\r\n <div>\r\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\r\n {{authConfig.signinPage?.slogan}}\r\n </p>\r\n <p>\r\n {{authConfig.signinPage?.description}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-color-primary-500));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-color-primary-700))}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthMasterLayoutComponent, decorators: [{
32
- type: Component,
33
- args: [{ imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule], standalone: true, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\r\n <div class=\"ax-flex-1 ax-bg-surface ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\r\n <router-outlet></router-outlet>\r\n <div class=\"ax-flex ax-justify-between\">\r\n <div class=\"auth-footer-links\">\r\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-flex-1 axp-auth-bk\">\r\n <div class=\"ax-flex ax-flex-col ax-text-primary-fore ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\r\n <div>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\r\n </div>\r\n <div>\r\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\r\n {{authConfig.signinPage?.slogan}}\r\n </p>\r\n <p>\r\n {{authConfig.signinPage?.description}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-color-primary-500));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-color-primary-700))}\n"] }]
34
- }] });
35
-
36
- export { AXPAuthMasterLayoutComponent };
37
- //# sourceMappingURL=acorex-modules-auth-master.layout-7OSbK7SF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-master.layout-7OSbK7SF.mjs","sources":["../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.ts","../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.html"],"sourcesContent":["import { AXPComponentSlotModule, AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\r\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\r\n\r\n@Component({\r\n templateUrl: 'master.layout.html',\r\n styleUrls: ['master.layout.scss'],\r\n imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule],\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXPAuthMasterLayoutComponent {\r\n protected authConfig = inject(AXM_AUTH_CONFIG_TOKEN);\r\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\r\n}\r\n","<div class=\"ax-w-full ax-h-full ax-flex\">\r\n <div class=\"ax-flex-1 ax-bg-surface ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\r\n <router-outlet></router-outlet>\r\n <div class=\"ax-flex ax-justify-between\">\r\n <div class=\"auth-footer-links\">\r\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-flex-1 axp-auth-bk\">\r\n <div class=\"ax-flex ax-flex-col ax-text-primary-fore ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\r\n <div>\r\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\r\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\r\n </div>\r\n <div>\r\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\r\n {{authConfig.signinPage?.slogan}}\r\n </p>\r\n <p>\r\n {{authConfig.signinPage?.description}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAYa,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;AAQY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC9D,KAAA;8GAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,wECZzC,0iCAyBM,EAAA,MAAA,EAAA,CAAA,+RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBM,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,wEAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIrD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;8BAGC,CAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,UAAA,EACrD,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0iCAAA,EAAA,MAAA,EAAA,CAAA,+RAAA,CAAA,EAAA,CAAA;;;;;"}
@@ -1,125 +0,0 @@
1
- import * as i2$1 from '@acorex/components/button';
2
- import { AXButtonModule } from '@acorex/components/button';
3
- import * as i8 from '@acorex/components/check-box';
4
- import { AXCheckBoxModule } from '@acorex/components/check-box';
5
- import * as i2$2 from '@acorex/components/decorators';
6
- import { AXDecoratorModule } from '@acorex/components/decorators';
7
- import { AXDialogService } from '@acorex/components/dialog';
8
- import * as i2 from '@acorex/components/form';
9
- import { AXFormModule, AXFormComponent } from '@acorex/components/form';
10
- import * as i6 from '@acorex/components/label';
11
- import { AXLabelModule } from '@acorex/components/label';
12
- import * as i3$1 from '@acorex/components/loading';
13
- import { AXLoadingModule } from '@acorex/components/loading';
14
- import * as i4 from '@acorex/components/password-box';
15
- import { AXPasswordBoxModule } from '@acorex/components/password-box';
16
- import * as i3 from '@acorex/components/text-box';
17
- import { AXTextBoxModule } from '@acorex/components/text-box';
18
- import * as i6$1 from '@acorex/core/translation';
19
- import { AXTranslationModule } from '@acorex/core/translation';
20
- import * as i1 from '@angular/common';
21
- import { CommonModule } from '@angular/common';
22
- import * as i0 from '@angular/core';
23
- import { inject, Component, ViewChild } from '@angular/core';
24
- import { RouterModule, Router } from '@angular/router';
25
- import { AXValidationModule } from '@acorex/core/validation';
26
- import { AXPSessionService } from '@acorex/platform/auth';
27
- import { BehaviorSubject } from 'rxjs';
28
- import { A as AXM_AUTH_CONFIG_TOKEN, a as AXMAuthenticationTypes } from './acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs';
29
- import '@acorex/platform/common';
30
- import '@angular/common/http';
31
- import '@ngrx/effects';
32
- import 'rxjs/operators';
33
- import '@acorex/components/popover';
34
- import '@acorex/components/avatar';
35
- import '@acorex/components/image';
36
- import '@acorex/platform/mocks';
37
-
38
- const MODULES = [
39
- CommonModule,
40
- AXFormModule,
41
- AXTextBoxModule,
42
- AXPasswordBoxModule,
43
- AXButtonModule,
44
- AXLabelModule,
45
- AXDecoratorModule,
46
- AXCheckBoxModule,
47
- AXTranslationModule,
48
- AXTranslationModule,
49
- AXLoadingModule,
50
- RouterModule,
51
- AXValidationModule,
52
- ];
53
- class AXPLoginPasswordComponent {
54
- constructor() {
55
- this.configs = inject(AXM_AUTH_CONFIG_TOKEN);
56
- this.v1 = '';
57
- this.v2 = '';
58
- this.isLoading$ = new BehaviorSubject(false);
59
- this.submitText = 'signin.submit';
60
- this.dialogService = inject(AXDialogService);
61
- this.sessionService = inject(AXPSessionService);
62
- this.router = inject(Router);
63
- }
64
- ngOnInit() {
65
- this.l2 = 'password';
66
- switch (this.configs.type) {
67
- case AXMAuthenticationTypes.EmailPassword:
68
- this.l1 = 'email';
69
- break;
70
- case AXMAuthenticationTypes.MobilePassword:
71
- this.l1 = 'mobile';
72
- break;
73
- case AXMAuthenticationTypes.UsernameEmailPassword:
74
- this.l1 = 'username-email';
75
- break;
76
- case AXMAuthenticationTypes.UsernamePassword:
77
- default:
78
- this.l1 = 'username';
79
- }
80
- }
81
- handleForgotOnClick() {
82
- this.router.navigate(['/auth/forgot']);
83
- }
84
- handleLoginClick() {
85
- this.form.validate().then(async (form) => {
86
- if (form.result) {
87
- this.isLoading$.next(true);
88
- this.submitText = 'processing';
89
- this.submitText = 'redirecting';
90
- try {
91
- await this.sessionService.signin({ strategy: 'user-pass', username: this.v1, password: this.v2 });
92
- await this.sessionService.signInComplete();
93
- if (this.sessionService.tenant == null) {
94
- this.router.navigate(['/auth/account/tenant-chooser']);
95
- }
96
- else if (this.sessionService.application == null) {
97
- this.router.navigate(['/auth/account/app-chooser']);
98
- }
99
- else {
100
- this.router.navigate([`/${this.sessionService.application.name}/home`]);
101
- }
102
- //
103
- }
104
- catch (error) {
105
- this.dialogService.alert('Something went wrong!', `${error.message} `, 'warning');
106
- this.submitText = 'signin.submit';
107
- this.v2 = null;
108
- this.isLoading$.next(false);
109
- }
110
- }
111
- });
112
- }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLoginPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPLoginPasswordComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: AXFormComponent, descendants: true }], ngImport: i0, template: "<ng-container *translate=\"let t\">\r\n <div class=\"ax-text-center ax-mb-4\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\r\n {{ t('signin.title', { scope: 'auth' }) | async }}\r\n </h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('signin.hint', { scope: 'auth' }) | async }}\r\n </p>\r\n </div>\r\n <div class=\"ax-w-80 lg:ax-w-96\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-text-box [(value)]=\"v1\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t(l2, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-password-box [(value)]=\"v2\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-password-box>\r\n </ax-form-field>\r\n <div class=\"ax-flex ax-justify-between ax-items-center\">\r\n <ax-check-box>\r\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\r\n </ax-check-box>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-sm\"\r\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\r\n look=\"blank\"\r\n (onClick)=\"handleForgotOnClick()\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-mt-6 ax-w-full\"\r\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\r\n (onClick)=\"handleLoginClick()\"\r\n [disabled]=\"isLoading$ | async\"\r\n [type]=\"'submit'\"\r\n >\r\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\r\n </ax-button>\r\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\r\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\r\n </div>\r\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\r\n <ax-button text=\"Sign in with Google\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button text=\"Sign in with Apple\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-apple fa-xl\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n </ax-form>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "component", type: i4.AXPasswordBoxComponent, selector: "ax-password-box", inputs: ["readonly", "disabled", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "autoComplete", "showToggleButton", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i6.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i8.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXValidationModule }] }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLoginPasswordComponent, decorators: [{
117
- type: Component,
118
- args: [{ imports: [...MODULES], standalone: true, template: "<ng-container *translate=\"let t\">\r\n <div class=\"ax-text-center ax-mb-4\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\r\n {{ t('signin.title', { scope: 'auth' }) | async }}\r\n </h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('signin.hint', { scope: 'auth' }) | async }}\r\n </p>\r\n </div>\r\n <div class=\"ax-w-80 lg:ax-w-96\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-text-box [(value)]=\"v1\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t(l2, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-password-box [(value)]=\"v2\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-password-box>\r\n </ax-form-field>\r\n <div class=\"ax-flex ax-justify-between ax-items-center\">\r\n <ax-check-box>\r\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\r\n </ax-check-box>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-sm\"\r\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\r\n look=\"blank\"\r\n (onClick)=\"handleForgotOnClick()\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-mt-6 ax-w-full\"\r\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\r\n (onClick)=\"handleLoginClick()\"\r\n [disabled]=\"isLoading$ | async\"\r\n [type]=\"'submit'\"\r\n >\r\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\r\n </ax-button>\r\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\r\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\r\n </div>\r\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\r\n <ax-button text=\"Sign in with Google\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button text=\"Sign in with Apple\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-apple fa-xl\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n </ax-form>\r\n </div>\r\n</ng-container>\r\n" }]
119
- }], propDecorators: { form: [{
120
- type: ViewChild,
121
- args: [AXFormComponent]
122
- }] } });
123
-
124
- export { AXPLoginPasswordComponent };
125
- //# sourceMappingURL=acorex-modules-auth-password.component-V2IWBUZb.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-password.component-V2IWBUZb.mjs","sources":["../../../../libs/modules/auth/src/lib/login/password/password.component.ts","../../../../libs/modules/auth/src/lib/login/password/password.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXDialogService } from '@acorex/components/dialog';\r\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\r\nimport { AXLabelModule } from '@acorex/components/label';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\r\nimport { AXTextBoxModule } from '@acorex/components/text-box';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { Router, RouterModule } from '@angular/router';\r\n\r\nimport { AXValidationModule } from '@acorex/core/validation';\r\nimport { AXPSessionService } from '@acorex/platform/auth';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AXMAuthConfigs, AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\r\n\r\nconst MODULES = [\r\n CommonModule,\r\n AXFormModule,\r\n AXTextBoxModule,\r\n AXPasswordBoxModule,\r\n AXButtonModule,\r\n AXLabelModule,\r\n AXDecoratorModule,\r\n AXCheckBoxModule,\r\n AXTranslationModule,\r\n AXTranslationModule,\r\n AXLoadingModule,\r\n RouterModule,\r\n AXValidationModule,\r\n];\r\n\r\n@Component({\r\n templateUrl: './password.component.html',\r\n imports: [...MODULES],\r\n standalone: true,\r\n})\r\nexport class AXPLoginPasswordComponent implements OnInit {\r\n protected configs: AXMAuthConfigs = inject<AXMAuthConfigs>(AXM_AUTH_CONFIG_TOKEN);\r\n protected l1!: string;\r\n protected l2!: string;\r\n\r\n protected v1 = '';\r\n protected v2: string | null = '';\r\n\r\n protected isLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n protected submitText = 'signin.submit';\r\n private dialogService = inject(AXDialogService);\r\n private sessionService = inject(AXPSessionService);\r\n\r\n @ViewChild(AXFormComponent)\r\n private form!: AXFormComponent;\r\n\r\n private router = inject(Router);\r\n\r\n ngOnInit(): void {\r\n this.l2 = 'password';\r\n switch (this.configs.type) {\r\n case AXMAuthenticationTypes.EmailPassword:\r\n this.l1 = 'email';\r\n break;\r\n case AXMAuthenticationTypes.MobilePassword:\r\n this.l1 = 'mobile';\r\n break;\r\n case AXMAuthenticationTypes.UsernameEmailPassword:\r\n this.l1 = 'username-email';\r\n break;\r\n case AXMAuthenticationTypes.UsernamePassword:\r\n default:\r\n this.l1 = 'username';\r\n }\r\n }\r\n\r\n protected handleForgotOnClick() {\r\n this.router.navigate(['/auth/forgot']);\r\n }\r\n\r\n protected handleLoginClick() {\r\n this.form.validate().then(async (form) => {\r\n if (form.result) {\r\n this.isLoading$.next(true);\r\n this.submitText = 'processing';\r\n this.submitText = 'redirecting';\r\n try {\r\n await this.sessionService.signin({ strategy: 'user-pass', username: this.v1, password: this.v2! });\r\n await this.sessionService.signInComplete();\r\n if (this.sessionService.tenant == null) {\r\n this.router.navigate(['/auth/account/tenant-chooser']);\r\n } else if (this.sessionService.application == null) {\r\n this.router.navigate(['/auth/account/app-chooser']);\r\n } else {\r\n this.router.navigate([`/${this.sessionService.application.name}/home`]);\r\n }\r\n //\r\n } catch (error: any) {\r\n this.dialogService.alert('Something went wrong!', `${error.message} `, 'warning');\r\n this.submitText = 'signin.submit';\r\n this.v2 = null;\r\n this.isLoading$.next(false);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","<ng-container *translate=\"let t\">\r\n <div class=\"ax-text-center ax-mb-4\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\r\n {{ t('signin.title', { scope: 'auth' }) | async }}\r\n </h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('signin.hint', { scope: 'auth' }) | async }}\r\n </p>\r\n </div>\r\n <div class=\"ax-w-80 lg:ax-w-96\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-text-box [(value)]=\"v1\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t(l2, { scope: 'auth' }) | async }}</ax-label>\r\n <ax-password-box [(value)]=\"v2\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-password-box>\r\n </ax-form-field>\r\n <div class=\"ax-flex ax-justify-between ax-items-center\">\r\n <ax-check-box>\r\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\r\n </ax-check-box>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-sm\"\r\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\r\n look=\"blank\"\r\n (onClick)=\"handleForgotOnClick()\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n <ax-button\r\n color=\"primary\"\r\n class=\"ax-mt-6 ax-w-full\"\r\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\r\n (onClick)=\"handleLoginClick()\"\r\n [disabled]=\"isLoading$ | async\"\r\n [type]=\"'submit'\"\r\n >\r\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\r\n </ax-button>\r\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\r\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\r\n </div>\r\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\r\n <ax-button text=\"Sign in with Google\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button text=\"Sign in with Apple\" color=\"ghost\">\r\n <ax-prefix>\r\n <ax-icon>\r\n <i class=\"fa-brands fa-apple fa-xl\"></i>\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n </ax-form>\r\n </div>\r\n</ng-container>\r\n"],"names":["i5","i7","i9","i10"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import * as i2$1 from '@acorex/components/button';
2
- import { AXButtonModule } from '@acorex/components/button';
3
- import { AXCheckBoxModule } from '@acorex/components/check-box';
4
- import * as i2 from '@acorex/components/form';
5
- import { AXFormModule } from '@acorex/components/form';
6
- import * as i6 from '@acorex/components/label';
7
- import { AXLabelModule } from '@acorex/components/label';
8
- import { AXPasswordBoxModule } from '@acorex/components/password-box';
9
- import * as i3 from '@acorex/components/text-box';
10
- import { AXTextBoxModule } from '@acorex/components/text-box';
11
- import * as i6$1 from '@acorex/core/translation';
12
- import { AXTranslationModule } from '@acorex/core/translation';
13
- import * as i1 from '@angular/common';
14
- import { CommonModule } from '@angular/common';
15
- import * as i0 from '@angular/core';
16
- import { inject, Component } from '@angular/core';
17
- import * as i2$2 from '@angular/router';
18
- import { RouterModule } from '@angular/router';
19
- import { A as AXM_AUTH_CONFIG_TOKEN, a as AXMAuthenticationTypes } from './acorex-modules-auth-acorex-modules-auth-DeS0JelZ.mjs';
20
- import '@acorex/platform/common';
21
- import '@acorex/platform/auth';
22
- import '@angular/common/http';
23
- import '@ngrx/effects';
24
- import '@acorex/components/dialog';
25
- import 'rxjs';
26
- import 'rxjs/operators';
27
- import '@acorex/components/decorators';
28
- import '@acorex/components/popover';
29
- import '@acorex/components/loading';
30
- import '@acorex/components/avatar';
31
- import '@acorex/components/image';
32
- import '@acorex/platform/mocks';
33
-
34
- const MODULES = [
35
- CommonModule,
36
- AXFormModule,
37
- AXTextBoxModule,
38
- AXPasswordBoxModule,
39
- AXButtonModule,
40
- AXLabelModule,
41
- AXCheckBoxModule,
42
- AXTranslationModule,
43
- RouterModule,
44
- ];
45
- class AXPForgetPasswordComponent {
46
- constructor() {
47
- this.configs = inject(AXM_AUTH_CONFIG_TOKEN);
48
- }
49
- ngOnInit() {
50
- this.l2 = 'password';
51
- switch (this.configs.type) {
52
- case AXMAuthenticationTypes.EmailPassword:
53
- this.l1 = 'email';
54
- break;
55
- case AXMAuthenticationTypes.MobilePassword:
56
- this.l1 = 'mobile';
57
- break;
58
- case AXMAuthenticationTypes.UsernamePassword:
59
- default:
60
- this.l1 = 'username';
61
- }
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPForgetPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPForgetPasswordComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-text-center ax-mb-4\" *translate=\"let t\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">{{ t('forgot.password',{scope:'auth'}) | async }}</h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('forgot.hint',{ scope:'auth', params:{ name:(t(l1,{scope:'auth'}) | async) } }) | async }}\r\n </p>\r\n</div>\r\n<div class=\"ax-w-80 lg:ax-w-96\" *translate=\"let t\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1,{scope:'auth'}) | async }}</ax-label>\r\n <ax-text-box></ax-text-box>\r\n </ax-form-field>\r\n </div>\r\n <ax-button color=\"primary\" class=\"ax-mt-6 ax-w-full\" [text]=\"t('forgot.submit',{scope:'auth'}) | async\"></ax-button>\r\n <div class=\"ax-text-center ax-mt-6 ax-text-sm ax-font-normal\">\r\n <span> {{ t('forgot.remember',{scope:'auth'}) | async}} </span>\r\n <a [routerLink]=\"['/auth/login']\" class=\"ax-link ax-font-semibold\">{{ t('signin.title',{scope:'auth'}) |\r\n async }}</a>\r\n </div>\r\n </ax-form>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i6.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPForgetPasswordComponent, decorators: [{
67
- type: Component,
68
- args: [{ imports: [...MODULES], standalone: true, template: "<div class=\"ax-text-center ax-mb-4\" *translate=\"let t\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">{{ t('forgot.password',{scope:'auth'}) | async }}</h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('forgot.hint',{ scope:'auth', params:{ name:(t(l1,{scope:'auth'}) | async) } }) | async }}\r\n </p>\r\n</div>\r\n<div class=\"ax-w-80 lg:ax-w-96\" *translate=\"let t\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1,{scope:'auth'}) | async }}</ax-label>\r\n <ax-text-box></ax-text-box>\r\n </ax-form-field>\r\n </div>\r\n <ax-button color=\"primary\" class=\"ax-mt-6 ax-w-full\" [text]=\"t('forgot.submit',{scope:'auth'}) | async\"></ax-button>\r\n <div class=\"ax-text-center ax-mt-6 ax-text-sm ax-font-normal\">\r\n <span> {{ t('forgot.remember',{scope:'auth'}) | async}} </span>\r\n <a [routerLink]=\"['/auth/login']\" class=\"ax-link ax-font-semibold\">{{ t('signin.title',{scope:'auth'}) |\r\n async }}</a>\r\n </div>\r\n </ax-form>\r\n</div>" }]
69
- }] });
70
-
71
- export { AXPForgetPasswordComponent };
72
- //# sourceMappingURL=acorex-modules-auth-password.component-qr9vkp8j.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-password.component-qr9vkp8j.mjs","sources":["../../../../libs/modules/auth/src/lib/forgot/password/password.component.ts","../../../../libs/modules/auth/src/lib/forgot/password/password.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\r\nimport { AXFormModule } from '@acorex/components/form';\r\nimport { AXLabelModule } from '@acorex/components/label';\r\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\r\nimport { AXTextBoxModule } from '@acorex/components/text-box';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, OnInit, inject } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AXMAuthConfigs, AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\r\n\r\nconst MODULES = [\r\n CommonModule,\r\n AXFormModule,\r\n AXTextBoxModule,\r\n AXPasswordBoxModule,\r\n AXButtonModule,\r\n AXLabelModule,\r\n AXCheckBoxModule,\r\n AXTranslationModule,\r\n RouterModule,\r\n];\r\n\r\n@Component({\r\n templateUrl: './password.component.html',\r\n imports: [...MODULES],\r\n standalone: true,\r\n})\r\nexport class AXPForgetPasswordComponent implements OnInit {\r\n protected l1!: string;\r\n protected l2!: string;\r\n\r\n protected configs: AXMAuthConfigs = inject<AXMAuthConfigs>(AXM_AUTH_CONFIG_TOKEN);\r\n\r\n ngOnInit(): void {\r\n this.l2 = 'password';\r\n switch (this.configs.type) {\r\n case AXMAuthenticationTypes.EmailPassword:\r\n this.l1 = 'email';\r\n break;\r\n case AXMAuthenticationTypes.MobilePassword:\r\n this.l1 = 'mobile';\r\n\r\n break;\r\n case AXMAuthenticationTypes.UsernamePassword:\r\n default:\r\n this.l1 = 'username';\r\n }\r\n }\r\n}\r\n","<div class=\"ax-text-center ax-mb-4\" *translate=\"let t\">\r\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">{{ t('forgot.password',{scope:'auth'}) | async }}</h1>\r\n <p class=\"ax-text-base ax-text-neutral-600\">\r\n {{ t('forgot.hint',{ scope:'auth', params:{ name:(t(l1,{scope:'auth'}) | async) } }) | async }}\r\n </p>\r\n</div>\r\n<div class=\"ax-w-80 lg:ax-w-96\" *translate=\"let t\">\r\n <ax-form>\r\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\r\n <ax-form-field>\r\n <ax-label>{{ t(l1,{scope:'auth'}) | async }}</ax-label>\r\n <ax-text-box></ax-text-box>\r\n </ax-form-field>\r\n </div>\r\n <ax-button color=\"primary\" class=\"ax-mt-6 ax-w-full\" [text]=\"t('forgot.submit',{scope:'auth'}) | async\"></ax-button>\r\n <div class=\"ax-text-center ax-mt-6 ax-text-sm ax-font-normal\">\r\n <span> {{ t('forgot.remember',{scope:'auth'}) | async}} </span>\r\n <a [routerLink]=\"['/auth/login']\" class=\"ax-link ax-font-semibold\">{{ t('signin.title',{scope:'auth'}) |\r\n async }}</a>\r\n </div>\r\n </ax-form>\r\n</div>"],"names":["i5","i7"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-routes--jOmlQkp.mjs","sources":["../../../../libs/modules/auth/src/lib/forgot/routes.ts"],"sourcesContent":["import { Route } from '@angular/router';\r\n\r\nexport default [{\r\n path: 'forgot',\r\n loadComponent: () => {\r\n return import('./password/password.component').then(\r\n (c) => c.AXPForgetPasswordComponent\r\n );\r\n },\r\n}] as Route[];"],"names":[],"mappings":"AAEA,aAAe,CAAC;AACZ,QAAA,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,MAAK;AAChB,YAAA,OAAO,OAAO,uDAA+B,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CACtC,CAAC;SACL;AACJ,KAAA,CAAY;;;;"}