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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/README.md +160 -0
  2. package/dist/1.0.0.remoteEntry.js +1 -0
  3. package/dist/15.15.b20930426d82ddb7bd44.js +1322 -0
  4. package/dist/15.1f4ec0deba9aca7499d56c621e06b130.js.map +1 -0
  5. package/dist/170.170.f64459527c9480c31e74.js +726 -0
  6. package/dist/170.a9086b342b886f13162e76944c6232ea.js.map +1 -0
  7. package/dist/176.176.bfbfc60ffad852c406c4.js +2 -0
  8. package/dist/176.7ce7d4e386b9ebd99f2a121d6364c1ad.js.map +1 -0
  9. package/dist/185.185.c56719990d52bcca8549.js +2 -0
  10. package/dist/185.d623d7c2df70c9d665343444e7c1fa6c.js.map +1 -0
  11. package/dist/338.338.e399ff6c11eb8175de4c.js +2 -0
  12. package/dist/338.4f68feefeaca1bf1dbc7ba12af2e84aa.js.map +1 -0
  13. package/dist/397.397.22e0364e0ff35fdfe9a0.js +3 -0
  14. package/dist/397.397.22e0364e0ff35fdfe9a0.js.LICENSE.txt +1 -0
  15. package/dist/397.629a215804364ccc7763bc046dbea3d5.js.map +1 -0
  16. package/dist/419.419.00fda3874a096d8457d8.js +2136 -0
  17. package/dist/419.b6fb3444f7d56877c3a81cba8eaca942.js.map +1 -0
  18. package/dist/453.3c9a25d2af3ccf8232fdd1dfc5244b3d.js.map +1 -0
  19. package/dist/453.453.14247e88aa4df78dca2c.js +2 -0
  20. package/dist/726.4c7419d8edb8ba5e67699f4820c8c461.js.map +1 -0
  21. package/dist/726.726.e09fed9a1e3b529acd46.js +3 -0
  22. package/dist/726.726.e09fed9a1e3b529acd46.js.LICENSE.txt +4 -0
  23. package/dist/741.741.d84fc7e9236cae1acc99.js +3 -0
  24. package/dist/741.741.d84fc7e9236cae1acc99.js.LICENSE.txt +4 -0
  25. package/dist/741.a3dfed45252169e53ee396a8b76cea67.js.map +1 -0
  26. package/dist/b634d7e1f2324faf1230.svg +10 -0
  27. package/dist/c0bd2c45d93ce443d624.jpg +0 -0
  28. package/dist/dashboard.json +1 -0
  29. package/dist/dts/components/components.d.ts +5 -0
  30. package/dist/dts/components/components.d.ts.map +1 -0
  31. package/dist/dts/components/index.d.ts +2 -0
  32. package/dist/dts/components/index.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +3 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/dts/index.federated.d.ts +1 -0
  36. package/dist/dts/index.federated.d.ts.map +1 -0
  37. package/dist/dts/layouts/default.d.ts +3 -0
  38. package/dist/dts/layouts/default.d.ts.map +1 -0
  39. package/dist/dts/layouts/index.d.ts +2 -0
  40. package/dist/dts/layouts/index.d.ts.map +1 -0
  41. package/dist/dts/main/config.d.ts +261 -0
  42. package/dist/dts/main/config.d.ts.map +1 -0
  43. package/dist/dts/main/define.d.ts +29 -0
  44. package/dist/dts/main/define.d.ts.map +1 -0
  45. package/dist/dts/main/index.d.ts +7 -0
  46. package/dist/dts/main/index.d.ts.map +1 -0
  47. package/dist/dts/main/main.d.ts +179 -0
  48. package/dist/dts/main/main.d.ts.map +1 -0
  49. package/dist/dts/main/main.definition.d.ts +48 -0
  50. package/dist/dts/main/main.definition.d.ts.map +1 -0
  51. package/dist/dts/main/main.styles.d.ts +13 -0
  52. package/dist/dts/main/main.styles.d.ts.map +1 -0
  53. package/dist/dts/main/main.template.d.ts +7 -0
  54. package/dist/dts/main/main.template.d.ts.map +1 -0
  55. package/dist/dts/routes/base.d.ts +127 -0
  56. package/dist/dts/routes/base.d.ts.map +1 -0
  57. package/dist/dts/routes/config.d.ts +27 -0
  58. package/dist/dts/routes/config.d.ts.map +1 -0
  59. package/dist/dts/routes/forgot-password/forgot-password.d.ts +6 -0
  60. package/dist/dts/routes/forgot-password/forgot-password.d.ts.map +1 -0
  61. package/dist/dts/routes/forgot-password/forgot-password.template.d.ts +3 -0
  62. package/dist/dts/routes/forgot-password/forgot-password.template.d.ts.map +1 -0
  63. package/dist/dts/routes/index.d.ts +4 -0
  64. package/dist/dts/routes/index.d.ts.map +1 -0
  65. package/dist/dts/routes/login-form/login-form.d.ts +27 -0
  66. package/dist/dts/routes/login-form/login-form.d.ts.map +1 -0
  67. package/dist/dts/routes/login-form/login-form.styles.d.ts +2 -0
  68. package/dist/dts/routes/login-form/login-form.styles.d.ts.map +1 -0
  69. package/dist/dts/routes/login-form/login-form.template.d.ts +3 -0
  70. package/dist/dts/routes/login-form/login-form.template.d.ts.map +1 -0
  71. package/dist/dts/routes/not-found/not-found.d.ts +4 -0
  72. package/dist/dts/routes/not-found/not-found.d.ts.map +1 -0
  73. package/dist/dts/routes/protected/protected.d.ts +5 -0
  74. package/dist/dts/routes/protected/protected.d.ts.map +1 -0
  75. package/dist/dts/routes/protected/protected.template.d.ts +3 -0
  76. package/dist/dts/routes/protected/protected.template.d.ts.map +1 -0
  77. package/dist/dts/routes/request-account/request-account.d.ts +6 -0
  78. package/dist/dts/routes/request-account/request-account.d.ts.map +1 -0
  79. package/dist/dts/routes/request-account/request-account.template.d.ts +3 -0
  80. package/dist/dts/routes/request-account/request-account.template.d.ts.map +1 -0
  81. package/dist/dts/routes/reset-password/reset-password.d.ts +14 -0
  82. package/dist/dts/routes/reset-password/reset-password.d.ts.map +1 -0
  83. package/dist/dts/routes/reset-password/reset-password.template.d.ts +3 -0
  84. package/dist/dts/routes/reset-password/reset-password.template.d.ts.map +1 -0
  85. package/dist/dts/routes/types.d.ts +29 -0
  86. package/dist/dts/routes/types.d.ts.map +1 -0
  87. package/dist/dts/routes/verify/verify.d.ts +6 -0
  88. package/dist/dts/routes/verify/verify.d.ts.map +1 -0
  89. package/dist/dts/routes/verify/verify.template.d.ts +3 -0
  90. package/dist/dts/routes/verify/verify.template.d.ts.map +1 -0
  91. package/dist/dts/styles/index.d.ts +3 -0
  92. package/dist/dts/styles/index.d.ts.map +1 -0
  93. package/dist/dts/styles/styles.d.ts +5 -0
  94. package/dist/dts/styles/styles.d.ts.map +1 -0
  95. package/dist/dts/styles/typography.d.ts +4 -0
  96. package/dist/dts/styles/typography.d.ts.map +1 -0
  97. package/dist/dts/utils/index.d.ts +2 -0
  98. package/dist/dts/utils/index.d.ts.map +1 -0
  99. package/dist/dts/utils/logger.d.ts +2 -0
  100. package/dist/dts/utils/logger.d.ts.map +1 -0
  101. package/dist/esm/assets/bg.jpg +0 -0
  102. package/dist/esm/assets/genesis-logo-dark.svg +32 -0
  103. package/dist/esm/assets/genesis-logo-light.svg +10 -0
  104. package/dist/esm/assets/genesis-logo-old.svg +36 -0
  105. package/dist/esm/components/components.js +49 -0
  106. package/dist/esm/components/components.js.map +1 -0
  107. package/dist/esm/components/index.js +2 -0
  108. package/dist/esm/components/index.js.map +1 -0
  109. package/dist/esm/index.federated.js +2 -0
  110. package/dist/esm/index.federated.js.map +1 -0
  111. package/dist/esm/index.js +3 -0
  112. package/dist/esm/index.js.map +1 -0
  113. package/dist/esm/layouts/default.js +28 -0
  114. package/dist/esm/layouts/default.js.map +1 -0
  115. package/dist/esm/layouts/index.js +2 -0
  116. package/dist/esm/layouts/index.js.map +1 -0
  117. package/dist/esm/main/config.js +153 -0
  118. package/dist/esm/main/config.js.map +1 -0
  119. package/dist/esm/main/define.js +31 -0
  120. package/dist/esm/main/define.js.map +1 -0
  121. package/dist/esm/main/index.js +7 -0
  122. package/dist/esm/main/index.js.map +1 -0
  123. package/dist/esm/main/main.definition.js +44 -0
  124. package/dist/esm/main/main.definition.js.map +1 -0
  125. package/dist/esm/main/main.js +234 -0
  126. package/dist/esm/main/main.js.map +1 -0
  127. package/dist/esm/main/main.styles.js +39 -0
  128. package/dist/esm/main/main.styles.js.map +1 -0
  129. package/dist/esm/main/main.template.js +15 -0
  130. package/dist/esm/main/main.template.js.map +1 -0
  131. package/dist/esm/routes/base.js +512 -0
  132. package/dist/esm/routes/base.js.map +1 -0
  133. package/dist/esm/routes/config.js +169 -0
  134. package/dist/esm/routes/config.js.map +1 -0
  135. package/dist/esm/routes/forgot-password/forgot-password.js +42 -0
  136. package/dist/esm/routes/forgot-password/forgot-password.js.map +1 -0
  137. package/dist/esm/routes/forgot-password/forgot-password.template.js +27 -0
  138. package/dist/esm/routes/forgot-password/forgot-password.template.js.map +1 -0
  139. package/dist/esm/routes/index.js +4 -0
  140. package/dist/esm/routes/index.js.map +1 -0
  141. package/dist/esm/routes/login-form/login-form.js +256 -0
  142. package/dist/esm/routes/login-form/login-form.js.map +1 -0
  143. package/dist/esm/routes/login-form/login-form.styles.js +79 -0
  144. package/dist/esm/routes/login-form/login-form.styles.js.map +1 -0
  145. package/dist/esm/routes/login-form/login-form.template.js +162 -0
  146. package/dist/esm/routes/login-form/login-form.template.js.map +1 -0
  147. package/dist/esm/routes/not-found/not-found.js +17 -0
  148. package/dist/esm/routes/not-found/not-found.js.map +1 -0
  149. package/dist/esm/routes/protected/protected.js +26 -0
  150. package/dist/esm/routes/protected/protected.js.map +1 -0
  151. package/dist/esm/routes/protected/protected.template.js +14 -0
  152. package/dist/esm/routes/protected/protected.template.js.map +1 -0
  153. package/dist/esm/routes/request-account/request-account.js +33 -0
  154. package/dist/esm/routes/request-account/request-account.js.map +1 -0
  155. package/dist/esm/routes/request-account/request-account.template.js +38 -0
  156. package/dist/esm/routes/request-account/request-account.template.js.map +1 -0
  157. package/dist/esm/routes/reset-password/reset-password.js +79 -0
  158. package/dist/esm/routes/reset-password/reset-password.js.map +1 -0
  159. package/dist/esm/routes/reset-password/reset-password.template.js +31 -0
  160. package/dist/esm/routes/reset-password/reset-password.template.js.map +1 -0
  161. package/dist/esm/routes/types.js +2 -0
  162. package/dist/esm/routes/types.js.map +1 -0
  163. package/dist/esm/routes/verify/verify.js +33 -0
  164. package/dist/esm/routes/verify/verify.js.map +1 -0
  165. package/dist/esm/routes/verify/verify.template.js +39 -0
  166. package/dist/esm/routes/verify/verify.template.js.map +1 -0
  167. package/dist/esm/styles/index.js +3 -0
  168. package/dist/esm/styles/index.js.map +1 -0
  169. package/dist/esm/styles/styles.js +145 -0
  170. package/dist/esm/styles/styles.js.map +1 -0
  171. package/dist/esm/styles/typography.js +27 -0
  172. package/dist/esm/styles/typography.js.map +1 -0
  173. package/dist/esm/utils/index.js +2 -0
  174. package/dist/esm/utils/index.js.map +1 -0
  175. package/dist/esm/utils/logger.js +3 -0
  176. package/dist/esm/utils/logger.js.map +1 -0
  177. package/dist/favicon.ico +0 -0
  178. package/dist/foundation-login.api.json +1598 -0
  179. package/dist/foundation-login.d.ts +758 -0
  180. package/dist/foundationLogin.51f4a45f08e04c340be2f7a5a21d203d.js.map +1 -0
  181. package/dist/index.ejs +23 -0
  182. package/dist/index.html +10 -0
  183. package/dist/info.ejs +13 -0
  184. package/dist/info.html +22 -0
  185. package/dist/main.6b8ef32149fa7ade387e34be21e80e9f.js.map +1 -0
  186. package/dist/main.f20fa5670484f5c57ef1.js +2 -0
  187. package/dist/npm.analytics.343.1691cbc7d8a5badd3734.js +2 -0
  188. package/dist/npm.analytics.ce2eefcbb0dbd8ec610f4a90f48aa689.js.map +1 -0
  189. package/dist/npm.consola.713.661cb6ae3806c228029d.js +2 -0
  190. package/dist/npm.consola.96aceeeb14c801e429604b872dd754d7.js.map +1 -0
  191. package/dist/npm.dialog-polyfill.47.34b0c0d52e6712cf91bb.js +2 -0
  192. package/dist/npm.dialog-polyfill.9d605973cbc29184d8b9b4736433dddc.js.map +1 -0
  193. package/dist/npm.finos.690.d012d887fab1a50fd3fd.js +2 -0
  194. package/dist/npm.finos.bb7f5996c8be19fd2a1c0bb82b2512ef.js.map +1 -0
  195. package/dist/npm.fortawesome.104.f45009da0a55a389999c.js +2 -0
  196. package/dist/npm.fortawesome.e10775e8f8583851351996b12aec3dfb.js.map +1 -0
  197. package/dist/npm.microsoft.127.7781d48b93413319f199.js +6406 -0
  198. package/dist/npm.microsoft.127.7781d48b93413319f199.js.LICENSE.txt +14 -0
  199. package/dist/npm.microsoft.b0947aa2f980f173ee68c35127bf2481.js.map +1 -0
  200. package/dist/npm.popperjs.47700ec72e909558c6ebe29941887dcf.js.map +1 -0
  201. package/dist/npm.popperjs.591.6ab52bc8e177edef695a.js +2 -0
  202. package/dist/npm.rxjs.271.210fdd198235c86ce4cd.js +2 -0
  203. package/dist/npm.rxjs.36e7291df63583daef7bbafd0a3ab9dc.js.map +1 -0
  204. package/dist/remoteEntry.js +2 -0
  205. package/dist/serve.json +3 -0
  206. package/dist/tsdoc-metadata.json +11 -0
  207. package/docs/.gitattributes +2 -0
  208. package/docs/api/foundation-login.configure.md +62 -0
  209. package/docs/api/foundation-login.defaultapihost.md +12 -0
  210. package/docs/api/foundation-login.defaultloginconfig.md +13 -0
  211. package/docs/api/foundation-login.defaultorganisation.md +12 -0
  212. package/docs/api/foundation-login.defaultpassword.md +12 -0
  213. package/docs/api/foundation-login.defaultsocketext.md +12 -0
  214. package/docs/api/foundation-login.defaulttemplateoptions.md +16 -0
  215. package/docs/api/foundation-login.defaultuser.md +12 -0
  216. package/docs/api/foundation-login.define.md +38 -0
  217. package/docs/api/foundation-login.definition.md +19 -0
  218. package/docs/api/foundation-login.fieldconfig.md +16 -0
  219. package/docs/api/foundation-login.fieldconfigmap.md +19 -0
  220. package/docs/api/foundation-login.hostenv.md +12 -0
  221. package/docs/api/foundation-login.hosturl.md +12 -0
  222. package/docs/api/foundation-login.idp.id.md +11 -0
  223. package/docs/api/foundation-login.idp.md +20 -0
  224. package/docs/api/foundation-login.idp.type.md +11 -0
  225. package/docs/api/foundation-login.idpresponse.id.md +11 -0
  226. package/docs/api/foundation-login.idpresponse.md +20 -0
  227. package/docs/api/foundation-login.idpresponse.type.md +11 -0
  228. package/docs/api/foundation-login.ismfroute.md +24 -0
  229. package/docs/api/foundation-login.login.md +108 -0
  230. package/docs/api/foundation-login.loginconfig.autoauth.md +18 -0
  231. package/docs/api/foundation-login.loginconfig.autoconnect.md +13 -0
  232. package/docs/api/foundation-login.loginconfig.background.md +30 -0
  233. package/docs/api/foundation-login.loginconfig.defaultredirecturl.md +18 -0
  234. package/docs/api/foundation-login.loginconfig.fields.md +18 -0
  235. package/docs/api/foundation-login.loginconfig.logo.md +28 -0
  236. package/docs/api/foundation-login.loginconfig.md +30 -0
  237. package/docs/api/foundation-login.loginconfig.omitredirecturls.md +21 -0
  238. package/docs/api/foundation-login.loginconfig.omitroutes.md +25 -0
  239. package/docs/api/foundation-login.loginconfig.showconnectionindicator.md +13 -0
  240. package/docs/api/foundation-login.loginconfig.sso.md +18 -0
  241. package/docs/api/foundation-login.loginconfig.versioninformation.md +25 -0
  242. package/docs/api/foundation-login.loginhosted.md +23 -0
  243. package/docs/api/foundation-login.loginhosted.registercommoncomponents.md +18 -0
  244. package/docs/api/foundation-login.md +59 -0
  245. package/docs/api/foundation-login.routes.md +20 -0
  246. package/docs/api/foundation-login.settings.md +20 -0
  247. package/docs/api/foundation-login.ssoconfig.md +15 -0
  248. package/docs/api/foundation-login.styles.md +12 -0
  249. package/docs/api/foundation-login.template.md +12 -0
  250. package/docs/api/foundation-login.templatecomponents.md +25 -0
  251. package/docs/api/foundation-login.templateoptions.md +19 -0
  252. package/docs/api/index.md +12 -0
  253. package/docs/api-report.md +380 -0
  254. package/docs/img/foundation-login_change-password.png +0 -0
  255. package/docs/img/foundation-login_forgotten-password.png +0 -0
  256. package/docs/img/foundation-login_login-sso.png +0 -0
  257. package/docs/img/foundation-login_login-standard.png +0 -0
  258. package/docs/img/foundation-login_request-account.png +0 -0
  259. package/license.txt +46 -0
  260. package/package.json +90 -0
@@ -0,0 +1,726 @@
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:()=>M,passwordField:()=>F,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(5186),y=o(5373),_=o(7148),$=o(1242),x=o(5904);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,5264,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(5264),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
+ `,F=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
+ `,I={new:["new-password","New Password"],confirmation:["password-confirmation","Confirm Password"]},M=e=>{const[t,o]=I[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()} ${F()}
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*(){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()} ${F()}
606
+ ${M("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
+ ${F("Old Password")}
687
+ `)}
688
+ ${M("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.a9086b342b886f13162e76944c6232ea.js.map