@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.
- package/README.md +160 -0
- package/dist/1.0.0.remoteEntry.js +1 -0
- package/dist/15.15.b20930426d82ddb7bd44.js +1322 -0
- package/dist/15.1f4ec0deba9aca7499d56c621e06b130.js.map +1 -0
- package/dist/170.170.f64459527c9480c31e74.js +726 -0
- package/dist/170.a9086b342b886f13162e76944c6232ea.js.map +1 -0
- package/dist/176.176.bfbfc60ffad852c406c4.js +2 -0
- package/dist/176.7ce7d4e386b9ebd99f2a121d6364c1ad.js.map +1 -0
- package/dist/185.185.c56719990d52bcca8549.js +2 -0
- package/dist/185.d623d7c2df70c9d665343444e7c1fa6c.js.map +1 -0
- package/dist/338.338.e399ff6c11eb8175de4c.js +2 -0
- package/dist/338.4f68feefeaca1bf1dbc7ba12af2e84aa.js.map +1 -0
- package/dist/397.397.22e0364e0ff35fdfe9a0.js +3 -0
- package/dist/397.397.22e0364e0ff35fdfe9a0.js.LICENSE.txt +1 -0
- package/dist/397.629a215804364ccc7763bc046dbea3d5.js.map +1 -0
- package/dist/419.419.00fda3874a096d8457d8.js +2136 -0
- package/dist/419.b6fb3444f7d56877c3a81cba8eaca942.js.map +1 -0
- package/dist/453.3c9a25d2af3ccf8232fdd1dfc5244b3d.js.map +1 -0
- package/dist/453.453.14247e88aa4df78dca2c.js +2 -0
- package/dist/726.4c7419d8edb8ba5e67699f4820c8c461.js.map +1 -0
- package/dist/726.726.e09fed9a1e3b529acd46.js +3 -0
- package/dist/726.726.e09fed9a1e3b529acd46.js.LICENSE.txt +4 -0
- package/dist/741.741.d84fc7e9236cae1acc99.js +3 -0
- package/dist/741.741.d84fc7e9236cae1acc99.js.LICENSE.txt +4 -0
- package/dist/741.a3dfed45252169e53ee396a8b76cea67.js.map +1 -0
- package/dist/b634d7e1f2324faf1230.svg +10 -0
- package/dist/c0bd2c45d93ce443d624.jpg +0 -0
- package/dist/dashboard.json +1 -0
- package/dist/dts/components/components.d.ts +5 -0
- package/dist/dts/components/components.d.ts.map +1 -0
- package/dist/dts/components/index.d.ts +2 -0
- package/dist/dts/components/index.d.ts.map +1 -0
- package/dist/dts/index.d.ts +3 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/index.federated.d.ts +1 -0
- package/dist/dts/index.federated.d.ts.map +1 -0
- package/dist/dts/layouts/default.d.ts +3 -0
- package/dist/dts/layouts/default.d.ts.map +1 -0
- package/dist/dts/layouts/index.d.ts +2 -0
- package/dist/dts/layouts/index.d.ts.map +1 -0
- package/dist/dts/main/config.d.ts +261 -0
- package/dist/dts/main/config.d.ts.map +1 -0
- package/dist/dts/main/define.d.ts +29 -0
- package/dist/dts/main/define.d.ts.map +1 -0
- package/dist/dts/main/index.d.ts +7 -0
- package/dist/dts/main/index.d.ts.map +1 -0
- package/dist/dts/main/main.d.ts +179 -0
- package/dist/dts/main/main.d.ts.map +1 -0
- package/dist/dts/main/main.definition.d.ts +48 -0
- package/dist/dts/main/main.definition.d.ts.map +1 -0
- package/dist/dts/main/main.styles.d.ts +13 -0
- package/dist/dts/main/main.styles.d.ts.map +1 -0
- package/dist/dts/main/main.template.d.ts +7 -0
- package/dist/dts/main/main.template.d.ts.map +1 -0
- package/dist/dts/routes/base.d.ts +127 -0
- package/dist/dts/routes/base.d.ts.map +1 -0
- package/dist/dts/routes/config.d.ts +27 -0
- package/dist/dts/routes/config.d.ts.map +1 -0
- package/dist/dts/routes/forgot-password/forgot-password.d.ts +6 -0
- package/dist/dts/routes/forgot-password/forgot-password.d.ts.map +1 -0
- package/dist/dts/routes/forgot-password/forgot-password.template.d.ts +3 -0
- package/dist/dts/routes/forgot-password/forgot-password.template.d.ts.map +1 -0
- package/dist/dts/routes/index.d.ts +4 -0
- package/dist/dts/routes/index.d.ts.map +1 -0
- package/dist/dts/routes/login-form/login-form.d.ts +27 -0
- package/dist/dts/routes/login-form/login-form.d.ts.map +1 -0
- package/dist/dts/routes/login-form/login-form.styles.d.ts +2 -0
- package/dist/dts/routes/login-form/login-form.styles.d.ts.map +1 -0
- package/dist/dts/routes/login-form/login-form.template.d.ts +3 -0
- package/dist/dts/routes/login-form/login-form.template.d.ts.map +1 -0
- package/dist/dts/routes/not-found/not-found.d.ts +4 -0
- package/dist/dts/routes/not-found/not-found.d.ts.map +1 -0
- package/dist/dts/routes/protected/protected.d.ts +5 -0
- package/dist/dts/routes/protected/protected.d.ts.map +1 -0
- package/dist/dts/routes/protected/protected.template.d.ts +3 -0
- package/dist/dts/routes/protected/protected.template.d.ts.map +1 -0
- package/dist/dts/routes/request-account/request-account.d.ts +6 -0
- package/dist/dts/routes/request-account/request-account.d.ts.map +1 -0
- package/dist/dts/routes/request-account/request-account.template.d.ts +3 -0
- package/dist/dts/routes/request-account/request-account.template.d.ts.map +1 -0
- package/dist/dts/routes/reset-password/reset-password.d.ts +14 -0
- package/dist/dts/routes/reset-password/reset-password.d.ts.map +1 -0
- package/dist/dts/routes/reset-password/reset-password.template.d.ts +3 -0
- package/dist/dts/routes/reset-password/reset-password.template.d.ts.map +1 -0
- package/dist/dts/routes/types.d.ts +29 -0
- package/dist/dts/routes/types.d.ts.map +1 -0
- package/dist/dts/routes/verify/verify.d.ts +6 -0
- package/dist/dts/routes/verify/verify.d.ts.map +1 -0
- package/dist/dts/routes/verify/verify.template.d.ts +3 -0
- package/dist/dts/routes/verify/verify.template.d.ts.map +1 -0
- package/dist/dts/styles/index.d.ts +3 -0
- package/dist/dts/styles/index.d.ts.map +1 -0
- package/dist/dts/styles/styles.d.ts +5 -0
- package/dist/dts/styles/styles.d.ts.map +1 -0
- package/dist/dts/styles/typography.d.ts +4 -0
- package/dist/dts/styles/typography.d.ts.map +1 -0
- package/dist/dts/utils/index.d.ts +2 -0
- package/dist/dts/utils/index.d.ts.map +1 -0
- package/dist/dts/utils/logger.d.ts +2 -0
- package/dist/dts/utils/logger.d.ts.map +1 -0
- package/dist/esm/assets/bg.jpg +0 -0
- package/dist/esm/assets/genesis-logo-dark.svg +32 -0
- package/dist/esm/assets/genesis-logo-light.svg +10 -0
- package/dist/esm/assets/genesis-logo-old.svg +36 -0
- package/dist/esm/components/components.js +49 -0
- package/dist/esm/components/components.js.map +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/index.federated.js +2 -0
- package/dist/esm/index.federated.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/layouts/default.js +28 -0
- package/dist/esm/layouts/default.js.map +1 -0
- package/dist/esm/layouts/index.js +2 -0
- package/dist/esm/layouts/index.js.map +1 -0
- package/dist/esm/main/config.js +153 -0
- package/dist/esm/main/config.js.map +1 -0
- package/dist/esm/main/define.js +31 -0
- package/dist/esm/main/define.js.map +1 -0
- package/dist/esm/main/index.js +7 -0
- package/dist/esm/main/index.js.map +1 -0
- package/dist/esm/main/main.definition.js +44 -0
- package/dist/esm/main/main.definition.js.map +1 -0
- package/dist/esm/main/main.js +234 -0
- package/dist/esm/main/main.js.map +1 -0
- package/dist/esm/main/main.styles.js +39 -0
- package/dist/esm/main/main.styles.js.map +1 -0
- package/dist/esm/main/main.template.js +15 -0
- package/dist/esm/main/main.template.js.map +1 -0
- package/dist/esm/routes/base.js +512 -0
- package/dist/esm/routes/base.js.map +1 -0
- package/dist/esm/routes/config.js +169 -0
- package/dist/esm/routes/config.js.map +1 -0
- package/dist/esm/routes/forgot-password/forgot-password.js +42 -0
- package/dist/esm/routes/forgot-password/forgot-password.js.map +1 -0
- package/dist/esm/routes/forgot-password/forgot-password.template.js +27 -0
- package/dist/esm/routes/forgot-password/forgot-password.template.js.map +1 -0
- package/dist/esm/routes/index.js +4 -0
- package/dist/esm/routes/index.js.map +1 -0
- package/dist/esm/routes/login-form/login-form.js +256 -0
- package/dist/esm/routes/login-form/login-form.js.map +1 -0
- package/dist/esm/routes/login-form/login-form.styles.js +79 -0
- package/dist/esm/routes/login-form/login-form.styles.js.map +1 -0
- package/dist/esm/routes/login-form/login-form.template.js +162 -0
- package/dist/esm/routes/login-form/login-form.template.js.map +1 -0
- package/dist/esm/routes/not-found/not-found.js +17 -0
- package/dist/esm/routes/not-found/not-found.js.map +1 -0
- package/dist/esm/routes/protected/protected.js +26 -0
- package/dist/esm/routes/protected/protected.js.map +1 -0
- package/dist/esm/routes/protected/protected.template.js +14 -0
- package/dist/esm/routes/protected/protected.template.js.map +1 -0
- package/dist/esm/routes/request-account/request-account.js +33 -0
- package/dist/esm/routes/request-account/request-account.js.map +1 -0
- package/dist/esm/routes/request-account/request-account.template.js +38 -0
- package/dist/esm/routes/request-account/request-account.template.js.map +1 -0
- package/dist/esm/routes/reset-password/reset-password.js +79 -0
- package/dist/esm/routes/reset-password/reset-password.js.map +1 -0
- package/dist/esm/routes/reset-password/reset-password.template.js +31 -0
- package/dist/esm/routes/reset-password/reset-password.template.js.map +1 -0
- package/dist/esm/routes/types.js +2 -0
- package/dist/esm/routes/types.js.map +1 -0
- package/dist/esm/routes/verify/verify.js +33 -0
- package/dist/esm/routes/verify/verify.js.map +1 -0
- package/dist/esm/routes/verify/verify.template.js +39 -0
- package/dist/esm/routes/verify/verify.template.js.map +1 -0
- package/dist/esm/styles/index.js +3 -0
- package/dist/esm/styles/index.js.map +1 -0
- package/dist/esm/styles/styles.js +145 -0
- package/dist/esm/styles/styles.js.map +1 -0
- package/dist/esm/styles/typography.js +27 -0
- package/dist/esm/styles/typography.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/logger.js +3 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/foundation-login.api.json +1598 -0
- package/dist/foundation-login.d.ts +758 -0
- package/dist/foundationLogin.51f4a45f08e04c340be2f7a5a21d203d.js.map +1 -0
- package/dist/index.ejs +23 -0
- package/dist/index.html +10 -0
- package/dist/info.ejs +13 -0
- package/dist/info.html +22 -0
- package/dist/main.6b8ef32149fa7ade387e34be21e80e9f.js.map +1 -0
- package/dist/main.f20fa5670484f5c57ef1.js +2 -0
- package/dist/npm.analytics.343.1691cbc7d8a5badd3734.js +2 -0
- package/dist/npm.analytics.ce2eefcbb0dbd8ec610f4a90f48aa689.js.map +1 -0
- package/dist/npm.consola.713.661cb6ae3806c228029d.js +2 -0
- package/dist/npm.consola.96aceeeb14c801e429604b872dd754d7.js.map +1 -0
- package/dist/npm.dialog-polyfill.47.34b0c0d52e6712cf91bb.js +2 -0
- package/dist/npm.dialog-polyfill.9d605973cbc29184d8b9b4736433dddc.js.map +1 -0
- package/dist/npm.finos.690.d012d887fab1a50fd3fd.js +2 -0
- package/dist/npm.finos.bb7f5996c8be19fd2a1c0bb82b2512ef.js.map +1 -0
- package/dist/npm.fortawesome.104.f45009da0a55a389999c.js +2 -0
- package/dist/npm.fortawesome.e10775e8f8583851351996b12aec3dfb.js.map +1 -0
- package/dist/npm.microsoft.127.7781d48b93413319f199.js +6406 -0
- package/dist/npm.microsoft.127.7781d48b93413319f199.js.LICENSE.txt +14 -0
- package/dist/npm.microsoft.b0947aa2f980f173ee68c35127bf2481.js.map +1 -0
- package/dist/npm.popperjs.47700ec72e909558c6ebe29941887dcf.js.map +1 -0
- package/dist/npm.popperjs.591.6ab52bc8e177edef695a.js +2 -0
- package/dist/npm.rxjs.271.210fdd198235c86ce4cd.js +2 -0
- package/dist/npm.rxjs.36e7291df63583daef7bbafd0a3ab9dc.js.map +1 -0
- package/dist/remoteEntry.js +2 -0
- package/dist/serve.json +3 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/docs/.gitattributes +2 -0
- package/docs/api/foundation-login.configure.md +62 -0
- package/docs/api/foundation-login.defaultapihost.md +12 -0
- package/docs/api/foundation-login.defaultloginconfig.md +13 -0
- package/docs/api/foundation-login.defaultorganisation.md +12 -0
- package/docs/api/foundation-login.defaultpassword.md +12 -0
- package/docs/api/foundation-login.defaultsocketext.md +12 -0
- package/docs/api/foundation-login.defaulttemplateoptions.md +16 -0
- package/docs/api/foundation-login.defaultuser.md +12 -0
- package/docs/api/foundation-login.define.md +38 -0
- package/docs/api/foundation-login.definition.md +19 -0
- package/docs/api/foundation-login.fieldconfig.md +16 -0
- package/docs/api/foundation-login.fieldconfigmap.md +19 -0
- package/docs/api/foundation-login.hostenv.md +12 -0
- package/docs/api/foundation-login.hosturl.md +12 -0
- package/docs/api/foundation-login.idp.id.md +11 -0
- package/docs/api/foundation-login.idp.md +20 -0
- package/docs/api/foundation-login.idp.type.md +11 -0
- package/docs/api/foundation-login.idpresponse.id.md +11 -0
- package/docs/api/foundation-login.idpresponse.md +20 -0
- package/docs/api/foundation-login.idpresponse.type.md +11 -0
- package/docs/api/foundation-login.ismfroute.md +24 -0
- package/docs/api/foundation-login.login.md +108 -0
- package/docs/api/foundation-login.loginconfig.autoauth.md +18 -0
- package/docs/api/foundation-login.loginconfig.autoconnect.md +13 -0
- package/docs/api/foundation-login.loginconfig.background.md +30 -0
- package/docs/api/foundation-login.loginconfig.defaultredirecturl.md +18 -0
- package/docs/api/foundation-login.loginconfig.fields.md +18 -0
- package/docs/api/foundation-login.loginconfig.logo.md +28 -0
- package/docs/api/foundation-login.loginconfig.md +30 -0
- package/docs/api/foundation-login.loginconfig.omitredirecturls.md +21 -0
- package/docs/api/foundation-login.loginconfig.omitroutes.md +25 -0
- package/docs/api/foundation-login.loginconfig.showconnectionindicator.md +13 -0
- package/docs/api/foundation-login.loginconfig.sso.md +18 -0
- package/docs/api/foundation-login.loginconfig.versioninformation.md +25 -0
- package/docs/api/foundation-login.loginhosted.md +23 -0
- package/docs/api/foundation-login.loginhosted.registercommoncomponents.md +18 -0
- package/docs/api/foundation-login.md +59 -0
- package/docs/api/foundation-login.routes.md +20 -0
- package/docs/api/foundation-login.settings.md +20 -0
- package/docs/api/foundation-login.ssoconfig.md +15 -0
- package/docs/api/foundation-login.styles.md +12 -0
- package/docs/api/foundation-login.template.md +12 -0
- package/docs/api/foundation-login.templatecomponents.md +25 -0
- package/docs/api/foundation-login.templateoptions.md +19 -0
- package/docs/api/index.md +12 -0
- package/docs/api-report.md +380 -0
- package/docs/img/foundation-login_change-password.png +0 -0
- package/docs/img/foundation-login_forgotten-password.png +0 -0
- package/docs/img/foundation-login_login-sso.png +0 -0
- package/docs/img/foundation-login_login-standard.png +0 -0
- package/docs/img/foundation-login_request-account.png +0 -0
- package/license.txt +46 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|