@hmcts/opal-frontend-common 0.0.2

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 (262) hide show
  1. package/README.md +24 -0
  2. package/esm2022/hmcts-opal-frontend-common.mjs +5 -0
  3. package/esm2022/lib/components/govuk/govuk-button/govuk-button.component.mjs +34 -0
  4. package/esm2022/lib/components/govuk/govuk-text-input/govuk-text-input.component.mjs +57 -0
  5. package/esm2022/lib/components/govuk/index.mjs +3 -0
  6. package/esm2022/lib/guards/auth/auth.guard.mjs +20 -0
  7. package/esm2022/lib/guards/auth/index.mjs +2 -0
  8. package/esm2022/lib/guards/can-deactivate/can-deactivate.guard.mjs +6 -0
  9. package/esm2022/lib/guards/can-deactivate/index.mjs +5 -0
  10. package/esm2022/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.mjs +2 -0
  11. package/esm2022/lib/guards/can-deactivate/interfaces/index.mjs +2 -0
  12. package/esm2022/lib/guards/has-flow-state/has-flow-state.guard.mjs +16 -0
  13. package/esm2022/lib/guards/has-flow-state/index.mjs +2 -0
  14. package/esm2022/lib/guards/helpers/get-guard-with-dummy-url.mjs +19 -0
  15. package/esm2022/lib/guards/helpers/handle-observable-result.mjs +13 -0
  16. package/esm2022/lib/guards/helpers/index.mjs +5 -0
  17. package/esm2022/lib/guards/helpers/run-auth-guard-with-context.mjs +15 -0
  18. package/esm2022/lib/guards/helpers/run-has-flow-state-guard-with-context.mjs +9 -0
  19. package/esm2022/lib/guards/index.mjs +10 -0
  20. package/esm2022/lib/guards/route-permissions/index.mjs +2 -0
  21. package/esm2022/lib/guards/route-permissions/route-permissions.guard.mjs +25 -0
  22. package/esm2022/lib/guards/signed-in/index.mjs +3 -0
  23. package/esm2022/lib/guards/signed-in/signed-in.guard.mjs +20 -0
  24. package/esm2022/lib/guards/types/can-deactivate.type.mjs +2 -0
  25. package/esm2022/lib/guards/types/guard-return.type.mjs +2 -0
  26. package/esm2022/lib/guards/types/index.mjs +3 -0
  27. package/esm2022/lib/interceptors/http-error/http-error.interceptor.mjs +24 -0
  28. package/esm2022/lib/interceptors/index.mjs +3 -0
  29. package/esm2022/lib/opal-frontend-common.module.mjs +22 -0
  30. package/esm2022/lib/pages/access-denied/access-denied.component.mjs +18 -0
  31. package/esm2022/lib/pages/index.mjs +4 -0
  32. package/esm2022/lib/pages/routing/constants/routing-paths.constant.mjs +9 -0
  33. package/esm2022/lib/pages/routing/constants/routing-titles.constant.mjs +9 -0
  34. package/esm2022/lib/pages/routing/interfaces/routing-paths.interface.mjs +2 -0
  35. package/esm2022/lib/pages/routing/pages.routes.mjs +24 -0
  36. package/esm2022/lib/pages/sign-in/interfaces/index.mjs +2 -0
  37. package/esm2022/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.mjs +2 -0
  38. package/esm2022/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.mjs +23 -0
  39. package/esm2022/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.mjs +39 -0
  40. package/esm2022/lib/pages/sign-in/sign-in.component.mjs +38 -0
  41. package/esm2022/lib/resolvers/index.mjs +3 -0
  42. package/esm2022/lib/resolvers/title/index.mjs +2 -0
  43. package/esm2022/lib/resolvers/title/title.resolver.mjs +22 -0
  44. package/esm2022/lib/resolvers/user-state/index.mjs +2 -0
  45. package/esm2022/lib/resolvers/user-state/user-state.resolver.mjs +12 -0
  46. package/esm2022/lib/routing/constants/index.mjs +2 -0
  47. package/esm2022/lib/routing/constants/sso-endpoints.constant.mjs +7 -0
  48. package/esm2022/lib/routing/index.mjs +3 -0
  49. package/esm2022/lib/routing/interfaces/child-routing-paths.interface.mjs +2 -0
  50. package/esm2022/lib/routing/interfaces/index.mjs +4 -0
  51. package/esm2022/lib/routing/interfaces/nested-routes.interface.mjs +2 -0
  52. package/esm2022/lib/routing/interfaces/sso-endpoints.interface.mjs +2 -0
  53. package/esm2022/lib/services/app-initializer-service/app-initializer.service.mjs +36 -0
  54. package/esm2022/lib/services/app-initializer-service/index.mjs +2 -0
  55. package/esm2022/lib/services/app-insights/app-insights.service.mjs +73 -0
  56. package/esm2022/lib/services/app-insights/index.mjs +4 -0
  57. package/esm2022/lib/services/auth-service/auth.service.mjs +36 -0
  58. package/esm2022/lib/services/auth-service/index.mjs +2 -0
  59. package/esm2022/lib/services/date-service/date.service.mjs +182 -0
  60. package/esm2022/lib/services/date-service/index.mjs +4 -0
  61. package/esm2022/lib/services/index.mjs +12 -0
  62. package/esm2022/lib/services/launch-darkly/index.mjs +5 -0
  63. package/esm2022/lib/services/launch-darkly/launch-darkly.service.mjs +94 -0
  64. package/esm2022/lib/services/launch-darkly/mocks/index.mjs +3 -0
  65. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.mjs +5 -0
  66. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.mjs +5 -0
  67. package/esm2022/lib/services/permissions-service/index.mjs +4 -0
  68. package/esm2022/lib/services/permissions-service/permissions.service.mjs +40 -0
  69. package/esm2022/lib/services/session-service/constants/index.mjs +2 -0
  70. package/esm2022/lib/services/session-service/constants/session-endpoints.constant.mjs +5 -0
  71. package/esm2022/lib/services/session-service/index.mjs +7 -0
  72. package/esm2022/lib/services/session-service/interfaces/index.mjs +4 -0
  73. package/esm2022/lib/services/session-service/interfaces/session-endpoints.interface.mjs +2 -0
  74. package/esm2022/lib/services/session-service/interfaces/session-token-expiry.interface.mjs +2 -0
  75. package/esm2022/lib/services/session-service/interfaces/session-user-state.interface.mjs +2 -0
  76. package/esm2022/lib/services/session-service/mocks/index.mjs +3 -0
  77. package/esm2022/lib/services/session-service/mocks/session-token-expiry.mock.mjs +5 -0
  78. package/esm2022/lib/services/session-service/mocks/session-user-state.mock.mjs +386 -0
  79. package/esm2022/lib/services/session-service/session.service.mjs +64 -0
  80. package/esm2022/lib/services/sort-service/index.mjs +6 -0
  81. package/esm2022/lib/services/sort-service/interfaces/index.mjs +3 -0
  82. package/esm2022/lib/services/sort-service/interfaces/sort-service-values.interface.mjs +2 -0
  83. package/esm2022/lib/services/sort-service/interfaces/sort-service.interface.mjs +2 -0
  84. package/esm2022/lib/services/sort-service/sort-service.mjs +90 -0
  85. package/esm2022/lib/services/sort-service/types/index.mjs +2 -0
  86. package/esm2022/lib/services/sort-service/types/sort-service.type.mjs +2 -0
  87. package/esm2022/lib/services/transfer-state-service/index.mjs +6 -0
  88. package/esm2022/lib/services/transfer-state-service/interfaces/index.mjs +4 -0
  89. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.mjs +2 -0
  90. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.mjs +2 -0
  91. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.mjs +2 -0
  92. package/esm2022/lib/services/transfer-state-service/mocks/index.mjs +4 -0
  93. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.mjs +6 -0
  94. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.mjs +6 -0
  95. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state.mock.mjs +8 -0
  96. package/esm2022/lib/services/transfer-state-service/transfer-state.service.mjs +59 -0
  97. package/esm2022/lib/services/transformation-service/index.mjs +5 -0
  98. package/esm2022/lib/services/transformation-service/interfaces/index.mjs +2 -0
  99. package/esm2022/lib/services/transformation-service/interfaces/transform-item.interface.mjs +2 -0
  100. package/esm2022/lib/services/transformation-service/transformation.service.mjs +69 -0
  101. package/esm2022/lib/services/utils/index.mjs +4 -0
  102. package/esm2022/lib/services/utils/utils.service.mjs +86 -0
  103. package/esm2022/lib/stores/global/global.store.mjs +33 -0
  104. package/esm2022/lib/stores/global/index.mjs +6 -0
  105. package/esm2022/lib/stores/global/interfaces/error-state.interface.mjs +2 -0
  106. package/esm2022/lib/stores/global/interfaces/index.mjs +2 -0
  107. package/esm2022/lib/stores/global/types/global-store.type.mjs +2 -0
  108. package/esm2022/lib/stores/global/types/index.mjs +2 -0
  109. package/esm2022/lib/stores/index.mjs +2 -0
  110. package/esm2022/lib/validators/alphabetical-text/alphabetical-text.validator.mjs +10 -0
  111. package/esm2022/lib/validators/amount/amount.validator.mjs +15 -0
  112. package/esm2022/lib/validators/date-after-year/date-after-year.validator.mjs +12 -0
  113. package/esm2022/lib/validators/date-before/date-before.validator.mjs +15 -0
  114. package/esm2022/lib/validators/date-of-birth/date-of-birth.validator.mjs +18 -0
  115. package/esm2022/lib/validators/future-date/future-date.validator.mjs +15 -0
  116. package/esm2022/lib/validators/index.mjs +20 -0
  117. package/esm2022/lib/validators/invalid-value/invalid-value.validator.mjs +9 -0
  118. package/esm2022/lib/validators/national-insurance-number/national-insurance-number.validator.mjs +16 -0
  119. package/esm2022/lib/validators/numerical-only/numerical-only.validator.mjs +10 -0
  120. package/esm2022/lib/validators/optional-max-length/optional-max-length.validator.mjs +10 -0
  121. package/esm2022/lib/validators/optional-valid-date/optional-valid-date.validator.mjs +23 -0
  122. package/esm2022/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.mjs +11 -0
  123. package/esm2022/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.mjs +14 -0
  124. package/esm2022/lib/validators/over-eighteen/over-eighteen.validator.mjs +45 -0
  125. package/esm2022/lib/validators/past-date/past-date.validator.mjs +16 -0
  126. package/esm2022/lib/validators/special-characters/special-characters.validator.mjs +11 -0
  127. package/esm2022/lib/validators/two-decimal-places/two-decimal-places.validator.mjs +12 -0
  128. package/esm2022/lib/validators/valid-value/valid-value.validator.mjs +9 -0
  129. package/esm2022/public-api.mjs +11 -0
  130. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs +41 -0
  131. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs.map +1 -0
  132. package/fesm2022/hmcts-opal-frontend-common.mjs +1947 -0
  133. package/fesm2022/hmcts-opal-frontend-common.mjs.map +1 -0
  134. package/index.d.ts +5 -0
  135. package/lib/components/govuk/govuk-button/govuk-button.component.d.ts +14 -0
  136. package/lib/components/govuk/govuk-text-input/govuk-text-input.component.d.ts +17 -0
  137. package/lib/components/govuk/index.d.ts +2 -0
  138. package/lib/guards/auth/auth.guard.d.ts +6 -0
  139. package/lib/guards/auth/index.d.ts +1 -0
  140. package/lib/guards/can-deactivate/can-deactivate.guard.d.ts +3 -0
  141. package/lib/guards/can-deactivate/index.d.ts +2 -0
  142. package/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.d.ts +4 -0
  143. package/lib/guards/can-deactivate/interfaces/index.d.ts +2 -0
  144. package/lib/guards/has-flow-state/has-flow-state.guard.d.ts +2 -0
  145. package/lib/guards/has-flow-state/index.d.ts +1 -0
  146. package/lib/guards/helpers/get-guard-with-dummy-url.d.ts +12 -0
  147. package/lib/guards/helpers/handle-observable-result.d.ts +8 -0
  148. package/lib/guards/helpers/index.d.ts +4 -0
  149. package/lib/guards/helpers/run-auth-guard-with-context.d.ts +9 -0
  150. package/lib/guards/helpers/run-has-flow-state-guard-with-context.d.ts +3 -0
  151. package/lib/guards/index.d.ts +7 -0
  152. package/lib/guards/route-permissions/index.d.ts +1 -0
  153. package/lib/guards/route-permissions/route-permissions.guard.d.ts +2 -0
  154. package/lib/guards/signed-in/index.d.ts +1 -0
  155. package/lib/guards/signed-in/signed-in.guard.d.ts +8 -0
  156. package/lib/guards/types/can-deactivate.type.d.ts +3 -0
  157. package/lib/guards/types/guard-return.type.d.ts +2 -0
  158. package/lib/guards/types/index.d.ts +2 -0
  159. package/lib/interceptors/http-error/http-error.interceptor.d.ts +2 -0
  160. package/lib/interceptors/index.d.ts +2 -0
  161. package/lib/opal-frontend-common.module.d.ts +14 -0
  162. package/lib/pages/access-denied/access-denied.component.d.ts +7 -0
  163. package/lib/pages/index.d.ts +3 -0
  164. package/lib/pages/routing/constants/routing-paths.constant.d.ts +2 -0
  165. package/lib/pages/routing/constants/routing-titles.constant.d.ts +2 -0
  166. package/lib/pages/routing/interfaces/routing-paths.interface.d.ts +8 -0
  167. package/lib/pages/routing/pages.routes.d.ts +2 -0
  168. package/lib/pages/sign-in/interfaces/index.d.ts +2 -0
  169. package/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.d.ts +3 -0
  170. package/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.d.ts +11 -0
  171. package/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.d.ts +19 -0
  172. package/lib/pages/sign-in/sign-in.component.d.ts +51 -0
  173. package/lib/resolvers/index.d.ts +2 -0
  174. package/lib/resolvers/title/index.d.ts +1 -0
  175. package/lib/resolvers/title/title.resolver.d.ts +10 -0
  176. package/lib/resolvers/user-state/index.d.ts +1 -0
  177. package/lib/resolvers/user-state/user-state.resolver.d.ts +7 -0
  178. package/lib/routing/constants/index.d.ts +1 -0
  179. package/lib/routing/constants/sso-endpoints.constant.d.ts +2 -0
  180. package/lib/routing/index.d.ts +2 -0
  181. package/lib/routing/interfaces/child-routing-paths.interface.d.ts +6 -0
  182. package/lib/routing/interfaces/index.d.ts +3 -0
  183. package/lib/routing/interfaces/nested-routes.interface.d.ts +4 -0
  184. package/lib/routing/interfaces/sso-endpoints.interface.d.ts +6 -0
  185. package/lib/services/app-initializer-service/app-initializer.service.d.ts +20 -0
  186. package/lib/services/app-initializer-service/index.d.ts +1 -0
  187. package/lib/services/app-insights/app-insights.service.d.ts +33 -0
  188. package/lib/services/app-insights/index.d.ts +1 -0
  189. package/lib/services/auth-service/auth.service.d.ts +8 -0
  190. package/lib/services/auth-service/index.d.ts +1 -0
  191. package/lib/services/date-service/date.service.d.ts +123 -0
  192. package/lib/services/date-service/index.d.ts +1 -0
  193. package/lib/services/index.d.ts +11 -0
  194. package/lib/services/launch-darkly/index.d.ts +2 -0
  195. package/lib/services/launch-darkly/launch-darkly.service.d.ts +41 -0
  196. package/lib/services/launch-darkly/mocks/index.d.ts +2 -0
  197. package/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.d.ts +10 -0
  198. package/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.d.ts +4 -0
  199. package/lib/services/permissions-service/index.d.ts +1 -0
  200. package/lib/services/permissions-service/permissions.service.d.ts +14 -0
  201. package/lib/services/session-service/constants/index.d.ts +1 -0
  202. package/lib/services/session-service/constants/session-endpoints.constant.d.ts +2 -0
  203. package/lib/services/session-service/index.d.ts +4 -0
  204. package/lib/services/session-service/interfaces/index.d.ts +3 -0
  205. package/lib/services/session-service/interfaces/session-endpoints.interface.d.ts +4 -0
  206. package/lib/services/session-service/interfaces/session-token-expiry.interface.d.ts +4 -0
  207. package/lib/services/session-service/interfaces/session-user-state.interface.d.ts +15 -0
  208. package/lib/services/session-service/mocks/index.d.ts +2 -0
  209. package/lib/services/session-service/mocks/session-token-expiry.mock.d.ts +2 -0
  210. package/lib/services/session-service/mocks/session-user-state.mock.d.ts +2 -0
  211. package/lib/services/session-service/session.service.d.ts +30 -0
  212. package/lib/services/sort-service/index.d.ts +3 -0
  213. package/lib/services/sort-service/interfaces/index.d.ts +2 -0
  214. package/lib/services/sort-service/interfaces/sort-service-values.interface.d.ts +6 -0
  215. package/lib/services/sort-service/interfaces/sort-service.interface.d.ts +4 -0
  216. package/lib/services/sort-service/sort-service.d.ts +64 -0
  217. package/lib/services/sort-service/types/index.d.ts +1 -0
  218. package/lib/services/sort-service/types/sort-service.type.d.ts +1 -0
  219. package/lib/services/transfer-state-service/index.d.ts +3 -0
  220. package/lib/services/transfer-state-service/interfaces/index.d.ts +3 -0
  221. package/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.d.ts +5 -0
  222. package/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.d.ts +5 -0
  223. package/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.d.ts +7 -0
  224. package/lib/services/transfer-state-service/mocks/index.d.ts +3 -0
  225. package/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.d.ts +5 -0
  226. package/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.d.ts +5 -0
  227. package/lib/services/transfer-state-service/mocks/transfer-state.mock.d.ts +2 -0
  228. package/lib/services/transfer-state-service/transfer-state.service.d.ts +23 -0
  229. package/lib/services/transformation-service/index.d.ts +2 -0
  230. package/lib/services/transformation-service/interfaces/index.d.ts +1 -0
  231. package/lib/services/transformation-service/interfaces/transform-item.interface.d.ts +6 -0
  232. package/lib/services/transformation-service/transformation.service.d.ts +30 -0
  233. package/lib/services/utils/index.d.ts +1 -0
  234. package/lib/services/utils/utils.service.d.ts +54 -0
  235. package/lib/stores/global/global.store.d.ts +35 -0
  236. package/lib/stores/global/index.d.ts +3 -0
  237. package/lib/stores/global/interfaces/error-state.interface.d.ts +4 -0
  238. package/lib/stores/global/interfaces/index.d.ts +1 -0
  239. package/lib/stores/global/types/global-store.type.d.ts +2 -0
  240. package/lib/stores/global/types/index.d.ts +1 -0
  241. package/lib/stores/index.d.ts +1 -0
  242. package/lib/validators/alphabetical-text/alphabetical-text.validator.d.ts +2 -0
  243. package/lib/validators/amount/amount.validator.d.ts +2 -0
  244. package/lib/validators/date-after-year/date-after-year.validator.d.ts +2 -0
  245. package/lib/validators/date-before/date-before.validator.d.ts +2 -0
  246. package/lib/validators/date-of-birth/date-of-birth.validator.d.ts +2 -0
  247. package/lib/validators/future-date/future-date.validator.d.ts +2 -0
  248. package/lib/validators/index.d.ts +19 -0
  249. package/lib/validators/invalid-value/invalid-value.validator.d.ts +2 -0
  250. package/lib/validators/national-insurance-number/national-insurance-number.validator.d.ts +2 -0
  251. package/lib/validators/numerical-only/numerical-only.validator.d.ts +2 -0
  252. package/lib/validators/optional-max-length/optional-max-length.validator.d.ts +2 -0
  253. package/lib/validators/optional-valid-date/optional-valid-date.validator.d.ts +2 -0
  254. package/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.d.ts +2 -0
  255. package/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.d.ts +2 -0
  256. package/lib/validators/over-eighteen/over-eighteen.validator.d.ts +14 -0
  257. package/lib/validators/past-date/past-date.validator.d.ts +2 -0
  258. package/lib/validators/special-characters/special-characters.validator.d.ts +2 -0
  259. package/lib/validators/two-decimal-places/two-decimal-places.validator.d.ts +2 -0
  260. package/lib/validators/valid-value/valid-value.validator.d.ts +2 -0
  261. package/package.json +28 -0
  262. package/public-api.d.ts +10 -0
@@ -0,0 +1,23 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
3
+ import { GovukButtonComponent } from '../../../components/govuk/govuk-button/govuk-button.component';
4
+ import * as i0 from "@angular/core";
5
+ export class SignInSsoComponent {
6
+ signInButtonClick = new EventEmitter();
7
+ /**
8
+ * Handles the button click event.
9
+ * Emits the `signInButtonClick` event.
10
+ */
11
+ handleButtonClick() {
12
+ this.signInButtonClick.emit();
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInSsoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInSsoComponent, isStandalone: true, selector: "opal-lib-sign-in-sso", outputs: { signInButtonClick: "signInButtonClick" }, ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-m\">Sign in</h1>\n <p class=\"govuk-body\">Please sign in to continue using the application</p>\n\n <p class=\"govuk-body\">\n <opal-lib-govuk-button buttonId=\"signInButton\" (buttonClickEvent)=\"handleButtonClick()\">\n Sign in</opal-lib-govuk-button\n >\n </p>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: GovukButtonComponent, selector: "opal-lib-govuk-button", inputs: ["buttonId", "type", "buttonClasses"], outputs: ["buttonClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInSsoComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ standalone: true, selector: 'opal-lib-sign-in-sso', imports: [CommonModule, GovukButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-m\">Sign in</h1>\n <p class=\"govuk-body\">Please sign in to continue using the application</p>\n\n <p class=\"govuk-body\">\n <opal-lib-govuk-button buttonId=\"signInButton\" (buttonClickEvent)=\"handleButtonClick()\">\n Sign in</opal-lib-govuk-button\n >\n </p>\n</div>\n" }]
20
+ }], propDecorators: { signInButtonClick: [{
21
+ type: Output
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi1zc28uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9wYWdlcy9zaWduLWluL3NpZ24taW4tc3NvL3NpZ24taW4tc3NvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvcGFnZXMvc2lnbi1pbi9zaWduLWluLXNzby9zaWduLWluLXNzby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDOztBQVNyRyxNQUFNLE9BQU8sa0JBQWtCO0lBQ0YsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsRTs7O09BR0c7SUFDSSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7d0dBVFUsa0JBQWtCOzRGQUFsQixrQkFBa0IscUlDWC9CLDJXQVVBLDJDREhZLFlBQVksK0JBQUUsb0JBQW9COzs0RkFJakMsa0JBQWtCO2tCQVA5QixTQUFTO2lDQUNJLElBQUksWUFDTixzQkFBc0IsV0FDdkIsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsbUJBRTVCLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLGlCQUFpQjtzQkFBM0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR292dWtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2dvdnVrL2dvdnVrLWJ1dHRvbi9nb3Z1ay1idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb3BhbC1saWItc2lnbi1pbi1zc28nLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHb3Z1a0J1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLWluLXNzby5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5Tc29Db21wb25lbnQge1xuICBAT3V0cHV0KCkgcHJpdmF0ZSByZWFkb25seSBzaWduSW5CdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgYnV0dG9uIGNsaWNrIGV2ZW50LlxuICAgKiBFbWl0cyB0aGUgYHNpZ25JbkJ1dHRvbkNsaWNrYCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGVCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25JbkJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHNcIj5cbiAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCI+U2lnbiBpbjwvaDE+XG4gIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPlBsZWFzZSBzaWduIGluIHRvIGNvbnRpbnVlIHVzaW5nIHRoZSBhcHBsaWNhdGlvbjwvcD5cblxuICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5cbiAgICA8b3BhbC1saWItZ292dWstYnV0dG9uIGJ1dHRvbklkPVwic2lnbkluQnV0dG9uXCIgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiaGFuZGxlQnV0dG9uQ2xpY2soKVwiPlxuICAgICAgU2lnbiBpbjwvb3BhbC1saWItZ292dWstYnV0dG9uXG4gICAgPlxuICA8L3A+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
+ import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
3
+ import { GovukTextInputComponent } from '../../../components/govuk/govuk-text-input/govuk-text-input.component';
4
+ import { GovukButtonComponent } from '../../../components/govuk/govuk-button/govuk-button.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class SignInStubComponent {
8
+ signInForm;
9
+ signInFormSubmit = new EventEmitter();
10
+ /**
11
+ * Sets up the sign-in form.
12
+ */
13
+ setupSignInForm() {
14
+ this.signInForm = new FormGroup({
15
+ email: new FormControl(null, [Validators.required]),
16
+ });
17
+ }
18
+ /**
19
+ * Handles the form submission.
20
+ * If the signInForm is valid, emits the signInForm value using the signInFormSubmit event.
21
+ */
22
+ handleFormSubmit() {
23
+ if (this.signInForm.valid) {
24
+ this.signInFormSubmit.emit(this.signInForm.value);
25
+ }
26
+ }
27
+ ngOnInit() {
28
+ this.setupSignInForm();
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInStubComponent, isStandalone: true, selector: "opal-lib-sign-in-stub", outputs: { signInFormSubmit: "signInFormSubmit" }, ngImport: i0, template: "<form (submit)=\"handleFormSubmit()\">\n <div class=\"govuk-grid-column-two-thirds\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 class=\"govuk-fieldset__heading\">Sign in</h1>\n </legend>\n\n <div [formGroup]=\"signInForm\">\n <opal-lib-govuk-text-input\n labelText=\"Email\"\n inputId=\"email\"\n inputName=\"email\"\n inputClasses=\"govuk-!-width-one-half\"\n [control]=\"signInForm.controls['email']\"\n ></opal-lib-govuk-text-input>\n </div>\n </fieldset>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-one-third\">\n <opal-lib-govuk-button buttonId=\"submitForm\" type=\"submit\"> Sign in</opal-lib-govuk-button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: GovukTextInputComponent, selector: "opal-lib-govuk-text-input", inputs: ["labelText", "labelClasses", "inputId", "inputName", "inputClasses", "hintText", "hintHtml", "errors", "control"] }, { kind: "component", type: GovukButtonComponent, selector: "opal-lib-govuk-button", inputs: ["buttonId", "type", "buttonClasses"], outputs: ["buttonClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInStubComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ standalone: true, selector: 'opal-lib-sign-in-stub', imports: [FormsModule, ReactiveFormsModule, GovukTextInputComponent, GovukButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (submit)=\"handleFormSubmit()\">\n <div class=\"govuk-grid-column-two-thirds\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 class=\"govuk-fieldset__heading\">Sign in</h1>\n </legend>\n\n <div [formGroup]=\"signInForm\">\n <opal-lib-govuk-text-input\n labelText=\"Email\"\n inputId=\"email\"\n inputName=\"email\"\n inputClasses=\"govuk-!-width-one-half\"\n [control]=\"signInForm.controls['email']\"\n ></opal-lib-govuk-text-input>\n </div>\n </fieldset>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-one-third\">\n <opal-lib-govuk-button buttonId=\"submitForm\" type=\"submit\"> Sign in</opal-lib-govuk-button>\n </div>\n </div>\n </div>\n</form>\n" }]
36
+ }], propDecorators: { signInFormSubmit: [{
37
+ type: Output
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi1zdHViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvcGFnZXMvc2lnbi1pbi9zaWduLWluLXN0dWIvc2lnbi1pbi1zdHViLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvcGFnZXMvc2lnbi1pbi9zaWduLWluLXN0dWIvc2lnbi1pbi1zdHViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDaEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0RBQStELENBQUM7OztBQVNyRyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3ZCLFVBQVUsQ0FBYTtJQUNILGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRWxGOztPQUVHO0lBQ0ssZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzlCLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQXpCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixvSUNiaEMsZzJCQXdCQSwyQ0RmWSxXQUFXLHVkQUFFLG1CQUFtQixnTEFBRSx1QkFBdUIsa01BQUUsb0JBQW9COzs0RkFJOUUsbUJBQW1CO2tCQVAvQixTQUFTO2lDQUNJLElBQUksWUFDTix1QkFBdUIsV0FDeEIsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLENBQUMsbUJBRXpFLHVCQUF1QixDQUFDLE1BQU07OEJBSXBCLGdCQUFnQjtzQkFBMUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSVNpZ25JblN0dWJGb3JtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHb3Z1a1RleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZ292dWsvZ292dWstdGV4dC1pbnB1dC9nb3Z1ay10ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3Z1a0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZ292dWsvZ292dWstYnV0dG9uL2dvdnVrLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvcGFsLWxpYi1zaWduLWluLXN0dWInLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEdvdnVrVGV4dElucHV0Q29tcG9uZW50LCBHb3Z1a0J1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLWluLXN0dWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbkluU3R1YkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzaWduSW5Gb3JtITogRm9ybUdyb3VwO1xuICBAT3V0cHV0KCkgcHJpdmF0ZSByZWFkb25seSBzaWduSW5Gb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxJU2lnbkluU3R1YkZvcm0+KCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhlIHNpZ24taW4gZm9ybS5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBTaWduSW5Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbkluRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGZvcm0gc3VibWlzc2lvbi5cbiAgICogSWYgdGhlIHNpZ25JbkZvcm0gaXMgdmFsaWQsIGVtaXRzIHRoZSBzaWduSW5Gb3JtIHZhbHVlIHVzaW5nIHRoZSBzaWduSW5Gb3JtU3VibWl0IGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGhhbmRsZUZvcm1TdWJtaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2lnbkluRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5zaWduSW5Gb3JtU3VibWl0LmVtaXQodGhpcy5zaWduSW5Gb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFNpZ25JbkZvcm0oKTtcbiAgfVxufVxuIiwiPGZvcm0gKHN1Ym1pdCk9XCJoYW5kbGVGb3JtU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHNcIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbVwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlNpZ24gaW48L2gxPlxuICAgICAgPC9sZWdlbmQ+XG5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJzaWduSW5Gb3JtXCI+XG4gICAgICAgIDxvcGFsLWxpYi1nb3Z1ay10ZXh0LWlucHV0XG4gICAgICAgICAgbGFiZWxUZXh0PVwiRW1haWxcIlxuICAgICAgICAgIGlucHV0SWQ9XCJlbWFpbFwiXG4gICAgICAgICAgaW5wdXROYW1lPVwiZW1haWxcIlxuICAgICAgICAgIGlucHV0Q2xhc3Nlcz1cImdvdnVrLSEtd2lkdGgtb25lLWhhbGZcIlxuICAgICAgICAgIFtjb250cm9sXT1cInNpZ25JbkZvcm0uY29udHJvbHNbJ2VtYWlsJ11cIlxuICAgICAgICA+PC9vcGFsLWxpYi1nb3Z1ay10ZXh0LWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtdGhpcmRcIj5cbiAgICAgICAgPG9wYWwtbGliLWdvdnVrLWJ1dHRvbiBidXR0b25JZD1cInN1Ym1pdEZvcm1cIiB0eXBlPVwic3VibWl0XCI+IFNpZ24gaW48L29wYWwtbGliLWdvdnVrLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';
2
+ import { CommonModule, DOCUMENT } from '@angular/common';
3
+ import { SignInSsoComponent } from './sign-in-sso/sign-in-sso.component';
4
+ import { GlobalStore } from '../../stores/global/global.store';
5
+ import { SSO_ENDPOINTS } from '../../routing/constants/sso-endpoints.constant';
6
+ import * as i0 from "@angular/core";
7
+ export class SignInComponent {
8
+ globalStore = inject(GlobalStore);
9
+ ssoEnabled = true;
10
+ document = inject(DOCUMENT);
11
+ changeDetectorRef = inject(ChangeDetectorRef);
12
+ /**
13
+ * Handles the login button click event.
14
+ */
15
+ handleSsoSignInButtonClick() {
16
+ this.document.location.href = SSO_ENDPOINTS.login;
17
+ }
18
+ /**
19
+ * Handles the submission of the stub sign-in form.
20
+ * Redirects the user to the SSO login page with the provided email.
21
+ * @param formData - The form data containing the email.
22
+ */
23
+ handleStubSignInFormSubmit(formData) {
24
+ this.document.location.href = `${SSO_ENDPOINTS.login}?email=${formData.email}`;
25
+ }
26
+ ngOnInit() {
27
+ // This is to prevent a load flicker when switching between sso/stub sign in
28
+ this.ssoEnabled = this.globalStore.ssoEnabled();
29
+ this.changeDetectorRef.detectChanges();
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SignInComponent, isStandalone: true, selector: "opal-lib-sign-in", ngImport: i0, template: "@defer (when !ssoEnabled) {\n <opal-lib-sign-in-stub (signInFormSubmit)=\"handleStubSignInFormSubmit($event)\"></opal-lib-sign-in-stub>\n} @placeholder {\n <opal-lib-sign-in-sso (signInButtonClick)=\"handleSsoSignInButtonClick()\"></opal-lib-sign-in-sso>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SignInSsoComponent, selector: "opal-lib-sign-in-sso", outputs: ["signInButtonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import("./sign-in-stub/sign-in-stub.component").then(m => m.SignInStubComponent)]] });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, resolveDeferredDeps: () => [import("./sign-in-stub/sign-in-stub.component").then(m => m.SignInStubComponent)], resolveMetadata: SignInStubComponent => ({ decorators: [{
35
+ type: Component,
36
+ args: [{ standalone: true, selector: 'opal-lib-sign-in', imports: [CommonModule, SignInSsoComponent, SignInStubComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@defer (when !ssoEnabled) {\n <opal-lib-sign-in-stub (signInFormSubmit)=\"handleStubSignInFormSubmit($event)\"></opal-lib-sign-in-stub>\n} @placeholder {\n <opal-lib-sign-in-sso (signInButtonClick)=\"handleSsoSignInButtonClick()\"></opal-lib-sign-in-sso>\n}\n" }]
37
+ }], ctorParameters: null, propDecorators: null }) });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3BhZ2VzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3BhZ2VzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBVS9FLE1BQU0sT0FBTyxlQUFlO0lBQ1YsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxVQUFVLEdBQW1CLElBQUksQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRS9EOztPQUVHO0lBQ0ksMEJBQTBCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksMEJBQTBCLENBQUMsUUFBeUI7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsYUFBYSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVELFFBQVE7UUFDTiw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO3dHQTFCVSxlQUFlOzRGQUFmLGVBQWUsNEVDaEI1Qix1UUFLQSwyQ0RNWSxZQUFZLCtCQUFFLGtCQUFrQjs7aUdBSy9CLGVBQWU7c0JBUjNCLFNBQVM7cUNBQ0ksSUFBSSxZQUNOLGtCQUFrQixXQUNuQixDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHL0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaWduSW5Tc29Db21wb25lbnQgfSBmcm9tICcuL3NpZ24taW4tc3NvL3NpZ24taW4tc3NvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduSW5TdHViQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduLWluLXN0dWIvc2lnbi1pbi1zdHViLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJU2lnbkluU3R1YkZvcm0gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2xvYmFsU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZXMvZ2xvYmFsL2dsb2JhbC5zdG9yZSc7XG5pbXBvcnQgeyBTU09fRU5EUE9JTlRTIH0gZnJvbSAnLi4vLi4vcm91dGluZy9jb25zdGFudHMvc3NvLWVuZHBvaW50cy5jb25zdGFudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29wYWwtbGliLXNpZ24taW4nLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaWduSW5Tc29Db21wb25lbnQsIFNpZ25JblN0dWJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCcsXG5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBnbG9iYWxTdG9yZSA9IGluamVjdChHbG9iYWxTdG9yZSk7XG4gIHB1YmxpYyBzc29FbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IHRydWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgbG9naW4gYnV0dG9uIGNsaWNrIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGhhbmRsZVNzb1NpZ25JbkJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IFNTT19FTkRQT0lOVFMubG9naW47XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgc3VibWlzc2lvbiBvZiB0aGUgc3R1YiBzaWduLWluIGZvcm0uXG4gICAqIFJlZGlyZWN0cyB0aGUgdXNlciB0byB0aGUgU1NPIGxvZ2luIHBhZ2Ugd2l0aCB0aGUgcHJvdmlkZWQgZW1haWwuXG4gICAqIEBwYXJhbSBmb3JtRGF0YSAtIFRoZSBmb3JtIGRhdGEgY29udGFpbmluZyB0aGUgZW1haWwuXG4gICAqL1xuICBwdWJsaWMgaGFuZGxlU3R1YlNpZ25JbkZvcm1TdWJtaXQoZm9ybURhdGE6IElTaWduSW5TdHViRm9ybSk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGAke1NTT19FTkRQT0lOVFMubG9naW59P2VtYWlsPSR7Zm9ybURhdGEuZW1haWx9YDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRoaXMgaXMgdG8gcHJldmVudCBhIGxvYWQgZmxpY2tlciB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIHNzby9zdHViIHNpZ24gaW5cbiAgICB0aGlzLnNzb0VuYWJsZWQgPSB0aGlzLmdsb2JhbFN0b3JlLnNzb0VuYWJsZWQoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiQGRlZmVyICh3aGVuICFzc29FbmFibGVkKSB7XG4gIDxvcGFsLWxpYi1zaWduLWluLXN0dWIgKHNpZ25JbkZvcm1TdWJtaXQpPVwiaGFuZGxlU3R1YlNpZ25JbkZvcm1TdWJtaXQoJGV2ZW50KVwiPjwvb3BhbC1saWItc2lnbi1pbi1zdHViPlxufSBAcGxhY2Vob2xkZXIge1xuICA8b3BhbC1saWItc2lnbi1pbi1zc28gKHNpZ25JbkJ1dHRvbkNsaWNrKT1cImhhbmRsZVNzb1NpZ25JbkJ1dHRvbkNsaWNrKClcIj48L29wYWwtbGliLXNpZ24taW4tc3NvPlxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './title';
2
+ export * from './user-state';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3Jlc29sdmVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGl0bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXN0YXRlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './title.resolver';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3Jlc29sdmVycy90aXRsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aXRsZS5yZXNvbHZlcic7XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class TitleResolver {
5
+ titleService;
6
+ constructor(titleService) {
7
+ this.titleService = titleService;
8
+ }
9
+ resolve(route) {
10
+ const title = route.data['title'] ?? 'Frontend';
11
+ this.titleService.setTitle(`OPAL - ${title}`);
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleResolver, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
14
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleResolver, providedIn: 'root' });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleResolver, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root',
20
+ }]
21
+ }], ctorParameters: () => [{ type: i1.Title }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3Jlc29sdmVycy90aXRsZS90aXRsZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0MsTUFBTSxPQUFPLGFBQWE7SUFDSztJQUE3QixZQUE2QixZQUFtQjtRQUFuQixpQkFBWSxHQUFaLFlBQVksQ0FBTztJQUFHLENBQUM7SUFFcEQsT0FBTyxDQUFDLEtBQTZCO1FBQ25DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO3dHQU5VLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGl0bGVSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8dm9pZD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUpIHt9XG5cbiAgcmVzb2x2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gcm91dGUuZGF0YVsndGl0bGUnXSA/PyAnRnJvbnRlbmQnO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKGBPUEFMIC0gJHt0aXRsZX1gKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './user-state.resolver';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3Jlc29sdmVycy91c2VyLXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VzZXItc3RhdGUucmVzb2x2ZXInO1xuIl19
@@ -0,0 +1,12 @@
1
+ import { inject } from '@angular/core';
2
+ import { firstValueFrom } from 'rxjs';
3
+ import { SessionService } from '../../services/session-service/session.service';
4
+ /**
5
+ * Resolver function for retrieving the user state.
6
+ * @returns A promise that resolves to the user state.
7
+ */
8
+ export const userStateResolver = async () => {
9
+ // Weirdly angular suggests using async/await - https://angular.dev/api/router/ResolveFn?tab=usage-notes
10
+ return await firstValueFrom(inject(SessionService).getUserState());
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zdGF0ZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvcmVzb2x2ZXJzL3VzZXItc3RhdGUvdXNlci1zdGF0ZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRWhGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxLQUFLLElBQUksRUFBRTtJQUN4RSx3R0FBd0c7SUFDeEcsT0FBTyxNQUFNLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc29sdmVGbiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNlc3Npb25Vc2VyU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZXNzaW9uLXNlcnZpY2UvaW50ZXJmYWNlcy9zZXNzaW9uLXVzZXItc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2Vzc2lvbi1zZXJ2aWNlL3Nlc3Npb24uc2VydmljZSc7XG5cbi8qKlxuICogUmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHJldHJpZXZpbmcgdGhlIHVzZXIgc3RhdGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgdXNlciBzdGF0ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZXJTdGF0ZVJlc29sdmVyOiBSZXNvbHZlRm48SVNlc3Npb25Vc2VyU3RhdGU+ID0gYXN5bmMgKCkgPT4ge1xuICAvLyBXZWlyZGx5IGFuZ3VsYXIgc3VnZ2VzdHMgdXNpbmcgYXN5bmMvYXdhaXQgLSBodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9yb3V0ZXIvUmVzb2x2ZUZuP3RhYj11c2FnZS1ub3Rlc1xuICByZXR1cm4gYXdhaXQgZmlyc3RWYWx1ZUZyb20oaW5qZWN0KFNlc3Npb25TZXJ2aWNlKS5nZXRVc2VyU3RhdGUoKSk7XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './sso-endpoints.constant';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Nzby1lbmRwb2ludHMuY29uc3RhbnQnO1xuIl19
@@ -0,0 +1,7 @@
1
+ export const SSO_ENDPOINTS = {
2
+ login: '/sso/login',
3
+ logout: '/sso/logout',
4
+ callback: '/sso/callback',
5
+ authenticated: '/sso/authenticated',
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NvLWVuZHBvaW50cy5jb25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvcm91dGluZy9jb25zdGFudHMvc3NvLWVuZHBvaW50cy5jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLEtBQUssRUFBRSxZQUFZO0lBQ25CLE1BQU0sRUFBRSxhQUFhO0lBQ3JCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLGFBQWEsRUFBRSxvQkFBb0I7Q0FDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTc29FbmRwb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IFNTT19FTkRQT0lOVFM6IElTc29FbmRwb2ludHMgPSB7XG4gIGxvZ2luOiAnL3Nzby9sb2dpbicsXG4gIGxvZ291dDogJy9zc28vbG9nb3V0JyxcbiAgY2FsbGJhY2s6ICcvc3NvL2NhbGxiYWNrJyxcbiAgYXV0aGVudGljYXRlZDogJy9zc28vYXV0aGVudGljYXRlZCcsXG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './constants';
2
+ export * from './interfaces';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtcm91dGluZy1wYXRocy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvaW50ZXJmYWNlcy9jaGlsZC1yb3V0aW5nLXBhdGhzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2hpbGRSb3V0aW5nUGF0aHMge1xuICByb290OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './nested-routes.interface';
2
+ export * from './sso-endpoints.interface';
3
+ export * from './child-routing-paths.interface';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmVzdGVkLXJvdXRlcy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zc28tZW5kcG9pbnRzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NoaWxkLXJvdXRpbmctcGF0aHMuaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXJvdXRlcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvaW50ZXJmYWNlcy9uZXN0ZWQtcm91dGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJTmVzdGVkUm91dGVzIHtcbiAgbmV4dFJvdXRlOiBzdHJpbmc7XG4gIGJ1dHRvblRleHQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NvLWVuZHBvaW50cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3JvdXRpbmcvaW50ZXJmYWNlcy9zc28tZW5kcG9pbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJU3NvRW5kcG9pbnRzIHtcbiAgbG9naW46IHN0cmluZztcbiAgbG9nb3V0OiBzdHJpbmc7XG4gIGNhbGxiYWNrOiBzdHJpbmc7XG4gIGF1dGhlbnRpY2F0ZWQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { TransferStateService } from '../transfer-state-service';
3
+ import * as i0 from "@angular/core";
4
+ export class AppInitializerService {
5
+ transferStateService = inject(TransferStateService);
6
+ /**
7
+ * Initializes the SSO (Single Sign-On) enabled state.
8
+ * This method calls the `initializeSsoEnabled` method of the `transferStateService`.
9
+ */
10
+ initializeSsoEnabled() {
11
+ this.transferStateService.initializeSsoEnabled();
12
+ }
13
+ /**
14
+ * Initializes the LaunchDarkly configuration.
15
+ */
16
+ initializeLaunchDarkly() {
17
+ this.transferStateService.initializeLaunchDarklyConfig();
18
+ }
19
+ /**
20
+ * Initializes the application.
21
+ * This method calls the necessary initialization functions.
22
+ */
23
+ initializeApp() {
24
+ this.initializeSsoEnabled();
25
+ this.initializeLaunchDarkly();
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInitializerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInitializerService, providedIn: 'root' });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInitializerService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluaXRpYWxpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcC1pbml0aWFsaXplci1zZXJ2aWNlL2FwcC1pbml0aWFsaXplci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUtqRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2Ysb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFckU7OztPQUdHO0lBQ0ssb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYTtRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3dHQXpCVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlclN0YXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zZmVyLXN0YXRlLXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwSW5pdGlhbGl6ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2ZlclN0YXRlU2VydmljZSA9IGluamVjdChUcmFuc2ZlclN0YXRlU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBTU08gKFNpbmdsZSBTaWduLU9uKSBlbmFibGVkIHN0YXRlLlxuICAgKiBUaGlzIG1ldGhvZCBjYWxscyB0aGUgYGluaXRpYWxpemVTc29FbmFibGVkYCBtZXRob2Qgb2YgdGhlIGB0cmFuc2ZlclN0YXRlU2VydmljZWAuXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVTc29FbmFibGVkKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmZXJTdGF0ZVNlcnZpY2UuaW5pdGlhbGl6ZVNzb0VuYWJsZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgTGF1bmNoRGFya2x5IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVMYXVuY2hEYXJrbHkoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2ZlclN0YXRlU2VydmljZS5pbml0aWFsaXplTGF1bmNoRGFya2x5Q29uZmlnKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGFwcGxpY2F0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBjYWxscyB0aGUgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBpbml0aWFsaXplQXBwKCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVNzb0VuYWJsZWQoKTtcbiAgICB0aGlzLmluaXRpYWxpemVMYXVuY2hEYXJrbHkoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './app-initializer.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcC1pbml0aWFsaXplci1zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC1pbml0aWFsaXplci5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { inject, Injectable, PLATFORM_ID } from '@angular/core';
3
+ import { ApplicationInsights } from '@microsoft/applicationinsights-web';
4
+ import { TransferStateService } from '../transfer-state-service/transfer-state.service';
5
+ import * as i0 from "@angular/core";
6
+ export class AppInsightsService {
7
+ appInsights;
8
+ appInsightsConfig;
9
+ platformId = inject(PLATFORM_ID);
10
+ transferStateService = inject(TransferStateService);
11
+ constructor() {
12
+ this.appInsightsConfig = this.transferStateService.serverTransferState?.appInsightsConfig;
13
+ if (isPlatformBrowser(this.platformId) && this.appInsightsConfig) {
14
+ if (this.appInsightsConfig.enabled) {
15
+ this.appInsights = new ApplicationInsights({
16
+ config: {
17
+ connectionString: this.appInsightsConfig.connectionString,
18
+ enableAutoRouteTracking: true,
19
+ },
20
+ });
21
+ this.appInsights.addTelemetryInitializer(this.telemetryInitializer.bind(this));
22
+ this.appInsights.loadAppInsights();
23
+ }
24
+ }
25
+ }
26
+ /**
27
+ * Adds a telemetry initializer to set the cloud role name for the telemetry item.
28
+ *
29
+ * @param envelope - The telemetry item to which the cloud role name will be added.
30
+ */
31
+ telemetryInitializer(envelope) {
32
+ envelope.tags = envelope.tags || {};
33
+ if (this.appInsightsConfig?.enabled) {
34
+ envelope.tags['ai.cloud.role'] = this.appInsightsConfig.cloudRoleName;
35
+ }
36
+ }
37
+ /**
38
+ * Logs a page view to the Application Insights service.
39
+ *
40
+ * @param name - The name of the page. Optional.
41
+ * @param url - The URL of the page. Optional.
42
+ *
43
+ * This method uses the Application Insights SDK to track a page view event.
44
+ * If the `name` or `url` parameters are not provided, the SDK will use default values.
45
+ */
46
+ logPageView(name, url) {
47
+ if (!this.appInsightsConfig?.enabled) {
48
+ return;
49
+ }
50
+ this.appInsights.trackPageView({ name, uri: url });
51
+ }
52
+ /**
53
+ * Logs an exception to the Application Insights service.
54
+ *
55
+ * @param exception - The error object to be logged.
56
+ * @param severityLevel - Optional. The severity level of the exception. If not provided, a default severity level will be used.
57
+ */
58
+ logException(exception, severityLevel) {
59
+ if (!this.appInsightsConfig?.enabled) {
60
+ return;
61
+ }
62
+ this.appInsights.trackException({ exception, severityLevel });
63
+ }
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInsightsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInsightsService, providedIn: 'root' });
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppInsightsService, decorators: [{
68
+ type: Injectable,
69
+ args: [{
70
+ providedIn: 'root',
71
+ }]
72
+ }], ctorParameters: () => [] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluc2lnaHRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcC1pbnNpZ2h0cy9hcHAtaW5zaWdodHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFrQixNQUFNLG9DQUFvQyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQUt4RixNQUFNLE9BQU8sa0JBQWtCO0lBQ1osV0FBVyxDQUF1QjtJQUNsQyxpQkFBaUIsQ0FBK0M7SUFDaEUsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVyRTtRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUM7UUFFMUYsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQztvQkFDekMsTUFBTSxFQUFFO3dCQUNOLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBaUI7d0JBQzFELHVCQUF1QixFQUFFLElBQUk7cUJBQzlCO2lCQUNGLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQUMsUUFBd0I7UUFDbkQsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFjLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLFdBQVcsQ0FBQyxJQUFhLEVBQUUsR0FBWTtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLFNBQWdCLEVBQUUsYUFBc0I7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzt3R0EvRFUsa0JBQWtCOzRHQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5zaWdodHMsIElUZWxlbWV0cnlJdGVtIH0gZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLXdlYic7XG5pbXBvcnQgeyBJVHJhbnNmZXJTdGF0ZUFwcEluc2lnaHRzQ29uZmlnIH0gZnJvbSAnLi4vdHJhbnNmZXItc3RhdGUtc2VydmljZS9pbnRlcmZhY2VzL3RyYW5zZmVyLXN0YXRlLWFwcC1pbnNpZ2h0cy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRyYW5zZmVyU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNmZXItc3RhdGUtc2VydmljZS90cmFuc2Zlci1zdGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcEluc2lnaHRzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwSW5zaWdodHMhOiBBcHBsaWNhdGlvbkluc2lnaHRzO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcEluc2lnaHRzQ29uZmlnITogSVRyYW5zZmVyU3RhdGVBcHBJbnNpZ2h0c0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2ZlclN0YXRlU2VydmljZSA9IGluamVjdChUcmFuc2ZlclN0YXRlU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hcHBJbnNpZ2h0c0NvbmZpZyA9IHRoaXMudHJhbnNmZXJTdGF0ZVNlcnZpY2Uuc2VydmVyVHJhbnNmZXJTdGF0ZT8uYXBwSW5zaWdodHNDb25maWc7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmFwcEluc2lnaHRzQ29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5hcHBJbnNpZ2h0c0NvbmZpZy5lbmFibGVkKSB7XG4gICAgICAgIHRoaXMuYXBwSW5zaWdodHMgPSBuZXcgQXBwbGljYXRpb25JbnNpZ2h0cyh7XG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nOiB0aGlzLmFwcEluc2lnaHRzQ29uZmlnLmNvbm5lY3Rpb25TdHJpbmchLFxuICAgICAgICAgICAgZW5hYmxlQXV0b1JvdXRlVHJhY2tpbmc6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hcHBJbnNpZ2h0cy5hZGRUZWxlbWV0cnlJbml0aWFsaXplcih0aGlzLnRlbGVtZXRyeUluaXRpYWxpemVyLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLmFwcEluc2lnaHRzLmxvYWRBcHBJbnNpZ2h0cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGVsZW1ldHJ5IGluaXRpYWxpemVyIHRvIHNldCB0aGUgY2xvdWQgcm9sZSBuYW1lIGZvciB0aGUgdGVsZW1ldHJ5IGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBlbnZlbG9wZSAtIFRoZSB0ZWxlbWV0cnkgaXRlbSB0byB3aGljaCB0aGUgY2xvdWQgcm9sZSBuYW1lIHdpbGwgYmUgYWRkZWQuXG4gICAqL1xuICBwcml2YXRlIHRlbGVtZXRyeUluaXRpYWxpemVyKGVudmVsb3BlOiBJVGVsZW1ldHJ5SXRlbSk6IHZvaWQge1xuICAgIGVudmVsb3BlLnRhZ3MgPSBlbnZlbG9wZS50YWdzIHx8IHt9O1xuICAgIGlmICh0aGlzLmFwcEluc2lnaHRzQ29uZmlnPy5lbmFibGVkKSB7XG4gICAgICBlbnZlbG9wZS50YWdzWydhaS5jbG91ZC5yb2xlJ10gPSB0aGlzLmFwcEluc2lnaHRzQ29uZmlnLmNsb3VkUm9sZU5hbWUhO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIGEgcGFnZSB2aWV3IHRvIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwYWdlLiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHVybCAtIFRoZSBVUkwgb2YgdGhlIHBhZ2UuIE9wdGlvbmFsLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCB1c2VzIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBTREsgdG8gdHJhY2sgYSBwYWdlIHZpZXcgZXZlbnQuXG4gICAqIElmIHRoZSBgbmFtZWAgb3IgYHVybGAgcGFyYW1ldGVycyBhcmUgbm90IHByb3ZpZGVkLCB0aGUgU0RLIHdpbGwgdXNlIGRlZmF1bHQgdmFsdWVzLlxuICAgKi9cbiAgcHVibGljIGxvZ1BhZ2VWaWV3KG5hbWU/OiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hcHBJbnNpZ2h0c0NvbmZpZz8uZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcEluc2lnaHRzLnRyYWNrUGFnZVZpZXcoeyBuYW1lLCB1cmk6IHVybCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIGFuIGV4Y2VwdGlvbiB0byB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgc2VydmljZS5cbiAgICpcbiAgICogQHBhcmFtIGV4Y2VwdGlvbiAtIFRoZSBlcnJvciBvYmplY3QgdG8gYmUgbG9nZ2VkLlxuICAgKiBAcGFyYW0gc2V2ZXJpdHlMZXZlbCAtIE9wdGlvbmFsLiBUaGUgc2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIGV4Y2VwdGlvbi4gSWYgbm90IHByb3ZpZGVkLCBhIGRlZmF1bHQgc2V2ZXJpdHkgbGV2ZWwgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcHVibGljIGxvZ0V4Y2VwdGlvbihleGNlcHRpb246IEVycm9yLCBzZXZlcml0eUxldmVsPzogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFwcEluc2lnaHRzQ29uZmlnPy5lbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwSW5zaWdodHMudHJhY2tFeGNlcHRpb24oeyBleGNlcHRpb24sIHNldmVyaXR5TGV2ZWwgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ // SERVICE
2
+ export * from './app-insights.service';
3
+ // CONSTANTS, INTERFACES, AND MOCKS
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcC1pbnNpZ2h0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTRVJWSUNFXG5leHBvcnQgKiBmcm9tICcuL2FwcC1pbnNpZ2h0cy5zZXJ2aWNlJztcblxuLy8gQ09OU1RBTlRTLCBJTlRFUkZBQ0VTLCBBTkQgTU9DS1NcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { catchError, tap, throwError } from 'rxjs';
4
+ import { SSO_ENDPOINTS } from '../../routing/constants/sso-endpoints.constant';
5
+ import { GlobalStore } from '../../stores';
6
+ import * as i0 from "@angular/core";
7
+ export class AuthService {
8
+ http = inject(HttpClient);
9
+ globalStore = inject(GlobalStore);
10
+ checkAuthenticated() {
11
+ return this.http
12
+ .get(SSO_ENDPOINTS.authenticated, {
13
+ headers: new HttpHeaders({
14
+ 'Cache-Control': 'no-cache',
15
+ Pragma: 'no-cache',
16
+ Expires: '0',
17
+ }),
18
+ })
19
+ .pipe(tap((resp) => {
20
+ this.globalStore.setAuthenticated(resp);
21
+ }))
22
+ .pipe(catchError((error) => {
23
+ this.globalStore.setAuthenticated(false);
24
+ return throwError(() => error);
25
+ }));
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, providedIn: 'root' });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLXNlcnZpY2UvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUNMLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QyxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBVSxhQUFhLENBQUMsYUFBYSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsZUFBZSxFQUFFLFVBQVU7Z0JBQzNCLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixPQUFPLEVBQUUsR0FBRzthQUNiLENBQUM7U0FDSCxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO3dHQXhCVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNTT19FTkRQT0lOVFMgfSBmcm9tICcuLi8uLi9yb3V0aW5nL2NvbnN0YW50cy9zc28tZW5kcG9pbnRzLmNvbnN0YW50JztcbmltcG9ydCB7IEdsb2JhbFN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbFN0b3JlID0gaW5qZWN0KEdsb2JhbFN0b3JlKTtcblxuICBwdWJsaWMgY2hlY2tBdXRoZW50aWNhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8Ym9vbGVhbj4oU1NPX0VORFBPSU5UUy5hdXRoZW50aWNhdGVkLCB7XG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnLFxuICAgICAgICAgIFByYWdtYTogJ25vLWNhY2hlJyxcbiAgICAgICAgICBFeHBpcmVzOiAnMCcsXG4gICAgICAgIH0pLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlc3ApID0+IHtcbiAgICAgICAgICB0aGlzLmdsb2JhbFN0b3JlLnNldEF1dGhlbnRpY2F0ZWQocmVzcCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5nbG9iYWxTdG9yZS5zZXRBdXRoZW50aWNhdGVkKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './auth.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2F1dGgtc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuIl19