@genesislcap/foundation-login 10.3.1 → 11.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -72
- package/dist/dts/main/config.d.ts +13 -0
- package/dist/dts/main/config.d.ts.map +1 -1
- package/dist/dts/main/main.definition.d.ts +1 -1
- package/dist/dts/main/main.styles.d.ts +4 -1
- package/dist/dts/main/main.styles.d.ts.map +1 -1
- package/dist/dts/main/main.template.d.ts +1 -1
- package/dist/dts/main/main.template.d.ts.map +1 -1
- package/dist/dts/routes/base.d.ts +5 -4
- package/dist/dts/routes/base.d.ts.map +1 -1
- package/dist/dts/routes/config.d.ts +1 -1
- package/dist/dts/routes/config.d.ts.map +1 -1
- package/dist/dts/routes/forgot-password/forgot-password.d.ts.map +1 -1
- package/dist/dts/routes/login-form/login-form.d.ts +7 -3
- package/dist/dts/routes/login-form/login-form.d.ts.map +1 -1
- package/dist/dts/routes/login-form/login-form.template.d.ts.map +1 -1
- package/dist/dts/routes/not-found/not-found.d.ts.map +1 -1
- package/dist/dts/routes/protected/protected.d.ts.map +1 -1
- package/dist/dts/routes/request-account/request-account.d.ts.map +1 -1
- package/dist/dts/routes/reset-password/reset-password.d.ts.map +1 -1
- package/dist/dts/routes/verify/verify.d.ts.map +1 -1
- package/dist/dts/styles/index.d.ts +0 -1
- package/dist/dts/styles/index.d.ts.map +1 -1
- package/dist/dts/styles/styles.d.ts.map +1 -1
- package/dist/dts/utils/logger.d.ts.map +1 -1
- package/dist/esm/components/components.js +0 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/layouts/default.js +0 -1
- package/dist/esm/layouts/index.js +0 -1
- package/dist/esm/main/config.js +4 -2
- package/dist/esm/main/define.js +0 -1
- package/dist/esm/main/index.js +0 -1
- package/dist/esm/main/main.definition.js +2 -3
- package/dist/esm/main/main.js +0 -1
- package/dist/esm/main/main.styles.js +5 -3
- package/dist/esm/main/main.template.js +0 -1
- package/dist/esm/routes/base.js +10 -8
- package/dist/esm/routes/config.js +5 -6
- package/dist/esm/routes/forgot-password/forgot-password.js +4 -5
- package/dist/esm/routes/forgot-password/forgot-password.template.js +0 -1
- package/dist/esm/routes/index.js +0 -1
- package/dist/esm/routes/login-form/login-form.js +38 -24
- package/dist/esm/routes/login-form/login-form.styles.js +0 -1
- package/dist/esm/routes/login-form/login-form.template.js +6 -7
- package/dist/esm/routes/not-found/not-found.js +1 -2
- package/dist/esm/routes/protected/protected.js +2 -3
- package/dist/esm/routes/protected/protected.template.js +0 -1
- package/dist/esm/routes/request-account/request-account.js +2 -3
- package/dist/esm/routes/request-account/request-account.template.js +1 -2
- package/dist/esm/routes/reset-password/reset-password.js +2 -3
- package/dist/esm/routes/reset-password/reset-password.template.js +0 -1
- package/dist/esm/routes/types.js +0 -1
- package/dist/esm/routes/verify/verify.js +2 -3
- package/dist/esm/routes/verify/verify.template.js +0 -1
- package/dist/esm/styles/index.js +0 -2
- package/dist/esm/styles/styles.js +2 -11
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/logger.js +0 -1
- package/dist/foundation-login.api.json +30 -3
- package/dist/foundation-login.d.ts +23 -6
- package/package.json +27 -11
- package/playwright.config.ts +50 -0
- package/test/README.md +3 -0
- package/dist/1.0.0.remoteEntry.js +0 -1
- package/dist/15.15.7a2c23dfae8db4e093ae.js +0 -1347
- package/dist/15.707b18d09d78e18958de7e35549b69f2.js.map +0 -1
- package/dist/170.02ecd6ffb7bb9c9531e72b7099ba0dce.js.map +0 -1
- package/dist/170.170.6ccfc6db6319d932ea16.js +0 -726
- package/dist/176.176.bfbfc60ffad852c406c4.js +0 -2
- package/dist/176.7ce7d4e386b9ebd99f2a121d6364c1ad.js.map +0 -1
- package/dist/185.185.6c3ef3df3fe6f4879dab.js +0 -2
- package/dist/185.d623d7c2df70c9d665343444e7c1fa6c.js.map +0 -1
- package/dist/338.338.e399ff6c11eb8175de4c.js +0 -2
- package/dist/338.4f68feefeaca1bf1dbc7ba12af2e84aa.js.map +0 -1
- package/dist/397.397.1de89f70cc9876b09be8.js +0 -3
- package/dist/397.397.1de89f70cc9876b09be8.js.LICENSE.txt +0 -1
- package/dist/397.984e24423ff2adb107881e130126575a.js.map +0 -1
- package/dist/419.419.25c54d30d5ef03de4733.js +0 -2140
- package/dist/419.500ae8ac8e1ffc781af411dd2ad588cd.js.map +0 -1
- package/dist/453.3c9a25d2af3ccf8232fdd1dfc5244b3d.js.map +0 -1
- package/dist/453.453.14247e88aa4df78dca2c.js +0 -2
- package/dist/726.4c7419d8edb8ba5e67699f4820c8c461.js.map +0 -1
- package/dist/726.726.e09fed9a1e3b529acd46.js +0 -3
- package/dist/726.726.e09fed9a1e3b529acd46.js.LICENSE.txt +0 -4
- package/dist/741.741.d84fc7e9236cae1acc99.js +0 -3
- package/dist/741.741.d84fc7e9236cae1acc99.js.LICENSE.txt +0 -4
- package/dist/741.a3dfed45252169e53ee396a8b76cea67.js.map +0 -1
- package/dist/b634d7e1f2324faf1230.svg +0 -10
- package/dist/c0bd2c45d93ce443d624.jpg +0 -0
- package/dist/dashboard.json +0 -1
- package/dist/dts/index.federated.d.ts +0 -1
- package/dist/dts/index.federated.d.ts.map +0 -1
- package/dist/dts/styles/typography.d.ts +0 -4
- package/dist/dts/styles/typography.d.ts.map +0 -1
- package/dist/esm/components/components.js.map +0 -1
- package/dist/esm/components/index.js.map +0 -1
- package/dist/esm/index.federated.js +0 -2
- package/dist/esm/index.federated.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/layouts/default.js.map +0 -1
- package/dist/esm/layouts/index.js.map +0 -1
- package/dist/esm/main/config.js.map +0 -1
- package/dist/esm/main/define.js.map +0 -1
- package/dist/esm/main/index.js.map +0 -1
- package/dist/esm/main/main.definition.js.map +0 -1
- package/dist/esm/main/main.js.map +0 -1
- package/dist/esm/main/main.styles.js.map +0 -1
- package/dist/esm/main/main.template.js.map +0 -1
- package/dist/esm/routes/base.js.map +0 -1
- package/dist/esm/routes/config.js.map +0 -1
- package/dist/esm/routes/forgot-password/forgot-password.js.map +0 -1
- package/dist/esm/routes/forgot-password/forgot-password.template.js.map +0 -1
- package/dist/esm/routes/index.js.map +0 -1
- package/dist/esm/routes/login-form/login-form.js.map +0 -1
- package/dist/esm/routes/login-form/login-form.styles.js.map +0 -1
- package/dist/esm/routes/login-form/login-form.template.js.map +0 -1
- package/dist/esm/routes/not-found/not-found.js.map +0 -1
- package/dist/esm/routes/protected/protected.js.map +0 -1
- package/dist/esm/routes/protected/protected.template.js.map +0 -1
- package/dist/esm/routes/request-account/request-account.js.map +0 -1
- package/dist/esm/routes/request-account/request-account.template.js.map +0 -1
- package/dist/esm/routes/reset-password/reset-password.js.map +0 -1
- package/dist/esm/routes/reset-password/reset-password.template.js.map +0 -1
- package/dist/esm/routes/types.js.map +0 -1
- package/dist/esm/routes/verify/verify.js.map +0 -1
- package/dist/esm/routes/verify/verify.template.js.map +0 -1
- package/dist/esm/styles/index.js.map +0 -1
- package/dist/esm/styles/styles.js.map +0 -1
- package/dist/esm/styles/typography.js +0 -27
- package/dist/esm/styles/typography.js.map +0 -1
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/logger.js.map +0 -1
- package/dist/favicon.ico +0 -0
- package/dist/foundationLogin.dd27ce925c9e142951f9e650fb3f9b7e.js.map +0 -1
- package/dist/index.ejs +0 -23
- package/dist/index.html +0 -10
- package/dist/info.ejs +0 -13
- package/dist/info.html +0 -22
- package/dist/main.49b5ccad79942a173c5044389ff4b88b.js.map +0 -1
- package/dist/main.cf8907a8eac5d741ac98.js +0 -2
- package/dist/npm.analytics.343.1691cbc7d8a5badd3734.js +0 -2
- package/dist/npm.analytics.ce2eefcbb0dbd8ec610f4a90f48aa689.js.map +0 -1
- package/dist/npm.consola.713.661cb6ae3806c228029d.js +0 -2
- package/dist/npm.consola.96aceeeb14c801e429604b872dd754d7.js.map +0 -1
- package/dist/npm.dialog-polyfill.47.34b0c0d52e6712cf91bb.js +0 -2
- package/dist/npm.dialog-polyfill.9d605973cbc29184d8b9b4736433dddc.js.map +0 -1
- package/dist/npm.finos.690.d012d887fab1a50fd3fd.js +0 -2
- package/dist/npm.finos.bb7f5996c8be19fd2a1c0bb82b2512ef.js.map +0 -1
- package/dist/npm.fortawesome.104.f45009da0a55a389999c.js +0 -2
- package/dist/npm.fortawesome.e10775e8f8583851351996b12aec3dfb.js.map +0 -1
- package/dist/npm.microsoft.127.7781d48b93413319f199.js +0 -6406
- package/dist/npm.microsoft.127.7781d48b93413319f199.js.LICENSE.txt +0 -14
- package/dist/npm.microsoft.b0947aa2f980f173ee68c35127bf2481.js.map +0 -1
- package/dist/npm.popperjs.47700ec72e909558c6ebe29941887dcf.js.map +0 -1
- package/dist/npm.popperjs.591.6ab52bc8e177edef695a.js +0 -2
- package/dist/npm.rxjs.271.210fdd198235c86ce4cd.js +0 -2
- package/dist/npm.rxjs.36e7291df63583daef7bbafd0a3ab9dc.js.map +0 -1
- package/dist/remoteEntry.js +0 -2
- package/dist/serve.json +0 -3
- package/dist/tsdoc-metadata.json +0 -11
- package/docs/.gitattributes +0 -2
- package/docs/api/foundation-login.configure.md +0 -62
- package/docs/api/foundation-login.defaultapihost.md +0 -12
- package/docs/api/foundation-login.defaultloginconfig.md +0 -13
- package/docs/api/foundation-login.defaultorganisation.md +0 -12
- package/docs/api/foundation-login.defaultpassword.md +0 -12
- package/docs/api/foundation-login.defaultsocketext.md +0 -12
- package/docs/api/foundation-login.defaulttemplateoptions.md +0 -16
- package/docs/api/foundation-login.defaultuser.md +0 -12
- package/docs/api/foundation-login.define.md +0 -38
- package/docs/api/foundation-login.definition.md +0 -19
- package/docs/api/foundation-login.fieldconfig.md +0 -16
- package/docs/api/foundation-login.fieldconfigmap.md +0 -19
- package/docs/api/foundation-login.hostenv.md +0 -12
- package/docs/api/foundation-login.hosturl.md +0 -12
- package/docs/api/foundation-login.idp.id.md +0 -11
- package/docs/api/foundation-login.idp.md +0 -20
- package/docs/api/foundation-login.idp.type.md +0 -11
- package/docs/api/foundation-login.idpresponse.id.md +0 -11
- package/docs/api/foundation-login.idpresponse.md +0 -20
- package/docs/api/foundation-login.idpresponse.type.md +0 -11
- package/docs/api/foundation-login.ismfroute.md +0 -24
- package/docs/api/foundation-login.login.md +0 -108
- package/docs/api/foundation-login.loginconfig.autoauth.md +0 -18
- package/docs/api/foundation-login.loginconfig.autoconnect.md +0 -13
- package/docs/api/foundation-login.loginconfig.background.md +0 -30
- package/docs/api/foundation-login.loginconfig.defaultredirecturl.md +0 -18
- package/docs/api/foundation-login.loginconfig.fields.md +0 -18
- package/docs/api/foundation-login.loginconfig.logo.md +0 -28
- package/docs/api/foundation-login.loginconfig.md +0 -30
- package/docs/api/foundation-login.loginconfig.omitredirecturls.md +0 -21
- package/docs/api/foundation-login.loginconfig.omitroutes.md +0 -25
- package/docs/api/foundation-login.loginconfig.showconnectionindicator.md +0 -13
- package/docs/api/foundation-login.loginconfig.sso.md +0 -18
- package/docs/api/foundation-login.loginconfig.versioninformation.md +0 -25
- package/docs/api/foundation-login.loginhosted.md +0 -23
- package/docs/api/foundation-login.loginhosted.registercommoncomponents.md +0 -18
- package/docs/api/foundation-login.md +0 -59
- package/docs/api/foundation-login.routes.md +0 -20
- package/docs/api/foundation-login.settings.md +0 -20
- package/docs/api/foundation-login.ssoconfig.md +0 -15
- package/docs/api/foundation-login.styles.md +0 -12
- package/docs/api/foundation-login.template.md +0 -12
- package/docs/api/foundation-login.templatecomponents.md +0 -25
- package/docs/api/foundation-login.templateoptions.md +0 -19
- package/docs/api/index.md +0 -12
- package/docs/api-report.md +0 -380
- 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
|
@@ -1,726 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_genesislcap_foundation_login=self.webpackChunk_genesislcap_foundation_login||[]).push([[170],{3170:(e,t,o)=>{"use strict";o.r(t),o.d(t,{BackgroundElement:()=>j,BaseRoute:()=>O,ConfigHostElement:()=>R,Login:()=>Ce,LoginConfig:()=>b,LoginHosted:()=>Se,LogoElement:()=>U,MainRouterConfig:()=>we,MessageElement:()=>H,Routes:()=>m,SubmittingIndicator:()=>W,backButton:()=>q,configurableTextField:()=>T,configure:()=>v,defaultApiHost:()=>d,defaultLoginConfig:()=>f,defaultOnBackMS:()=>P,defaultOrganisation:()=>r,defaultPassword:()=>l,defaultSocketExt:()=>u,defaultTemplateOptions:()=>$e,defaultUser:()=>c,define:()=>ze,definition:()=>xe,emailField:()=>D,hostEnv:()=>g,hostUrl:()=>h,isMFRoute:()=>p,organisationField:()=>L,password2Field:()=>I,passwordField:()=>M,showPasswordsCheckbox:()=>N,standaloneDefinition:()=>ke,styles:()=>_e,submitButton:()=>B,template:()=>ye,usernameField:()=>A});var s=o(1273),i=o(9398),n=o(7924),a=o(7702);const r=void 0,c=void 0,l=void 0,d=void 0,u=void 0,g=location.host,h=`${"https:"===location.protocol?"wss:":"ws:"}//${g}/gwf/`,m={login:"login","request-account":"request-account","reset-password":"reset-password","forgot-password":"forgot-password",verify:"verify",protected:"protected","not-found":"not-found"};function p(e=location.pathname){const t=e.split("/")["/"===e.charAt(0)?1:0];return!!m[t]}const f={autoConnect:!1,autoAuth:!1,logo:s.css`
|
|
2
|
-
content: url(${n});
|
|
3
|
-
`,background:s.css`
|
|
4
|
-
:host {
|
|
5
|
-
background-image: url(${a});
|
|
6
|
-
}
|
|
7
|
-
`,omitRoutes:[],fields:{organisation:null,username:{label:"Username",value:c},email:{label:"Email Address"},password:{label:"Password",value:l}},showConnectionIndicator:!1,defaultRedirectUrl:"/protected",omitRedirectUrls:["/not-found","/not-permitted"],sso:{identityProvidersPath:"sso/list"}},b=i.DI.createInterface();function v(e,t){e.register(i.Registration.instance(b,Object.assign(Object.assign({},f),t)))}var w=o(7261),y=o(5373),_=o(2140),$=o(1242),x=o(7981);const k=(0,x.createLogger)("foundation-login");var C;function S(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){let e=C.REMOTE;try{return yield o.e(993).then(o.t.bind(o,2993,23))}catch(t){return e=C.LOCAL,yield Promise.resolve().then(o.t.bind(o,3671,23))}finally{k.debug(`Using '${e}' version of foundationZero/ZeroDesignSystem`)}}))}!function(e){e.LOCAL="LOCAL",e.REMOTE="REMOTE"}(C||(C={})),w.FoundationRouter;var z=o(3671),E=o(9691);const P=3e3;class R extends s.FASTElement{connectedCallback(){this.config=this.container.has(b,!0)?this.container.get(b):f,super.connectedCallback()}}(0,y.__decorate)([i.Container],R.prototype,"container",void 0),(0,y.__decorate)([s.observable],R.prototype,"config",void 0);class O extends R{constructor(){super(...arguments),this.host="",this.organisation="",this.username="",this.email="",this.password="",this.password2="",this.showPasswords=!1,this.message="",this.hasErrors=!1,this.isSubmitting=!1,this.onBack=()=>this.onNavigate("login"),this.onNavigate=(e,t)=>$.Route.name.push($.Router.find(this),e,t)}connectedCallback(){var e;super.connectedCallback(),this.host=null!==(e=this.session.getSessionStorageItem("hostUrl"))&&void 0!==e?e:h}onSubmit(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){this.isSubmitting=!0,this.clearError(),yield this.ensureConnection()}))}ensureConnection(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){return!!this.connect.isConnected||this.connect.connect(this.host)}))}setError(e){this.message=e,this.hasErrors=!0}clearError(){this.message="",this.hasErrors=!1}get orgUsername(){return this.config.fields.organisation?`${this.username.trim()}:${this.organisation.trim()}`:this.username.trim()}queueOnBack(e=P){setTimeout((()=>{this.onBack()}),e)}autofill(){var e,t,o;return(0,y.__awaiter)(this,void 0,void 0,(function*(){let s;try{if(s=yield this.credentialManager.getCredentials(),s&&(this.username=null!==(e=s.name)&&void 0!==e?e:"",this.password=null!==(t=s.password)&&void 0!==t?t:"",this.config.fields.organisation)){const e=(null!==(o=s.id)&&void 0!==o?o:"").split(":"),t=e[2===e.length?1:0];t!==this.username&&(this.organisation=t)}}catch(e){k.error("An error occurred attempting to get and autofill from stored credentials.",e)}return Promise.resolve(!!s)}))}storeCredentials(e=this.password){this.credentialManager.storeCredentials({id:this.orgUsername,name:this.username,password:e})}sendMessage(e,t="",o){return(0,y.__awaiter)(this,void 0,void 0,(function*(){yield this.ensureConnection(),this.clearError();const s=yield this.connect.send(e);s.ERROR?this.setError(s.ERROR.map((e=>e.TEXT)).toString()):(this.message=t,o&&o(s),this.queueOnBack())}))}}(0,y.__decorate)([_.Auth],O.prototype,"auth",void 0),(0,y.__decorate)([_.Connect],O.prototype,"connect",void 0),(0,y.__decorate)([_.Session],O.prototype,"session",void 0),(0,y.__decorate)([_.MessageBuilder],O.prototype,"messageBuilder",void 0),(0,y.__decorate)([_.CredentialManager],O.prototype,"credentialManager",void 0),(0,y.__decorate)([s.observable],O.prototype,"host",void 0),(0,y.__decorate)([s.observable],O.prototype,"organisation",void 0),(0,y.__decorate)([s.observable],O.prototype,"username",void 0),(0,y.__decorate)([s.observable],O.prototype,"email",void 0),(0,y.__decorate)([s.observable],O.prototype,"password",void 0),(0,y.__decorate)([s.observable],O.prototype,"password2",void 0),(0,y.__decorate)([s.observable],O.prototype,"showPasswords",void 0),(0,y.__decorate)([s.observable],O.prototype,"message",void 0),(0,y.__decorate)([s.observable],O.prototype,"hasErrors",void 0),(0,y.__decorate)([s.observable],O.prototype,"isSubmitting",void 0);const T=(e,t,o=!1,i="",n="",a="",r="",c=!0)=>{const[l,d]=Array.isArray(e)?e:[e,e];return s.html`
|
|
8
|
-
${(0,s.when)((e=>e.config.fields[l]),s.html`
|
|
9
|
-
<zero-text-field
|
|
10
|
-
type="${t}"
|
|
11
|
-
name="${l}"
|
|
12
|
-
id="${l}"
|
|
13
|
-
:value="${(0,x.sync)((e=>e[d]))}"
|
|
14
|
-
?autofocus="${()=>o}"
|
|
15
|
-
?required="${()=>c}"
|
|
16
|
-
${i?`autocomplete="${i}"`:""}
|
|
17
|
-
data-test-id="${null!=r?r:l}"
|
|
18
|
-
class="${n}"
|
|
19
|
-
>
|
|
20
|
-
<span class="form-title">
|
|
21
|
-
${e=>null!=a?a:e.config.fields[l].label}
|
|
22
|
-
</span>
|
|
23
|
-
</zero-text-field>
|
|
24
|
-
`)}
|
|
25
|
-
`},L=()=>s.html`
|
|
26
|
-
${(0,s.when)((e=>e.config.fields.organisation),s.html`
|
|
27
|
-
<zero-text-field
|
|
28
|
-
type="text"
|
|
29
|
-
name="organisation"
|
|
30
|
-
id="organisation"
|
|
31
|
-
autocomplete="organisation"
|
|
32
|
-
data-test-id="organisation"
|
|
33
|
-
:value="${(0,x.sync)((e=>e.organisation))}"
|
|
34
|
-
autofocus
|
|
35
|
-
class="${e=>e.config.logo?"":"no-top-margin"}"
|
|
36
|
-
required
|
|
37
|
-
>
|
|
38
|
-
<span class="form-title">
|
|
39
|
-
${e=>{var t;return null!==(t=e.config.fields.organisation.label)&&void 0!==t?t:"Organisation"}}
|
|
40
|
-
</span>
|
|
41
|
-
</zero-text-field>
|
|
42
|
-
`)}
|
|
43
|
-
`,A=()=>s.html`
|
|
44
|
-
<zero-text-field
|
|
45
|
-
type="text"
|
|
46
|
-
name="username"
|
|
47
|
-
id="username"
|
|
48
|
-
autocomplete="username email"
|
|
49
|
-
data-test-id="username"
|
|
50
|
-
:value="${(0,x.sync)((e=>e.username))}"
|
|
51
|
-
?autofocus="${e=>!e.config.fields.organisation}"
|
|
52
|
-
class="${e=>e.config.logo||e.config.fields.organisation?"":"no-top-margin"}"
|
|
53
|
-
required
|
|
54
|
-
>
|
|
55
|
-
<span class="form-title">${e=>{var t;return null!==(t=e.config.fields.username.label)&&void 0!==t?t:"Username"}}</span>
|
|
56
|
-
</zero-text-field>
|
|
57
|
-
`,D=()=>s.html`
|
|
58
|
-
${(0,s.when)((e=>e.config.fields.email),s.html`
|
|
59
|
-
<zero-text-field
|
|
60
|
-
type="email"
|
|
61
|
-
name="email"
|
|
62
|
-
id="email"
|
|
63
|
-
autocomplete="email"
|
|
64
|
-
data-test-id="email"
|
|
65
|
-
:value="${(0,x.sync)((e=>e.email))}"
|
|
66
|
-
required
|
|
67
|
-
>
|
|
68
|
-
<span class="form-title">${e=>{var t;return null!==(t=e.config.fields.email.label)&&void 0!==t?t:"Email"}}</span>
|
|
69
|
-
</zero-text-field>
|
|
70
|
-
`)}
|
|
71
|
-
`,M=e=>s.html`
|
|
72
|
-
<zero-text-field
|
|
73
|
-
type="${e=>e.showPasswords?"text":"password"}"
|
|
74
|
-
name="password"
|
|
75
|
-
id="password"
|
|
76
|
-
autocomplete="current-password"
|
|
77
|
-
data-test-id="password"
|
|
78
|
-
:value="${(0,x.sync)((e=>e.password))}"
|
|
79
|
-
required
|
|
80
|
-
>
|
|
81
|
-
<span class="form-title">${t=>{var o;return null!==(o=null!=e?e:t.config.fields.password.label)&&void 0!==o?o:"Password"}}</span>
|
|
82
|
-
</zero-text-field>
|
|
83
|
-
`,F={new:["new-password","New Password"],confirmation:["password-confirmation","Confirm Password"]},I=e=>{const[t,o]=F[e];return s.html`
|
|
84
|
-
<zero-text-field
|
|
85
|
-
type="${e=>e.showPasswords?"text":"password"}"
|
|
86
|
-
name="${t}"
|
|
87
|
-
id="${t}"
|
|
88
|
-
autocomplete="${t}"
|
|
89
|
-
data-test-id="${t}"
|
|
90
|
-
:value="${(0,x.sync)((e=>e.password2))}"
|
|
91
|
-
required
|
|
92
|
-
>
|
|
93
|
-
<span class="form-title">${o}</span>
|
|
94
|
-
</zero-text-field>
|
|
95
|
-
`};let j=class extends R{connectedCallback(){super.connectedCallback(),this.$fastController.addStyles(this.config.background)}};j=(0,y.__decorate)([(0,s.customElement)({name:"login-background",template:s.html`
|
|
96
|
-
<template class="background" part="background" data-test-id="background">
|
|
97
|
-
<slot></slot>
|
|
98
|
-
</template>
|
|
99
|
-
`,styles:s.css`
|
|
100
|
-
:host {
|
|
101
|
-
background-color: var(--foundation-login-background-color, transparent);
|
|
102
|
-
background-position: left top;
|
|
103
|
-
background-repeat: no-repeat;
|
|
104
|
-
background-attachment: fixed;
|
|
105
|
-
background-size: cover;
|
|
106
|
-
background-origin: border-box;
|
|
107
|
-
display: flex;
|
|
108
|
-
flex-direction: column;
|
|
109
|
-
align-items: center;
|
|
110
|
-
width: 100%;
|
|
111
|
-
height: 100%;
|
|
112
|
-
overflow: auto;
|
|
113
|
-
}
|
|
114
|
-
::slotted(div.container) {
|
|
115
|
-
margin: auto;
|
|
116
|
-
}
|
|
117
|
-
`})],j);let U=class extends R{};U=(0,y.__decorate)([(0,s.customElement)({name:"login-logo",template:s.html`
|
|
118
|
-
${(0,s.when)((e=>e.config.logo),s.html`
|
|
119
|
-
<img class="logo" style="${e=>e.config.logo.styles}" part="logo" data-test-id="logo" />
|
|
120
|
-
`)}
|
|
121
|
-
`,styles:s.css`
|
|
122
|
-
.logo {
|
|
123
|
-
display: initial;
|
|
124
|
-
margin-bottom: calc(var(--design-unit) * 5px);
|
|
125
|
-
transition: opacity 5s ease-in-out;
|
|
126
|
-
width: auto;
|
|
127
|
-
height: auto;
|
|
128
|
-
}
|
|
129
|
-
`})],U);const q=e=>s.html`
|
|
130
|
-
<zero-button
|
|
131
|
-
appearance="neutral-grey"
|
|
132
|
-
type="button"
|
|
133
|
-
class="action-btn"
|
|
134
|
-
@click=${e}
|
|
135
|
-
data-test-id="back"
|
|
136
|
-
>
|
|
137
|
-
Back
|
|
138
|
-
</zero-button>
|
|
139
|
-
`,B=(e,t="submit",o=!1)=>s.html`
|
|
140
|
-
<zero-button
|
|
141
|
-
appearance="primary-gradient"
|
|
142
|
-
type="submit"
|
|
143
|
-
class="action-btn"
|
|
144
|
-
data-test-id="${t}"
|
|
145
|
-
?disabled="${()=>o}"
|
|
146
|
-
>
|
|
147
|
-
${e}
|
|
148
|
-
</zero-button>
|
|
149
|
-
`,N=()=>s.html`
|
|
150
|
-
<zero-checkbox
|
|
151
|
-
?checked="${(0,x.sync)((e=>e.showPasswords),"boolean")}"
|
|
152
|
-
name="show-passwords"
|
|
153
|
-
data-test-id="show-passwords"
|
|
154
|
-
>
|
|
155
|
-
Show Passwords
|
|
156
|
-
</zero-checkbox>
|
|
157
|
-
`;let H=class extends s.FASTElement{constructor(){super(...arguments),this.classNames="",this.message="",this.nonError=!1}nonErrorChanged(){this.classNames=(0,E.classNames)("message",["non-error",this.nonError])}};(0,y.__decorate)([s.observable],H.prototype,"classNames",void 0),(0,y.__decorate)([s.attr],H.prototype,"message",void 0),(0,y.__decorate)([(0,s.attr)({mode:"boolean",attribute:"non-error"})],H.prototype,"nonError",void 0),H=(0,y.__decorate)([(0,s.customElement)({name:"login-message",template:s.html`
|
|
158
|
-
${(0,s.when)((e=>e.message),s.html`
|
|
159
|
-
<span class="${e=>e.classNames}" part="message" data-test-id="message">
|
|
160
|
-
${e=>e.message}
|
|
161
|
-
</span>
|
|
162
|
-
`)}
|
|
163
|
-
`,styles:s.css`
|
|
164
|
-
:host {
|
|
165
|
-
text-align: center;
|
|
166
|
-
}
|
|
167
|
-
.message {
|
|
168
|
-
color: ${z.SecondaryRapidColorHEX.orange};
|
|
169
|
-
margin-top: calc(var(--design-unit) * 3px);
|
|
170
|
-
white-space: pre-line;
|
|
171
|
-
}
|
|
172
|
-
.message.non-error {
|
|
173
|
-
color: ${z.SecondaryRapidColorHEX.teal};
|
|
174
|
-
}
|
|
175
|
-
`})],H);let W=class extends s.FASTElement{constructor(){super(...arguments),this.isSubmitting=!1}};(0,y.__decorate)([(0,s.attr)({mode:"boolean",attribute:"is-submitting"})],W.prototype,"isSubmitting",void 0),W=(0,y.__decorate)([(0,s.customElement)({name:"submitting-indicator",template:s.html`
|
|
176
|
-
${(0,s.when)((e=>e.isSubmitting),s.html`
|
|
177
|
-
<zero-progress-ring
|
|
178
|
-
part="submitting-indicator"
|
|
179
|
-
data-test-id="submitting-indicator"
|
|
180
|
-
></zero-progress-ring>
|
|
181
|
-
`)}
|
|
182
|
-
`,styles:s.css`
|
|
183
|
-
:host {
|
|
184
|
-
display: flex;
|
|
185
|
-
justify-content: center;
|
|
186
|
-
}
|
|
187
|
-
zero-progress-ring {
|
|
188
|
-
align-self: center;
|
|
189
|
-
}
|
|
190
|
-
`})],W);const V=new $.FASTElementLayout(s.html`
|
|
191
|
-
<div class="container">
|
|
192
|
-
<div class="content">
|
|
193
|
-
<slot></slot>
|
|
194
|
-
</div>
|
|
195
|
-
</div>
|
|
196
|
-
`,s.css`
|
|
197
|
-
:host {
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.container {
|
|
201
|
-
width: 100%;
|
|
202
|
-
height: 100%;
|
|
203
|
-
display: block;
|
|
204
|
-
position: relative;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
.content {
|
|
208
|
-
position: absolute;
|
|
209
|
-
top: 0;
|
|
210
|
-
bottom: 0;
|
|
211
|
-
left: 0;
|
|
212
|
-
right: 0;
|
|
213
|
-
}
|
|
214
|
-
`);var Z=o(2617);const X=(e="normal",t="normal")=>`\n font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; \n font-style: ${e};\n font-weight: ${t};\n`,Y=(X(),X("normal","bold")),K=s.css`
|
|
215
|
-
:host {
|
|
216
|
-
contain: content;
|
|
217
|
-
display: flex;
|
|
218
|
-
flex-direction: column;
|
|
219
|
-
align-items: center;
|
|
220
|
-
justify-content: center;
|
|
221
|
-
height: 100%;
|
|
222
|
-
width: 100%;
|
|
223
|
-
|
|
224
|
-
--design-unit: 3.5;
|
|
225
|
-
}
|
|
226
|
-
`,G=s.css`
|
|
227
|
-
.container {
|
|
228
|
-
min-width: 330px;
|
|
229
|
-
width: 15%;
|
|
230
|
-
display: flex;
|
|
231
|
-
flex-direction: column;
|
|
232
|
-
align-items: center;
|
|
233
|
-
|
|
234
|
-
animate: all 3s ease-in 0s;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
.no-top-margin {
|
|
238
|
-
margin-top: 0;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
.no-top-margin::part(label) {
|
|
242
|
-
margin-top: 0;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
.card-pd {
|
|
246
|
-
--zero-card-fill-color: #202126;
|
|
247
|
-
padding: calc(var(--design-unit) * 5px);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
.card-mg {
|
|
251
|
-
margin: calc(var(--design-unit) * 2px);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
.column-content {
|
|
255
|
-
display: flex;
|
|
256
|
-
flex-direction: column;
|
|
257
|
-
align-items: center;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.logo {
|
|
261
|
-
display: initial;
|
|
262
|
-
margin-bottom: calc(var(--design-unit) * 5px);
|
|
263
|
-
transition: opacity 5s ease-in-out;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
.heading {
|
|
267
|
-
${Y};
|
|
268
|
-
|
|
269
|
-
background-color: ${Z.neutralLayer1};
|
|
270
|
-
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
|
|
271
|
-
font-size: 20px;
|
|
272
|
-
margin: -4px -16px 0 -16px;
|
|
273
|
-
padding: 8px 16px;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
.heading2 {
|
|
277
|
-
font-family: Roboto-Medium, sans-serif;
|
|
278
|
-
font-weight: 500;
|
|
279
|
-
font-style: normal;
|
|
280
|
-
font-size: 16px;
|
|
281
|
-
text-align: center;
|
|
282
|
-
opacity: 80%;
|
|
283
|
-
margin-bottom: 10px;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
.heading3 {
|
|
287
|
-
text-align: center;
|
|
288
|
-
font-family: Roboto-Medium, sans-serif;
|
|
289
|
-
font-weight: 500;
|
|
290
|
-
font-style: normal;
|
|
291
|
-
font-size: 12px;
|
|
292
|
-
opacity: 50%;
|
|
293
|
-
margin-bottom: calc(var(--design-unit) * 5px);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
form {
|
|
297
|
-
display: flex;
|
|
298
|
-
flex-direction: column;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
.action-btn {
|
|
302
|
-
margin-top: calc(var(--design-unit) * 5px);
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.form-buttons {
|
|
306
|
-
display: flex;
|
|
307
|
-
flex-direction: column;
|
|
308
|
-
justify-content: space-between;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.form-title {
|
|
312
|
-
font-family: Roboto-Medium, sans-serif;
|
|
313
|
-
font-style: normal;
|
|
314
|
-
color: var(--neutral-stroke-rest);
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
zero-text-field {
|
|
318
|
-
margin: 8px 0 12px;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
zero-text-field::part(label) {
|
|
322
|
-
margin-bottom: calc(var(--design-unit) * 2px);
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
zero-text-field,
|
|
326
|
-
zero-select {
|
|
327
|
-
margin-bottom: calc(var(--design-unit) * 3px);
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
zero-button::part(info1),
|
|
331
|
-
zero-button::part(info2) {
|
|
332
|
-
display: none;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
zero-checkbox {
|
|
336
|
-
margin-top: calc(var(--design-unit) * 3px);
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
zero-checkbox::part(label) {
|
|
340
|
-
color: var(--neutral-stroke-rest);
|
|
341
|
-
}
|
|
342
|
-
`,J=s.css`
|
|
343
|
-
${K}
|
|
344
|
-
${G}
|
|
345
|
-
`,Q=s.css`
|
|
346
|
-
${J}
|
|
347
|
-
.link-url {
|
|
348
|
-
width: fit-content;
|
|
349
|
-
cursor: pointer;
|
|
350
|
-
font-weight: 500;
|
|
351
|
-
font-size: 12px;
|
|
352
|
-
color: var(--accent-foreground-rest);
|
|
353
|
-
opacity: 80%;
|
|
354
|
-
padding: 1px 0;
|
|
355
|
-
line-height: calc(var(--design-unit) * 6px);
|
|
356
|
-
text-decoration: none;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
.link-url:hover {
|
|
360
|
-
color: var(--accent-foreground-hover);
|
|
361
|
-
opacity: 100%;
|
|
362
|
-
border-bottom: 1px solid;
|
|
363
|
-
margin-bottom: -1px;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.action-btn {
|
|
367
|
-
margin: calc(var(--design-unit) * 5px) 0;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.sso {
|
|
371
|
-
display: flex;
|
|
372
|
-
flex-direction: column;
|
|
373
|
-
justify-content: space-between;
|
|
374
|
-
align-items: stretch;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
.sso .form-title {
|
|
378
|
-
font-size: var(--type-ramp-base-font-size);
|
|
379
|
-
margin-bottom: calc(var(--design-unit) * 2px);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
.links {
|
|
383
|
-
display: flex;
|
|
384
|
-
justify-content: space-between;
|
|
385
|
-
align-content: center;
|
|
386
|
-
align-items: center;
|
|
387
|
-
flex-wrap: wrap;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
.password-links {
|
|
391
|
-
display: flex;
|
|
392
|
-
flex-direction: column;
|
|
393
|
-
justify-content: flex-start;
|
|
394
|
-
align-self: flex-start;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
.account-links {
|
|
398
|
-
display: flex;
|
|
399
|
-
flex-direction: column;
|
|
400
|
-
justify-content: flex-end;
|
|
401
|
-
align-self: flex-start;
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
.case-warning {
|
|
405
|
-
color: #379ec0;
|
|
406
|
-
font-size: 0.83em;
|
|
407
|
-
margin-block-start: 1em;
|
|
408
|
-
margin-block-end: 1em;
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
.version {
|
|
412
|
-
width: fit-content;
|
|
413
|
-
font-weight: 500;
|
|
414
|
-
font-size: 10px;
|
|
415
|
-
color: var(--accent-foreground-rest);
|
|
416
|
-
opacity: 80%;
|
|
417
|
-
padding: 1px 0;
|
|
418
|
-
line-height: calc(var(--design-unit) * 6px);
|
|
419
|
-
}
|
|
420
|
-
`,ee=s.html`
|
|
421
|
-
${(0,s.when)((e=>!e.ssoToggled),s.html`
|
|
422
|
-
${L()} ${A()} ${M()}
|
|
423
|
-
<span class="case-warning">*Fields are case-sensitive</span>
|
|
424
|
-
${N()}
|
|
425
|
-
<div class="form-buttons">
|
|
426
|
-
${e=>B("Login","submit-login",e.submitDisabled)}
|
|
427
|
-
<div class="links">
|
|
428
|
-
<div class="password-links">
|
|
429
|
-
${(0,s.when)((e=>!e.config.omitRoutes.includes("forgot-password")),s.html`
|
|
430
|
-
<a
|
|
431
|
-
class="link-url"
|
|
432
|
-
@click=${e=>e.onNavigate("forgot-password")}
|
|
433
|
-
data-test-id="forgot-password"
|
|
434
|
-
>
|
|
435
|
-
Forgot Password?
|
|
436
|
-
</a>
|
|
437
|
-
`)}
|
|
438
|
-
${(0,s.when)((e=>!e.config.omitRoutes.includes("reset-password")),s.html`
|
|
439
|
-
<a
|
|
440
|
-
class="link-url"
|
|
441
|
-
@click=${e=>e.onNavigate("reset-password")}
|
|
442
|
-
data-test-id="reset-password"
|
|
443
|
-
>
|
|
444
|
-
Change Password
|
|
445
|
-
</a>
|
|
446
|
-
`)}
|
|
447
|
-
</div>
|
|
448
|
-
<div class="account-links">
|
|
449
|
-
${(0,s.when)((e=>!e.config.omitRoutes.includes("request-account")),s.html`
|
|
450
|
-
<a
|
|
451
|
-
class="link-url"
|
|
452
|
-
@click=${e=>e.onNavigate("request-account")}
|
|
453
|
-
data-test-id="request-account"
|
|
454
|
-
>
|
|
455
|
-
Request Account
|
|
456
|
-
</a>
|
|
457
|
-
`)}
|
|
458
|
-
</div>
|
|
459
|
-
</div>
|
|
460
|
-
</div>
|
|
461
|
-
${(0,s.when)((e=>e.config.versionInformation),s.html`
|
|
462
|
-
<div>
|
|
463
|
-
<span class="version" data-test-id="version">
|
|
464
|
-
${e=>e.config.versionInformation}
|
|
465
|
-
</span>
|
|
466
|
-
</div>
|
|
467
|
-
`)}
|
|
468
|
-
`)}
|
|
469
|
-
`,te=s.html`
|
|
470
|
-
${(0,s.when)((e=>e.ssoToggled),s.html`
|
|
471
|
-
<div class="sso">
|
|
472
|
-
<span class="form-title">Providers</span>
|
|
473
|
-
<zero-select
|
|
474
|
-
name="sso"
|
|
475
|
-
data-test-id="sso"
|
|
476
|
-
:value=${(0,x.sync)((e=>e.selectedIDP))}
|
|
477
|
-
?disabled=${e=>!e.idps.length}
|
|
478
|
-
>
|
|
479
|
-
${(0,s.repeat)((e=>e.idps),s.html`
|
|
480
|
-
<zero-option value="${({id:e})=>e}">${({id:e})=>e}</zero-option>
|
|
481
|
-
`)}
|
|
482
|
-
</zero-select>
|
|
483
|
-
<zero-button
|
|
484
|
-
type="button"
|
|
485
|
-
class="action-btn"
|
|
486
|
-
appearance="primary-gradient"
|
|
487
|
-
@click="${e=>e.onClickSSO()}"
|
|
488
|
-
data-test-id="sso-login"
|
|
489
|
-
?disabled=${e=>!e.selectedIDP}
|
|
490
|
-
>
|
|
491
|
-
SSO Login
|
|
492
|
-
</zero-button>
|
|
493
|
-
</div>
|
|
494
|
-
`)}
|
|
495
|
-
`,oe=s.html`
|
|
496
|
-
<pre data-test-id="connect-http-mode">Http Polling Mode Enabled.</pre>
|
|
497
|
-
`,se=s.html`
|
|
498
|
-
${e=>e.connect.httpMode()?oe:null}
|
|
499
|
-
`,ie=s.html`
|
|
500
|
-
<zero-connection-indicator show-label="true" />
|
|
501
|
-
`,ne=s.html`
|
|
502
|
-
${e=>e.connect.httpMode()?null:ie}
|
|
503
|
-
`,ae=s.html`
|
|
504
|
-
<login-background>
|
|
505
|
-
<div class="container">
|
|
506
|
-
${(0,s.when)((e=>!e.config.autoConnect),s.html`
|
|
507
|
-
<zero-card class="card-pd card-mg">
|
|
508
|
-
<form
|
|
509
|
-
id="connect-form"
|
|
510
|
-
method="post"
|
|
511
|
-
autocomplete="on"
|
|
512
|
-
@submit=${e=>e.onHostSubmit()}
|
|
513
|
-
?disabled=${e=>e.submitConnectDisabled}
|
|
514
|
-
data-test-id="connect-form"
|
|
515
|
-
>
|
|
516
|
-
<zero-text-field
|
|
517
|
-
class="no-top-margin"
|
|
518
|
-
type="text"
|
|
519
|
-
name="host"
|
|
520
|
-
:value=${(0,x.sync)((e=>e.host))}
|
|
521
|
-
?disabled=${e=>e.connect.isConnected}
|
|
522
|
-
data-test-id="connect-host"
|
|
523
|
-
required
|
|
524
|
-
>
|
|
525
|
-
<span class="form-title">Host</span>
|
|
526
|
-
</zero-text-field>
|
|
527
|
-
|
|
528
|
-
${se}
|
|
529
|
-
|
|
530
|
-
<div class="form-buttons">
|
|
531
|
-
${e=>B(e.connectActionText,"submit-connect",e.submitConnectDisabled)}
|
|
532
|
-
</div>
|
|
533
|
-
</form>
|
|
534
|
-
</zero-card>
|
|
535
|
-
`)}
|
|
536
|
-
|
|
537
|
-
<zero-card class="card-pd">
|
|
538
|
-
<div class="column-content">
|
|
539
|
-
<login-logo></login-logo>
|
|
540
|
-
<div class="heading2">Login</div>
|
|
541
|
-
</div>
|
|
542
|
-
<form
|
|
543
|
-
id="login-form"
|
|
544
|
-
method="post"
|
|
545
|
-
autocomplete="on"
|
|
546
|
-
@submit=${e=>e.onLoginSubmit()}
|
|
547
|
-
?disabled=${e=>e.submitDisabled}
|
|
548
|
-
data-test-id="login-form"
|
|
549
|
-
>
|
|
550
|
-
${ee} ${te}
|
|
551
|
-
${(0,s.when)((e=>e.config.sso),s.html`
|
|
552
|
-
<zero-checkbox
|
|
553
|
-
?checked="${(0,x.sync)((e=>e.ssoToggled),"boolean")}"
|
|
554
|
-
name="sso-toggle"
|
|
555
|
-
data-test-id="sso-toggle"
|
|
556
|
-
>
|
|
557
|
-
${e=>e.ssoToggled?"SSO Enabled"+e.selectedIDPName:"Enable SSO?"}
|
|
558
|
-
</zero-checkbox>
|
|
559
|
-
`)}
|
|
560
|
-
<login-message
|
|
561
|
-
message="${e=>e.message}"
|
|
562
|
-
non-error="${e=>!e.hasErrors}"
|
|
563
|
-
></login-message>
|
|
564
|
-
${(0,s.when)((e=>e.config.showConnectionIndicator),s.html`
|
|
565
|
-
${ne}
|
|
566
|
-
`)}
|
|
567
|
-
</form>
|
|
568
|
-
</zero-card>
|
|
569
|
-
</div>
|
|
570
|
-
</login-background>
|
|
571
|
-
`;let re=class extends O{constructor(){super(...arguments),this.idps=[],this.selectedIDP="",this.ssoToggled=!1,this.fetchIDPs=()=>(0,y.__awaiter)(this,void 0,void 0,(function*(){var e,t;var o;const s=`${(o=this.host).startsWith("ws:")?o.replace("ws:","http:"):o.startsWith("wss:")?o.replace("wss:","https:"):o}${null!==(t=null===(e=this.config.sso)||void 0===e?void 0:e.identityProvidersPath)&&void 0!==t?t:"sso/list"}`;return fetch(s).then((e=>{if(e.ok)return e;throw new Error(e.statusText)})).then((e=>e.json())).then((e=>e.IDPS))})),this.toggleHttpMode=e=>{this.connect&&this.convertHostUrl()}}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});var t,o;return(0,y.__awaiter)(this,void 0,void 0,(function*(){e.connectedCallback.call(this),this.ssoToggled=null!==(o=null===(t=this.config.sso)||void 0===t?void 0:t.toggled)&&void 0!==o&&o,this.connect.isConnected&&this.auth.isLoggedIn&&(yield this.credentialManager.preventSilentAccess(),yield this.auth.logout()),this.convertHostUrl(),yield this.autofill()}))}enter(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){s.DOM.queueUpdate((()=>(0,y.__awaiter)(this,void 0,void 0,(function*(){try{!this.connect.isConnected&&this.config.autoConnect&&(yield this.toggleConnection()),!this.auth.isLoggedIn&&this.config.autoAuth&&this.attemptLoginWhenConnected()}catch(e){k.debug(e)}}))))}))}toggleConnection(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){return this.connect.isConnected?(this.connect.disconnect(),void k.debug(`Disconnected from ${this.host}`)):this.connect.connect(this.host)}))}attemptLoginWhenConnected(){this.connect.isConnectedSubject.subscribe((e=>{if(e){const e=this.credentialManager,t=e.createRefreshCredentials();if(e.validateRefreshCredentials(t))return k.debug("Attempting to login with refresh credentials."),void this.login(t);if(this.ssoToggled){const t=e.createSSOCredentials();if(e.validateSSOCredentials(t))return k.debug("Attempting to login with SSO."),this.login(t),void this.credentialManager.removeSSOToken()}this.attemptBasicLogin()}}))}attemptBasicLogin(){const e=this.credentialManager.createBasicCredentials({username:this.orgUsername,password:this.password});this.credentialManager.validateBasicCredentials(e)?(k.debug("Attempting to login with basic credentials."),this.login(e)):k.debug("Basic credentials appear invalid, aborting login attempt.")}ssoToggledChanged(){this.clearError(),this.ssoToggled&&this.fetchIDPs().then((e=>{var t,o;k.debug("fetched IDPs",e),this.idps=e.map((e=>({id:e.ID,type:e.TYPE}))),this.selectedIDP=null===(o=null===(t=null==this?void 0:this.idps)||void 0===t?void 0:t[0])||void 0===o?void 0:o.id})).catch((()=>this.setError("Failed to fetch identity providers.")))}get selectedIDPName(){return this.selectedIDP?` - ${this.selectedIDP}`:""}onClickSSO(){const e=this.createLoginURL();(0,x.inIFrame)()?(0,x.inSymphonyDesktop)()?(0,x.openPopup)("","symphony").location.assign(e):(0,x.openPopup)(e,"Login"):window.open(e,"_self")}createLoginURL(){const e=this.idps.find((e=>e.id===this.selectedIDP));return`https://${new URL(this.host).host}${`/gwf/${e.type}/login`}?idp=${e.id}`}convertHostUrl(){var e,t,o,s;(null===(e=this.connect)||void 0===e?void 0:e.httpMode())&&(null===(t=this.host)||void 0===t?void 0:t.startsWith("ws"))?this.host=this.host.replace("ws","http"):!(null===(o=this.connect)||void 0===o?void 0:o.httpMode())&&(null===(s=this.host)||void 0===s?void 0:s.startsWith("http"))&&(this.host=this.host.replace("http","ws"))}onHostSubmit(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("host submission"),yield this.toggleConnection()}))}onLoginSubmit(){const e=Object.create(null,{onSubmit:{get:()=>super.onSubmit}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("login submission"),yield e.onSubmit.call(this),s.DOM.queueUpdate((()=>{this.attemptBasicLogin()}))}))}login(e){return(0,y.__awaiter)(this,void 0,void 0,(function*(){try{const{authToken:t}=yield this.auth.login(e);if(!t)throw new Error("Unable to login. Try again later.");this.storeCredentials();let o=this.config.defaultRedirectUrl;this.session.returnUrl&&!this.config.omitRedirectUrls.includes(this.session.returnUrl)&&(o=this.session.returnUrl),$.Route.path.push(o)}catch(e){if(e instanceof _.AuthError)return e.hasPasswordExpiredError()?(this.storeCredentials(),void this.onNavigate("reset-password",{expired:!0})):this.config.fields.organisation&&!this.organisation.length?void this.setError(e.message+"Please fill in Comp Id."):void this.setError(e.message+e.getMessageError());this.setError(e.message)}}))}get connectActionText(){return this.connect.isConnected?"Disconnect":"Connect"}get submitConnectDisabled(){return!this.host}get submitDisabled(){return!this.connect.httpMode()&&(this.connect.isWorking||!this.connect.isConnected)}};(0,y.__decorate)([s.observable],re.prototype,"idps",void 0),(0,y.__decorate)([s.observable],re.prototype,"selectedIDP",void 0),(0,y.__decorate)([s.observable],re.prototype,"ssoToggled",void 0),(0,y.__decorate)([s.volatile],re.prototype,"selectedIDPName",null),(0,y.__decorate)([s.volatile],re.prototype,"connectActionText",null),re=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-form",template:ae,styles:Q})],re);const ce=s.html`
|
|
572
|
-
<login-background>
|
|
573
|
-
<div class="container">
|
|
574
|
-
<zero-card class="card-pd">
|
|
575
|
-
<div class="column-content">
|
|
576
|
-
<login-logo></login-logo>
|
|
577
|
-
<div class="heading2">Forgotten Password</div>
|
|
578
|
-
<div class="heading3">Enter your account username</div>
|
|
579
|
-
</div>
|
|
580
|
-
<form @submit=${e=>e.onSubmit()}>
|
|
581
|
-
${L()} ${A()}
|
|
582
|
-
<div class="form-buttons">
|
|
583
|
-
${B("Send Recovery Link")} ${q((e=>e.onBack()))}
|
|
584
|
-
</div>
|
|
585
|
-
<submitting-indicator is-submitting="${e=>e.isSubmitting}"></submitting-indicator>
|
|
586
|
-
<login-message
|
|
587
|
-
message="${e=>e.message}"
|
|
588
|
-
non-error="${e=>!e.hasErrors}"
|
|
589
|
-
></login-message>
|
|
590
|
-
</form>
|
|
591
|
-
</zero-card>
|
|
592
|
-
</div>
|
|
593
|
-
</login-background>
|
|
594
|
-
`;let le=class extends O{connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){e.connectedCallback.call(this),yield this.autofill()}))}onSubmit(){const e=Object.create(null,{onSubmit:{get:()=>super.onSubmit}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("forgot password submission"),yield e.onSubmit.call(this);const t=`${location.protocol}//${g}/reset-password`,o=this.messageBuilder.createForgotPasswordMessage(this.orgUsername,t);yield this.sendMessage(o,"Please check your inbox for reset instructions.")}))}};le=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-forgot-password",template:ce,styles:J})],le);let de=class extends O{};de=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-not-found",template:s.html`
|
|
595
|
-
<h1 data-test-id="not-found">Not found! 404</h1>
|
|
596
|
-
`,styles:J})],de);const ue=s.html`
|
|
597
|
-
<login-background>
|
|
598
|
-
<div class="container">
|
|
599
|
-
<zero-card class="card-pd">
|
|
600
|
-
<div class="column-content">
|
|
601
|
-
<login-logo></login-logo>
|
|
602
|
-
<div class="heading2">Request Account</div>
|
|
603
|
-
</div>
|
|
604
|
-
<form @submit=${e=>e.onSubmit()}>
|
|
605
|
-
${L()} ${A()} ${D()} ${M()}
|
|
606
|
-
${I("confirmation")}
|
|
607
|
-
<zero-checkbox
|
|
608
|
-
name="terms"
|
|
609
|
-
:value=${(0,x.sync)((e=>e.termsAgreed),"boolean")}
|
|
610
|
-
data-test-id="terms"
|
|
611
|
-
>
|
|
612
|
-
I agree to the
|
|
613
|
-
<stong>Terms</stong>
|
|
614
|
-
and
|
|
615
|
-
<stong>Conditions</stong>
|
|
616
|
-
</zero-checkbox>
|
|
617
|
-
<div class="form-buttons">
|
|
618
|
-
<submit-button
|
|
619
|
-
is-submitting="${e=>e.isSubmitting}"
|
|
620
|
-
label="Request Account"
|
|
621
|
-
></submit-button>
|
|
622
|
-
${q((e=>e.onBack()))}
|
|
623
|
-
</div>
|
|
624
|
-
<login-message message="${e=>e.message}"></login-message>
|
|
625
|
-
</form>
|
|
626
|
-
</zero-card>
|
|
627
|
-
</div>
|
|
628
|
-
</login-background>
|
|
629
|
-
`;let ge=class extends O{constructor(){super(...arguments),this.termsAgreed=!1}onSubmit(){const e=Object.create(null,{onSubmit:{get:()=>super.onSubmit}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("request account submission"),yield e.onSubmit.call(this)}))}};(0,y.__decorate)([s.observable],ge.prototype,"termsAgreed",void 0),ge=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-request-account",template:ue,styles:J})],ge);const he=s.html`
|
|
630
|
-
<login-background>
|
|
631
|
-
<div class="container">
|
|
632
|
-
<zero-card class="card-pd">
|
|
633
|
-
<div class="column-content">
|
|
634
|
-
<login-logo></login-logo>
|
|
635
|
-
<div class="heading2">Verify that it's you</div>
|
|
636
|
-
<div class="heading3">
|
|
637
|
-
We've sent a code to the email address attached to this account.
|
|
638
|
-
</div>
|
|
639
|
-
</div>
|
|
640
|
-
<form @submit=${e=>e.onSubmit()}>
|
|
641
|
-
<zero-text-field
|
|
642
|
-
type="text"
|
|
643
|
-
name="code"
|
|
644
|
-
autocomplete="one-time-code"
|
|
645
|
-
:value=${(0,x.sync)((e=>e.code))}
|
|
646
|
-
autofocus
|
|
647
|
-
data-test-id="code"
|
|
648
|
-
>
|
|
649
|
-
<span class="form-title">Verification Code</span>
|
|
650
|
-
</zero-text-field>
|
|
651
|
-
<div class="form-buttons">
|
|
652
|
-
<submit-button
|
|
653
|
-
is-submitting="${e=>e.isSubmitting}"
|
|
654
|
-
label="Verify and Login"
|
|
655
|
-
></submit-button>
|
|
656
|
-
${q((e=>e.onBack()))}
|
|
657
|
-
</div>
|
|
658
|
-
<login-message message="${e=>e.message}"></login-message>
|
|
659
|
-
</form>
|
|
660
|
-
</zero-card>
|
|
661
|
-
</div>
|
|
662
|
-
</login-background>
|
|
663
|
-
`;let me=class extends O{constructor(){super(...arguments),this.code=""}onSubmit(){const e=Object.create(null,{onSubmit:{get:()=>super.onSubmit}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("2FA verify submission"),yield e.onSubmit.call(this)}))}};(0,y.__decorate)([s.observable],me.prototype,"code",void 0),me=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-verify",template:he,styles:J})],me);const pe=s.html`
|
|
664
|
-
<div class="container">
|
|
665
|
-
<zero-button
|
|
666
|
-
type="button"
|
|
667
|
-
appearance="primary-gradient"
|
|
668
|
-
@click=${e=>e.onLogout()}
|
|
669
|
-
data-test-id="logout"
|
|
670
|
-
>
|
|
671
|
-
Logout
|
|
672
|
-
</zero-button>
|
|
673
|
-
</div>
|
|
674
|
-
`;let fe=class extends O{onLogout(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){(yield this.auth.logout()).success&&(yield this.credentialManager.preventSilentAccess(),this.onNavigate("login"))}))}};fe=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-protected",template:pe,styles:J})],fe);const be=s.html`
|
|
675
|
-
<login-background>
|
|
676
|
-
<div class="container">
|
|
677
|
-
<zero-card class="card-pd">
|
|
678
|
-
<div class="column-content">
|
|
679
|
-
<login-logo></login-logo>
|
|
680
|
-
<div class="heading2" data-test-id="heading">${e=>e.headingText}</div>
|
|
681
|
-
<div class="heading3">Enter the username registered to your account</div>
|
|
682
|
-
</div>
|
|
683
|
-
<form @submit=${e=>e.onSubmit()} autocomplete="on">
|
|
684
|
-
${L()} ${A()}
|
|
685
|
-
${(0,s.when)((e=>!e.passwordResetToken),s.html`
|
|
686
|
-
${M("Old Password")}
|
|
687
|
-
`)}
|
|
688
|
-
${I("new")} ${N()}
|
|
689
|
-
<div class="form-buttons">
|
|
690
|
-
${B("Change Password")} ${q((e=>e.onBack()))}
|
|
691
|
-
</div>
|
|
692
|
-
<submitting-indicator is-submitting="${e=>e.isSubmitting}"></submitting-indicator>
|
|
693
|
-
<login-message
|
|
694
|
-
message="${e=>e.message}"
|
|
695
|
-
non-error="${e=>!e.hasErrors}"
|
|
696
|
-
></login-message>
|
|
697
|
-
</form>
|
|
698
|
-
</zero-card>
|
|
699
|
-
</div>
|
|
700
|
-
</login-background>
|
|
701
|
-
`;let ve=class extends O{constructor(){super(...arguments),this.hasPasswordExpired=!1,this.passwordResetToken=""}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){e.connectedCallback.call(this),yield this.autofill()}))}enter(e){return(0,y.__awaiter)(this,void 0,void 0,(function*(){this.hasPasswordExpired=!!e.route.queryParams.expired,this.passwordResetToken=e.route.queryParams.password}))}onSubmit(){const e=Object.create(null,{onSubmit:{get:()=>super.onSubmit}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){yield e.onSubmit.call(this),this.passwordResetToken?yield this.onForgotPasswordWorkflow():yield this.onChangePasswordWorkflow(),this.isSubmitting=!1}))}onForgotPasswordWorkflow(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("forgot password submission");const e=this.messageBuilder.createForgotPasswordTokenMessage(this.orgUsername,this.passwordResetToken,this.password2);yield this.sendMessage(e,"Password reset success.",(()=>{this.storeCredentials(this.password2)}))}))}onChangePasswordWorkflow(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){k.debug("change password submission");const e=this.messageBuilder.createChangePasswordMessage(this.orgUsername,this.password,this.password2);yield this.sendMessage(e,"Password change success.",(()=>{this.storeCredentials(this.password2)}))}))}get headingText(){return this.hasPasswordExpired?"You are required to change your password":"Change Password"}};(0,y.__decorate)([s.observable],ve.prototype,"hasPasswordExpired",void 0),(0,y.__decorate)([s.observable],ve.prototype,"passwordResetToken",void 0),(0,y.__decorate)([s.volatile],ve.prototype,"headingText",null),ve=(0,y.__decorate)([(0,s.customElement)({name:"foundation-login-reset-password",template:be,styles:J})],ve);let we=class extends $.RouterConfiguration{constructor(e,t,o,s,i=f){super(),this.auth=e,this.container=t,this.analytics=o,this.session=s,this.loginConfig=i}configure(){this.title="Login",this.defaultLayout=V;const e=[{path:"",name:"login",element:re,title:"Login",settings:{public:!0}},{path:"not-found",element:de,title:"Not Found",name:"not-found",settings:{public:!0}}],{omitRoutes:t}=this.loginConfig;t.includes("request-account")||e.push({path:"request-account",name:"request-account",element:ge,title:"Request Account",settings:{public:!0}}),t.includes("reset-password")||e.push({path:"reset-password",name:"reset-password",element:ve,title:"Reset Password",settings:{public:!0}}),t.includes("forgot-password")||e.push({path:"forgot-password",name:"forgot-password",element:le,title:"Forgot Password",settings:{public:!0}}),t.includes("verify")||e.push({path:"verify",element:me,title:"Verify",name:"verify",settings:{public:!0}}),t.includes("protected")||e.push({path:"protected",element:fe,title:"Protected",name:"protected",settings:{public:!1}}),this.routes.map(...e);const o=this.session,s=this.auth,i=this.analytics;this.routes.fallback((()=>s.isLoggedIn?{redirect:"not-found"}:{redirect:"login"})),this.contributors.push({navigate:e=>(0,y.__awaiter)(this,void 0,void 0,(function*(){const t=e.route.settings;i.trackEvent(_.FoundationAnalyticsEventType.routeChanged,{path:e.route.endpoint.path}),t&&t.public||s.isLoggedIn||this.loginConfig.autoAuth&&(yield s.reAuthFromSession())||e.cancel((()=>{o.captureReturnUrl(),$.Route.name.replace(e.router,"login")}))}))})}construct(e){return this.container.get(e)}};we=(0,y.__decorate)([(0,y.__param)(0,_.Auth),(0,y.__param)(1,i.Container),(0,y.__param)(2,_.FoundationAnalytics),(0,y.__param)(3,_.Session),(0,y.__param)(4,(0,i.optional)(b))],we);const ye=e=>{const t=(0,w.tagFor)(e.provider),o=(0,w.tagFor)(e.router);return s.html`
|
|
702
|
-
<${t} data-test-id="login-provider" ${(0,s.ref)("provider")}>
|
|
703
|
-
<${o} :config=${e=>e.config} data-test-id="login-router"></${o}>
|
|
704
|
-
</${t}>
|
|
705
|
-
`},_e=e=>{const t=(0,w.tagFor)(e.provider),o=(0,w.tagFor)(e.router);return s.css`
|
|
706
|
-
${(0,z.mixinRobotoFont)()}
|
|
707
|
-
:host {
|
|
708
|
-
contain: content;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
:host,
|
|
712
|
-
${t}, ${o} {
|
|
713
|
-
display: flex;
|
|
714
|
-
width: 100%;
|
|
715
|
-
height: 100%;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
:host([hidden]) {
|
|
719
|
-
display: none;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
:host:not(:defined) {
|
|
723
|
-
visibility: hidden;
|
|
724
|
-
}
|
|
725
|
-
`},$e={anchor:"zero-anchor",button:"zero-button",card:"zero-card",checkbox:"zero-checkbox",listboxOption:"zero-option",provider:"template",router:"foundation-router",select:"zero-select",textField:"zero-text-field"},xe={name:"foundation-login",template:ye($e),styles:_e($e)},ke={name:"foundation-login",template:ye(Object.assign(Object.assign({},$e),{provider:"zero-design-system-provider"})),styles:_e(Object.assign(Object.assign({},$e),{provider:"zero-design-system-provider"}))};let Ce=class extends s.FASTElement{constructor(){super(...arguments),this.ready=!1}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return(0,y.__awaiter)(this,void 0,void 0,(function*(){this.registerDIDependencies(),e.connectedCallback.call(this),yield this.registerCommonComponents(),this.checkForSSOToken()}))}checkForSSOToken(){const e=new URLSearchParams(window.location.search).get("SSO_TOKEN");e&&(window.opener?(window.opener.sessionStorage.setItem("ssoToken",e),window.opener.location.reload(),window.close()):this.session.setSessionStorageItem("ssoToken",e))}registerCommonComponents(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){yield function(e){return(0,y.__awaiter)(this,void 0,void 0,(function*(){const{registerZeroDesignSystem:e}=yield S();return{ZeroDesignSystem:e()}}))}(),this.ready=!0}))}registerDIDependencies(){this.container.register(i.Registration.transient($.DefaultRouteRecognizer,$.DefaultRouteRecognizer),i.Registration.instance(_.ConnectConfig,Object.assign(Object.assign({},_.defaultConnectConfig),{connect:Object.assign(Object.assign({},_.defaultConnectConfig.connect),{heartbeatInterval:12e3})})))}};(0,y.__decorate)([(0,i.inject)(we)],Ce.prototype,"config",void 0),(0,y.__decorate)([i.Container],Ce.prototype,"container",void 0),(0,y.__decorate)([_.Session],Ce.prototype,"session",void 0),(0,y.__decorate)([s.observable],Ce.prototype,"ready",void 0),(0,y.__decorate)([s.observable],Ce.prototype,"provider",void 0),Ce=(0,y.__decorate)([(0,s.customElement)(ke)],Ce);let Se=class extends Ce{registerCommonComponents(){return(0,y.__awaiter)(this,void 0,void 0,(function*(){this.ready=!0}))}};Se=(0,y.__decorate)([(0,s.customElement)(Object.assign(Object.assign({},xe),{name:`${xe.name}-hosted`}))],Se);const ze=(0,w.defineFactory)(Ce,xe)},7702:(e,t,o)=>{"use strict";e.exports=o.p+"c0bd2c45d93ce443d624.jpg"},7924:(e,t,o)=>{"use strict";e.exports=o.p+"b634d7e1f2324faf1230.svg"}}]);
|
|
726
|
-
//# sourceMappingURL=170.02ecd6ffb7bb9c9531e72b7099ba0dce.js.map
|