@genesislcap/foundation-login 9.0.1-alpha-b5c5eb7.0

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 (260) hide show
  1. package/README.md +160 -0
  2. package/dist/1.0.0.remoteEntry.js +1 -0
  3. package/dist/15.15.b20930426d82ddb7bd44.js +1322 -0
  4. package/dist/15.1f4ec0deba9aca7499d56c621e06b130.js.map +1 -0
  5. package/dist/170.170.f64459527c9480c31e74.js +726 -0
  6. package/dist/170.a9086b342b886f13162e76944c6232ea.js.map +1 -0
  7. package/dist/176.176.bfbfc60ffad852c406c4.js +2 -0
  8. package/dist/176.7ce7d4e386b9ebd99f2a121d6364c1ad.js.map +1 -0
  9. package/dist/185.185.c56719990d52bcca8549.js +2 -0
  10. package/dist/185.d623d7c2df70c9d665343444e7c1fa6c.js.map +1 -0
  11. package/dist/338.338.e399ff6c11eb8175de4c.js +2 -0
  12. package/dist/338.4f68feefeaca1bf1dbc7ba12af2e84aa.js.map +1 -0
  13. package/dist/397.397.22e0364e0ff35fdfe9a0.js +3 -0
  14. package/dist/397.397.22e0364e0ff35fdfe9a0.js.LICENSE.txt +1 -0
  15. package/dist/397.629a215804364ccc7763bc046dbea3d5.js.map +1 -0
  16. package/dist/419.419.00fda3874a096d8457d8.js +2136 -0
  17. package/dist/419.b6fb3444f7d56877c3a81cba8eaca942.js.map +1 -0
  18. package/dist/453.3c9a25d2af3ccf8232fdd1dfc5244b3d.js.map +1 -0
  19. package/dist/453.453.14247e88aa4df78dca2c.js +2 -0
  20. package/dist/726.4c7419d8edb8ba5e67699f4820c8c461.js.map +1 -0
  21. package/dist/726.726.e09fed9a1e3b529acd46.js +3 -0
  22. package/dist/726.726.e09fed9a1e3b529acd46.js.LICENSE.txt +4 -0
  23. package/dist/741.741.d84fc7e9236cae1acc99.js +3 -0
  24. package/dist/741.741.d84fc7e9236cae1acc99.js.LICENSE.txt +4 -0
  25. package/dist/741.a3dfed45252169e53ee396a8b76cea67.js.map +1 -0
  26. package/dist/b634d7e1f2324faf1230.svg +10 -0
  27. package/dist/c0bd2c45d93ce443d624.jpg +0 -0
  28. package/dist/dashboard.json +1 -0
  29. package/dist/dts/components/components.d.ts +5 -0
  30. package/dist/dts/components/components.d.ts.map +1 -0
  31. package/dist/dts/components/index.d.ts +2 -0
  32. package/dist/dts/components/index.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +3 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/dts/index.federated.d.ts +1 -0
  36. package/dist/dts/index.federated.d.ts.map +1 -0
  37. package/dist/dts/layouts/default.d.ts +3 -0
  38. package/dist/dts/layouts/default.d.ts.map +1 -0
  39. package/dist/dts/layouts/index.d.ts +2 -0
  40. package/dist/dts/layouts/index.d.ts.map +1 -0
  41. package/dist/dts/main/config.d.ts +261 -0
  42. package/dist/dts/main/config.d.ts.map +1 -0
  43. package/dist/dts/main/define.d.ts +29 -0
  44. package/dist/dts/main/define.d.ts.map +1 -0
  45. package/dist/dts/main/index.d.ts +7 -0
  46. package/dist/dts/main/index.d.ts.map +1 -0
  47. package/dist/dts/main/main.d.ts +179 -0
  48. package/dist/dts/main/main.d.ts.map +1 -0
  49. package/dist/dts/main/main.definition.d.ts +48 -0
  50. package/dist/dts/main/main.definition.d.ts.map +1 -0
  51. package/dist/dts/main/main.styles.d.ts +13 -0
  52. package/dist/dts/main/main.styles.d.ts.map +1 -0
  53. package/dist/dts/main/main.template.d.ts +7 -0
  54. package/dist/dts/main/main.template.d.ts.map +1 -0
  55. package/dist/dts/routes/base.d.ts +127 -0
  56. package/dist/dts/routes/base.d.ts.map +1 -0
  57. package/dist/dts/routes/config.d.ts +27 -0
  58. package/dist/dts/routes/config.d.ts.map +1 -0
  59. package/dist/dts/routes/forgot-password/forgot-password.d.ts +6 -0
  60. package/dist/dts/routes/forgot-password/forgot-password.d.ts.map +1 -0
  61. package/dist/dts/routes/forgot-password/forgot-password.template.d.ts +3 -0
  62. package/dist/dts/routes/forgot-password/forgot-password.template.d.ts.map +1 -0
  63. package/dist/dts/routes/index.d.ts +4 -0
  64. package/dist/dts/routes/index.d.ts.map +1 -0
  65. package/dist/dts/routes/login-form/login-form.d.ts +27 -0
  66. package/dist/dts/routes/login-form/login-form.d.ts.map +1 -0
  67. package/dist/dts/routes/login-form/login-form.styles.d.ts +2 -0
  68. package/dist/dts/routes/login-form/login-form.styles.d.ts.map +1 -0
  69. package/dist/dts/routes/login-form/login-form.template.d.ts +3 -0
  70. package/dist/dts/routes/login-form/login-form.template.d.ts.map +1 -0
  71. package/dist/dts/routes/not-found/not-found.d.ts +4 -0
  72. package/dist/dts/routes/not-found/not-found.d.ts.map +1 -0
  73. package/dist/dts/routes/protected/protected.d.ts +5 -0
  74. package/dist/dts/routes/protected/protected.d.ts.map +1 -0
  75. package/dist/dts/routes/protected/protected.template.d.ts +3 -0
  76. package/dist/dts/routes/protected/protected.template.d.ts.map +1 -0
  77. package/dist/dts/routes/request-account/request-account.d.ts +6 -0
  78. package/dist/dts/routes/request-account/request-account.d.ts.map +1 -0
  79. package/dist/dts/routes/request-account/request-account.template.d.ts +3 -0
  80. package/dist/dts/routes/request-account/request-account.template.d.ts.map +1 -0
  81. package/dist/dts/routes/reset-password/reset-password.d.ts +14 -0
  82. package/dist/dts/routes/reset-password/reset-password.d.ts.map +1 -0
  83. package/dist/dts/routes/reset-password/reset-password.template.d.ts +3 -0
  84. package/dist/dts/routes/reset-password/reset-password.template.d.ts.map +1 -0
  85. package/dist/dts/routes/types.d.ts +29 -0
  86. package/dist/dts/routes/types.d.ts.map +1 -0
  87. package/dist/dts/routes/verify/verify.d.ts +6 -0
  88. package/dist/dts/routes/verify/verify.d.ts.map +1 -0
  89. package/dist/dts/routes/verify/verify.template.d.ts +3 -0
  90. package/dist/dts/routes/verify/verify.template.d.ts.map +1 -0
  91. package/dist/dts/styles/index.d.ts +3 -0
  92. package/dist/dts/styles/index.d.ts.map +1 -0
  93. package/dist/dts/styles/styles.d.ts +5 -0
  94. package/dist/dts/styles/styles.d.ts.map +1 -0
  95. package/dist/dts/styles/typography.d.ts +4 -0
  96. package/dist/dts/styles/typography.d.ts.map +1 -0
  97. package/dist/dts/utils/index.d.ts +2 -0
  98. package/dist/dts/utils/index.d.ts.map +1 -0
  99. package/dist/dts/utils/logger.d.ts +2 -0
  100. package/dist/dts/utils/logger.d.ts.map +1 -0
  101. package/dist/esm/assets/bg.jpg +0 -0
  102. package/dist/esm/assets/genesis-logo-dark.svg +32 -0
  103. package/dist/esm/assets/genesis-logo-light.svg +10 -0
  104. package/dist/esm/assets/genesis-logo-old.svg +36 -0
  105. package/dist/esm/components/components.js +49 -0
  106. package/dist/esm/components/components.js.map +1 -0
  107. package/dist/esm/components/index.js +2 -0
  108. package/dist/esm/components/index.js.map +1 -0
  109. package/dist/esm/index.federated.js +2 -0
  110. package/dist/esm/index.federated.js.map +1 -0
  111. package/dist/esm/index.js +3 -0
  112. package/dist/esm/index.js.map +1 -0
  113. package/dist/esm/layouts/default.js +28 -0
  114. package/dist/esm/layouts/default.js.map +1 -0
  115. package/dist/esm/layouts/index.js +2 -0
  116. package/dist/esm/layouts/index.js.map +1 -0
  117. package/dist/esm/main/config.js +153 -0
  118. package/dist/esm/main/config.js.map +1 -0
  119. package/dist/esm/main/define.js +31 -0
  120. package/dist/esm/main/define.js.map +1 -0
  121. package/dist/esm/main/index.js +7 -0
  122. package/dist/esm/main/index.js.map +1 -0
  123. package/dist/esm/main/main.definition.js +44 -0
  124. package/dist/esm/main/main.definition.js.map +1 -0
  125. package/dist/esm/main/main.js +234 -0
  126. package/dist/esm/main/main.js.map +1 -0
  127. package/dist/esm/main/main.styles.js +39 -0
  128. package/dist/esm/main/main.styles.js.map +1 -0
  129. package/dist/esm/main/main.template.js +15 -0
  130. package/dist/esm/main/main.template.js.map +1 -0
  131. package/dist/esm/routes/base.js +512 -0
  132. package/dist/esm/routes/base.js.map +1 -0
  133. package/dist/esm/routes/config.js +169 -0
  134. package/dist/esm/routes/config.js.map +1 -0
  135. package/dist/esm/routes/forgot-password/forgot-password.js +42 -0
  136. package/dist/esm/routes/forgot-password/forgot-password.js.map +1 -0
  137. package/dist/esm/routes/forgot-password/forgot-password.template.js +27 -0
  138. package/dist/esm/routes/forgot-password/forgot-password.template.js.map +1 -0
  139. package/dist/esm/routes/index.js +4 -0
  140. package/dist/esm/routes/index.js.map +1 -0
  141. package/dist/esm/routes/login-form/login-form.js +256 -0
  142. package/dist/esm/routes/login-form/login-form.js.map +1 -0
  143. package/dist/esm/routes/login-form/login-form.styles.js +79 -0
  144. package/dist/esm/routes/login-form/login-form.styles.js.map +1 -0
  145. package/dist/esm/routes/login-form/login-form.template.js +162 -0
  146. package/dist/esm/routes/login-form/login-form.template.js.map +1 -0
  147. package/dist/esm/routes/not-found/not-found.js +17 -0
  148. package/dist/esm/routes/not-found/not-found.js.map +1 -0
  149. package/dist/esm/routes/protected/protected.js +26 -0
  150. package/dist/esm/routes/protected/protected.js.map +1 -0
  151. package/dist/esm/routes/protected/protected.template.js +14 -0
  152. package/dist/esm/routes/protected/protected.template.js.map +1 -0
  153. package/dist/esm/routes/request-account/request-account.js +33 -0
  154. package/dist/esm/routes/request-account/request-account.js.map +1 -0
  155. package/dist/esm/routes/request-account/request-account.template.js +38 -0
  156. package/dist/esm/routes/request-account/request-account.template.js.map +1 -0
  157. package/dist/esm/routes/reset-password/reset-password.js +79 -0
  158. package/dist/esm/routes/reset-password/reset-password.js.map +1 -0
  159. package/dist/esm/routes/reset-password/reset-password.template.js +31 -0
  160. package/dist/esm/routes/reset-password/reset-password.template.js.map +1 -0
  161. package/dist/esm/routes/types.js +2 -0
  162. package/dist/esm/routes/types.js.map +1 -0
  163. package/dist/esm/routes/verify/verify.js +33 -0
  164. package/dist/esm/routes/verify/verify.js.map +1 -0
  165. package/dist/esm/routes/verify/verify.template.js +39 -0
  166. package/dist/esm/routes/verify/verify.template.js.map +1 -0
  167. package/dist/esm/styles/index.js +3 -0
  168. package/dist/esm/styles/index.js.map +1 -0
  169. package/dist/esm/styles/styles.js +145 -0
  170. package/dist/esm/styles/styles.js.map +1 -0
  171. package/dist/esm/styles/typography.js +27 -0
  172. package/dist/esm/styles/typography.js.map +1 -0
  173. package/dist/esm/utils/index.js +2 -0
  174. package/dist/esm/utils/index.js.map +1 -0
  175. package/dist/esm/utils/logger.js +3 -0
  176. package/dist/esm/utils/logger.js.map +1 -0
  177. package/dist/favicon.ico +0 -0
  178. package/dist/foundation-login.api.json +1598 -0
  179. package/dist/foundation-login.d.ts +758 -0
  180. package/dist/foundationLogin.51f4a45f08e04c340be2f7a5a21d203d.js.map +1 -0
  181. package/dist/index.ejs +23 -0
  182. package/dist/index.html +10 -0
  183. package/dist/info.ejs +13 -0
  184. package/dist/info.html +22 -0
  185. package/dist/main.6b8ef32149fa7ade387e34be21e80e9f.js.map +1 -0
  186. package/dist/main.f20fa5670484f5c57ef1.js +2 -0
  187. package/dist/npm.analytics.343.1691cbc7d8a5badd3734.js +2 -0
  188. package/dist/npm.analytics.ce2eefcbb0dbd8ec610f4a90f48aa689.js.map +1 -0
  189. package/dist/npm.consola.713.661cb6ae3806c228029d.js +2 -0
  190. package/dist/npm.consola.96aceeeb14c801e429604b872dd754d7.js.map +1 -0
  191. package/dist/npm.dialog-polyfill.47.34b0c0d52e6712cf91bb.js +2 -0
  192. package/dist/npm.dialog-polyfill.9d605973cbc29184d8b9b4736433dddc.js.map +1 -0
  193. package/dist/npm.finos.690.d012d887fab1a50fd3fd.js +2 -0
  194. package/dist/npm.finos.bb7f5996c8be19fd2a1c0bb82b2512ef.js.map +1 -0
  195. package/dist/npm.fortawesome.104.f45009da0a55a389999c.js +2 -0
  196. package/dist/npm.fortawesome.e10775e8f8583851351996b12aec3dfb.js.map +1 -0
  197. package/dist/npm.microsoft.127.7781d48b93413319f199.js +6406 -0
  198. package/dist/npm.microsoft.127.7781d48b93413319f199.js.LICENSE.txt +14 -0
  199. package/dist/npm.microsoft.b0947aa2f980f173ee68c35127bf2481.js.map +1 -0
  200. package/dist/npm.popperjs.47700ec72e909558c6ebe29941887dcf.js.map +1 -0
  201. package/dist/npm.popperjs.591.6ab52bc8e177edef695a.js +2 -0
  202. package/dist/npm.rxjs.271.210fdd198235c86ce4cd.js +2 -0
  203. package/dist/npm.rxjs.36e7291df63583daef7bbafd0a3ab9dc.js.map +1 -0
  204. package/dist/remoteEntry.js +2 -0
  205. package/dist/serve.json +3 -0
  206. package/dist/tsdoc-metadata.json +11 -0
  207. package/docs/.gitattributes +2 -0
  208. package/docs/api/foundation-login.configure.md +62 -0
  209. package/docs/api/foundation-login.defaultapihost.md +12 -0
  210. package/docs/api/foundation-login.defaultloginconfig.md +13 -0
  211. package/docs/api/foundation-login.defaultorganisation.md +12 -0
  212. package/docs/api/foundation-login.defaultpassword.md +12 -0
  213. package/docs/api/foundation-login.defaultsocketext.md +12 -0
  214. package/docs/api/foundation-login.defaulttemplateoptions.md +16 -0
  215. package/docs/api/foundation-login.defaultuser.md +12 -0
  216. package/docs/api/foundation-login.define.md +38 -0
  217. package/docs/api/foundation-login.definition.md +19 -0
  218. package/docs/api/foundation-login.fieldconfig.md +16 -0
  219. package/docs/api/foundation-login.fieldconfigmap.md +19 -0
  220. package/docs/api/foundation-login.hostenv.md +12 -0
  221. package/docs/api/foundation-login.hosturl.md +12 -0
  222. package/docs/api/foundation-login.idp.id.md +11 -0
  223. package/docs/api/foundation-login.idp.md +20 -0
  224. package/docs/api/foundation-login.idp.type.md +11 -0
  225. package/docs/api/foundation-login.idpresponse.id.md +11 -0
  226. package/docs/api/foundation-login.idpresponse.md +20 -0
  227. package/docs/api/foundation-login.idpresponse.type.md +11 -0
  228. package/docs/api/foundation-login.ismfroute.md +24 -0
  229. package/docs/api/foundation-login.login.md +108 -0
  230. package/docs/api/foundation-login.loginconfig.autoauth.md +18 -0
  231. package/docs/api/foundation-login.loginconfig.autoconnect.md +13 -0
  232. package/docs/api/foundation-login.loginconfig.background.md +30 -0
  233. package/docs/api/foundation-login.loginconfig.defaultredirecturl.md +18 -0
  234. package/docs/api/foundation-login.loginconfig.fields.md +18 -0
  235. package/docs/api/foundation-login.loginconfig.logo.md +28 -0
  236. package/docs/api/foundation-login.loginconfig.md +30 -0
  237. package/docs/api/foundation-login.loginconfig.omitredirecturls.md +21 -0
  238. package/docs/api/foundation-login.loginconfig.omitroutes.md +25 -0
  239. package/docs/api/foundation-login.loginconfig.showconnectionindicator.md +13 -0
  240. package/docs/api/foundation-login.loginconfig.sso.md +18 -0
  241. package/docs/api/foundation-login.loginconfig.versioninformation.md +25 -0
  242. package/docs/api/foundation-login.loginhosted.md +23 -0
  243. package/docs/api/foundation-login.loginhosted.registercommoncomponents.md +18 -0
  244. package/docs/api/foundation-login.md +59 -0
  245. package/docs/api/foundation-login.routes.md +20 -0
  246. package/docs/api/foundation-login.settings.md +20 -0
  247. package/docs/api/foundation-login.ssoconfig.md +15 -0
  248. package/docs/api/foundation-login.styles.md +12 -0
  249. package/docs/api/foundation-login.template.md +12 -0
  250. package/docs/api/foundation-login.templatecomponents.md +25 -0
  251. package/docs/api/foundation-login.templateoptions.md +19 -0
  252. package/docs/api/index.md +12 -0
  253. package/docs/api-report.md +380 -0
  254. package/docs/img/foundation-login_change-password.png +0 -0
  255. package/docs/img/foundation-login_forgotten-password.png +0 -0
  256. package/docs/img/foundation-login_login-sso.png +0 -0
  257. package/docs/img/foundation-login_login-standard.png +0 -0
  258. package/docs/img/foundation-login_request-account.png +0 -0
  259. package/license.txt +46 -0
  260. package/package.json +90 -0
@@ -0,0 +1,28 @@
1
+ import { css, html } from '@microsoft/fast-element';
2
+ import { FASTElementLayout } from '@microsoft/fast-router';
3
+ export const defaultLayout = new FASTElementLayout(html `
4
+ <div class="container">
5
+ <div class="content">
6
+ <slot></slot>
7
+ </div>
8
+ </div>
9
+ `, css `
10
+ :host {
11
+ }
12
+
13
+ .container {
14
+ width: 100%;
15
+ height: 100%;
16
+ display: block;
17
+ position: relative;
18
+ }
19
+
20
+ .content {
21
+ position: absolute;
22
+ top: 0;
23
+ bottom: 0;
24
+ left: 0;
25
+ right: 0;
26
+ }
27
+ `);
28
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/layouts/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAChD,IAAI,CAAA;;;;;;GAMH,EACD,GAAG,CAAA;;;;;;;;;;;;;;;;;;GAkBF,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './default';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layouts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,153 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { DI, Registration } from '@microsoft/fast-foundation';
3
+ import defaultLogoSrc from '../assets/genesis-logo-light.svg';
4
+ import defaultBackgroundSrc from '../assets/bg.jpg';
5
+ /**
6
+ * @public
7
+ */
8
+ export const defaultOrganisation = DEFAULT_ORGANISATION;
9
+ /**
10
+ * @public
11
+ */
12
+ export const defaultUser = DEFAULT_USER;
13
+ /**
14
+ * @public
15
+ */
16
+ export const defaultPassword = DEFAULT_PASSWORD;
17
+ /**
18
+ * @public
19
+ */
20
+ export const defaultApiHost = API_HOST;
21
+ /**
22
+ * @public
23
+ */
24
+ export const defaultSocketExt = SOCKET_EXT;
25
+ /**
26
+ * @public
27
+ */
28
+ export const hostEnv = location.host;
29
+ const wsProtocol = 'https:' === location.protocol ? 'wss:' : 'ws:';
30
+ const socketExt = SOCKET_EXT || 'gwf';
31
+ /**
32
+ * @public
33
+ */
34
+ export const hostUrl = API_HOST || `${wsProtocol}//${hostEnv}/${socketExt}/`;
35
+ /**
36
+ * @public
37
+ */
38
+ export const Routes = {
39
+ login: 'login',
40
+ 'request-account': 'request-account',
41
+ 'reset-password': 'reset-password',
42
+ 'forgot-password': 'forgot-password',
43
+ verify: 'verify',
44
+ protected: 'protected',
45
+ 'not-found': 'not-found',
46
+ };
47
+ /**
48
+ * A utility to check if a pathname is a route of this micro frontend.
49
+ *
50
+ * @param pathname - A pathname string to check, typically location.pathname, which is used when a value is omitted.
51
+ *
52
+ * @public
53
+ * @privateRemarks
54
+ * I've just put this util in for now given there's some app level direction code in place which needs review.
55
+ */
56
+ export function isMFRoute(pathname = location.pathname) {
57
+ const valueParts = pathname.split('/');
58
+ const routeIdx = pathname.charAt(0) === '/' ? 1 : 0;
59
+ const route = valueParts[routeIdx];
60
+ return !!Routes[route];
61
+ }
62
+ /**
63
+ * Default LoginConfig DI implementation.
64
+ * @public
65
+ */
66
+ export const defaultLoginConfig = {
67
+ autoConnect: false,
68
+ autoAuth: false,
69
+ logo: css `
70
+ content: url(${defaultLogoSrc});
71
+ `,
72
+ background: css `
73
+ :host {
74
+ background-image: url(${defaultBackgroundSrc});
75
+ }
76
+ `,
77
+ omitRoutes: [],
78
+ fields: {
79
+ organisation: null,
80
+ username: {
81
+ label: 'Username',
82
+ value: defaultUser,
83
+ },
84
+ email: {
85
+ label: 'Email Address',
86
+ },
87
+ password: {
88
+ label: 'Password',
89
+ value: defaultPassword,
90
+ },
91
+ },
92
+ showConnectionIndicator: false,
93
+ defaultRedirectUrl: '/protected',
94
+ omitRedirectUrls: ['/not-found', '/not-permitted'],
95
+ sso: {
96
+ identityProvidersPath: 'sso/list',
97
+ },
98
+ };
99
+ /**
100
+ * LoginConfig DI key.
101
+ *
102
+ * @internal
103
+ * @privateRemarks
104
+ * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
105
+ */
106
+ export const LoginConfig = DI.createInterface();
107
+ /**
108
+ * Configure the login micro frontend settings.
109
+ *
110
+ * @remarks
111
+ * This is primarily for general settings, rather than re-defining the element, static templating / style changes.
112
+ *
113
+ * @param container - DI container.
114
+ * @param config - A partial LoginConfig.
115
+ *
116
+ * @example Configuring login on lazy load
117
+ * ```ts
118
+ * name: 'login',
119
+ * path: 'login',
120
+ * title: 'Login',
121
+ * element: async () => {
122
+ * const { configure, define, defaultLoginConfig } = await import('@genesislcap/foundation-login');
123
+ * configure(this.container, {
124
+ * autoConnect: true,
125
+ * omitRoutes: ['request-account'],
126
+ * fields: {
127
+ * ...defaultLoginConfig.fields,
128
+ * organisation: {
129
+ * label: 'CompID',
130
+ * },
131
+ * },
132
+ * defaultRedirectUrl: 'dashboard',
133
+ * logo: loginLogo,
134
+ * background: loginBG,
135
+ * });
136
+ * // You can import and return `Login` directly here or re-define it completely via `define`.
137
+ * return define({
138
+ * name: `nexus-login`,
139
+ * });
140
+ * },
141
+ * layout: loginLayout,
142
+ * settings: { public: true },
143
+ * childRouters: true,
144
+ * ```
145
+ *
146
+ * @public
147
+ * @privateRemarks
148
+ * We can tailor the spreading logic after we put it to use. Keeping it simple for now.
149
+ */
150
+ export function configure(container, config) {
151
+ container.register(Registration.instance(LoginConfig, Object.assign(Object.assign({}, defaultLoginConfig), config)));
152
+ }
153
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/main/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { defineFactory } from '@genesislcap/foundation-ui';
2
+ import { Login } from './main';
3
+ import { definition } from './main.definition';
4
+ /**
5
+ * Re-define the login micro frontend.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { define, styles, template, defaultTemplateOptions } from '@genesislcap/foundation-login';
10
+ * const customTemplateOptions = {
11
+ * ...defaultTemplateOptions,
12
+ * ...customOptions,
13
+ * }
14
+ * export const AppLogin = define({
15
+ * name: `nexus-login`,
16
+ * template: template(customTemplateOptions),
17
+ * styles: css`
18
+ * ${styles(customTemplateOptions)}
19
+ * some-element {
20
+ * background-color: #ff00b4;
21
+ * }
22
+ * `,
23
+ * });
24
+ * ```
25
+ *
26
+ * @beta
27
+ * @privateRemarks
28
+ * TODO: Use LoginHosted instead of Login when elements manifest stuff lands, which will drive tagFor etc.
29
+ */
30
+ export const define = defineFactory(Login, definition);
31
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/main/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './config';
2
+ export * from './define';
3
+ export * from './main.definition';
4
+ export * from './main.template';
5
+ export * from './main.styles';
6
+ export * from './main';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { template } from './main.template';
2
+ import { styles } from './main.styles';
3
+ /**
4
+ * The default template options this MF has been created with.
5
+ * @beta
6
+ * @privateRemarks
7
+ * This will likely evolve into the shell style PWA + FDC3 manifest setup, but that needs more work to evolve into MVP.
8
+ * Hosts should be able to figure out everything they will need to do to fully customise a MF. Currently, they
9
+ * import these `defaultTemplateOptions` and the host dev overrides. Each TemplateComponents key must be a mandatory
10
+ * override, given in hosted mode the MFs won't be registering fallbacks as this would be wasteful, bloat etc.
11
+ * I've added the components list to the package.json > config block for now, but I'm not using it here.
12
+ */
13
+ export const defaultTemplateOptions = {
14
+ anchor: 'zero-anchor',
15
+ button: 'zero-button',
16
+ card: 'zero-card',
17
+ checkbox: 'zero-checkbox',
18
+ listboxOption: 'zero-option',
19
+ provider: 'template',
20
+ router: 'foundation-router',
21
+ select: 'zero-select',
22
+ textField: 'zero-text-field',
23
+ };
24
+ /**
25
+ * @beta
26
+ * @remarks
27
+ * This is the main definition of this micro frontend which is exposed for user reconfiguration.
28
+ */
29
+ export const definition = {
30
+ name: 'foundation-login',
31
+ template: template(defaultTemplateOptions),
32
+ styles: styles(defaultTemplateOptions),
33
+ };
34
+ /**
35
+ * @internal
36
+ * @privateRemarks
37
+ * This is used during development of this micro frontend.
38
+ */
39
+ export const standaloneDefinition = {
40
+ name: 'foundation-login',
41
+ template: template(Object.assign(Object.assign({}, defaultTemplateOptions), { provider: 'zero-design-system-provider' })),
42
+ styles: styles(Object.assign(Object.assign({}, defaultTemplateOptions), { provider: 'zero-design-system-provider' })),
43
+ };
44
+ //# sourceMappingURL=main.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.definition.js","sourceRoot":"","sources":["../../../src/main/main.definition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA0BvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,eAAe;IACzB,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAiC;IACtD,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC;CACvC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,QAAQ,iCACb,sBAAsB,KACzB,QAAQ,EAAE,6BAA6B,IACvC;IACF,MAAM,EAAE,MAAM,iCACT,sBAAsB,KACzB,QAAQ,EAAE,6BAA6B,IACvC;CACH,CAAC"}
@@ -0,0 +1,234 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { ConnectConfig, defaultConnectConfig, Session } from '@genesislcap/foundation-comms';
3
+ import { customElement, FASTElement, observable } from '@microsoft/fast-element';
4
+ import { Container, inject, Registration } from '@microsoft/fast-foundation';
5
+ import { DefaultRouteRecognizer } from '@microsoft/fast-router';
6
+ import * as Components from '../components';
7
+ import { MainRouterConfig } from '../routes';
8
+ import { definition, standaloneDefinition } from './main.definition';
9
+ /**
10
+ * Defines the login class which handles account authentication from the front-end
11
+ *
12
+ * @remarks
13
+ *
14
+ * Add the Login class as a router element, and it will handle the account authentication for you.
15
+ * Requires use of `@genesislcap/foundation-comms` for the {@link @genesislcap/foundation-comms#Auth | Auth} and
16
+ * {@link @genesislcap/foundation#Session | Session} classes.
17
+ *
18
+ * There are a lot of configuration options available, and different authentication types (such as login via SSO). Use
19
+ * the modules exported `configure` and `define` functions for more power.
20
+ *
21
+ * @example
22
+ * The following is an example of using it in your app, setting it up in the router configuration. This isn't a complete
23
+ * routes confutation, but it contains all required configuration in regard to adding Login functionality.
24
+ * ```ts
25
+ * // Import required dependencies from the foundation-login package
26
+ * import { Login } from '@genesislcap/foundation-login';
27
+ * // Import required dependencies from the foundation-comms package
28
+ * // You could also import analytics events and set them up in the NavigationContributor
29
+ * import { Auth, Session } from '@genesislcap/foundation-comms';
30
+ *
31
+ * type RouterSettings = {
32
+ * public?: boolean;
33
+ * autoAuth?: boolean;
34
+ * }
35
+ *
36
+ * // Define your router config
37
+ * export class MainRouterConfig extends RouterConfiguration<RouterSettings> {
38
+ * // Ensure you inject in required dependencies
39
+ * constructor(
40
+ * @Auth private auth: Auth,
41
+ * @Session private session: Session
42
+ * ) {
43
+ * super();
44
+ * }
45
+ *
46
+ * // Add Login as a route
47
+ * public configure() {
48
+ * ...
49
+ * this.routes.map(
50
+ * { path: '', redirect: 'login' },
51
+ * {
52
+ * path: 'login',
53
+ * element: Login,
54
+ * title: 'Login',
55
+ * name: 'login',
56
+ * layout: loginLayout,
57
+ * settings: { public: true },
58
+ * childRouters: true,
59
+ * },
60
+ * ... // Other routes config here
61
+ * );
62
+ *
63
+ * const session = this.session;
64
+ * const auth = this.auth;
65
+ *
66
+ * // Example of a FallbackRouteDefinition
67
+ * this.routes.fallback(() =>
68
+ * auth.isLoggedIn ? { redirect: 'not-found' } : { redirect: 'login' }
69
+ * );
70
+ *
71
+ * // Example of a NavigationContributor
72
+ * this.contributors.push({
73
+ * navigate: async (phase) => {
74
+ * const settings = phase.route.settings;
75
+ *
76
+ * // Could add in processes such as analytics here
77
+ *
78
+ * // If public route don't block
79
+ * if (settings && settings.public) {
80
+ * return;
81
+ * }
82
+ *
83
+ * // If logged in don't block
84
+ * if (auth.isLoggedIn) {
85
+ * return;
86
+ * }
87
+ *
88
+ * // If autoAuth and session is valid try to connect+auto-login
89
+ * if (settings && settings.autoAuth && (await auth.reAuthFromSession())) {
90
+ * return;
91
+ * }
92
+ *
93
+ * // Otherwise route them to login
94
+ * phase.cancel(() => {
95
+ * session.captureReturnUrl();
96
+ * Route.name.replace(phase.router, 'login');
97
+ * });
98
+ * },
99
+ * });
100
+ * }
101
+ *
102
+ * ... // Other configuration/methods
103
+ *
104
+ * }
105
+ * ```
106
+ *
107
+ * @public
108
+ */
109
+ let Login = class Login extends FASTElement {
110
+ constructor() {
111
+ super(...arguments);
112
+ /**
113
+ * Marked true when remote components are loaded, currently unused.
114
+ * @internal
115
+ */
116
+ this.ready = false;
117
+ }
118
+ /**
119
+ * @internal
120
+ */
121
+ connectedCallback() {
122
+ const _super = Object.create(null, {
123
+ connectedCallback: { get: () => super.connectedCallback }
124
+ });
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ this.registerDIDependencies();
127
+ _super.connectedCallback.call(this);
128
+ yield this.registerCommonComponents();
129
+ this.checkForSSOToken();
130
+ });
131
+ }
132
+ /**
133
+ * Used to forward the user onto a logged-in session during an SSO journey
134
+ *
135
+ * @remarks
136
+ *
137
+ * Called when loading the login page via the connectedCallback() method.
138
+ * During normal flows there will be no SSO tokens set and hence this function
139
+ * will quit execution.
140
+ * During an SSO journey the SSO provider will set the SSO token as a URLSearchParams
141
+ * parameter and redirect back to us. In this case we will take this and forward the
142
+ * user on, with their logged in session.
143
+ *
144
+ * There are two paths the user can take here - if they are in a popup
145
+ * (window.opener exists) then we need to set the session and get the parent window
146
+ * (the one which the user wants their session on) to refresh, and close the popup.
147
+ *
148
+ * Or if they are not in a popup then we simply set the ssoToken in the session.
149
+ * When this component is loaded with the ssoToken then it will redirect the
150
+ * user to their app (the `defaultRedirectUrl`).
151
+ *
152
+ * @internal
153
+ */
154
+ checkForSSOToken() {
155
+ const queryParams = new URLSearchParams(window.location.search);
156
+ const ssoToken = queryParams.get('SSO_TOKEN');
157
+ if (ssoToken) {
158
+ if (window.opener) {
159
+ window.opener.sessionStorage.setItem('ssoToken', ssoToken);
160
+ window.opener.location.reload();
161
+ window.close();
162
+ }
163
+ else {
164
+ this.session.setSessionStorageItem('ssoToken', ssoToken);
165
+ }
166
+ }
167
+ }
168
+ /**
169
+ * Called from the connectedCallback
170
+ * @internal
171
+ */
172
+ registerCommonComponents() {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ /**
175
+ * Send event to indicate some async work is happening. Will be picked up by overlay micro frontend.
176
+ */
177
+ yield Components.loadRemotes({});
178
+ /**
179
+ * Simulate loading delay, TODO: Remove
180
+ *
181
+ * await new Promise(resolve => setTimeout(resolve, 3000));
182
+ */
183
+ this.ready = true;
184
+ });
185
+ }
186
+ /**
187
+ * @internal
188
+ */
189
+ registerDIDependencies() {
190
+ this.container.register(Registration.transient(DefaultRouteRecognizer, DefaultRouteRecognizer),
191
+ /**
192
+ * Register custom configs for core services. Note this can also be done via provideDesignSystem().register(...)
193
+ * if preferred. Here for example mainly as this will mostly occur at an app level.
194
+ */
195
+ Registration.instance(ConnectConfig, Object.assign(Object.assign({}, defaultConnectConfig), { connect: Object.assign(Object.assign({}, defaultConnectConfig.connect), { heartbeatInterval: 12000 }) })));
196
+ }
197
+ };
198
+ __decorate([
199
+ inject(MainRouterConfig)
200
+ ], Login.prototype, "config", void 0);
201
+ __decorate([
202
+ Container
203
+ ], Login.prototype, "container", void 0);
204
+ __decorate([
205
+ Session
206
+ ], Login.prototype, "session", void 0);
207
+ __decorate([
208
+ observable
209
+ ], Login.prototype, "ready", void 0);
210
+ __decorate([
211
+ observable
212
+ ], Login.prototype, "provider", void 0);
213
+ Login = __decorate([
214
+ customElement(standaloneDefinition)
215
+ ], Login);
216
+ export { Login };
217
+ /**
218
+ * @beta
219
+ * @privateRemarks
220
+ * A hosted version of the MF that doesn't set up a design system or components. This is what apps would use to truly
221
+ * customise the MF for their needs via define.ts.
222
+ */
223
+ let LoginHosted = class LoginHosted extends Login {
224
+ registerCommonComponents() {
225
+ return __awaiter(this, void 0, void 0, function* () {
226
+ this.ready = true;
227
+ });
228
+ }
229
+ };
230
+ LoginHosted = __decorate([
231
+ customElement(Object.assign(Object.assign({}, definition), { name: `${definition.name}-hosted` }))
232
+ ], LoginHosted);
233
+ export { LoginHosted };
234
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { mixinRobotoFont } from '@genesislcap/foundation-zero';
2
+ import { css } from '@microsoft/fast-element';
3
+ import { tagFor } from '@genesislcap/foundation-ui';
4
+ /**
5
+ * @public
6
+ * @privateRemarks
7
+ * Options cam be used to target unknown component tags in the css, such as:
8
+ * const buttonTag = tagFor(options.button);
9
+ * ...
10
+ * ${buttonTag} {
11
+ * width: 200px;
12
+ * }
13
+ */
14
+ export const styles = (options) => {
15
+ const providerTag = tagFor(options.provider); // < technically if this is `template` we wouldn't need it, as that's covered by :host
16
+ const routerTag = tagFor(options.router);
17
+ return css `
18
+ ${mixinRobotoFont()}
19
+ :host {
20
+ contain: content;
21
+ }
22
+
23
+ :host,
24
+ ${providerTag}, ${routerTag} {
25
+ display: flex;
26
+ width: 100%;
27
+ height: 100%;
28
+ }
29
+
30
+ :host([hidden]) {
31
+ display: none;
32
+ }
33
+
34
+ :host:not(:defined) {
35
+ visibility: hidden;
36
+ }
37
+ `;
38
+ };
39
+ //# sourceMappingURL=main.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.styles.js","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAwB,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,sFAAsF;IACpI,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,CAAA;MACN,eAAe,EAAE;;;;;;MAMjB,WAAW,KAAK,SAAS;;;;;;;;;;;;;GAa5B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { tagFor } from '@genesislcap/foundation-ui';
2
+ import { html, ref } from '@microsoft/fast-element';
3
+ /**
4
+ * @public
5
+ */
6
+ export const template = (options) => {
7
+ const providerTag = tagFor(options.provider);
8
+ const routerTag = tagFor(options.router);
9
+ return html `
10
+ <${providerTag} data-test-id="login-provider" ${ref('provider')}>
11
+ <${routerTag} :config=${(x) => x.config} data-test-id="login-router"></${routerTag}>
12
+ </${providerTag}>
13
+ `;
14
+ };
15
+ //# sourceMappingURL=main.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.template.js","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAE,EAAE;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,IAAI,CAAO;OACb,WAAW,kCAAkC,GAAG,CAAC,UAAU,CAAC;SAC1D,SAAS,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,kCAAkC,SAAS;QAChF,WAAW;GAChB,CAAC;AACJ,CAAC,CAAC"}