{ "version": 3, "sources": ["../../../../../../../../source/febe/ui/src/scripts/ui.login.ts"], "sourcesContent": ["import Loader from \"./components/Loader\";\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n let passwordContainerEl = document.querySelector(\"[data-password]\");\n let socials = document.querySelector(\".login-socials\");\n let loginEl = document.querySelector(\"[data-login]\");\n let loginCaptchaEl = document.querySelector('[id=\"html_element\"]');\n let nextEl = document.querySelector(\"[data-next]\");\n let emailEl = document.querySelector('[name=\"username\"]');\n let container = document.querySelector(\".tile\");\n let loginForm = document.querySelector(\"#form-login\");\n let loginCaptchaInput = document.querySelector('[name=\"g_recaptcha_response\"]');\n\n loginForm.addEventListener(\"submit\", (ev) => {\n if (loginCaptchaEl && !loginCaptchaInput.value) {\n ev.preventDefault();\n globalThis.notification.notify({\n title: \"Robot\",\n message: `Please complete the reCAPTCHA`,\n type: \"warning\",\n });\n }\n });\n\n nextEl.addEventListener(\"click\", (e) => {\n e.preventDefault();\n if (globalThis.permissions.includes(\"login_saml\")) {\n emailPoll();\n }\n displayPassword();\n });\n\n emailEl.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Enter\") {\n if (globalThis.permissions.includes(\"login_saml\")) {\n emailPoll();\n }\n displayPassword();\n }\n });\n\n let displayPassword = () => {\n loginEl.classList.remove(\"hidden\");\n loginCaptchaEl?.classList.remove(\"hidden\");\n loginEl.disabled = false;\n passwordContainerEl.classList.remove(\"hidden\");\n passwordContainerEl.querySelector(\"input\").focus();\n if (socials) socials.classList.add(\"hidden\");\n if (nextEl) nextEl.classList.add(\"hidden\");\n };\n\n let emailPoll = async () => {\n const response = await fetch(\"/api/login/saml/org\", {\n headers: { \"X-CSRF-Token\": globalThis.csrf_token },\n body: JSON.stringify({ email: emailEl.value }),\n method: \"POST\",\n credentials: \"include\",\n }).catch((err) => {\n console.error(err);\n return err;\n });\n if (!response.ok) {\n return;\n }\n const res = await response.json();\n if (res.redirect) {\n new Loader().init(container, true, \"SAML is enabled for this domain redirecting..\");\n setTimeout(() => {\n const returnTo = new URLSearchParams(window.location.search).get(\"return_to\");\n const url = new URL(res.redirect, window.location.origin);\n url.searchParams.set(\"return_to\", returnTo);\n location.href = url.toString();\n }, 500);\n }\n };\n});\n"], "mappings": "gNAEA,SAAS,iBAAiB,mBAAoB,UAAY,CACxD,IAAIA,EAAsB,SAAS,cAAc,iBAAiB,EAC9DC,EAAU,SAAS,cAAc,gBAAgB,EACjDC,EAAU,SAAS,cAAgC,cAAc,EACjEC,EAAiB,SAAS,cAAgC,qBAAqB,EAC/EC,EAAS,SAAS,cAAc,aAAa,EAC7CC,EAAU,SAAS,cAAgC,mBAAmB,EACtEC,EAAY,SAAS,cAA2B,OAAO,EACvDC,EAAY,SAAS,cAA+B,aAAa,EACjEC,EAAoB,SAAS,cAAgC,+BAA+B,EAEhGD,EAAU,iBAAiB,SAAWE,GAAO,CACvCN,GAAkB,CAACK,EAAkB,QACvCC,EAAG,eAAe,EAClB,WAAW,aAAa,OAAO,CAC7B,MAAO,QACP,QAAS,gCACT,KAAM,SACR,CAAC,EAEL,CAAC,EAEDL,EAAO,iBAAiB,QAAU,GAAM,CACtC,EAAE,eAAe,EACb,WAAW,YAAY,SAAS,YAAY,GAC9CM,EAAU,EAEZC,EAAgB,CAClB,CAAC,EAEDN,EAAQ,iBAAiB,QAAU,GAAM,CACnC,EAAE,MAAQ,UACR,WAAW,YAAY,SAAS,YAAY,GAC9CK,EAAU,EAEZC,EAAgB,EAEpB,CAAC,EAED,IAAIA,EAAkB,IAAM,CAC1BT,EAAQ,UAAU,OAAO,QAAQ,EACjCC,GAAA,MAAAA,EAAgB,UAAU,OAAO,UACjCD,EAAQ,SAAW,GACnBF,EAAoB,UAAU,OAAO,QAAQ,EAC7CA,EAAoB,cAAc,OAAO,EAAE,MAAM,EAC7CC,GAASA,EAAQ,UAAU,IAAI,QAAQ,EACvCG,GAAQA,EAAO,UAAU,IAAI,QAAQ,CAC3C,EAEIM,EAAY,SAAY,CAC1B,IAAME,EAAW,MAAM,MAAM,sBAAuB,CAClD,QAAS,CAAE,eAAgB,WAAW,UAAW,EACjD,KAAM,KAAK,UAAU,CAAE,MAAOP,EAAQ,KAAM,CAAC,EAC7C,OAAQ,OACR,YAAa,SACf,CAAC,EAAE,MAAOQ,IACR,QAAQ,MAAMA,CAAG,EACVA,EACR,EACD,GAAI,CAACD,EAAS,GACZ,OAEF,IAAME,EAAM,MAAMF,EAAS,KAAK,EAC5BE,EAAI,WACN,IAAIC,EAAO,EAAE,KAAKT,EAAW,GAAM,+CAA+C,EAClF,WAAW,IAAM,CACf,IAAMU,EAAW,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,WAAW,EACtEC,EAAM,IAAI,IAAIH,EAAI,SAAU,OAAO,SAAS,MAAM,EACxDG,EAAI,aAAa,IAAI,YAAaD,CAAQ,EAC1C,SAAS,KAAOC,EAAI,SAAS,CAC/B,EAAG,GAAG,EAEV,CACF,CAAC", "names": ["passwordContainerEl", "socials", "loginEl", "loginCaptchaEl", "nextEl", "emailEl", "container", "loginForm", "loginCaptchaInput", "ev", "emailPoll", "displayPassword", "response", "err", "res", "Loader", "returnTo", "url"] }