@devopmaat/badaboom 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +3 -0
  2. package/_index.scss +1 -0
  3. package/esm2022/devopmaat-badaboom.mjs +5 -0
  4. package/esm2022/lib/application/common/bdb-data-source.mjs +42 -0
  5. package/esm2022/lib/application/common/paginator/bdb-paginator.component.mjs +37 -0
  6. package/esm2022/lib/application/common/query-input/bdb-query-input.component.mjs +45 -0
  7. package/esm2022/lib/application/common/search/bdb-search-wrapper.component.mjs +33 -0
  8. package/esm2022/lib/application/common/search/bdb-search.component.mjs +163 -0
  9. package/esm2022/lib/application/common/table/bdb-cell.directive.mjs +20 -0
  10. package/esm2022/lib/application/common/table/bdb-column-builder.mjs +94 -0
  11. package/esm2022/lib/application/common/table/bdb-column-options.mjs +2 -0
  12. package/esm2022/lib/application/common/table/bdb-column-type.mjs +12 -0
  13. package/esm2022/lib/application/common/table/bdb-column.mjs +2 -0
  14. package/esm2022/lib/application/common/table/bdb-context-action.mjs +2 -0
  15. package/esm2022/lib/application/common/table/bdb-table.component.mjs +193 -0
  16. package/esm2022/lib/application/common/table/dynamic.pipe.mjs +26 -0
  17. package/esm2022/lib/application/exception-log/exception-log-table/exception-log-table.component.mjs +49 -0
  18. package/esm2022/lib/application/task-log/task-log-outcome.pipe.mjs +31 -0
  19. package/esm2022/lib/application/task-log/task-log-status.pipe.mjs +29 -0
  20. package/esm2022/lib/application/task-log-parameter/task-log-parameter-value.pipe.mjs +49 -0
  21. package/esm2022/lib/application/user/user-table/user-table.component.mjs +68 -0
  22. package/esm2022/lib/bdb-auth-options.mjs +39 -0
  23. package/esm2022/lib/bdb-options.mjs +25 -0
  24. package/esm2022/lib/common/alert/bdb-alert.component.mjs +40 -0
  25. package/esm2022/lib/common/alert-error-response/bdb-alert-error-response.component.mjs +107 -0
  26. package/esm2022/lib/common/bdb-flex-child.directive.mjs +24 -0
  27. package/esm2022/lib/common/bdb-flex.directive.mjs +112 -0
  28. package/esm2022/lib/common/bdb-form-error.directive.mjs +74 -0
  29. package/esm2022/lib/common/bdb-grid-child.directive.mjs +81 -0
  30. package/esm2022/lib/common/bdb-grid.directive.mjs +107 -0
  31. package/esm2022/lib/common/bdb-palette.mjs +2 -0
  32. package/esm2022/lib/common/boolean-display/bdb-boolean-display.component.mjs +23 -0
  33. package/esm2022/lib/common/color.mjs +26 -0
  34. package/esm2022/lib/common/constructor.mjs +2 -0
  35. package/esm2022/lib/common/field/bdb-field.component.mjs +17 -0
  36. package/esm2022/lib/common/function.pipe.mjs +20 -0
  37. package/esm2022/lib/common/layout-error.mjs +6 -0
  38. package/esm2022/lib/common/linked-list.mjs +53 -0
  39. package/esm2022/lib/domain/auth/account-info.mjs +2 -0
  40. package/esm2022/lib/domain/auth/account.service.mjs +32 -0
  41. package/esm2022/lib/domain/auth/auth.service.mjs +119 -0
  42. package/esm2022/lib/domain/auth/reset-password-token.mjs +2 -0
  43. package/esm2022/lib/domain/auth/token-expired.interceptor.mjs +21 -0
  44. package/esm2022/lib/domain/auth/token-reponse.mjs +2 -0
  45. package/esm2022/lib/domain/auth/token.interceptor.mjs +17 -0
  46. package/esm2022/lib/domain/common/bdb-filter.mjs +2 -0
  47. package/esm2022/lib/domain/common/bdb-request.mjs +2 -0
  48. package/esm2022/lib/domain/common/bdb-response.mjs +2 -0
  49. package/esm2022/lib/domain/common/entities/bdb-entity-read.mjs +2 -0
  50. package/esm2022/lib/domain/common/entities/bdb-entity-update.mjs +2 -0
  51. package/esm2022/lib/domain/common/entities/bdb-entity.mjs +2 -0
  52. package/esm2022/lib/domain/common/services/bdb-service-cr.mjs +7 -0
  53. package/esm2022/lib/domain/common/services/bdb-service-crd.mjs +7 -0
  54. package/esm2022/lib/domain/common/services/bdb-service-cru.mjs +7 -0
  55. package/esm2022/lib/domain/common/services/bdb-service-crud.mjs +7 -0
  56. package/esm2022/lib/domain/common/services/bdb-service-r.mjs +10 -0
  57. package/esm2022/lib/domain/common/services/bdb-service-rd.mjs +7 -0
  58. package/esm2022/lib/domain/common/services/bdb-service-ru.mjs +7 -0
  59. package/esm2022/lib/domain/common/services/bdb-service-rud.mjs +7 -0
  60. package/esm2022/lib/domain/common/services/bdb-service.mjs +11 -0
  61. package/esm2022/lib/domain/entities/exception-log/exception-log-read.mjs +2 -0
  62. package/esm2022/lib/domain/entities/exception-log/exception-log.mjs +2 -0
  63. package/esm2022/lib/domain/entities/exception-log/exception-log.service.mjs +17 -0
  64. package/esm2022/lib/domain/entities/media/media-read.mjs +2 -0
  65. package/esm2022/lib/domain/entities/media/media.mjs +2 -0
  66. package/esm2022/lib/domain/entities/media/media.service.mjs +27 -0
  67. package/esm2022/lib/domain/entities/role/role-read.mjs +2 -0
  68. package/esm2022/lib/domain/entities/role/role.mjs +2 -0
  69. package/esm2022/lib/domain/entities/role/role.service.mjs +17 -0
  70. package/esm2022/lib/domain/entities/task-log/task-log-create.mjs +2 -0
  71. package/esm2022/lib/domain/entities/task-log/task-log-read.mjs +2 -0
  72. package/esm2022/lib/domain/entities/task-log/task-log.mjs +2 -0
  73. package/esm2022/lib/domain/entities/task-log/task-log.service.mjs +20 -0
  74. package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter-create.mjs +2 -0
  75. package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter-read.mjs +2 -0
  76. package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter.mjs +2 -0
  77. package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter.service.mjs +17 -0
  78. package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-create.mjs +2 -0
  79. package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-read.mjs +2 -0
  80. package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-update.mjs +2 -0
  81. package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule.mjs +2 -0
  82. package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule.service.mjs +17 -0
  83. package/esm2022/lib/domain/entities/user/user-create.mjs +2 -0
  84. package/esm2022/lib/domain/entities/user/user-read.mjs +2 -0
  85. package/esm2022/lib/domain/entities/user/user-update.mjs +2 -0
  86. package/esm2022/lib/domain/entities/user/user.mjs +2 -0
  87. package/esm2022/lib/domain/entities/user/user.service.mjs +17 -0
  88. package/esm2022/lib/domain/entities/user-role/user-role-create.mjs +2 -0
  89. package/esm2022/lib/domain/entities/user-role/user-role-read.mjs +2 -0
  90. package/esm2022/lib/domain/entities/user-role/user-role.mjs +2 -0
  91. package/esm2022/lib/domain/entities/user-role/user-role.service.mjs +17 -0
  92. package/esm2022/lib/domain/enums/media-type.mjs +7 -0
  93. package/esm2022/lib/domain/enums/task-log-outcome.mjs +9 -0
  94. package/esm2022/lib/domain/enums/task-log-parameter-type.mjs +8 -0
  95. package/esm2022/lib/domain/enums/task-log-status.mjs +8 -0
  96. package/esm2022/lib/domain/tasks/task-log-scheduler.service.mjs +26 -0
  97. package/esm2022/lib/domain/tasks/task-log-type-parameter.mjs +2 -0
  98. package/esm2022/lib/domain/tasks/task-log-type.mjs +2 -0
  99. package/esm2022/lib/domain/tasks/task-log-type.service.mjs +44 -0
  100. package/esm2022/lib/lib.config.mjs +67 -0
  101. package/esm2022/lib/presentation/access-denied-page/access-denied-page.component.mjs +51 -0
  102. package/esm2022/lib/presentation/auth-container/auth-container.component.mjs +12 -0
  103. package/esm2022/lib/presentation/forgot-password-page/forgot-password-page.component.mjs +75 -0
  104. package/esm2022/lib/presentation/invalid-token-page/invalid-token-page.component.mjs +26 -0
  105. package/esm2022/lib/presentation/logged-out.guard.mjs +16 -0
  106. package/esm2022/lib/presentation/login-page/login-page.component.mjs +90 -0
  107. package/esm2022/lib/presentation/logout-page/logout-page.component.mjs +33 -0
  108. package/esm2022/lib/presentation/reset-password-page/reset-password-page.component.mjs +102 -0
  109. package/esm2022/lib/presentation/reset-password.resolver.mjs +25 -0
  110. package/esm2022/lib/presentation/role.guard.mjs +28 -0
  111. package/esm2022/public-api.mjs +109 -0
  112. package/fesm2022/devopmaat-badaboom.mjs +2443 -0
  113. package/fesm2022/devopmaat-badaboom.mjs.map +1 -0
  114. package/index.d.ts +5 -0
  115. package/lib/_theme.scss +32 -0
  116. package/lib/application/common/bdb-data-source.d.ts +25 -0
  117. package/lib/application/common/paginator/bdb-paginator.component.d.ts +17 -0
  118. package/lib/application/common/query-input/_bdb-query-input-theme.scss +17 -0
  119. package/lib/application/common/query-input/bdb-query-input.component.d.ts +15 -0
  120. package/lib/application/common/search/_bdb-search-theme.scss +12 -0
  121. package/lib/application/common/search/bdb-search-wrapper.component.d.ts +13 -0
  122. package/lib/application/common/search/bdb-search.component.d.ts +43 -0
  123. package/lib/application/common/table/_bdb-table-theme.scss +48 -0
  124. package/lib/application/common/table/bdb-cell.directive.d.ts +9 -0
  125. package/lib/application/common/table/bdb-column-builder.d.ts +18 -0
  126. package/lib/application/common/table/bdb-column-options.d.ts +32 -0
  127. package/lib/application/common/table/bdb-column-type.d.ts +10 -0
  128. package/lib/application/common/table/bdb-column.d.ts +19 -0
  129. package/lib/application/common/table/bdb-context-action.d.ts +7 -0
  130. package/lib/application/common/table/bdb-table.component.d.ts +57 -0
  131. package/lib/application/common/table/dynamic.pipe.d.ts +9 -0
  132. package/lib/application/exception-log/exception-log-table/exception-log-table.component.d.ts +26 -0
  133. package/lib/application/task-log/task-log-outcome.pipe.d.ts +8 -0
  134. package/lib/application/task-log/task-log-status.pipe.d.ts +8 -0
  135. package/lib/application/task-log-parameter/task-log-parameter-value.pipe.d.ts +10 -0
  136. package/lib/application/user/user-table/user-table.component.d.ts +25 -0
  137. package/lib/bdb-auth-options.d.ts +28 -0
  138. package/lib/bdb-options.d.ts +16 -0
  139. package/lib/common/_button-theme.scss +87 -0
  140. package/lib/common/_icon-theme.scss +32 -0
  141. package/lib/common/alert/_bdb-alert-theme.scss +34 -0
  142. package/lib/common/alert/bdb-alert.component.d.ts +20 -0
  143. package/lib/common/alert-error-response/bdb-alert-error-response.component.d.ts +17 -0
  144. package/lib/common/bdb-flex-child.directive.d.ts +11 -0
  145. package/lib/common/bdb-flex.directive.d.ts +28 -0
  146. package/lib/common/bdb-form-error.directive.d.ts +15 -0
  147. package/lib/common/bdb-grid-child.directive.d.ts +14 -0
  148. package/lib/common/bdb-grid.directive.d.ts +26 -0
  149. package/lib/common/bdb-palette.d.ts +1 -0
  150. package/lib/common/boolean-display/_bdb-boolean-display-theme.scss +18 -0
  151. package/lib/common/boolean-display/bdb-boolean-display.component.d.ts +7 -0
  152. package/lib/common/color.d.ts +14 -0
  153. package/lib/common/constructor.d.ts +2 -0
  154. package/lib/common/field/bdb-field.component.d.ts +6 -0
  155. package/lib/common/function.pipe.d.ts +7 -0
  156. package/lib/common/layout-error.d.ts +3 -0
  157. package/lib/common/linked-list.d.ts +15 -0
  158. package/lib/domain/auth/account-info.d.ts +6 -0
  159. package/lib/domain/auth/account.service.d.ts +29 -0
  160. package/lib/domain/auth/auth.service.d.ts +35 -0
  161. package/lib/domain/auth/reset-password-token.d.ts +4 -0
  162. package/lib/domain/auth/token-expired.interceptor.d.ts +2 -0
  163. package/lib/domain/auth/token-reponse.d.ts +5 -0
  164. package/lib/domain/auth/token.interceptor.d.ts +2 -0
  165. package/lib/domain/common/bdb-filter.d.ts +9 -0
  166. package/lib/domain/common/bdb-request.d.ts +10 -0
  167. package/lib/domain/common/bdb-response.d.ts +6 -0
  168. package/lib/domain/common/entities/bdb-entity-read.d.ts +3 -0
  169. package/lib/domain/common/entities/bdb-entity-update.d.ts +3 -0
  170. package/lib/domain/common/entities/bdb-entity.d.ts +3 -0
  171. package/lib/domain/common/services/bdb-service-cr.d.ts +7 -0
  172. package/lib/domain/common/services/bdb-service-crd.d.ts +7 -0
  173. package/lib/domain/common/services/bdb-service-cru.d.ts +8 -0
  174. package/lib/domain/common/services/bdb-service-crud.d.ts +8 -0
  175. package/lib/domain/common/services/bdb-service-r.d.ts +10 -0
  176. package/lib/domain/common/services/bdb-service-rd.d.ts +7 -0
  177. package/lib/domain/common/services/bdb-service-ru.d.ts +8 -0
  178. package/lib/domain/common/services/bdb-service-rud.d.ts +8 -0
  179. package/lib/domain/common/services/bdb-service.d.ts +6 -0
  180. package/lib/domain/entities/exception-log/exception-log-read.d.ts +9 -0
  181. package/lib/domain/entities/exception-log/exception-log.d.ts +9 -0
  182. package/lib/domain/entities/exception-log/exception-log.service.d.ts +9 -0
  183. package/lib/domain/entities/media/media-read.d.ts +14 -0
  184. package/lib/domain/entities/media/media.d.ts +15 -0
  185. package/lib/domain/entities/media/media.service.d.ts +12 -0
  186. package/lib/domain/entities/role/role-read.d.ts +7 -0
  187. package/lib/domain/entities/role/role.d.ts +4 -0
  188. package/lib/domain/entities/role/role.service.d.ts +9 -0
  189. package/lib/domain/entities/task-log/task-log-create.d.ts +5 -0
  190. package/lib/domain/entities/task-log/task-log-read.d.ts +11 -0
  191. package/lib/domain/entities/task-log/task-log.d.ts +15 -0
  192. package/lib/domain/entities/task-log/task-log.service.d.ts +12 -0
  193. package/lib/domain/entities/task-log-parameter/task-log-parameter-create.d.ts +7 -0
  194. package/lib/domain/entities/task-log-parameter/task-log-parameter-read.d.ts +11 -0
  195. package/lib/domain/entities/task-log-parameter/task-log-parameter.d.ts +10 -0
  196. package/lib/domain/entities/task-log-parameter/task-log-parameter.service.d.ts +9 -0
  197. package/lib/domain/entities/task-log-schedule/task-log-schedule-create.d.ts +5 -0
  198. package/lib/domain/entities/task-log-schedule/task-log-schedule-read.d.ts +7 -0
  199. package/lib/domain/entities/task-log-schedule/task-log-schedule-update.d.ts +5 -0
  200. package/lib/domain/entities/task-log-schedule/task-log-schedule.d.ts +7 -0
  201. package/lib/domain/entities/task-log-schedule/task-log-schedule.service.d.ts +11 -0
  202. package/lib/domain/entities/user/user-create.d.ts +3 -0
  203. package/lib/domain/entities/user/user-read.d.ts +6 -0
  204. package/lib/domain/entities/user/user-update.d.ts +4 -0
  205. package/lib/domain/entities/user/user.d.ts +5 -0
  206. package/lib/domain/entities/user/user.service.d.ts +11 -0
  207. package/lib/domain/entities/user-role/user-role-create.d.ts +4 -0
  208. package/lib/domain/entities/user-role/user-role-read.d.ts +7 -0
  209. package/lib/domain/entities/user-role/user-role.d.ts +7 -0
  210. package/lib/domain/entities/user-role/user-role.service.d.ts +10 -0
  211. package/lib/domain/enums/media-type.d.ts +5 -0
  212. package/lib/domain/enums/task-log-outcome.d.ts +7 -0
  213. package/lib/domain/enums/task-log-parameter-type.d.ts +6 -0
  214. package/lib/domain/enums/task-log-status.d.ts +6 -0
  215. package/lib/domain/tasks/task-log-scheduler.service.d.ts +11 -0
  216. package/lib/domain/tasks/task-log-type-parameter.d.ts +11 -0
  217. package/lib/domain/tasks/task-log-type.d.ts +7 -0
  218. package/lib/domain/tasks/task-log-type.service.d.ts +14 -0
  219. package/lib/lib.config.d.ts +11 -0
  220. package/lib/presentation/access-denied-page/access-denied-page.component.d.ts +16 -0
  221. package/lib/presentation/auth-container/auth-container.component.d.ts +5 -0
  222. package/lib/presentation/forgot-password-page/forgot-password-page.component.d.ts +20 -0
  223. package/lib/presentation/invalid-token-page/invalid-token-page.component.d.ts +8 -0
  224. package/lib/presentation/logged-out.guard.d.ts +2 -0
  225. package/lib/presentation/login-page/login-page.component.d.ts +27 -0
  226. package/lib/presentation/logout-page/logout-page.component.d.ts +13 -0
  227. package/lib/presentation/reset-password-page/reset-password-page.component.d.ts +31 -0
  228. package/lib/presentation/reset-password.resolver.d.ts +3 -0
  229. package/lib/presentation/role.guard.d.ts +2 -0
  230. package/package.json +27 -0
  231. package/public-api.d.ts +99 -0
@@ -0,0 +1,67 @@
1
+ import { makeEnvironmentProviders } from '@angular/core';
2
+ import { BDB_OPTIONS, BdbOptionsBuilder } from './bdb-options';
3
+ import { provideHttpClient, withInterceptors } from '@angular/common/http';
4
+ import { tokenExpiredInterceptor } from './domain/auth/token-expired.interceptor';
5
+ import { provideRouter } from '@angular/router';
6
+ import { AuthContainerComponent } from './presentation/auth-container/auth-container.component';
7
+ import { loggedOutGuard } from './presentation/logged-out.guard';
8
+ import { roleGuard } from './presentation/role.guard';
9
+ import { resetPasswordResolver } from './presentation/reset-password.resolver';
10
+ import { tokenInterceptor } from './domain/auth/token.interceptor';
11
+ /**
12
+ * Configures BaDaBoom by providing necessary tokens.
13
+ * Takes root routes and provides the router with these routes, appending routes if specified
14
+ * @param {BdbOptionsConfigure} optionsConfigure
15
+ * @param {Routes} routes
16
+ * @return {EnvironmentProviders}
17
+ */
18
+ export function provideBaDaBoom(optionsConfigure, routes) {
19
+ const options = new BdbOptionsBuilder(optionsConfigure).build();
20
+ let authRoutes = [];
21
+ if (options.authOptions?.addPresentation) {
22
+ const authOptions = options.authOptions;
23
+ authRoutes = [
24
+ {
25
+ path: '',
26
+ component: AuthContainerComponent,
27
+ children: [
28
+ {
29
+ path: authOptions.loginPath,
30
+ canActivate: [loggedOutGuard],
31
+ loadComponent: () => import('./presentation/login-page/login-page.component').then(x => x.LoginPageComponent),
32
+ },
33
+ {
34
+ path: authOptions.logoutPath,
35
+ canActivate: [roleGuard()],
36
+ loadComponent: () => import('./presentation/logout-page/logout-page.component').then(x => x.LogoutPageComponent),
37
+ },
38
+ {
39
+ path: authOptions.forgotPasswordPath,
40
+ canActivate: [loggedOutGuard],
41
+ loadComponent: () => import('./presentation/forgot-password-page/forgot-password-page.component').then(x => x.ForgotPasswordPageComponent),
42
+ },
43
+ {
44
+ path: authOptions.resetPasswordPath,
45
+ canActivate: [loggedOutGuard],
46
+ resolve: [resetPasswordResolver],
47
+ loadComponent: () => import('./presentation/reset-password-page/reset-password-page.component').then(x => x.ResetPasswordPageComponent),
48
+ },
49
+ {
50
+ path: authOptions.accessDeniedPath,
51
+ loadComponent: () => import('./presentation/access-denied-page/access-denied-page.component').then(x => x.AccessDeniedPageComponent),
52
+ },
53
+ {
54
+ path: authOptions.invalidTokenPath,
55
+ loadComponent: () => import('./presentation/invalid-token-page/invalid-token-page.component').then(x => x.InvalidTokenPageComponent),
56
+ },
57
+ ],
58
+ },
59
+ ];
60
+ }
61
+ return makeEnvironmentProviders([
62
+ { provide: BDB_OPTIONS, useValue: options },
63
+ provideHttpClient(withInterceptors([tokenInterceptor, tokenExpiredInterceptor])),
64
+ provideRouter([...routes, ...authRoutes]),
65
+ ]);
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvbGliLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsZ0JBQXFDLEVBQUUsTUFBYztJQUNuRixNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFaEUsSUFBSSxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhDLFVBQVUsR0FBRztZQUNYO2dCQUNFLElBQUksRUFBRSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxzQkFBc0I7Z0JBQ2pDLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7d0JBQzNCLFdBQVcsRUFBRSxDQUFDLGNBQWMsQ0FBQzt3QkFDN0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7cUJBQzNGO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsVUFBVTt3QkFDNUIsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQzFCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO3FCQUM5RjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsV0FBVyxDQUFDLGtCQUFrQjt3QkFDcEMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDO3dCQUM3QixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDLElBQUksQ0FDL0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQ25DO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsaUJBQWlCO3dCQUNuQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUM7d0JBQzdCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNoQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDLElBQUksQ0FDN0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQ2xDO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsZ0JBQWdCO3dCQUNsQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQ2pDO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsZ0JBQWdCO3dCQUNsQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQ2pDO3FCQUNKO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDM0MsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDaEYsYUFBYSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQztLQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCREJfT1BUSU9OUywgQmRiT3B0aW9uc0J1aWxkZXIsIEJkYk9wdGlvbnNDb25maWd1cmUgfSBmcm9tICcuL2JkYi1vcHRpb25zJztcclxuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRva2VuRXhwaXJlZEludGVyY2VwdG9yIH0gZnJvbSAnLi9kb21haW4vYXV0aC90b2tlbi1leHBpcmVkLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgUm91dGVzLCBwcm92aWRlUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vcHJlc2VudGF0aW9uL2F1dGgtY29udGFpbmVyL2F1dGgtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGxvZ2dlZE91dEd1YXJkIH0gZnJvbSAnLi9wcmVzZW50YXRpb24vbG9nZ2VkLW91dC5ndWFyZCc7XHJcbmltcG9ydCB7IHJvbGVHdWFyZCB9IGZyb20gJy4vcHJlc2VudGF0aW9uL3JvbGUuZ3VhcmQnO1xyXG5pbXBvcnQgeyByZXNldFBhc3N3b3JkUmVzb2x2ZXIgfSBmcm9tICcuL3ByZXNlbnRhdGlvbi9yZXNldC1wYXNzd29yZC5yZXNvbHZlcic7XHJcbmltcG9ydCB7IHRva2VuSW50ZXJjZXB0b3IgfSBmcm9tICcuL2RvbWFpbi9hdXRoL3Rva2VuLmludGVyY2VwdG9yJztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmVzIEJhRGFCb29tIGJ5IHByb3ZpZGluZyBuZWNlc3NhcnkgdG9rZW5zLlxyXG4gKiBUYWtlcyByb290IHJvdXRlcyBhbmQgcHJvdmlkZXMgdGhlIHJvdXRlciB3aXRoIHRoZXNlIHJvdXRlcywgYXBwZW5kaW5nIHJvdXRlcyBpZiBzcGVjaWZpZWRcclxuICogQHBhcmFtIHtCZGJPcHRpb25zQ29uZmlndXJlfSBvcHRpb25zQ29uZmlndXJlXHJcbiAqIEBwYXJhbSB7Um91dGVzfSByb3V0ZXNcclxuICogQHJldHVybiB7RW52aXJvbm1lbnRQcm92aWRlcnN9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJhRGFCb29tKG9wdGlvbnNDb25maWd1cmU6IEJkYk9wdGlvbnNDb25maWd1cmUsIHJvdXRlczogUm91dGVzKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xyXG4gIGNvbnN0IG9wdGlvbnMgPSBuZXcgQmRiT3B0aW9uc0J1aWxkZXIob3B0aW9uc0NvbmZpZ3VyZSkuYnVpbGQoKTtcclxuXHJcbiAgbGV0IGF1dGhSb3V0ZXM6IFJvdXRlcyA9IFtdO1xyXG5cclxuICBpZiAob3B0aW9ucy5hdXRoT3B0aW9ucz8uYWRkUHJlc2VudGF0aW9uKSB7XHJcbiAgICBjb25zdCBhdXRoT3B0aW9ucyA9IG9wdGlvbnMuYXV0aE9wdGlvbnM7XHJcblxyXG4gICAgYXV0aFJvdXRlcyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQXV0aENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjaGlsZHJlbjogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5sb2dpblBhdGgsXHJcbiAgICAgICAgICAgIGNhbkFjdGl2YXRlOiBbbG9nZ2VkT3V0R3VhcmRdLFxyXG4gICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wcmVzZW50YXRpb24vbG9naW4tcGFnZS9sb2dpbi1wYWdlLmNvbXBvbmVudCcpLnRoZW4oeCA9PiB4LkxvZ2luUGFnZUNvbXBvbmVudCksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5sb2dvdXRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW3JvbGVHdWFyZCgpXSxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2xvZ291dC1wYWdlL2xvZ291dC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oeCA9PiB4LkxvZ291dFBhZ2VDb21wb25lbnQpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGF0aDogYXV0aE9wdGlvbnMuZm9yZ290UGFzc3dvcmRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW2xvZ2dlZE91dEd1YXJkXSxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2ZvcmdvdC1wYXNzd29yZC1wYWdlL2ZvcmdvdC1wYXNzd29yZC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICB4ID0+IHguRm9yZ290UGFzc3dvcmRQYWdlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBhdGg6IGF1dGhPcHRpb25zLnJlc2V0UGFzc3dvcmRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW2xvZ2dlZE91dEd1YXJkXSxcclxuICAgICAgICAgICAgcmVzb2x2ZTogW3Jlc2V0UGFzc3dvcmRSZXNvbHZlcl0sXHJcbiAgICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XHJcbiAgICAgICAgICAgICAgaW1wb3J0KCcuL3ByZXNlbnRhdGlvbi9yZXNldC1wYXNzd29yZC1wYWdlL3Jlc2V0LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50JykudGhlbihcclxuICAgICAgICAgICAgICAgIHggPT4geC5SZXNldFBhc3N3b3JkUGFnZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5hY2Nlc3NEZW5pZWRQYXRoLFxyXG4gICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wcmVzZW50YXRpb24vYWNjZXNzLWRlbmllZC1wYWdlL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQnKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgeCA9PiB4LkFjY2Vzc0RlbmllZFBhZ2VDb21wb25lbnRcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGF0aDogYXV0aE9wdGlvbnMuaW52YWxpZFRva2VuUGF0aCxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2ludmFsaWQtdG9rZW4tcGFnZS9pbnZhbGlkLXRva2VuLXBhZ2UuY29tcG9uZW50JykudGhlbihcclxuICAgICAgICAgICAgICAgIHggPT4geC5JbnZhbGlkVG9rZW5QYWdlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcclxuICAgIHsgcHJvdmlkZTogQkRCX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXHJcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzKFt0b2tlbkludGVyY2VwdG9yLCB0b2tlbkV4cGlyZWRJbnRlcmNlcHRvcl0pKSxcclxuICAgIHByb3ZpZGVSb3V0ZXIoWy4uLnJvdXRlcywgLi4uYXV0aFJvdXRlc10pLFxyXG4gIF0pO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MatCardModule } from '@angular/material/card';
3
+ import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { RouterLink } from '@angular/router';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { BDB_OPTIONS } from '../../bdb-options';
8
+ import { CommonModule } from '@angular/common';
9
+ import { BdbFlexDirective } from '../../common/bdb-flex.directive';
10
+ import { Subject, takeUntil } from 'rxjs';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../domain/auth/auth.service";
13
+ import * as i2 from "@angular/common";
14
+ import * as i3 from "@angular/material/card";
15
+ import * as i4 from "@angular/material/button";
16
+ export class AccessDeniedPageComponent {
17
+ constructor(bdbOptions, authService) {
18
+ this.authService = authService;
19
+ this._onDestroy = new Subject();
20
+ this.isLoggedIn = true;
21
+ this.loginRoutePath = bdbOptions.authOptions?.loginPath;
22
+ this.logoutRoutePath = bdbOptions.authOptions?.logoutPath;
23
+ }
24
+ ngOnInit() {
25
+ this.authService.account$.pipe(takeUntil(this._onDestroy)).subscribe({
26
+ next: x => (this.isLoggedIn = x !== null),
27
+ });
28
+ }
29
+ ngOnDestroy() {
30
+ this._onDestroy.next();
31
+ this._onDestroy.complete();
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AccessDeniedPageComponent, deps: [{ token: BDB_OPTIONS }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AccessDeniedPageComponent, isStandalone: true, selector: "bdb-access-denied-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Toegang geweigerd</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"danger\" label=\"Geen toegang\" icon=\"block\">\r\n U heeft onvoldoende rechten voor de gevraagde toepassing\r\n </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button *ngIf=\"!isLoggedIn\">Inloggen</a>\r\n <a [routerLink]=\"['/', logoutRoutePath]\" mat-button *ngIf=\"isLoggedIn\">Uitloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AccessDeniedPageComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'bdb-access-denied-page', standalone: true, imports: [
39
+ CommonModule,
40
+ MatCardModule,
41
+ BdbAlertComponent,
42
+ MatButtonModule,
43
+ RouterLink,
44
+ MatIconModule,
45
+ BdbFlexDirective,
46
+ ], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Toegang geweigerd</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"danger\" label=\"Geen toegang\" icon=\"block\">\r\n U heeft onvoldoende rechten voor de gevraagde toepassing\r\n </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button *ngIf=\"!isLoggedIn\">Inloggen</a>\r\n <a [routerLink]=\"['/', logoutRoutePath]\" mat-button *ngIf=\"isLoggedIn\">Uitloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"] }]
47
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [BDB_OPTIONS]
50
+ }] }, { type: i1.AuthService }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWRlbmllZC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2FjY2Vzcy1kZW5pZWQtcGFnZS9hY2Nlc3MtZGVuaWVkLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYWNjZXNzLWRlbmllZC1wYWdlL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQWlCMUMsTUFBTSxPQUFPLHlCQUF5QjtJQVFwQyxZQUN1QixVQUFzQixFQUNuQyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVRqQixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUtsRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBTWhCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25FLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDO1NBQzFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBekJVLHlCQUF5QixrQkFTMUIsV0FBVztrR0FUVix5QkFBeUIsa0ZDM0J0Qywyb0JBY0EsOEhERUksWUFBWSxrSUFDWixhQUFhLGtoQkFDYixpQkFBaUIsbUdBQ2pCLGVBQWUsNE1BQ2YsVUFBVSxtT0FDVixhQUFhLCtCQUNiLGdCQUFnQjs7MkZBS1AseUJBQXlCO2tCQWZyQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjs7MEJBYUUsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgQmRiQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vYWxlcnQvYmRiLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJEQl9PUFRJT05TLCBCZGJPcHRpb25zIH0gZnJvbSAnLi4vLi4vYmRiLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJkYkZsZXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vYmRiLWZsZXguZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1hY2Nlc3MtZGVuaWVkLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIEJkYkFsZXJ0Q29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBCZGJGbGV4RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWNjZXNzLWRlbmllZC1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2Nlc3NEZW5pZWRQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGxvZ2luUm91dGVQYXRoPzogc3RyaW5nO1xyXG4gIGxvZ291dFJvdXRlUGF0aD86IHN0cmluZztcclxuXHJcbiAgaXNMb2dnZWRJbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9ucyxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxvZ2luUm91dGVQYXRoID0gYmRiT3B0aW9ucy5hdXRoT3B0aW9ucz8ubG9naW5QYXRoO1xyXG4gICAgdGhpcy5sb2dvdXRSb3V0ZVBhdGggPSBiZGJPcHRpb25zLmF1dGhPcHRpb25zPy5sb2dvdXRQYXRoO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmFjY291bnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHggPT4gKHRoaXMuaXNMb2dnZWRJbiA9IHggIT09IG51bGwpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtdGl0bGU+VG9lZ2FuZyBnZXdlaWdlcmQ8L21hdC1jYXJkLXRpdGxlPlxyXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWNjZXNzLWRlbmllZC1jYXJkLWNvbnRlbnRcIj5cclxuICAgIDxiZGItYWxlcnQgY29sb3I9XCJkYW5nZXJcIiBsYWJlbD1cIkdlZW4gdG9lZ2FuZ1wiIGljb249XCJibG9ja1wiPlxyXG4gICAgICBVIGhlZWZ0IG9udm9sZG9lbmRlIHJlY2h0ZW4gdm9vciBkZSBnZXZyYWFnZGUgdG9lcGFzc2luZ1xyXG4gICAgPC9iZGItYWxlcnQ+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGJkYkZsZXg9XCJyb3cgMCBlbmQgY2VudGVyXCI+XHJcbiAgICA8YSBbcm91dGVyTGlua109XCJbJy8nLCBsb2dpblJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uICpuZ0lmPVwiIWlzTG9nZ2VkSW5cIj5JbmxvZ2dlbjwvYT5cclxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLycsIGxvZ291dFJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uICpuZ0lmPVwiaXNMb2dnZWRJblwiPlVpdGxvZ2dlbjwvYT5cclxuICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbjwvbWF0LWNhcmQ+XHJcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import { RouterOutlet } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ export class AuthContainerComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AuthContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AuthContainerComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<router-outlet></router-outlet>\r\n", styles: [":host{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AuthContainerComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ standalone: true, imports: [RouterOutlet], template: "<router-outlet></router-outlet>\r\n", styles: [":host{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYXV0aC1jb250YWluZXIvYXV0aC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYXV0aC1jb250YWluZXIvYXV0aC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdFQ1JuQyxxQ0FDQSxnSkRHWSxZQUFZOzsyRkFJWCxzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1JvdXRlck91dGxldF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aENvbnRhaW5lckNvbXBvbmVudCB7fVxyXG4iLCI8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbiJdfQ==
@@ -0,0 +1,75 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
4
+ import { MatCardModule } from '@angular/material/card';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatInputModule } from '@angular/material/input';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { RouterLink } from '@angular/router';
9
+ import { BDB_OPTIONS } from '../../bdb-options';
10
+ import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import { BdbAlertErrorResponseComponent } from '../../common/alert-error-response/bdb-alert-error-response.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../../domain/auth/auth.service";
15
+ import * as i2 from "@angular/common";
16
+ import * as i3 from "@angular/forms";
17
+ import * as i4 from "@angular/material/card";
18
+ import * as i5 from "@angular/material/form-field";
19
+ import * as i6 from "@angular/material/input";
20
+ import * as i7 from "@angular/material/icon";
21
+ import * as i8 from "@angular/material/button";
22
+ export class ForgotPasswordPageComponent {
23
+ constructor(authService, bdbOptions) {
24
+ this.authService = authService;
25
+ this.emailCtrl = new FormControl('', { validators: [Validators.required, Validators.email], nonNullable: true });
26
+ this.isComplete = false;
27
+ this.isPending = false;
28
+ this.forgotPasswordForm = new FormGroup({
29
+ email: this.emailCtrl,
30
+ });
31
+ this.loginRoutePath = bdbOptions.authOptions?.loginPath;
32
+ }
33
+ forgotPassword() {
34
+ if (this.isPending || !this.forgotPasswordForm.valid) {
35
+ return;
36
+ }
37
+ this.isPending = true;
38
+ this.error = undefined;
39
+ const formValue = this.forgotPasswordForm.getRawValue();
40
+ this.forgotPasswordForm.disable();
41
+ this.authService.forgotPassword(formValue).subscribe({
42
+ next: () => {
43
+ this.isComplete = true;
44
+ this.isPending = false;
45
+ this.forgotPasswordForm.enable();
46
+ },
47
+ error: e => {
48
+ this.error = e;
49
+ this.isPending = false;
50
+ this.forgotPasswordForm.enable();
51
+ },
52
+ });
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ForgotPasswordPageComponent, deps: [{ token: i1.AuthService }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: ForgotPasswordPageComponent, isStandalone: true, selector: "bdb-forgot-password-page", ngImport: i0, template: "<form [formGroup]=\"forgotPasswordForm\" (ngSubmit)=\"forgotPassword()\" *ngIf=\"!isComplete; else isCompleteTemplate\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Wachtwoord vergeten</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"forgot-password-page-card-content\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-page-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>E-mailadres</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <!-- <mat-error *ngIf=\"emailCtrl.errors\">{{ emailCtrl | bdbErrorMessage }}</mat-error> -->\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions class=\"forgot-password-page-card-actions\">\r\n <a mat-button [routerLink]=\"['/', loginRoutePath]\" [disabled]=\"isPending\">\r\n <mat-icon>login</mat-icon>\r\n <span>Log in</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>lock_reset</mat-icon>\r\n <span>Herstel wachtwoord</span>\r\n </button></mat-card-actions\r\n >\r\n </mat-card>\r\n</form>\r\n\r\n<ng-template #isCompleteTemplate>\r\n <bdb-alert color=\"success\" label=\"Wachtwoord herstel gestart\"> Controleer uw e-mail voor instructies </bdb-alert>\r\n</ng-template>\r\n", styles: [":host{width:360px}.forgot-password-page-card-content{display:flex;flex-direction:column;margin-top:16px}.forgot-password-page-card-actions{gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: BdbAlertErrorResponseComponent, selector: "bdb-alert-error-response", inputs: ["value"] }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ForgotPasswordPageComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'bdb-forgot-password-page', standalone: true, imports: [
60
+ CommonModule,
61
+ ReactiveFormsModule,
62
+ MatCardModule,
63
+ MatFormFieldModule,
64
+ MatInputModule,
65
+ MatIconModule,
66
+ RouterLink,
67
+ BdbAlertErrorResponseComponent,
68
+ BdbAlertComponent,
69
+ MatButtonModule,
70
+ ], template: "<form [formGroup]=\"forgotPasswordForm\" (ngSubmit)=\"forgotPassword()\" *ngIf=\"!isComplete; else isCompleteTemplate\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Wachtwoord vergeten</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"forgot-password-page-card-content\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-page-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>E-mailadres</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <!-- <mat-error *ngIf=\"emailCtrl.errors\">{{ emailCtrl | bdbErrorMessage }}</mat-error> -->\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions class=\"forgot-password-page-card-actions\">\r\n <a mat-button [routerLink]=\"['/', loginRoutePath]\" [disabled]=\"isPending\">\r\n <mat-icon>login</mat-icon>\r\n <span>Log in</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>lock_reset</mat-icon>\r\n <span>Herstel wachtwoord</span>\r\n </button></mat-card-actions\r\n >\r\n </mat-card>\r\n</form>\r\n\r\n<ng-template #isCompleteTemplate>\r\n <bdb-alert color=\"success\" label=\"Wachtwoord herstel gestart\"> Controleer uw e-mail voor instructies </bdb-alert>\r\n</ng-template>\r\n", styles: [":host{width:360px}.forgot-password-page-card-content{display:flex;flex-direction:column;margin-top:16px}.forgot-password-page-card-actions{gap:8px;justify-content:flex-end}\n"] }]
71
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [BDB_OPTIONS]
74
+ }] }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vZm9yZ290LXBhc3N3b3JkLXBhZ2UvZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vZm9yZ290LXBhc3N3b3JkLXBhZ2UvZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sbUJBQW1CLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7Ozs7O0FBcUJ0SCxNQUFNLE9BQU8sMkJBQTJCO0lBY3RDLFlBQ1UsV0FBd0IsRUFDWCxVQUFzQjtRQURuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVpsQyxjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFNUcsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLHVCQUFrQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztTQUN0QixDQUFDLENBQUM7UUFNRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUNVLDJCQUEyQiw2Q0FnQjVCLFdBQVc7a0dBaEJWLDJCQUEyQixvRkNqQ3hDLGsyQ0E2QkEsdU9EVkksWUFBWSxrSUFDWixtQkFBbUIsNDhCQUNuQixhQUFhLGloQkFDYixrQkFBa0IsMFNBQ2xCLGNBQWMsMFdBQ2QsYUFBYSxvTEFDYixVQUFVLG9PQUNWLDhCQUE4Qix3RkFDOUIsaUJBQWlCLG1HQUNqQixlQUFlOzsyRkFLTiwyQkFBMkI7a0JBbEJ2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7OzBCQW9CRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZGJBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9hbGVydC9iZGItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgQmRiQWxlcnRFcnJvclJlc3BvbnNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2FsZXJ0LWVycm9yLXJlc3BvbnNlL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1mb3Jnb3QtcGFzc3dvcmQtcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJvdXRlckxpbmssXHJcbiAgICBCZGJBbGVydEVycm9yUmVzcG9uc2VDb21wb25lbnQsXHJcbiAgICBCZGJBbGVydENvbXBvbmVudCxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3Jnb3QtcGFzc3dvcmQtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcmdvdFBhc3N3b3JkUGFnZUNvbXBvbmVudCB7XHJcbiAgbG9naW5Sb3V0ZVBhdGg/OiBzdHJpbmc7XHJcblxyXG4gIGVtYWlsQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0sIG5vbk51bGxhYmxlOiB0cnVlIH0pO1xyXG5cclxuICBpc0NvbXBsZXRlID0gZmFsc2U7XHJcbiAgaXNQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2U7XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgZW1haWw6IHRoaXMuZW1haWxDdHJsLFxyXG4gIH0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy5sb2dpblJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmxvZ2luUGF0aDtcclxuICB9XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNQZW5kaW5nIHx8ICF0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVycm9yID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3Jnb3RQYXNzd29yZEZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuICAgIHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmRpc2FibGUoKTtcclxuXHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmZvcmdvdFBhc3N3b3JkKGZvcm1WYWx1ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNDb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc1BlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS5lbmFibGUoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlO1xyXG4gICAgICAgIHRoaXMuaXNQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3Jnb3RQYXNzd29yZEZvcm0uZW5hYmxlKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3Jnb3RQYXNzd29yZEZvcm1cIiAobmdTdWJtaXQpPVwiZm9yZ290UGFzc3dvcmQoKVwiICpuZ0lmPVwiIWlzQ29tcGxldGU7IGVsc2UgaXNDb21wbGV0ZVRlbXBsYXRlXCI+XHJcbiAgPG1hdC1jYXJkPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPldhY2h0d29vcmQgdmVyZ2V0ZW48L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImZvcmdvdC1wYXNzd29yZC1wYWdlLWNhcmQtY29udGVudFwiPlxyXG4gICAgICA8YmRiLWFsZXJ0LWVycm9yLXJlc3BvbnNlIFt2YWx1ZV09XCJlcnJvclwiIGNsYXNzPVwibG9naW4tcGFnZS1lcnJvci1yZXNwb25zZVwiPjwvYmRiLWFsZXJ0LWVycm9yLXJlc3BvbnNlPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5FLW1haWxhZHJlczwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIC8+XHJcbiAgICAgICAgPCEtLSA8bWF0LWVycm9yICpuZ0lmPVwiZW1haWxDdHJsLmVycm9yc1wiPnt7IGVtYWlsQ3RybCB8IGJkYkVycm9yTWVzc2FnZSB9fTwvbWF0LWVycm9yPiAtLT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zIGNsYXNzPVwiZm9yZ290LXBhc3N3b3JkLXBhZ2UtY2FyZC1hY3Rpb25zXCI+XHJcbiAgICAgIDxhIG1hdC1idXR0b24gW3JvdXRlckxpbmtdPVwiWycvJywgbG9naW5Sb3V0ZVBhdGhdXCIgW2Rpc2FibGVkXT1cImlzUGVuZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5sb2dpbjwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+TG9nIGluPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5sb2NrX3Jlc2V0PC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5IZXJzdGVsIHdhY2h0d29vcmQ8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPjwvbWF0LWNhcmQtYWN0aW9uc1xyXG4gICAgPlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZm9ybT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXNDb21wbGV0ZVRlbXBsYXRlPlxyXG4gIDxiZGItYWxlcnQgY29sb3I9XCJzdWNjZXNzXCIgbGFiZWw9XCJXYWNodHdvb3JkIGhlcnN0ZWwgZ2VzdGFydFwiPiBDb250cm9sZWVyIHV3IGUtbWFpbCB2b29yIGluc3RydWN0aWVzIDwvYmRiLWFsZXJ0PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatCardModule } from '@angular/material/card';
4
+ import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
5
+ import { BDB_OPTIONS } from '../../bdb-options';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { RouterLink } from '@angular/router';
8
+ import { BdbFlexDirective } from '../../common/bdb-flex.directive';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/card";
11
+ import * as i2 from "@angular/material/button";
12
+ export class InvalidTokenPageComponent {
13
+ constructor(bdbOptions) {
14
+ this.loginRoutePath = bdbOptions.authOptions?.loginPath;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InvalidTokenPageComponent, deps: [{ token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InvalidTokenPageComponent, isStandalone: true, selector: "bdb-invalid-token-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Ongeldig token</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"warn\" label=\"Verlopen\" icon=\"block\"> Uw wachtwoord herstel link is niet (meer) geldig </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button>Inloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InvalidTokenPageComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'bdb-invalid-token-page', standalone: true, imports: [CommonModule, MatCardModule, BdbAlertComponent, MatButtonModule, RouterLink, BdbFlexDirective], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Ongeldig token</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"warn\" label=\"Verlopen\" icon=\"block\"> Uw wachtwoord herstel link is niet (meer) geldig </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button>Inloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"] }]
22
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
23
+ type: Inject,
24
+ args: [BDB_OPTIONS]
25
+ }] }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC10b2tlbi1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2ludmFsaWQtdG9rZW4tcGFnZS9pbnZhbGlkLXRva2VuLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vaW52YWxpZC10b2tlbi1wYWdlL2ludmFsaWQtdG9rZW4tcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU25FLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBaUMsVUFBc0I7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUMxRCxDQUFDOzhHQUxVLHlCQUF5QixrQkFHaEIsV0FBVztrR0FIcEIseUJBQXlCLGtGQ2hCdEMsb2ZBV0EsOEhEQ1ksWUFBWSw4QkFBRSxhQUFhLGtoQkFBRSxpQkFBaUIsbUdBQUUsZUFBZSw0TUFBRSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBSTVGLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDOzswQkFPM0YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBCZGJBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9hbGVydC9iZGItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZGJGbGV4RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2JkYi1mbGV4LmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1pbnZhbGlkLXRva2VuLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgQmRiQWxlcnRDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgUm91dGVyTGluaywgQmRiRmxleERpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ludmFsaWQtdG9rZW4tcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW52YWxpZC10b2tlbi1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnZhbGlkVG9rZW5QYWdlQ29tcG9uZW50IHtcclxuICBsb2dpblJvdXRlUGF0aD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9ucykge1xyXG4gICAgdGhpcy5sb2dpblJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmxvZ2luUGF0aDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtdGl0bGU+T25nZWxkaWcgdG9rZW48L21hdC1jYXJkLXRpdGxlPlxyXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWNjZXNzLWRlbmllZC1jYXJkLWNvbnRlbnRcIj5cclxuICAgIDxiZGItYWxlcnQgY29sb3I9XCJ3YXJuXCIgbGFiZWw9XCJWZXJsb3BlblwiIGljb249XCJibG9ja1wiPiBVdyB3YWNodHdvb3JkIGhlcnN0ZWwgbGluayBpcyBuaWV0IChtZWVyKSBnZWxkaWcgPC9iZGItYWxlcnQ+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGJkYkZsZXg9XCJyb3cgMCBlbmQgY2VudGVyXCI+XHJcbiAgICA8YSBbcm91dGVyTGlua109XCJbJy8nLCBsb2dpblJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uPklubG9nZ2VuPC9hPlxyXG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuPC9tYXQtY2FyZD5cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { AuthService } from '../domain/auth/auth.service';
4
+ import { BDB_OPTIONS } from '../bdb-options';
5
+ export const loggedOutGuard = (_, state) => {
6
+ const authService = inject(AuthService);
7
+ const router = inject(Router);
8
+ const bdbOptions = inject(BDB_OPTIONS);
9
+ const isLoggedIn = !!authService.account$.getValue();
10
+ return isLoggedIn
11
+ ? router.createUrlTree([`/${bdbOptions.authOptions?.logoutPath}`], {
12
+ queryParams: { returnUrl: state.url },
13
+ })
14
+ : true;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLW91dC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2xvZ2dlZC1vdXQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVyRCxPQUFPLFVBQVU7UUFDZixDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFO1lBQy9ELFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFO1NBQ3RDLENBQUM7UUFDSixDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vZG9tYWluL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMgfSBmcm9tICcuLi9iZGItb3B0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgbG9nZ2VkT3V0R3VhcmQ6IENhbkFjdGl2YXRlRm4gPSAoXywgc3RhdGUpID0+IHtcclxuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgY29uc3QgYmRiT3B0aW9ucyA9IGluamVjdChCREJfT1BUSU9OUyk7XHJcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhYXV0aFNlcnZpY2UuYWNjb3VudCQuZ2V0VmFsdWUoKTtcclxuXHJcbiAgcmV0dXJuIGlzTG9nZ2VkSW5cclxuICAgID8gcm91dGVyLmNyZWF0ZVVybFRyZWUoW2AvJHtiZGJPcHRpb25zLmF1dGhPcHRpb25zPy5sb2dvdXRQYXRofWBdLCB7XHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSxcclxuICAgICAgfSlcclxuICAgIDogdHJ1ZTtcclxufTtcclxuIl19
@@ -0,0 +1,90 @@
1
+ import { Inject, Component } from '@angular/core';
2
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
3
+ import { MatFormFieldModule } from '@angular/material/form-field';
4
+ import { MatInputModule } from '@angular/material/input';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { BDB_OPTIONS } from '../../bdb-options';
7
+ import { RouterLink } from '@angular/router';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import { MatCardModule } from '@angular/material/card';
10
+ import { BdbFlexDirective } from '../../common/bdb-flex.directive';
11
+ import { CommonModule } from '@angular/common';
12
+ import { BdbFormErrorDirective } from '../../common/bdb-form-error.directive';
13
+ import { BdbAlertErrorResponseComponent } from '../../common/alert-error-response/bdb-alert-error-response.component';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/router";
16
+ import * as i2 from "../../domain/auth/auth.service";
17
+ import * as i3 from "@angular/forms";
18
+ import * as i4 from "@angular/material/form-field";
19
+ import * as i5 from "@angular/material/input";
20
+ import * as i6 from "@angular/material/icon";
21
+ import * as i7 from "@angular/material/button";
22
+ import * as i8 from "@angular/material/card";
23
+ export class LoginPageComponent {
24
+ constructor(router, authService, route, bdbOptions) {
25
+ this.router = router;
26
+ this.authService = authService;
27
+ this.route = route;
28
+ this.emailCtrl = new FormControl('', {
29
+ validators: [Validators.required, Validators.email],
30
+ nonNullable: true,
31
+ });
32
+ this.passwordCtrl = new FormControl('', { validators: [Validators.required], nonNullable: true });
33
+ this.postLoginUrl = '/';
34
+ this.isPending = false;
35
+ this.loginForm = new FormGroup({
36
+ email: this.emailCtrl,
37
+ password: this.passwordCtrl,
38
+ });
39
+ this.forgotPasswordRoutePath = bdbOptions.authOptions?.forgotPasswordPath;
40
+ }
41
+ ngOnInit() {
42
+ this.route.queryParams.subscribe({
43
+ next: x => (this.postLoginUrl = x['returnUrl'] ?? '/'),
44
+ });
45
+ }
46
+ login() {
47
+ this.loginForm.markAllAsTouched();
48
+ if (this.isPending || !this.loginForm.valid) {
49
+ return;
50
+ }
51
+ this.isPending = true;
52
+ this.error = undefined;
53
+ const formValue = this.loginForm.getRawValue();
54
+ this.loginForm.disable();
55
+ this.authService.login(formValue).subscribe({
56
+ next: () => {
57
+ this.isPending = false;
58
+ this.loginForm.enable();
59
+ this.router.navigate([this.postLoginUrl]);
60
+ },
61
+ error: e => {
62
+ this.error = e;
63
+ this.isPending = false;
64
+ this.loginForm.enable();
65
+ },
66
+ });
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LoginPageComponent, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: i1.ActivatedRoute }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: LoginPageComponent, isStandalone: true, selector: "bdb-login-page", ngImport: i0, template: "<form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Inloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content bdbFlex=\"col\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-form-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <mat-error bdbFormError=\"email\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Wachtwoord</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" />\r\n <mat-error bdbFormError=\"password\"></mat-error>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 8px end center\">\r\n <a mat-button [routerLink]=\"['/', forgotPasswordRoutePath]\">\r\n <mat-icon>contact_support</mat-icon>\r\n <span>Wachtwoord vergeten</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>login</mat-icon>\r\n <span>Inloggen</span>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: [":host{width:360px}.login-form-error-response{margin:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertErrorResponseComponent, selector: "bdb-alert-error-response", inputs: ["value"] }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }, { kind: "directive", type: BdbFormErrorDirective, selector: "[bdbFormError]", inputs: ["bdbFormError"] }] }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LoginPageComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ selector: 'bdb-login-page', standalone: true, imports: [
74
+ CommonModule,
75
+ ReactiveFormsModule,
76
+ MatFormFieldModule,
77
+ MatInputModule,
78
+ MatIconModule,
79
+ MatButtonModule,
80
+ RouterLink,
81
+ MatCardModule,
82
+ BdbAlertErrorResponseComponent,
83
+ BdbFlexDirective,
84
+ BdbFormErrorDirective,
85
+ ], template: "<form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Inloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content bdbFlex=\"col\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-form-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <mat-error bdbFormError=\"email\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Wachtwoord</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" />\r\n <mat-error bdbFormError=\"password\"></mat-error>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 8px end center\">\r\n <a mat-button [routerLink]=\"['/', forgotPasswordRoutePath]\">\r\n <mat-icon>contact_support</mat-icon>\r\n <span>Wachtwoord vergeten</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>login</mat-icon>\r\n <span>Inloggen</span>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: [":host{width:360px}.login-form-error-response{margin:8px 0}\n"] }]
86
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: i1.ActivatedRoute }, { type: undefined, decorators: [{
87
+ type: Inject,
88
+ args: [BDB_OPTIONS]
89
+ }] }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL3ByZXNlbnRhdGlvbi9sb2dpbi1wYWdlL2xvZ2luLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9naW4tcGFnZS9sb2dpbi1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7QUFxQnRILE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQ1UsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLEtBQXFCLEVBQ1IsVUFBc0I7UUFIbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEIvQixjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQzlCLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNuRCxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFDSCxpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUk3RixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUVuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzVCLENBQUMsQ0FBQztRQVFELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDO0lBQzVFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQy9CLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzRFUsa0JBQWtCLGlHQXdCbkIsV0FBVztrR0F4QlYsa0JBQWtCLDBFQ25DL0IsZ3ZDQThCQSxxSERWSSxZQUFZLDhCQUNaLG1CQUFtQiw0OEJBQ25CLGtCQUFrQix1WUFDbEIsY0FBYywwV0FDZCxhQUFhLG1MQUNiLGVBQWUseVlBQ2YsVUFBVSxtT0FDVixhQUFhLGtoQkFDYiw4QkFBOEIsd0ZBQzlCLGdCQUFnQixtTEFDaEIscUJBQXFCOzsyRkFLWixrQkFBa0I7a0JBbkI5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsOEJBQThCO3dCQUM5QixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7OzBCQTRCRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBCREJfT1BUSU9OUywgQmRiT3B0aW9ucyB9IGZyb20gJy4uLy4uL2JkYi1vcHRpb25zJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgQmRiRmxleERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iZGItZmxleC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCZGJGb3JtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vYmRiLWZvcm0tZXJyb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmRiQWxlcnRFcnJvclJlc3BvbnNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2FsZXJ0LWVycm9yLXJlc3BvbnNlL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiZGItbG9naW4tcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBCZGJBbGVydEVycm9yUmVzcG9uc2VDb21wb25lbnQsXHJcbiAgICBCZGJGbGV4RGlyZWN0aXZlLFxyXG4gICAgQmRiRm9ybUVycm9yRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9yZ290UGFzc3dvcmRSb3V0ZVBhdGg/OiBzdHJpbmc7XHJcblxyXG4gIGVtYWlsQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJywge1xyXG4gICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxyXG4gICAgbm9uTnVsbGFibGU6IHRydWUsXHJcbiAgfSk7XHJcbiAgcGFzc3dvcmRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgbm9uTnVsbGFibGU6IHRydWUgfSk7XHJcblxyXG4gIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2U7XHJcblxyXG4gIHBvc3RMb2dpblVybCA9ICcvJztcclxuXHJcbiAgaXNQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gIGxvZ2luRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgZW1haWw6IHRoaXMuZW1haWxDdHJsLFxyXG4gICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmRDdHJsLFxyXG4gIH0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy5mb3Jnb3RQYXNzd29yZFJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmZvcmdvdFBhc3N3b3JkUGF0aDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiB4ID0+ICh0aGlzLnBvc3RMb2dpblVybCA9IHhbJ3JldHVyblVybCddID8/ICcvJyksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dpbkZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUGVuZGluZyB8fCAhdGhpcy5sb2dpbkZvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmxvZ2luRm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgdGhpcy5sb2dpbkZvcm0uZGlzYWJsZSgpO1xyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4oZm9ybVZhbHVlKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1BlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxvZ2luRm9ybS5lbmFibGUoKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wb3N0TG9naW5VcmxdKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlO1xyXG4gICAgICAgIHRoaXMuaXNQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sb2dpbkZvcm0uZW5hYmxlKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm1cIiAobmdTdWJtaXQpPVwibG9naW4oKVwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5JbmxvZ2dlbjwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50IGJkYkZsZXg9XCJjb2xcIj5cclxuICAgICAgPGJkYi1hbGVydC1lcnJvci1yZXNwb25zZSBbdmFsdWVdPVwiZXJyb3JcIiBjbGFzcz1cImxvZ2luLWZvcm0tZXJyb3ItcmVzcG9uc2VcIj48L2JkYi1hbGVydC1lcnJvci1yZXNwb25zZT5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+R2VicnVpa2Vyc25hYW08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cImVtYWlsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxyXG4gICAgICAgIDxtYXQtZXJyb3IgYmRiRm9ybUVycm9yPVwiZW1haWxcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+V2FjaHR3b29yZDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIC8+XHJcbiAgICAgICAgPG1hdC1lcnJvciBiZGJGb3JtRXJyb3I9XCJwYXNzd29yZFwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgYmRiRmxleD1cInJvdyA4cHggZW5kIGNlbnRlclwiPlxyXG4gICAgICA8YSBtYXQtYnV0dG9uIFtyb3V0ZXJMaW5rXT1cIlsnLycsIGZvcmdvdFBhc3N3b3JkUm91dGVQYXRoXVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jb250YWN0X3N1cHBvcnQ8L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPldhY2h0d29vcmQgdmVyZ2V0ZW48L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmxvZ2luPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5JbmxvZ2dlbjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbiAgPC9tYXQtY2FyZD5cclxuPC9mb3JtPlxyXG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MatButtonModule } from '@angular/material/button';
3
+ import { MatCardModule } from '@angular/material/card';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { RouterLink } from '@angular/router';
6
+ import { BDB_OPTIONS } from '../../bdb-options';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "../../domain/auth/auth.service";
10
+ import * as i3 from "@angular/material/card";
11
+ import * as i4 from "@angular/material/button";
12
+ import * as i5 from "@angular/material/icon";
13
+ export class LogoutPageComponent {
14
+ constructor(router, authService, bdbOptions) {
15
+ this.router = router;
16
+ this.authService = authService;
17
+ this.bdbOptions = bdbOptions;
18
+ }
19
+ logout() {
20
+ this.authService.logout();
21
+ this.router.navigate(['/', this.bdbOptions.authOptions?.loginPath]);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LogoutPageComponent, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: LogoutPageComponent, isStandalone: true, selector: "bdb-logout-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Uitloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"logout-page-card-content\"> Weet u zeker dat u wilt uitloggen? </mat-card-content>\r\n <mat-card-actions class=\"logout-page-card-actions\">\r\n <a mat-button routerLink=\"/\">\r\n <mat-icon>arrow_back</mat-icon>\r\n <span>Blijf ingelogd</span>\r\n </a>\r\n <button (click)=\"logout()\" mat-flat-button color=\"primary\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Log uit</span>\r\n </button></mat-card-actions\r\n >\r\n</mat-card>\r\n", styles: [":host{width:360px}.logout-page-card-content{display:flex;flex-direction:column;padding:16px}.logout-page-card-actions{gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LogoutPageComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'bdb-logout-page', standalone: true, imports: [MatCardModule, MatButtonModule, MatIconModule, RouterLink], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Uitloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"logout-page-card-content\"> Weet u zeker dat u wilt uitloggen? </mat-card-content>\r\n <mat-card-actions class=\"logout-page-card-actions\">\r\n <a mat-button routerLink=\"/\">\r\n <mat-icon>arrow_back</mat-icon>\r\n <span>Blijf ingelogd</span>\r\n </a>\r\n <button (click)=\"logout()\" mat-flat-button color=\"primary\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Log uit</span>\r\n </button></mat-card-actions\r\n >\r\n</mat-card>\r\n", styles: [":host{width:360px}.logout-page-card-content{display:flex;flex-direction:column;padding:16px}.logout-page-card-actions{gap:8px;justify-content:flex-end}\n"] }]
29
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: [BDB_OPTIONS]
32
+ }] }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9nb3V0LXBhZ2UvbG9nb3V0LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9nb3V0LXBhZ2UvbG9nb3V0LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVM1RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ1UsTUFBYyxFQUNkLFdBQXdCLEVBQ0gsVUFBc0I7UUFGM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUNsRCxDQUFDO0lBRUosTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOzhHQVZVLG1CQUFtQixtRUFJcEIsV0FBVztrR0FKVixtQkFBbUIsMkVDZmhDLGttQkFnQkEsa05ETFksYUFBYSxpaEJBQUUsZUFBZSx3WUFBRSxhQUFhLG9MQUFFLFVBQVU7OzJGQUl4RCxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDOzswQkFRakUsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1sb2dvdXQtcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0Q2FyZE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBSb3V0ZXJMaW5rXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9nb3V0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ291dC1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dvdXRQYWdlQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBJbmplY3QoQkRCX09QVElPTlMpIHByaXZhdGUgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge31cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLycsIHRoaXMuYmRiT3B0aW9ucy5hdXRoT3B0aW9ucz8ubG9naW5QYXRoXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZD5cclxuICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgPG1hdC1jYXJkLXRpdGxlPlVpdGxvZ2dlbjwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJsb2dvdXQtcGFnZS1jYXJkLWNvbnRlbnRcIj4gV2VldCB1IHpla2VyIGRhdCB1IHdpbHQgdWl0bG9nZ2VuPyA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJsb2dvdXQtcGFnZS1jYXJkLWFjdGlvbnNcIj5cclxuICAgIDxhIG1hdC1idXR0b24gcm91dGVyTGluaz1cIi9cIj5cclxuICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxyXG4gICAgICA8c3Bhbj5CbGlqZiBpbmdlbG9nZDwvc3Bhbj5cclxuICAgIDwvYT5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImxvZ291dCgpXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICA8bWF0LWljb24+bG9nb3V0PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+TG9nIHVpdDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPjwvbWF0LWNhcmQtYWN0aW9uc1xyXG4gID5cclxuPC9tYXQtY2FyZD5cclxuIl19