masks-server 0.8.0 → 0.9.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.
- checksums.yaml +4 -4
- data/app/controllers/concerns/masks/server/client_authentication.rb +1 -1
- data/app/controllers/concerns/masks/server/resource_token.rb +12 -3
- data/app/controllers/masks/server/application_controller.rb +8 -6
- data/app/controllers/masks/server/authorize_controller.rb +1 -1
- data/app/controllers/masks/server/logins_controller.rb +2 -1
- data/app/controllers/masks/server/registrations_controller.rb +9 -1
- data/app/controllers/masks/server/scim/metadata_controller.rb +1 -1
- data/app/controllers/masks/server/tokens_controller.rb +1 -1
- data/app/graphql/masks/server/manage/mutations/add_app.rb +1 -1
- data/app/helpers/masks/server/account_helper.rb +1 -1
- data/app/models/masks/server/actor.rb +3 -3
- data/app/models/masks/server/client.rb +46 -6
- data/app/models/masks/server/handshake.rb +12 -6
- data/app/models/masks/server/login.rb +3 -6
- data/app/models/masks/server/pending_handshake.rb +2 -1
- data/app/models/masks/server/session.rb +7 -5
- data/app/policies/masks/server/exchange_policy.rb +1 -1
- data/app/policies/masks/server/grant_checks.rb +1 -1
- data/app/views/masks/server/account/_info.html.erb +1 -1
- data/app/views/masks/server/account/_organizations.html.erb +4 -4
- data/app/views/masks/server/application/_actor.html.erb +27 -0
- data/app/views/masks/server/handshakes/refused.html.erb +1 -1
- data/app/views/masks/server/handshakes/show.html.erb +1 -1
- data/app/views/masks/server/logins/_choose_organization.html.erb +1 -1
- data/app/views/masks/server/logins/_consent.html.erb +1 -1
- data/app/views/masks/server/sessions/confirm.html.erb +1 -1
- data/config/locales/de/account.yml +2 -2
- data/config/locales/de/application.yml +1 -1
- data/config/locales/de/events.yml +5 -5
- data/config/locales/de/manage/groups.yml +1 -1
- data/config/locales/de/manage/organization.yml +1 -1
- data/config/locales/en/account.yml +2 -2
- data/config/locales/en/application.yml +1 -1
- data/config/locales/en/events.yml +5 -5
- data/config/locales/en/manage/groups.yml +1 -1
- data/config/locales/en/manage/organization.yml +1 -1
- data/config/locales/es/account.yml +2 -2
- data/config/locales/es/application.yml +1 -1
- data/config/locales/es/events.yml +5 -5
- data/config/locales/es/manage/groups.yml +1 -1
- data/config/locales/es/manage/organization.yml +1 -1
- data/config/locales/fr/account.yml +2 -2
- data/config/locales/fr/application.yml +1 -1
- data/config/locales/fr/events.yml +5 -5
- data/config/locales/fr/manage/groups.yml +1 -1
- data/config/locales/fr/manage/organization.yml +1 -1
- data/db/migrate/20261013010000_add_handshake_return_to_to_clients.rb +5 -0
- data/lib/generators/masks/server/install/install_generator.rb +2 -2
- data/lib/masks/server/browser_access.rb +35 -0
- data/lib/masks/server/configuration.rb +3 -3
- data/lib/masks/server/engine.rb +1 -0
- data/lib/masks/server/schema_reference.rb +17 -4
- data/lib/masks/server.rb +1 -0
- data/public/masks-assets/.vite/manifest.json +7 -7
- data/public/masks-assets/assets/app-B27oPUll.css +2 -0
- data/public/masks-assets/assets/{initial-D99AzFOd.js → initial-C1GpCiEh.js} +2 -2
- data/public/masks-assets/assets/{initial-D99AzFOd.js.map → initial-C1GpCiEh.js.map} +1 -1
- data/public/masks-assets/assets/login-C_6igRZ3.js +4 -0
- data/public/masks-assets/assets/login-C_6igRZ3.js.map +1 -0
- data/public/masks-assets/assets/manage-Dbfiy3Mj.js +567 -0
- data/public/masks-assets/assets/manage-Dbfiy3Mj.js.map +1 -0
- data/version.txt +1 -1
- metadata +11 -9
- data/app/views/masks/server/application/_person.html.erb +0 -27
- data/public/masks-assets/assets/app-DoQZrM_J.css +0 -2
- data/public/masks-assets/assets/login-CNs1UpxJ.js +0 -4
- data/public/masks-assets/assets/login-CNs1UpxJ.js.map +0 -1
- data/public/masks-assets/assets/manage-isLCrWiU.js +0 -567
- data/public/masks-assets/assets/manage-isLCrWiU.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./passkey-DIj_5LCY.js";import{$ as s,A as c,B as l,C as u,D as d,E as f,G as p,H as m,I as h,J as g,K as _,L as v,M as y,O as b,R as x,T as S,U as C,V as w,W as T,X as E,Y as D,Z as O,at as k,b as A,d as j,f as M,ft as N,i as P,j as F,k as I,l as L,m as R,n as z,nt as B,o as V,ot as H,pt as U,q as W,r as G,s as K,t as q,tt as J,ut as Y,w as X,x as ee,y as Z}from"./initial-C1GpCiEh.js";var te=/%\{(\w+)\}/g;function ne(e,t){return t?e.replace(te,(e,n)=>Object.hasOwn(t,n)?String(t[n]):e):e}function re(e){return(t,n)=>{let r=e()?.[t];return typeof r==`string`?ne(r,n):``}}var ie=document.querySelector(`meta[name="masks-root"]`)?.content??``,ae=new Set([`javascript:`,`data:`,`vbscript:`,`file:`,`blob:`]),oe=e=>{if(typeof e!=`string`||e===``)return!1;try{return!ae.has(new URL(e,window.location.href).protocol)}catch{return!1}},se=()=>document.querySelector(`meta[name="csrf-token"]`)?.content??``;async function ce(e,t,n){let r=await fetch(e,{method:t,credentials:`same-origin`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"X-CSRF-Token":se()},body:n?JSON.stringify(n):void 0});if(!r.ok&&r.status!==422&&r.status!==429)throw Error(`login failed: ${r.status}`);return r.json()}function le(e,t={}){let n=t.url??`${ie}/login`,r=O(D(e)),i=O(!1),a=O(!1),o=null;async function s(e,t,{quiet:s=!1}={}){if(s&&l(i))return l(r);s||(E(i,!0),E(a,!1),o=[e,t]);try{let a=await ce(n,e,l(r).rid?{rid:l(r).rid,...t}:t);return s&&l(i)?l(r):(E(r,a,!0),oe(l(r).redirectTo)&&window.location.assign(l(r).redirectTo),l(r))}catch{return s||E(a,!0),l(r)}finally{s||E(i,!1)}}return{t:re(()=>l(r).copy),get auth(){return l(r)},get loading(){return l(i)},get failed(){return l(a)},get prompt(){return l(r).prompt},get backupCodes(){return l(r).backupCodes},get rememberable(){return l(r).rememberable},get consent(){return l(r).consent},get client(){return l(r).client},get actor(){return l(r).actor},warns(e){return(l(r).warnings??[]).includes(e)},submit(e,t={}){return s(`POST`,{event:e,...t})},startOver(){return s(`DELETE`)},poll(e,t={}){return s(`POST`,{event:e,...t},{quiet:!0})},retry(){return o?s(...o):Promise.resolve(l(r))}}}var ue=y(`<span class="spinner action-mark"></span>`),de=y(`<button><!> </button>`);function Q(e,t){H(t,!0);let n=P(t,`busy`,3,!1),r=P(t,`ready`,3,!0),i=P(t,`working`,3,null),a=P(t,`quiet`,3,!1),o=P(t,`plain`,3,!1),s=P(t,`fit`,3,!1),u=P(t,`grow`,3,!1),f=P(t,`onclick`,3,null),h=P(t,`type`,3,`button`),_=J(()=>n()||t.login.loading),y=J(()=>n()&&i()?i():t.label),b=J(()=>[`action`,a()&&`action-quiet`,o()&&`action-plain`,s()&&`action-fit`,u()&&`action-grow`,n()&&`action-busy`].filter(Boolean).join(` `));var x=de(),S=p(x),C=e=>{var t=ue();c(e,t)};d(S,e=>{n()&&e(C)});var w=g(S);Y(x),m(()=>{M(x,`type`,h()),Z(x,1,A(l(b))),x.disabled=!r()||l(_),M(x,`aria-busy`,n()||void 0),I(w,` ${l(y)??``}`)}),v(`click`,x,function(...e){f()?.apply(this,e)}),c(e,x),k()}h([`click`]);var fe=y(`<span class="record-cap"> </span>`),pe=y(` <em> </em>`,1),me=y(`<p class="prompt-lede"> </p>`),he=y(`<div class="prompt-head"><span aria-hidden="true"></span> <!> <h1 class="prompt-title"> <!></h1> <!></div>`);function $(e,t){H(t,!0);let n=P(t,`name`,3,null),r=P(t,`lede`,3,null),i=P(t,`cap`,3,null),a=P(t,`tone`,3,null),o=P(t,`busy`,3,!1),s=J(()=>a()===null&&(o()||t.login.loading));var u=he(),f=p(u);let h;var v=g(f,2),y=e=>{var t=fe(),n=W(t,!0);m(()=>I(n,i())),c(e,t)};d(v,e=>{i()&&e(y)});var b=g(v,2),x=p(b,!0),S=g(x),C=e=>{var t=pe(),r=g(_(t)),i=W(r,!0);m(()=>I(i,n())),c(e,t)};d(S,e=>{n()&&e(C)}),Y(b);var w=g(b,2),T=e=>{var t=me(),n=W(t,!0);m(()=>I(n,r())),c(e,t)};d(w,e=>{r()&&e(T)}),Y(u),m(()=>{h=Z(f,1,`pulse`,null,h,{"pulse-on":l(s),"pulse-done":a()===`done`,"pulse-bad":a()===`bad`}),I(x,t.title)}),c(e,u),k()}var ge=y(`<div role="alert"> </div>`),_e=y(`<div class="note note-warn recover" role="alert"><span> </span> <button type="button" class="textlink"> </button></div>`),ve=y(`<!> <!>`,1);function ye(e,t){H(t,!0);let n=J(()=>(t.login.auth.messages??[]).filter(e=>!e.field));var r=ve(),i=_(r);X(i,17,()=>l(n),e=>e.key,(e,t)=>{var n=ge(),r=W(n,!0);m(()=>{Z(n,1,A(l(t).tone)),I(r,l(t).text)}),c(e,n)});var a=g(i,2),o=e=>{var n=_e(),r=p(n),i=W(r,!0),a=g(r,2),o=W(a,!0);Y(n),m((e,n)=>{I(i,e),a.disabled=t.login.loading,I(o,n)},[()=>t.login.t(`unreachable`),()=>t.login.loading?t.login.t(`checking`):t.login.t(`try_again`)]),v(`click`,a,()=>t.login.retry()),c(e,n)};d(a,e=>{t.login.failed&&e(o)}),c(e,r),k()}h([`click`]);var be=y(`<span class="field-hint field-hint-bad" role="alert"> </span>`),xe=y(`<span class="field-hint"> </span>`);function Se(e,t){H(t,!0);let n=P(t,`hint`,3,null),r=J(()=>(t.login.auth.messages??[]).find(e=>e.field===t.field));var i=F(),a=_(i),o=e=>{var t=be(),n=W(t,!0);m(()=>I(n,l(r).text)),c(e,t)},s=e=>{var t=xe(),r=W(t,!0);m(()=>I(r,n())),c(e,t)};d(a,e=>{l(r)?e(o):n()&&e(s,1)}),c(e,i),k()}var Ce=y(`<label class="field"><span class="field-label"> </span> <input type="email" class="control" readonly=""/></label>`),we=y(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" class="control" autocomplete="username" readonly=""/></label> <!> <label class="field"><span class="field-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <!></form>`,1);function Te(e,t){H(t,!0);let n=O(``),r=J(()=>t.login.auth.invitation??{}),i=J(()=>l(r).minimum??8),a=J(()=>l(n).length>=l(i));function o(e){e.preventDefault(),l(a)&&!t.login.loading&&t.login.submit(`accept-invitation`,{password:l(n)})}var s=we(),u=_(s);{let e=J(()=>t.login.t(`title`)),n=J(()=>l(r).invitedBy?t.login.t(`invited_by`,{nickname:l(r).invitedBy}):null);$(u,{get login(){return t.login},get title(){return l(e)},get lede(){return l(n)}})}var f=g(u,2),h=p(f),v=p(h),y=W(v,!0),b=g(v,2);j(b),Y(h);var S=g(h,2),C=e=>{var n=Ce(),i=p(n),a=W(i,!0),o=g(i,2);j(o),Y(n),m(e=>{I(a,e),R(o,l(r).email)},[()=>t.login.t(`email`)]),c(e,n)};d(S,e=>{l(r).email&&e(C)});var w=g(S,2),T=p(w),D=W(T,!0),A=g(T,2);j(A),B(A,!0);var N=g(A,2);{let e=J(()=>t.login.t(`hint`,{minimum:l(i)}));Se(N,{get login(){return t.login},field:`password`,get hint(){return l(e)}})}Y(w);var P=g(w,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`working`));Q(P,{get login(){return t.login},type:`submit`,get ready(){return l(a)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(f),m((e,n)=>{M(f,`aria-busy`,t.login.loading||void 0),I(y,e),R(b,l(r).nickname??``),I(D,n)},[()=>t.login.t(`account`),()=>t.login.t(`password`)]),x(`submit`,f,o),L(A,()=>l(n),e=>E(n,e)),c(e,s),k()}var Ee=y(`<div class="whom"><span class="whom-name"> </span> <button type="button" class="textlink"> </button></div>`);function De(e,t){H(t,!0);var n=Ee(),r=p(n),i=W(r,!0),a=g(r,2),o=W(a,!0);Y(n),m(e=>{I(i,t.login.auth.identifier),a.disabled=t.login.loading,I(o,e)},[()=>t.login.t(`not_you`)]),v(`click`,a,()=>t.login.startOver()),c(e,n),k()}h([`click`]);var Oe=y(`<img alt="" class="auth-mark auth-mark-logo"/>`),ke=y(`<span class="auth-mark" aria-hidden="true"> </span>`);function Ae(e,t){H(t,!0);var n=F(),r=_(n),i=e=>{var n=Oe();m(()=>M(n,`src`,t.tenant.logo)),c(e,n)},a=e=>{var n=ke(),r=W(n,!0);m(e=>I(r,e),[()=>q(t.tenant?.name??``)]),c(e,n)};d(r,e=>{t.tenant?.logo?e(i):e(a,-1)}),c(e,n),k()}var je=y(`<span> </span>`),Me=y(`<nav class="tabset"></nav>`);function Ne(e,t){H(t,!0);let n=P(t,`steps`,19,()=>[]);var r=Me();X(r,22,n,e=>e,(e,n,r)=>{let i=J(()=>l(r)+1);var a=je();let o;var s=W(a,!0);m(e=>{o=Z(a,1,`tabset-tab`,null,o,{"tabset-done":l(i)<t.at,"tabset-now":l(i)===t.at}),M(a,`aria-current`,l(i)===t.at?`step`:void 0),I(s,e)},[()=>t.login.t(`tab_${n}`)]),c(e,a)}),Y(r),m(e=>M(r,`aria-label`,e),[()=>t.login.t(`tabs`)]),c(e,r),k()}var Pe=y(`<img src="/masks-public/icon.svg" alt="" class="auth-mark auth-mark-rose"/>`),Fe=y(`<div class="auth-pair"><span aria-hidden="true"> </span> <span class="auth-wire"></span> <!></div> <!> <!>`,1);function Ie(e,t){H(t,!0);let n=P(t,`mark`,3,``),r=J(()=>t.login.auth.tenant?.name??``),i=J(()=>t.login.auth.signingUp??{steps:[]});var a=Fe(),o=_(a),s=p(o);let u;var f=W(s,!0),h=g(s,4),v=e=>{var t=Pe();c(e,t)},y=e=>{Ae(e,{get tenant(){return t.login.auth.tenant}})};d(h,e=>{l(i).firstRun?e(v):e(y,-1)}),Y(o);var b=g(o,2),x=e=>{{let n=J(()=>t.login.t(`setup_title`)),i=J(()=>t.login.t(`setup_cap`));$(e,{get login(){return t.login},get title(){return l(n)},get name(){return l(r)},get cap(){return l(i)}})}},S=e=>{{let n=J(()=>t.login.t(`signup_title`));$(e,{get login(){return t.login},get title(){return l(n)},get name(){return l(r)}})}};d(b,e=>{l(i).firstRun?e(x):e(S,-1)});var C=g(b,2);{let e=J(()=>t.at??l(i).steps.length);Ne(C,{get login(){return t.login},get steps(){return l(i).steps},get at(){return l(e)}})}m((e,t)=>{u=Z(s,1,`auth-mark auth-mark-client`,null,u,{"auth-mark-pending":e}),I(f,t)},[()=>!n().trim(),()=>q(n())]),c(e,a),k()}var Le=y(`<p class="aside"> </p>`),Re=y(`<p class="aside aside-bad" role="alert"> </p>`),ze=y(`<div class="flow-tight"><!> <!> <!></div>`);function Be(n,i){H(i,!0);let a=P(i,`enrolling`,3,!1),s=P(i,`label`,3,null),u=P(i,`params`,19,()=>({})),f=O(!1),h=O(null),v=J(()=>(a()||!!i.login.auth.passkey?.offered)&&t());async function y(){E(f,!0),E(h,null);let t=null;try{let n=await i.login.submit(a()?`enrol:passkey-challenge`:`passkey:challenge`,{}),r=a()?n.enrolment?.passkeys?.options:n.passkey?.options;if(!r){E(h,i.login.t(`passkey_unoffered`),!0);return}t=performance.now();let s=a()?await e(r):await o(r);await i.login.submit(a()?`enrol:passkey`:`passkey:verify`,{...u(),passkey:s})}catch(e){(!r(e)||t!==null&&performance.now()-t<500)&&E(h,i.login.t(`passkey_unusable`),!0)}finally{E(f,!1)}}var b=F(),x=_(b),S=e=>{var t=ze(),n=p(t);{let e=J(()=>s()??i.login.t(`use_passkey`)),t=J(()=>i.login.t(`waiting_for_passkey`));Q(n,{get login(){return i.login},quiet:!0,get busy(){return l(f)},get label(){return l(e)},get working(){return l(t)},onclick:y})}var r=g(n,2),a=e=>{var t=Le(),n=W(t,!0);m(e=>I(n,e),[()=>i.login.t(`passkey_hint`)]),c(e,t)};d(r,e=>{l(f)&&e(a)});var o=g(r,2),u=e=>{var t=Re(),n=W(t,!0);m(()=>I(n,l(h))),c(e,t)};d(o,e=>{l(h)&&e(u)}),Y(t),c(e,t)};d(x,e=>{l(v)&&e(S)}),c(n,b),k()}var Ve=y(`<form class="flow-tight"><input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9 ]*" autocomplete="one-time-code" maxlength="7" spellcheck="false"/> <!></form>`),He=y(`<!> <p class="aside"> </p>`,1),Ue=y(`<!> <!>`,1),We=y(`<span class="ledger-value"> </span>`),Ge=y(`<div class="enrol"><a class="enrol-qr"></a> <div class="enrol-key"><span class="field-hint"> </span> <span class="aside-mono enrol-secret"> </span></div></div> <!>`,1),Ke=y(`<div><span class="ledger-label"> </span> <!></div>`),qe=y(`<div><span class="ledger-label"> </span> <span class="field-hint"> </span> <!></div>`),Je=y(`<span class="field-hint"> </span> <!>`,1),Ye=y(`<li class="aside-mono"> </li>`),Xe=y(`<ol class="codes"></ol> <span class="field-hint"> </span> <div class="codes-actions"><button type="button" class="textlink"> </button> <a class="textlink"> </a></div>`,1),Ze=y(`<span class="field-hint"> </span>`),Qe=y(`<label class="check"><input type="checkbox" name="kept" required=""/> <span> </span></label>`),$e=y(`<div><!> <div class="slab"><!> <!> <!> <!></div> <form class="flow"><!> <!></form></div>`);function et(e,n){H(n,!0);let r=(e,t=N)=>{var r=Ve(),i=p(r);j(i);var a=g(i,2);{let e=J(()=>z(t())),r=J(()=>n.login.t(`turn_on`));Q(a,{get login(){return n.login},type:`submit`,quiet:!0,get ready(){return l(e)},get label(){return l(r)}})}Y(r),m((e,t)=>{M(r,`aria-busy`,n.login.loading||void 0),M(i,`aria-label`,e),M(i,`placeholder`,t)},[()=>n.login.t(`code`),()=>n.login.t(`code`)]),x(`submit`,r,e=>B(e,t())),L(i,()=>w[t()],e=>w[t()]=e),c(e,r)},i=J(()=>n.login.auth.enrolment??{}),a=J(()=>l(i).otp??{}),o=J(()=>l(i).passkeys??{count:0}),s=J(()=>l(i).backupCodes??{}),f=J(()=>!!n.login.auth.signingUp),h=J(()=>l(i).offers??{otp:!0,passkey:!0,backupCodes:!0}),y=J(()=>!l(i).required),b=J(()=>l(s).issued??[]),S=J(()=>Object.entries(l(i).codes??{})),C=J(()=>l(h).passkey&&t()),w=D({"enrol:otp":``,"enrol:code":``}),T=O(!1),A=O(!1),P=J(()=>l(y)&&(l(b).length===0||l(T))),F=J(()=>!!(l(a).enabled||l(o).count>0||l(S).some(([,e])=>e.enabled))),R=J(()=>l(i).required?n.login.t(`lede`):n.login.t(`lede_optional`)),z=e=>w[e].replace(/\D/g,``).length===6;function B(e,t){if(e.preventDefault(),!z(t)||n.login.loading)return;let r=w[t];w[t]=``,n.login.submit(t,{code:r})}let V=typeof location>`u`?``:location.origin,G=typeof location>`u`?`masks`:location.hostname,q=J(()=>{let e=[n.login.t(`backup_codes_file`,{account:n.login.actor?.identifier??``,origin:V}),n.login.t(`backup_codes_hint`),``,...l(b),``];return`data:text/plain;charset=utf-8,${encodeURIComponent(e.join(`
|
|
2
|
+
`))}`});async function ee(){try{await navigator.clipboard.writeText(l(b).join(`
|
|
3
|
+
`)),E(A,!0)}catch{E(A,!1)}}function te(e){e.preventDefault(),l(P)&&!n.login.loading&&n.login.submit(`enrol:done`,{kept:l(T)})}var ne=$e();let re;var ie=p(ne),ae=e=>{var t=He(),r=_(t);{let e=J(()=>n.login.actor?.identifier??``);Ie(r,{get login(){return n.login},at:2,get mark(){return l(e)}})}var i=g(r,2),a=W(i,!0);m(()=>I(a,l(R))),c(e,t)},oe=e=>{var t=Ue(),r=_(t);{let e=J(()=>n.login.t(`title`));$(r,{get login(){return n.login},get title(){return l(e)},get lede(){return l(R)}})}De(g(r,2),{get login(){return n.login}}),c(e,t)};d(ie,e=>{l(f)?e(ae):e(oe,-1)});var se=g(ie,2),ce=p(se),le=e=>{var t=Ke();let i;var o=p(t),s=W(o,!0),f=g(o,2),h=e=>{var t=We(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`otp_on`)]),c(e,t)},v=e=>{var t=Ge(),i=_(t),o=p(i);u(o,()=>l(a).qr,!0),Y(o);var s=g(o,2),d=p(s),f=W(d,!0),h=g(d,2),v=W(h,!0);Y(s),Y(i);var y=g(i,2);r(y,()=>`enrol:otp`),m((e,t)=>{M(o,`href`,l(a).uri),M(o,`aria-label`,e),I(f,t),I(v,l(a).secret)},[()=>n.login.t(`open`),()=>n.login.t(`scan_hint`)]),c(e,t)};d(f,e=>{l(a).enabled?e(h):e(v,-1)}),Y(t),m(e=>{i=Z(t,1,`ledger-row ledger-step`,null,i,{"ledger-step-done":l(a).enabled}),I(s,e)},[()=>n.login.t(`otp`)]),c(e,t)};d(ce,e=>{l(h).otp&&e(le)});var ue=g(ce,2),de=e=>{var t=qe();let r;var i=p(t),a=W(i,!0),s=g(i,2),u=W(s,!0),d=g(s,2);{let e=J(()=>l(o).count>0?n.login.t(`add_another_passkey`):n.login.t(`add_passkey`));Be(d,{get login(){return n.login},enrolling:!0,get label(){return l(e)}})}Y(t),m((e,n)=>{r=Z(t,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":l(o).verified}),I(a,e),I(u,n)},[()=>n.login.t(`passkeys`),()=>l(o).count>0?n.login.t(`passkeys_some`,{count:l(o).count}):n.login.t(`passkeys_none`)]),c(e,t)};d(ue,e=>{l(C)&&e(de)});var fe=g(ue,2);X(fe,17,()=>l(S),([e,t])=>e,(e,t)=>{var i=J(()=>U(l(t),2));let a=()=>l(i)[0],o=()=>l(i)[1];var s=Ke();let u;var f=p(s),h=W(f,!0),v=g(f,2),y=e=>{var t=We(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`otp_on`)]),c(e,t)},b=e=>{var t=Je(),i=_(t),a=W(i,!0),s=g(i,2);r(s,()=>`enrol:code`),m(e=>I(a,e),[()=>n.login.t(`sent_to`,{to:o().to})]),c(e,t)},x=e=>{var t=Je(),r=_(t),i=W(r,!0),s=g(r,2);{let e=J(()=>n.login.t(`send_code`));Q(s,{get login(){return n.login},quiet:!0,get label(){return l(e)},onclick:()=>n.login.submit(`enrol:code-send`,{factor:a()})})}m(e=>I(i,e),[()=>n.login.t(`codes_${a()}_hint`,{to:o().to})]),c(e,t)};d(v,e=>{o().enabled?e(y):o().sent?e(b,1):e(x,-1)}),Y(s),m(e=>{u=Z(s,1,`ledger-row ledger-step`,null,u,{"ledger-step-done":o().enabled}),I(h,e)},[()=>n.login.t(`codes_${a()}`)]),c(e,s)});var pe=g(fe,2),me=e=>{var t=Ke();let r;var i=p(t),a=W(i,!0),o=g(i,2),u=e=>{var t=Xe(),r=_(t);X(r,20,()=>l(b),e=>e,(e,t)=>{var n=Ye(),r=W(n,!0);m(()=>I(r,t)),c(e,n)}),Y(r);var i=g(r,2),a=W(i,!0),o=g(i,2),s=p(o),u=W(s,!0),d=g(s,2),f=W(d,!0);Y(o),m((e,t,n)=>{I(a,e),I(u,t),M(d,`href`,l(q)),M(d,`download`,`backup-codes-${G??``}.txt`),I(f,n)},[()=>n.login.t(`backup_codes_hint`),()=>l(A)?n.login.t(`copied`):n.login.t(`copy`),()=>n.login.t(`download`)]),v(`click`,s,ee),c(e,t)},f=e=>{var t=Ze(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`backup_codes_left`,{count:l(s).remaining})]),c(e,t)},h=e=>{var t=Ze(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`backup_codes_waiting`)]),c(e,t)};d(o,e=>{l(b).length>0?e(u):l(s).remaining>0?e(f,1):e(h,-1)}),Y(t),m(e=>{r=Z(t,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":l(b).length>0||l(s).remaining>0}),I(a,e)},[()=>n.login.t(`backup_codes`)]),c(e,t)};d(pe,e=>{l(h).backupCodes&&e(me)}),Y(se);var he=g(se,2),ge=p(he),_e=e=>{var t=Qe(),r=p(t);j(r);var i=g(r,2),a=W(i,!0);Y(t),m(e=>I(a,e),[()=>n.login.t(`kept`)]),K(r,()=>l(T),e=>E(T,e)),c(e,t)};d(ge,e=>{l(b).length>0&&e(_e)});var ve=g(ge,2);{let e=J(()=>l(F)||l(i).required?n.login.t(`done`):n.login.t(`skip`)),t=J(()=>n.login.t(`working`));Q(ve,{get login(){return n.login},type:`submit`,get ready(){return l(P)},get busy(){return n.login.loading},get label(){return l(e)},get working(){return l(t)}})}Y(he),Y(ne),m(()=>re=Z(ne,1,`flow`,null,re,{setup:l(f),"setup-ready":l(f)&&l(P)})),x(`submit`,he,te),c(e,ne),k()}h([`click`]);var tt=y(`<!> <!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="backup_code" class="control control-mono" autocomplete="one-time-code" spellcheck="false" autocapitalize="off"/> <span class="field-hint"> </span></label> <!></form> <!>`,1);function nt(e,t){H(t,!0);let n=O(``),r=J(()=>l(n).trim().length>=8);function i(e){if(e.preventDefault(),!l(r)||t.login.loading)return;let i=l(n);E(n,``),t.login.submit(`backup`,{backup_code:i})}var a=tt(),o=_(a);{let e=J(()=>t.login.t(`title`));$(o,{get login(){return t.login},get title(){return l(e)}})}var s=g(o,2);De(s,{get login(){return t.login}});var u=g(s,2),d=p(u),f=p(d),h=W(f,!0),v=g(f,2);j(v),B(v,!0);var y=g(v,2),b=W(y,!0);Y(d);var S=g(d,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`checking`));Q(S,{get login(){return t.login},type:`submit`,get ready(){return l(r)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(u);var C=g(u,2);{let e=J(()=>t.login.t(`use_authenticator`));Q(C,{get login(){return t.login},plain:!0,get label(){return l(e)},onclick:()=>t.login.submit(`use-authenticator`,{})})}m((e,n)=>{M(u,`aria-busy`,t.login.loading||void 0),I(h,e),I(b,n)},[()=>t.login.t(`code`),()=>t.login.t(`hint`)]),x(`submit`,u,i),L(v,()=>l(n),e=>E(n,e)),c(e,a),k()}var rt=document.querySelector(`meta[name="csrf-token"]`)?.content??``,it=y(`<span class="actor-note"> </span>`),at=y(`<span class="actor-sub"> <!></span>`),ot=y(`<span class="actor-role"> </span>`),st=y(`<form class="signout" method="post"><input type="hidden" name="authenticity_token"/> <button type="submit" class="textlink"> </button></form>`),ct=y(`<div class="actor"><img width="44" height="44" alt="" class="avatar actor-avatar"/> <div class="actor-who"><span class="actor-name"> </span> <!> <!></div> <!></div>`);function lt(e,t){H(t,!0);let n=P(t,`signOut`,3,null);var r=ct(),i=p(r),a=g(i,2),o=p(a),s=W(o,!0),l=g(o,2),u=e=>{var n=at(),r=p(n),i=g(r),a=e=>{var n=it(),r=W(n,!0);m(()=>I(r,t.actor.note)),c(e,n)};d(i,e=>{t.actor.note&&e(a)}),Y(n),m(e=>I(r,`${e??``} `),[()=>t.actor.details.join(` · `)]),c(e,n)};d(l,e=>{(t.actor.details.length||t.actor.note)&&e(u)});var f=g(l,2),h=e=>{var n=ot(),r=W(n,!0);m(()=>I(r,t.actor.role)),c(e,n)};d(f,e=>{t.actor.role&&e(h)}),Y(a);var _=g(a,2),v=e=>{var t=st(),r=p(t);j(r);var i=g(r,2),a=W(i,!0);Y(t),m(()=>{M(t,`action`,`${ie}/logout`),R(r,rt),I(a,n())}),c(e,t)};d(_,e=>{n()&&e(v)}),Y(r),m(()=>{M(i,`src`,t.actor.avatar),I(s,t.actor.name)}),c(e,r),k()}var ut=y(`<li><button type="button" class="org-pick"><span class="org-pick-mark" aria-hidden="true"> </span> <span class="org-pick-name"> </span> <span class="org-pick-role"> </span></button></li>`),dt=y(`<!> <!> <ul class="org-picks"></ul>`,1);function ft(e,t){H(t,!0);let n=O(null),r=J(()=>t.login.auth.organizations??[]),i=J(()=>t.login.client?.name??``);async function a(e){E(n,e.key,!0);try{await t.login.submit(`organization`,{organization:e.key})}finally{E(n,null)}}var o=dt(),s=_(o);{let e=J(()=>l(i)?t.login.t(`title_to`,{client:l(i)}):t.login.t(`title`)),n=J(()=>t.login.t(`lede`));$(s,{get login(){return t.login},get title(){return l(e)},get lede(){return l(n)}})}var u=g(s,2),f=e=>{{let n=J(()=>t.login.t(`sign_out`));lt(e,{get actor(){return t.login.auth.actor.card},get signOut(){return l(n)}})}};d(u,e=>{t.login.auth.actor?.card&&e(f)});var h=g(u,2);X(h,21,()=>l(r),e=>e.key,(e,r)=>{var i=ut(),o=p(i),s=p(o),u=W(s,!0),d=g(s,2),f=W(d,!0),h=g(d,2),_=W(h,!0);Y(o),Y(i),m((e,i,a)=>{o.disabled=t.login.loading,M(o,`aria-busy`,l(n)===l(r).key||void 0),M(o,`aria-label`,e),I(u,i),I(f,l(r).name),I(_,a)},[()=>t.login.t(`as`,{organization:l(r).name,role:l(r).role}),()=>z(l(r).name),()=>l(n)===l(r).key?t.login.t(`working`):l(r).role]),v(`click`,o,()=>a(l(r))),c(e,i)}),Y(h),m(e=>M(h,`aria-label`,e),[()=>t.login.t(`title`)]),c(e,o),k()}h([`click`]);var pt=y(`<img alt="" class="auth-mark auth-mark-client auth-mark-logo" referrerpolicy="no-referrer"/>`),mt=y(`<span class="auth-mark auth-mark-client" aria-hidden="true"> </span>`);function ht(e,t){H(t,!0);var n=F(),r=_(n),i=e=>{var n=pt();m(()=>M(n,`src`,t.client.logo)),c(e,n)},a=e=>{var n=mt(),r=W(n,!0);m(e=>I(r,e),[()=>q(t.client?.name)]),c(e,n)};d(r,e=>{t.client?.logo?e(i):e(a,-1)}),c(e,n),k()}var gt=/(:write|:command|:exec|:delete|:admin)$|^offline_access$|^masks:delegate:./;function _t(e){return gt.test(String(e))}function vt(e){let t=[],n=[];for(let r of e??[])(_t(r[0])?t:n).push(r);return{hot:t,rest:n}}var yt=y(`<p class="empty"> </p>`),bt=y(`<li class="grant-scope grant-scope-hot"><span> </span> <span class="chip-key"> </span></li>`),xt=y(`<li class="grant-scope-split"></li>`),St=y(`<li class="grant-scope"><span> </span> <span class="chip-key"> </span></li>`),Ct=y(`<span class="ledger-value aside-mono"> </span>`),wt=y(`<div class="ledger-row"><span class="ledger-label"> </span> <!></div>`),Tt=y(`<dt> </dt> <dd class="aside-mono"> </dd>`,1),Et=y(`<dl class="grant-fields"></dl>`),Dt=y(`<li class="grant-scope grant-scope-hot grant-detail"><span> </span> <span class="chip-key"> </span> <!></li>`),Ot=y(`<div class="ledger-row"><span class="ledger-label"> </span> <ul class="grant-scopes"></ul></div>`),kt=y(`<div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div>`),At=y(`<a class="textlink" rel="noopener noreferrer" target="_blank"> </a>`),jt=y(`<p class="aside client-links"></p>`),Mt=y(`<div class="auth-pair"><!> <span class="auth-wire"></span> <!></div> <!> <!> <div class="slab"><div class="ledger-row"><span class="ledger-label"> </span> <!> <ul class="grant-scopes"><!> <!> <!></ul></div> <!> <!> <!></div> <!> <div class="action-row"><!> <!></div>`,1);function Nt(e,t){H(t,!0);let n=J(()=>vt(t.login.consent?.scopes??[])),r=J(()=>t.login.consent?.audience??[]),i=J(()=>t.login.consent?.details??[]),a=J(()=>t.login.client?.name??``),o=J(()=>[[`site`,t.login.t(`site`,{client:l(a)})],[`terms`,t.login.t(`terms`)],[`privacy`,t.login.t(`privacy`)]].filter(([e])=>t.login.client?.[e]));var s=Mt(),u=_(s),f=p(u);ht(f,{get client(){return t.login.client}}),Ae(g(f,4),{get tenant(){return t.login.auth.tenant}}),Y(u);var h=g(u,2);{let e=J(()=>t.login.t(`title`,{client:l(a)}));$(h,{get login(){return t.login},get title(){return l(e)}})}var v=g(h,2),y=e=>{{let n=J(()=>t.login.t(`sign_out`));lt(e,{get actor(){return t.login.auth.actor.card},get signOut(){return l(n)}})}};d(v,e=>{t.login.auth.actor?.card&&e(y)});var b=g(v,2),x=p(b),C=p(x),w=W(C,!0),T=g(C,2),E=e=>{var n=yt(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`no_access`)]),c(e,n)};d(T,e=>{!l(n).hot.length&&!l(n).rest.length&&e(E)});var D=g(T,2),O=p(D);X(O,17,()=>l(n).hot,([e,t])=>e,(e,t)=>{var n=J(()=>U(l(t),2));let r=()=>l(n)[0],i=()=>l(n)[1];var a=bt(),o=p(a),s=W(o,!0),u=g(o,2),d=W(u,!0);Y(a),m(()=>{I(s,i()),I(d,r())}),c(e,a)});var A=g(O,2),j=e=>{var t=xt();c(e,t)};d(A,e=>{l(n).hot.length&&l(n).rest.length&&e(j)});var N=g(A,2);X(N,17,()=>l(n).rest,([e,t])=>e,(e,t)=>{var n=J(()=>U(l(t),2));let r=()=>l(n)[0],i=()=>l(n)[1];var a=St(),o=p(a),s=W(o,!0),u=g(o,2),d=W(u,!0);Y(a),m(()=>{I(s,i()),I(d,r())}),c(e,a)}),Y(D),Y(x);var P=g(x,2),F=e=>{var n=wt(),i=p(n),a=W(i,!0),o=g(i,2);X(o,16,()=>l(r),e=>e,(e,t)=>{var n=Ct(),r=W(n,!0);m(()=>I(r,t)),c(e,n)}),Y(n),m(e=>I(a,e),[()=>t.login.t(`audience`)]),c(e,n)};d(P,e=>{l(r).length&&e(F)});var L=g(P,2),R=e=>{var n=Ot(),r=p(n),a=W(r,!0),o=g(r,2);X(o,21,()=>l(i),S,(e,t)=>{var n=Dt(),r=p(n),i=W(r,!0),a=g(r,2),o=W(a,!0),s=g(a,2),u=e=>{var n=Et();X(n,21,()=>l(t).fields,([e,t])=>e,(e,t)=>{var n=J(()=>U(l(t),2));let r=()=>l(n)[0],i=()=>l(n)[1];var a=Tt(),o=_(a),s=W(o,!0),u=g(o,2),d=W(u,!0);m(()=>{I(s,r()),I(d,i())}),c(e,a)}),Y(n),c(e,n)};d(s,e=>{l(t).fields.length&&e(u)}),Y(n),m(()=>{I(i,l(t).label),I(o,l(t).type)}),c(e,n)}),Y(o),Y(n),m(e=>I(a,e),[()=>t.login.t(`details`)]),c(e,n)};d(L,e=>{l(i).length&&e(R)});var z=g(L,2),B=e=>{var n=kt(),r=p(n),i=W(r,!0),a=g(r,2),o=W(a,!0);Y(n),m(e=>{I(i,e),I(o,t.login.client.returnsTo)},[()=>t.login.t(`returns_to`)]),c(e,n)};d(z,e=>{t.login.client?.returnsTo&&e(B)}),Y(b);var V=g(b,2),G=e=>{var n=jt();X(n,21,()=>l(o),([e,t])=>e,(e,n)=>{var r=J(()=>U(l(n),2));let i=()=>l(r)[0],a=()=>l(r)[1];var o=At(),s=W(o,!0);m(()=>{M(o,`href`,t.login.client[i()]),I(s,a())}),c(e,o)}),Y(n),c(e,n)};d(V,e=>{l(o).length&&e(G)});var K=g(V,2),q=p(K);{let e=J(()=>t.login.t(`allow`)),n=J(()=>t.login.t(`working`));Q(q,{get login(){return t.login},grow:!0,get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)},onclick:()=>t.login.submit(`consent`,{approve:`yes`})})}var ee=g(q,2);{let e=J(()=>t.login.t(`deny`));Q(ee,{get login(){return t.login},quiet:!0,fit:!0,get label(){return l(e)},onclick:()=>t.login.submit(`decline`,{})})}Y(K),m(e=>I(w,e),[()=>t.login.t(`access`)]),c(e,s),k()}var Pt=y(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9]*" autocomplete="one-time-code" maxlength="6" spellcheck="false"/></label> <!></form>`);function Ft(e,t){H(t,!0);let n=O(``),r=J(()=>l(n).replace(/\D/g,``).length===6);function i(){if(!l(r)||t.login.loading)return;let e=l(n);E(n,``),t.login.submit(t.event,{code:e})}function a(e){e.preventDefault(),i()}C(()=>{l(r)&&i()});var o=Pt(),s=p(o),u=p(s),d=W(u,!0),f=g(u,2);j(f),B(f,!0),Y(s);var h=g(s,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`checking`));Q(h,{get login(){return t.login},type:`submit`,get ready(){return l(r)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(o),m(e=>{M(o,`aria-busy`,t.login.loading||void 0),I(d,e)},[()=>t.login.t(`code`)]),x(`submit`,o,a),L(f,()=>l(n),e=>E(n,e)),c(e,o),k()}function It(e,t){H(t,!0);let n=P(t,`event`,3,`confirm:resend`),r=P(t,`ready`,3,null),i=O(!1);async function a(){await t.login.submit(n(),{}),E(i,!0)}{let n=J(()=>r()??t.login.auth.confirmation?.resendable!==!1),o=J(()=>l(i)?t.login.t(`sent_again`):t.login.t(`send_again`));Q(e,{get login(){return t.login},plain:!0,get ready(){return l(n)},get label(){return l(o)},onclick:a})}k()}var Lt=y(`<!> <!> <!> <!>`,1);function Rt(e,t){H(t,!0);var n=Lt(),r=_(n);{let e=J(()=>t.login.t(`title`)),n=J(()=>t.login.t(`lede`,{identifier:t.login.identifier??``}));$(r,{get login(){return t.login},get title(){return l(e)},get lede(){return l(n)}})}var i=g(r,2);De(i,{get login(){return t.login}});var a=g(i,2);Ft(a,{get login(){return t.login},event:`email-code:verify`});var o=g(a,2);{let e=J(()=>t.login.auth.emailCode?.resendable!==!1);It(o,{get login(){return t.login},event:`email-code:send`,get ready(){return l(e)}})}c(e,n),k()}var zt=y(`<div class="providers"></div>`);function Bt(e,t){H(t,!0);let n=J(()=>t.login.auth.providers??[]);var r=F(),i=_(r),a=e=>{var r=zt();X(r,21,()=>l(n),e=>e.key,(e,n)=>{{let r=J(()=>t.login.t(`continue_with`,{provider:l(n).name}));Q(e,{get login(){return t.login},quiet:!0,get label(){return l(r)},onclick:()=>t.login.submit(`provider`,{provider:l(n).key})})}}),Y(r),c(e,r)};d(i,e=>{l(n).length&&e(a)}),c(e,r),k()}var Vt=y(`<div class="otherwise"><span class="providers-rule"> </span> <!> <!></div>`);function Ht(e,n){H(n,!0);let r=J(()=>!!n.login.auth.passkey?.offered&&t()),i=J(()=>(n.login.auth.providers??[]).length>0);var a=F(),o=_(a),s=e=>{var t=Vt(),r=p(t),i=W(r,!0),a=g(r,2);Be(a,{get login(){return n.login}}),Bt(g(a,2),{get login(){return n.login}}),Y(t),m(e=>I(i,e),[()=>n.login.t(`or`)]),c(e,t)};d(o,e=>{(l(r)||l(i))&&e(s)}),c(e,a),k()}var Ut=y(`<form class="flow"><div class="field"><div class="field-line"><label class="field-label" for="password"> </label> <button type="button" class="textlink"> </button></div> <input id="password" type="password" name="password" class="control" autocomplete="current-password"/></div> <!></form>`),Wt=y(`<!> <!> <!> <!> <!>`,1);function Gt(e,t){H(t,!0);let n=O(``),r=J(()=>l(n).length>0),i=J(()=>!!t.login.auth.password?.offered),a=J(()=>!!t.login.auth.emailCode);function o(e){e.preventDefault(),l(r)&&!t.login.loading&&t.login.submit(`password`,{password:l(n)}).then(()=>{E(n,``)})}var s=Wt(),u=_(s);{let e=J(()=>l(i)||!l(a)?t.login.t(`title`):t.login.t(`title_code`));$(u,{get login(){return t.login},get title(){return l(e)}})}var f=g(u,2);De(f,{get login(){return t.login}});var h=g(f,2),y=e=>{var i=Ut(),a=p(i),s=p(a),u=p(s),d=W(u,!0),f=g(u,2),h=W(f,!0);Y(s);var _=g(s,2);j(_),B(_,!0),Y(a);var y=g(a,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`checking`));Q(y,{get login(){return t.login},type:`submit`,get ready(){return l(r)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(i),m((e,n)=>{M(i,`aria-busy`,t.login.loading||void 0),I(d,e),f.disabled=t.login.loading,I(h,n)},[()=>t.login.t(`password`),()=>t.login.t(`forgot`)]),x(`submit`,i,o),v(`click`,f,()=>t.login.submit(`forgot-password`,{})),L(_,()=>l(n),e=>E(n,e)),c(e,i)};d(h,e=>{l(i)&&e(y)});var b=g(h,2),S=e=>{{let n=J(()=>l(i)?t.login.t(`email_me`):t.login.t(`email_only`));Q(e,{get login(){return t.login},get quiet(){return l(i)},get label(){return l(n)},onclick:()=>t.login.submit(`email-code:send`,{})})}};d(b,e=>{l(a)&&e(S)}),Ht(g(b,2),{get login(){return t.login}}),c(e,s),k()}h([`click`]);function Kt(e,t){H(t,!0);let n=P(t,`tone`,3,null),r=J(()=>t.login.auth.client),i=J(()=>l(r)?.name?t.login.t(`heading_to`,{client:l(r).name}):t.login.t(`heading`));$(e,{get login(){return t.login},get title(){return l(i)},get tone(){return n()}}),k()}var qt=y(`<span class="field-hint"> </span>`),Jt=y(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="identifier" class="control" autocomplete="username webauthn" autocapitalize="none" autocorrect="off" spellcheck="false"/> <!></label> <!></form> <!>`,1),Yt=y(`<!> <!>`,1);function Xt(e,t){H(t,!0);let r=O(``),o=J(()=>l(r).trim().length>0);G(()=>{let e=!0;return(async()=>{if(!t.login.auth.passkey?.offered||!await i()||!e)return;let r=(await t.login.poll(`passkey:challenge`)).passkey?.options;if(!r||!e)return;let a=await n(r);e&&await t.login.submit(`passkey:verify`,{passkey:a})})().catch(()=>{}),()=>{e=!1,a()}});function s(e){e.preventDefault(),l(o)&&!t.login.loading&&t.login.submit(`identify`,{identifier:l(r)})}var u=Yt(),f=_(u);Kt(f,{get login(){return t.login}});var h=g(f,2),v=e=>{var n=Jt(),i=_(n),a=p(i),u=p(a),f=W(u,!0),h=g(u,2);j(h),B(h,!0);var v=g(h,2),y=e=>{var n=qt(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`signup_hint`)]),c(e,n)};d(v,e=>{t.login.auth.signupOpen&&e(y)}),Y(a);var b=g(a,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`checking`));Q(b,{get login(){return t.login},type:`submit`,get ready(){return l(o)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(i),Ht(g(i,2),{get login(){return t.login}}),m(e=>{M(i,`aria-busy`,t.login.loading||void 0),I(f,e)},[()=>t.login.t(`identifier`)]),x(`submit`,i,s),L(h,()=>l(r),e=>E(r,e)),c(e,n)},y=e=>{Bt(e,{get login(){return t.login}})};d(h,e=>{t.login.auth.identifies===!1?e(y,-1):e(v)}),c(e,u),k()}var Zt=y(`<!> <!>`,1),Qt=y(`<p class="note note-warn" role="alert"> </p>`),$t=y(`<!> <!> <!>`,1);function en(e,t){H(t,!0);let n=J(()=>t.login.auth.inbox??{});var r=$t(),i=_(r);{let e=J(()=>t.login.t(`title`)),r=J(()=>l(n).mails?t.login.t(`lede`,{email:l(n).email}):null);$(i,{get login(){return t.login},get title(){return l(e)},get lede(){return l(r)}})}var a=g(i,2);De(a,{get login(){return t.login}});var o=g(a,2),s=e=>{var r=Zt(),i=_(r);Ft(i,{get login(){return t.login},event:`inbox:verify`});var a=g(i,2);{let e=J(()=>l(n).resendable!==!1);It(a,{get login(){return t.login},event:`inbox:resend`,get ready(){return l(e)}})}c(e,r)},u=e=>{var n=Qt(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`no_mailer`)]),c(e,n)};d(o,e=>{l(n).mails?e(s):e(u,-1)}),c(e,r),k()}var tn=y(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" class="control" autocomplete="username" readonly=""/></label> <label class="field"><span class="field-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <!></form>`,1);function nn(e,t){H(t,!0);let n=O(``),r=J(()=>t.login.auth.reset??{}),i=J(()=>l(r).minimum??8),a=J(()=>l(n).length>=l(i));function o(e){e.preventDefault(),l(a)&&!t.login.loading&&t.login.submit(`reset-password`,{password:l(n)})}var s=tn(),u=_(s);{let e=J(()=>t.login.t(`title`));$(u,{get login(){return t.login},get title(){return l(e)}})}var d=g(u,2),f=p(d),h=p(f),v=W(h,!0),y=g(h,2);j(y),Y(f);var b=g(f,2),S=p(b),C=W(S,!0),w=g(S,2);j(w),B(w,!0);var T=g(w,2);{let e=J(()=>t.login.t(`hint`,{minimum:l(i)}));Se(T,{get login(){return t.login},field:`password`,get hint(){return l(e)}})}Y(b);var D=g(b,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`working`));Q(D,{get login(){return t.login},type:`submit`,get ready(){return l(a)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(d),m((e,n)=>{M(d,`aria-busy`,t.login.loading||void 0),I(v,e),R(y,l(r).nickname??``),I(C,n)},[()=>t.login.t(`account`),()=>t.login.t(`password`)]),x(`submit`,d,o),L(w,()=>l(n),e=>E(n,e)),c(e,s),k()}var rn=y(`<p class="aside" role="status"> </p>`),an=y(`<label class="check"><input type="checkbox"/> <span> </span></label>`),on=y(`<!> <!> <!> <!>`,1),sn=y(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9 ]*" autocomplete="one-time-code" maxlength="7" spellcheck="false"/></label> <!> <!></form>`),cn=y(`<!> <!>`,1),ln=y(`<div class="slab flow-tight" aria-live="polite"><span class="aside-mono approval-code"> </span> <span class="field-hint"> </span> <span class="aside"> </span></div>`),un=y(`<p class="aside aside-bad" role="alert"> </p>`),dn=y(`<!> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function fn(e,n){H(n,!0);let r=e=>{var t=F(),r=_(t),i=e=>{var t=rn(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`recovery_requested`)]),c(e,t)},a=e=>{{let t=J(()=>n.login.t(l(D)?`recovery_ask`:`recovery_request`));Q(e,{get login(){return n.login},plain:!0,get label(){return l(t)},onclick:()=>n.login.submit(`recovery:request`,{})})}};d(r,e=>{l(A).requested?e(i):e(a,-1)}),c(e,t)},i=e=>{var t=F(),r=_(t),i=e=>{var t=an(),r=p(t);j(r);var i=g(r,2),a=W(i,!0);Y(t),m(e=>I(a,e),[()=>n.login.t(`trust`,{duration:n.login.auth.trustFor})]),K(r,()=>l(o),e=>E(o,e)),c(e,t)};d(r,e=>{n.login.rememberable&&e(i)}),c(e,t)},a=O(``),o=O(!1),s=O(!1),u=J(()=>n.login.auth.secondFactors??{otp:!0}),f=J(()=>n.login.auth.codeFactors??{}),h=J(()=>Object.keys(l(f)).length>0),v=J(()=>n.login.auth.approval),y=J(()=>l(v)?.state===`waiting`),b=J(()=>l(s)?null:n.login.auth.codeSent),S=J(()=>l(a).replace(/\D/g,``).length===6),w=J(()=>!!(l(u).passkey&&n.login.auth.passkey?.offered)&&t()),T=J(()=>!!l(b)||l(u).otp),D=J(()=>!l(T)&&!l(w)&&!n.login.backupCodes&&!l(u).trustedDevice&&!l(h)),A=J(()=>n.login.auth.recovery??{}),N=J(()=>n.login.auth.codesWithheld?.includes(`email`)?`stuck_inbox`:l(u).passkey?globalThis.isSecureContext?`stuck_unsupported`:`stuck_insecure`:`stuck_nothing`);function P(){if(!l(S)||n.login.loading)return;let e=l(a);E(a,``),n.login.submit(l(b)?`code:verify`:`otp`,{code:e,remember:l(o)})}function R(e){e.preventDefault(),P()}function z(e){E(s,!1),n.login.submit(`code:send`,{factor:e})}C(()=>{l(S)&&P()}),C(()=>{if(!l(y))return;let e=l(o),t,r=!1,i=async()=>{document.hidden||await n.login.poll(`approval:check`,{remember:e}),r||(t=setTimeout(i,2e3))};return t=setTimeout(i,2e3),()=>{r=!0,clearTimeout(t)}});var V=F(),G=_(V),q=e=>{var t=on(),i=_(t);{let e=J(()=>n.login.t(`halted`)),t=J(()=>n.login.t(l(N)));$(i,{get login(){return n.login},tone:`bad`,get title(){return l(e)},get lede(){return l(t)}})}var a=g(i,2);De(a,{get login(){return n.login}});var o=g(a,2);r(o);var s=g(o,2);{let e=J(()=>n.login.t(`start_over`)),t=J(()=>n.login.t(`working`));Q(s,{get login(){return n.login},quiet:!0,get label(){return l(e)},get working(){return l(t)},get busy(){return n.login.loading},onclick:()=>n.login.startOver()})}c(e,t)},ee=e=>{var t=dn(),C=_(t);{let e=J(()=>n.login.t(l(T)?`title`:`title_passkey`)),t=J(()=>l(b)?n.login.t(`sent_to`,{to:l(b).to}):null);$(C,{get login(){return n.login},get title(){return l(e)},get lede(){return l(t)}})}var D=g(C,2);De(D,{get login(){return n.login}});var O=g(D,2),k=e=>{var t=sn(),r=p(t),o=p(r),s=W(o,!0),u=g(o,2);j(u),B(u,!0),Y(r);var d=g(r,2);i(d);var f=g(d,2);{let e=J(()=>n.login.t(`continue`)),t=J(()=>n.login.t(`checking`));Q(f,{get login(){return n.login},type:`submit`,get ready(){return l(S)},get busy(){return n.login.loading},get label(){return l(e)},get working(){return l(t)}})}Y(t),m(e=>{M(t,`aria-busy`,n.login.loading||void 0),I(s,e)},[()=>n.login.t(`code`)]),x(`submit`,t,R),L(u,()=>l(a),e=>E(a,e)),c(e,t)};d(O,e=>{l(T)&&e(k)});var A=g(O,2),N=e=>{var t=cn(),r=_(t),a=e=>{i(e)};d(r,e=>{l(T)||e(a)});var s=g(r,2);{let e=J(()=>({remember:l(o)}));Be(s,{get login(){return n.login},get params(){return l(e)}})}c(e,t)};d(A,e=>{l(w)&&e(N)});var P=g(A,2),V=e=>{i(e)};d(P,e=>{!l(T)&&!l(w)&&(l(y)||l(h))&&e(V)});var H=g(P,2),G=e=>{var t=ln(),r=p(t),i=W(r,!0),a=g(r,2),o=W(a,!0),s=g(a,2),u=W(s,!0);Y(t),m((e,t)=>{I(i,l(v).code),I(o,e),I(u,t)},[()=>n.login.t(`approval_code`),()=>n.login.t(`approval_waiting`)]),c(e,t)},K=e=>{var t=cn(),r=_(t),i=e=>{var t=un(),r=W(t,!0);m(e=>I(r,e),[()=>n.login.t(`approval_expired`)]),c(e,t)};d(r,e=>{l(v)?.state===`expired`&&e(i)});var a=g(r,2);{let e=J(()=>l(v)?n.login.t(`approval_again`):n.login.t(`use_trusted_device`));Q(a,{get login(){return n.login},plain:!0,get label(){return l(e)},onclick:()=>n.login.submit(`approval:request`,{})})}c(e,t)};d(H,e=>{l(y)?e(G):l(u).trustedDevice&&e(K,1)});var q=g(H,2);X(q,17,()=>Object.entries(l(f)),([e,t])=>e,(e,t)=>{var r=J(()=>U(l(t),2));let i=()=>l(r)[0],a=()=>l(r)[1];var o=F(),s=_(o),u=e=>{var t=F(),r=_(t),a=e=>{{let t=J(()=>n.login.t(`send_again`));Q(e,{get login(){return n.login},plain:!0,get label(){return l(t)},onclick:()=>z(i())})}};d(r,e=>{l(b).resendable&&e(a)}),c(e,t)},f=e=>{{let t=J(()=>n.login.t(`send_${i()}`,{to:a()}));Q(e,{get login(){return n.login},plain:!0,get label(){return l(t)},onclick:()=>z(i())})}};d(s,e=>{l(b)?.factor===i()?e(u):e(f,-1)}),c(e,o)});var ee=g(q,2),Z=e=>{{let t=J(()=>n.login.t(`use_app`));Q(e,{get login(){return n.login},plain:!0,get label(){return l(t)},onclick:()=>E(s,!0)})}};d(ee,e=>{l(b)&&l(u).otp&&e(Z)});var te=g(ee,2),ne=e=>{{let t=J(()=>n.login.t(`use_backup_code`));Q(e,{get login(){return n.login},plain:!0,get label(){return l(t)},onclick:()=>n.login.submit(`use-backup-code`,{})})}};d(te,e=>{n.login.backupCodes&&e(ne)});var re=g(te,2);r(re),c(e,t)};d(G,e=>{l(D)?e(q):e(ee,-1)}),c(e,V),k()}var pn=y(`<div class="auth-pair"><!> <span class="auth-wire auth-wire-live"></span> <!></div>`),mn=y(`<div class="over"><!> <!></div>`);function hn(e,t){H(t,!0);let n=J(()=>t.login.client?.name??``),r=J(()=>l(n)?t.login.t(`heading_to`,{client:l(n)}):t.login.t(`heading`));var i=mn(),a=p(i),o=e=>{var n=pn(),r=p(n);Ae(r,{get tenant(){return t.login.auth.tenant}}),ht(g(r,4),{get client(){return t.login.client}}),Y(n),c(e,n)};d(a,e=>{l(n)&&e(o)});var s=g(a,2);{let e=J(()=>t.login.t(`waiting`));$(s,{get login(){return t.login},get title(){return l(r)},busy:!0,get lede(){return l(e)}})}Y(i),c(e,i),k()}var gn=y(`<p class="prompt-lede"> </p>`),_n=y(`<!> <div class="prompt-head"><h2 class="prompt-title"> </h2> <!></div>`,1),vn=y(`<!> <!>`,1);function yn(e,t){H(t,!0);let n=P(t,`lede`,3,null),r=P(t,`tone`,3,null);var i=F(),a=_(i),o=e=>{var r=_n(),i=_(r);{let e=J(()=>t.login.actor?.identifier??``);Ie(i,{get login(){return t.login},get mark(){return l(e)}})}var a=g(i,2),o=p(a),s=W(o,!0),u=g(o,2),f=e=>{var t=gn(),r=W(t,!0);m(()=>I(r,n())),c(e,t)};d(u,e=>{n()&&e(f)}),Y(a),m(()=>I(s,t.title)),c(e,r)},s=e=>{var i=vn(),a=_(i);$(a,{get login(){return t.login},get title(){return t.title},get lede(){return n()},get tone(){return r()}}),De(g(a,2),{get login(){return t.login}}),c(e,i)};d(a,e=>{t.login.auth.signingUp?e(o):e(s,-1)}),c(e,i),k()}var bn=y(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="tel" name="phone" class="control" autocomplete="tel" placeholder="+15551234567"/> <span class="field-hint"> </span></label> <!></form>`,1);function xn(e,t){H(t,!0);let n=O(``),r=J(()=>/^\+?[\d\s().-]{7,}$/.test(l(n).trim()));function i(e){e.preventDefault(),l(r)&&!t.login.loading&&t.login.submit(`confirm:add-phone`,{phone:l(n)})}var a=bn(),o=_(a);{let e=J(()=>t.login.t(`title`)),n=J(()=>t.login.t(`lede`));yn(o,{get login(){return t.login},get title(){return l(e)},get lede(){return l(n)}})}var s=g(o,2),u=p(s),d=p(u),f=W(d,!0),h=g(d,2);j(h),B(h,!0);var v=g(h,2),y=W(v,!0);Y(u);var b=g(u,2);{let e=J(()=>t.login.t(`continue`)),n=J(()=>t.login.t(`working`));Q(b,{get login(){return t.login},type:`submit`,get ready(){return l(r)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(s),m((e,n)=>{M(s,`aria-busy`,t.login.loading||void 0),I(f,e),I(y,n)},[()=>t.login.t(`phone`),()=>t.login.t(`hint`)]),x(`submit`,s,i),L(h,()=>l(n),e=>E(n,e)),c(e,a),k()}var Sn=y(`<!> <p class="waiting aside"> </p> <!>`,1);function Cn(e,t){H(t,!0),C(()=>{let e=setInterval(()=>{t.login.loading||t.login.submit(`confirm:check`,{})},15e3);return()=>clearInterval(e)});var n=Sn(),r=_(n);{let e=J(()=>t.login.t(`title`)),n=J(()=>t.login.t(`lede`));yn(r,{get login(){return t.login},get title(){return l(e)},get lede(){return l(n)}})}var i=g(r,2),a=W(i,!0),o=g(i,2);{let e=J(()=>t.login.t(`check`));Q(o,{get login(){return t.login},quiet:!0,get label(){return l(e)},get busy(){return t.login.loading},onclick:()=>t.login.submit(`confirm:check`,{})})}m(e=>I(a,e),[()=>t.login.t(`waiting`)]),c(e,n),k()}var wn=y(`<p class="note note-warn" role="alert"> </p>`),Tn=y(`<p class="waiting aside"> </p>`),En=y(`<!> <!> <!>`,1);function Dn(e,t){H(t,!0);let n=J(()=>t.login.auth.confirmation??{}),r=J(()=>l(n).mode===`link`);C(()=>{if(!l(r))return;let e=setInterval(()=>{t.login.loading||t.login.submit(`confirm:check`,{})},5e3);return()=>clearInterval(e)});var i=En(),a=_(i);{let e=J(()=>t.login.t(`title`)),i=J(()=>t.login.t(l(r)?`lede_link`:`lede`,{email:l(n).email}));yn(a,{get login(){return t.login},get title(){return l(e)},get lede(){return l(i)}})}var o=g(a,2),s=e=>{var n=wn(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`no_mailer`)]),c(e,n)},u=e=>{var n=Tn(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`waiting`)]),c(e,n)},f=e=>{Ft(e,{get login(){return t.login},event:`confirm:email`})};d(o,e=>{l(n).mails?l(r)?e(u,1):e(f,-1):e(s)});var p=g(o,2),h=e=>{It(e,{get login(){return t.login}})};d(p,e=>{l(n).mails&&e(h)}),c(e,i),k()}var On=y(`<!> <!>`,1),kn=y(`<p class="note note-warn" role="alert"> </p>`),An=y(`<!> <!> <!>`,1);function jn(e,t){H(t,!0);let n=J(()=>t.login.auth.confirmation??{});var r=An(),i=_(r);{let e=J(()=>t.login.t(`title`)),r=J(()=>t.login.t(`lede`,{phone:l(n).phone}));yn(i,{get login(){return t.login},get title(){return l(e)},get lede(){return l(r)}})}var a=g(i,2),o=e=>{var n=On(),r=_(n);Ft(r,{get login(){return t.login},event:`confirm:phone`}),It(g(r,2),{get login(){return t.login}}),c(e,n)},s=e=>{var n=kn(),r=W(n,!0);m(e=>I(r,e),[()=>t.login.t(`no_texts`)]),c(e,n)};d(a,e=>{l(n).texts?e(o):e(s,-1)});var u=g(a,2);{let e=J(()=>t.login.t(`change_phone`));Q(u,{get login(){return t.login},plain:!0,get label(){return l(e)},onclick:()=>t.login.submit(`confirm:change-phone`,{})})}c(e,r),k()}var Mn=512,Nn=new TextEncoder,Pn=new Map;function Fn(e){let t=new Uint8Array(e),n=0;for(let e of t){if(e===0){n+=8;continue}return n+Math.clz32(e)-24}return n}async function In({nonce:e,bits:t}){for(let n=0;;n+=Mn){let r=(await Promise.all(Array.from({length:Mn},(t,r)=>crypto.subtle.digest(`SHA-256`,Nn.encode(`${e}${n+r}`))))).findIndex(e=>Fn(e)>=t);if(r>=0)return String(n+r)}}function Ln(e){return e?(Pn.has(e.token)||Pn.set(e.token,In(e).then(t=>({work:e.token,work_counter:t}))),Pn.get(e.token)):Promise.resolve(null)}var Rn=y(`<label><span class="ledger-label"> </span> <input type="password" name="token" class="control" autocomplete="off"/> <!></label>`),zn=y(`<label><span class="ledger-label"> </span> <input type="text" name="nickname" class="control" autocomplete="username" autocapitalize="none" autocorrect="off" spellcheck="false"/> <!></label>`),Bn=y(`<label><span class="ledger-label"> </span> <input type="email" name="email" class="control" autocomplete="email"/> <!></label>`),Vn=y(`<label><span class="ledger-label"> </span> <input type="tel" name="phone" class="control" autocomplete="tel" placeholder="+15551234567"/> <!></label>`),Hn=y(`<div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div>`),Un=y(`<a class="textlink" rel="noopener" target="_blank"> </a>`),Wn=y(`<p class="aside"> <!></p>`),Gn=y(`<p class="aside"> <button type="button" class="textlink"> </button></p>`),Kn=y(`<div><!> <form class="flow"><div class="slab"><!> <label><span class="ledger-label"> </span> <input type="text" name="name" class="control" autocomplete="name"/></label> <!> <!> <!> <!></div> <!></form> <!></div>`);function qn(e,t){H(t,!0);let n=J(()=>t.login.auth.signup??{}),r=J(()=>l(n).asks??{}),i=J(()=>new Set(l(n).fixed??[])),a=J(()=>!!t.login.auth.signingUp?.firstRun),o=J(()=>t.login.auth.docs),s=typeof location>`u`?``:location.origin,u=w(()=>t.login.auth.signup??{}),f=O(``),h=O(D(u.nickname??``)),_=O(D(u.email??``)),y=O(D(u.name??``)),b=O(D(u.phone??``)),S=O(!1),T=e=>e.trim().length>0,A=(e,t)=>l(r)[e]!==`required`||T(t),N=J(()=>(!l(n).token||T(l(f)))&&A(`nickname`,l(h))&&A(`email`,l(_))&&A(`phone`,l(b))&&(T(l(h))||T(l(_))));C(()=>{Ln(l(n).work).catch(()=>null)});async function P(){E(S,!0);try{return await Ln(l(n).work)??{}}catch{return{}}finally{E(S,!1)}}async function F(e){if(e.preventDefault(),l(N)&&!t.login.loading&&!l(S)){let e=await P();t.login.submit(`signup`,{token:l(f),nickname:l(h),email:l(_),name:l(y),phone:l(b),...e})}}var R=Kn();let z;var V=p(R);{let e=J(()=>l(h)||l(_));Ie(V,{get login(){return t.login},at:1,get mark(){return l(e)}})}var U=g(V,2),G=p(U),K=p(G),q=e=>{var n=Rn();let r;var i=p(n),a=W(i,!0),o=g(i,2);j(o),B(o,!0);var s=g(o,2);{let e=J(()=>t.login.t(`token_hint`));Se(s,{get login(){return t.login},field:`token`,get hint(){return l(e)}})}Y(n),m((e,t)=>{r=Z(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),I(a,t)},[()=>T(l(f)),()=>t.login.t(`token`)]),L(o,()=>l(f),e=>E(f,e)),c(e,n)};d(K,e=>{l(n).token&&e(q)});var X=g(K,2);let ee;var te=p(X),ne=W(te,!0),re=g(te,2);j(re),B(re,!l(n).token),Y(X);var ie=g(X,2),ae=e=>{var n=zn();let r;var i=p(n),a=W(i,!0),o=g(i,2);j(o),Se(g(o,2),{get login(){return t.login},field:`nickname`}),Y(n),m((e,t)=>{r=Z(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),I(a,t)},[()=>T(l(h)),()=>t.login.t(`nickname`)]),L(o,()=>l(h),e=>E(h,e)),c(e,n)};d(ie,e=>{l(r).nickname!==`off`&&e(ae)});var oe=g(ie,2),se=e=>{var n=Bn();let r;var a=p(n),o=W(a,!0),s=g(a,2);j(s),Se(g(s,2),{get login(){return t.login},field:`email`}),Y(n),m((e,t,i)=>{r=Z(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),I(o,t),s.readOnly=i},[()=>T(l(_)),()=>t.login.t(`email`),()=>l(i).has(`email`)]),L(s,()=>l(_),e=>E(_,e)),c(e,n)};d(oe,e=>{l(r).email!==`off`&&e(se)});var ce=g(oe,2),le=e=>{var n=Vn();let r;var i=p(n),a=W(i,!0),o=g(i,2);j(o),Se(g(o,2),{get login(){return t.login},field:`phone`}),Y(n),m((e,t)=>{r=Z(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),I(a,t)},[()=>T(l(b)),()=>t.login.t(`phone`)]),L(o,()=>l(b),e=>E(b,e)),c(e,n)};d(ce,e=>{l(r).phone!==`off`&&e(le)});var ue=g(ce,2),de=e=>{var n=Hn(),r=p(n),i=W(r,!0),a=g(r,2),o=W(a,!0);Y(n),m(e=>{I(i,e),I(o,s)},[()=>t.login.t(`origin`)]),c(e,n)};d(ue,e=>{l(a)&&e(de)}),Y(G);var fe=g(G,2);{let e=J(()=>t.login.loading||l(S)),n=J(()=>t.login.t(`continue`)),r=J(()=>l(S)?t.login.t(`proving`):t.login.t(`working`));Q(fe,{get login(){return t.login},type:`submit`,get ready(){return l(N)},get busy(){return l(e)},get label(){return l(n)},get working(){return l(r)}})}Y(U);var pe=g(U,2),me=e=>{var n=Wn(),r=p(n),i=g(r),a=e=>{var n=Un(),r=W(n,!0);m(e=>{M(n,`href`,l(o)),I(r,e)},[()=>t.login.t(`docs`)]),c(e,n)};d(i,e=>{l(o)&&e(a)}),Y(n),m(e=>I(r,`${e??``} `),[()=>t.login.t(`once`)]),c(e,n)},he=e=>{var n=Gn(),r=p(n),i=g(r),a=W(i,!0);Y(n),m((e,n)=>{I(r,`${e??``} `),i.disabled=t.login.loading,I(a,n)},[()=>t.login.t(`have_account`),()=>t.login.t(`sign_in_instead`)]),v(`click`,i,()=>t.login.startOver()),c(e,n)};d(pe,e=>{l(a)?e(me):e(he,-1)}),Y(R),m((e,n)=>{z=Z(R,1,`setup flow`,null,z,{"setup-ready":l(N)}),M(U,`aria-busy`,t.login.loading||void 0),ee=Z(X,1,`ledger-row ledger-step`,null,ee,{"ledger-step-done":e}),I(ne,n)},[()=>T(l(y)),()=>t.login.t(`name`)]),x(`submit`,U,F),L(re,()=>l(y),e=>E(y,e)),c(e,R),k()}h([`click`]);var Jn=y(`<div class="ledger-row ledger-row-aside"><span class="ledger-label"> </span> <span class="ledger-value"> </span> <button type="button" class="textlink ledger-aside"> </button></div>`),Yn=y(`<button type="button" role="radio" class="credential-way"> </button>`),Xn=y(`<div class="ledger-row"><span class="ledger-label" id="credential-way"> </span> <div class="credential-ways" role="radiogroup" aria-labelledby="credential-way"></div></div>`),Zn=y(`<label><span class="ledger-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <label><span class="ledger-label"> </span> <input type="password" name="password_confirmation" class="control" autocomplete="new-password"/> <!></label>`,1),Qn=y(`<p class="aside"> </p>`),$n=y(`<p class="aside aside-bad" role="alert"> </p>`),er=y(`<div class="flow-tight"><p class="aside"> </p> <!> <!> <!></div>`),tr=y(`<p class="note note-warn" role="alert"> </p>`),nr=y(`<a class="textlink" rel="noopener" target="_blank"> </a>`),rr=y(`<p class="aside"> <!></p>`),ir=y(`<div><!> <form class="flow"><div class="slab"><!> <!> <!></div> <!></form> <!> <!></div>`);function ar(n,i){H(i,!0);let a=J(()=>i.login.auth.signup??{}),o=J(()=>l(a).credentials??{password:!0,passkey:!1}),s=J(()=>!!i.login.auth.signingUp?.firstRun),u=J(()=>l(a).minimum??8),f=J(()=>i.login.auth.docs),h=J(()=>!!l(o).passkey&&t()),y=J(()=>l(s)?i.login.t(`submit_first_run`):i.login.t(`submit_signup`)),b=J(()=>[[`name`,l(a).name],[`nickname`,l(a).nickname],[`email`,l(a).email],[`phone`,l(a).phone]].filter(([,e])=>e)),S=O(null),C=J(()=>l(S)??(l(h)?`passkey`:`password`)),w=J(()=>!!l(o).password&&l(h)),T=J(()=>!!l(o).password&&(!l(h)||l(C)===`password`)),D=J(()=>l(h)&&(!l(o).password||l(C)===`passkey`)),A=O(``),N=O(``),P=O(!1),F=O(null),R=J(()=>l(A).length>=l(u)),z=J(()=>l(R)&&l(N)===l(A));function V(e){e.preventDefault(),l(z)&&!i.login.loading&&i.login.submit(`signup`,{password:l(A),password_confirmation:l(N)})}async function G(){E(P,!0),E(F,null);try{let t=(await i.login.submit(`signup:passkey-challenge`,{})).signup?.passkeyOptions;if(!t){E(F,i.login.t(`passkey_unoffered`),!0);return}await i.login.submit(`signup:passkey`,{passkey:await e(t)})}catch(e){r(e)||E(F,i.login.t(`passkey_unusable`),!0)}finally{E(P,!1)}}var K=ir();let q;var ee=p(K);{let e=J(()=>l(a).nickname||l(a).email||``);Ie(ee,{get login(){return i.login},at:2,get mark(){return l(e)}})}var te=g(ee,2),ne=p(te),re=p(ne);X(re,17,()=>l(b),([e,t])=>e,(e,t)=>{var n=J(()=>U(l(t),2));let r=()=>l(n)[0],a=()=>l(n)[1];var o=Jn(),s=p(o),u=W(s,!0),d=g(s,2),f=W(d,!0),h=g(d,2),_=W(h,!0);Y(o),m((e,t)=>{I(u,e),I(f,a()),h.disabled=i.login.loading,I(_,t)},[()=>i.login.t(r()),()=>i.login.t(`edit`)]),v(`click`,h,()=>i.login.submit(`signup-edit`)),c(e,o)});var ie=g(re,2),ae=e=>{var t=Xn(),n=p(t),r=W(n,!0),a=g(n,2);X(a,21,()=>[[`passkey`,i.login.t(`way_passkey`)],[`password`,i.login.t(`way_password`)]],([e,t])=>e,(e,t)=>{var n=J(()=>U(l(t),2));let r=()=>l(n)[0],a=()=>l(n)[1];var o=Yn(),s=W(o,!0);m(()=>{M(o,`aria-checked`,l(C)===r()),o.disabled=i.login.loading||l(P),I(s,a())}),v(`click`,o,()=>E(S,r(),!0)),c(e,o)}),Y(a),Y(t),m(e=>I(r,e),[()=>i.login.t(`way`)]),c(e,t)};d(ie,e=>{l(w)&&e(ae)});var oe=g(ie,2),se=e=>{var t=Zn(),n=_(t);let r;var a=p(n),o=W(a,!0),s=g(a,2);j(s),B(s,!l(w));var d=g(s,2);{let e=J(()=>i.login.t(`password_hint`,{minimum:l(u)}));Se(d,{get login(){return i.login},field:`password`,get hint(){return l(e)}})}Y(n);var f=g(n,2);let h;var v=p(f),y=W(v,!0),b=g(v,2);j(b),Se(g(b,2),{get login(){return i.login},field:`password_confirmation`}),Y(f),m((e,t)=>{r=Z(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":l(R)}),I(o,e),h=Z(f,1,`ledger-row ledger-step`,null,h,{"ledger-step-done":l(z)}),I(y,t)},[()=>i.login.t(`password`),()=>i.login.t(`confirm`)]),L(s,()=>l(A),e=>E(A,e)),L(b,()=>l(N),e=>E(N,e)),c(e,t)};d(oe,e=>{l(T)&&e(se)}),Y(ne);var ce=g(ne,2),le=e=>{{let t=J(()=>i.login.loading&&!l(P)),n=J(()=>i.login.t(`working`));Q(e,{get login(){return i.login},type:`submit`,get ready(){return l(z)},get busy(){return l(t)},get label(){return l(y)},get working(){return l(n)}})}};d(ce,e=>{l(T)&&e(le)}),Y(te);var ue=g(te,2),de=e=>{var t=er(),n=p(t),r=W(n),a=g(n,2);{let e=J(()=>i.login.t(`create_passkey`)),t=J(()=>i.login.t(`waiting_for_passkey`));Q(a,{get login(){return i.login},get busy(){return l(P)},get label(){return l(e)},get working(){return l(t)},onclick:G})}var o=g(a,2),s=e=>{var t=Qn(),n=W(t,!0);m(e=>I(n,e),[()=>i.login.t(`passkey_hint`)]),c(e,t)};d(o,e=>{l(P)&&e(s)});var u=g(o,2),f=e=>{var t=$n(),n=W(t,!0);m(()=>I(n,l(F))),c(e,t)};d(u,e=>{l(F)&&e(f)}),Y(t),m((e,t)=>I(r,`${e??``} ${t??``}`),[()=>i.login.t(`passkey_lede`),()=>i.login.t(`passkey_later`)]),c(e,t)},fe=e=>{var t=tr(),n=W(t,!0);m(e=>I(n,e),[()=>i.login.t(`no_passkeys`)]),c(e,t)};d(ue,e=>{l(D)?e(de):l(o).password||e(fe,1)});var pe=g(ue,2),me=e=>{var t=rr(),n=p(t),r=g(n),a=e=>{var t=nr(),n=W(t,!0);m(e=>{M(t,`href`,l(f)),I(n,e)},[()=>i.login.t(`docs`)]),c(e,t)};d(r,e=>{l(f)&&e(a)}),Y(t),m(e=>I(n,`${e??``} `),[()=>i.login.t(`once`)]),c(e,t)};d(pe,e=>{l(s)&&e(me)}),Y(K),m(()=>{q=Z(K,1,`setup flow`,null,q,{"setup-ready":l(T)?l(z):l(D)}),M(te,`aria-busy`,i.login.loading||void 0)}),x(`submit`,te,V),c(n,K),k()}h([`click`]);var or=y(`<a class="textlink" rel="noopener" target="_blank"> </a>`),sr=y(`<div><!> <form class="flow"><div class="slab"><label><span class="ledger-label"> </span> <input type="text" name="called" class="control"/> <span class="field-hint"> </span></label> <div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div></div> <!></form> <p class="aside"> <!></p></div>`);function cr(e,t){H(t,!0);let n=J(()=>t.login.auth.docs),r=typeof location>`u`?``:location.origin,i=O(D(w(()=>t.login.auth.configure?.called??``))),a=J(()=>l(i).trim().length>0);function o(e){e.preventDefault(),l(a)&&!t.login.loading&&t.login.submit(`setup-configure`,{called:l(i)})}var s=sr();let u;var f=p(s);{let e=J(()=>t.login.actor?.identifier??``);Ie(f,{get login(){return t.login},at:3,get mark(){return l(e)}})}var h=g(f,2),_=p(h),v=p(_);let y;var b=p(v),S=W(b,!0),C=g(b,2);j(C),B(C,!0);var T=g(C,2),A=W(T,!0);Y(v);var N=g(v,2),P=p(N),F=W(P,!0),R=g(P,2),z=W(R,!0);Y(N),Y(_);var V=g(_,2);{let e=J(()=>t.login.t(`submit`)),n=J(()=>t.login.t(`working`));Q(V,{get login(){return t.login},type:`submit`,get ready(){return l(a)},get busy(){return t.login.loading},get label(){return l(e)},get working(){return l(n)}})}Y(h);var U=g(h,2),G=p(U),K=g(G),q=e=>{var r=or(),i=W(r,!0);m(e=>{M(r,`href`,l(n)),I(i,e)},[()=>t.login.t(`docs`)]),c(e,r)};d(K,e=>{l(n)&&e(q)}),Y(U),Y(s),m((e,n,i,o)=>{u=Z(s,1,`setup flow`,null,u,{"setup-ready":l(a)}),M(h,`aria-busy`,t.login.loading||void 0),y=Z(v,1,`ledger-row ledger-step`,null,y,{"ledger-step-done":l(a)}),I(S,e),I(A,n),I(F,i),I(z,r),I(G,`${o??``} `)},[()=>t.login.t(`called`),()=>t.login.t(`called_hint`),()=>t.login.t(`origin`),()=>t.login.t(`once`)]),x(`submit`,h,o),L(C,()=>l(i),e=>E(i,e)),c(e,s),k()}var lr=y(`<div class="over"><!> <!></div>`),ur=y(`<!> <div><!></div>`,1);function dr(e,t){H(t,!0);let n={signup:qn,"signup-credentials":ar,"setup-configure":cr,"accept-invitation":Te,identify:Xt,"prove-email":en,"reset-password":nn,"first-factor":Gt,"email-code":Rt,"second-factor":fn,"backup-code":nt,enrol:et,"confirm-email":Dn,"confirm-phone":jn,"add-phone":xn,"awaiting-approval":Cn,"choose-organization":ft,consent:Nt,settled:hn},r=le(w(()=>t.auth)),i=J(()=>n[r.prompt]),a=O(null),o=O(!1),s=O(0),u=()=>typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;T(()=>{r.prompt;let e=w(()=>u()?0:l(a)?.offsetHeight??0);E(s,e,!0),E(o,e>0)}),C(()=>{let e=r.auth.surface??`challenge`,t=r.prompt===`settled`&&!!r.client?.name,n=document.querySelector(`.auth-col`);if(n){for(let t of[`challenge`,`grant`])n.classList.toggle(`surface-${t}`,t===e);document.querySelector(`.auth-id`)?.toggleAttribute(`hidden`,e!==`challenge`||t)}}),C(()=>{r.prompt;let e=l(a),t=w(()=>l(s));if(!e||!t)return;let n=e.offsetHeight;n!==t&&(e.classList.add(`gate-moving`),e.animate([{height:`${t}px`},{height:`${n}px`}],{duration:300,easing:`cubic-bezier(0.2, 0.8, 0.2, 1)`}).finished.catch(()=>{}).then(()=>e.classList.remove(`gate-moving`)));let i=setTimeout(()=>{E(o,!1)},500);return()=>clearTimeout(i)});var h=ur(),v=_(h);ye(v,{get login(){return r}});var y=g(v,2);let b;var x=p(y);f(x,()=>r.prompt,e=>{var t=F(),n=_(t),a=e=>{var t=F(),n=_(t);ee(n,()=>l(i),(e,t)=>{t(e,{get login(){return r}})}),c(e,t)},o=e=>{var t=lr(),n=p(t);{let e=J(()=>r.t(`halted`)),t=J(()=>r.t(`halted_lede`));$(n,{get login(){return r},tone:`bad`,get title(){return l(e)},get lede(){return l(t)}})}var i=g(n,2);{let e=J(()=>r.t(`start_over`)),t=J(()=>r.t(`working`));Q(i,{get login(){return r},quiet:!0,get label(){return l(e)},get working(){return l(t)},get busy(){return r.loading},onclick:()=>r.startOver()})}Y(t),c(e,t)};d(n,e=>{l(i)?e(a):e(o,-1)}),c(e,t)}),Y(y),V(y,e=>E(a,e),()=>l(a)),m(()=>b=Z(y,1,`gate`,null,b,{"gate-enter":l(o)})),c(e,h),k()}var fr=new Set([`hidden`,`checkbox`,`radio`,`submit`,`button`]);function pr(e){return[...e.querySelectorAll(`input[name]`)].filter(e=>!fr.has(e.type)&&e.value).map(e=>({name:e.name,value:e.value,focused:e===e.ownerDocument.activeElement}))}function mr(e,t){for(let{name:n,value:r,focused:i}of t){let t=e.querySelector(`input[name="${CSS.escape(n)}"]`);!t||fr.has(t.type)||t.value||(t.value=r,t.dispatchEvent(new Event(`input`,{bubbles:!0})),i&&t.focus())}}var hr=document.getElementById(`login`);if(hr){let e=JSON.parse(hr.dataset.auth),t=pr(hr);hr.replaceChildren(),b(dr,{target:hr,props:{auth:e}}),s(),mr(hr,t)}
|
|
4
|
+
//# sourceMappingURL=login-C_6igRZ3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-C_6igRZ3.js","names":["root","root","$.state","$.proxy","$.get","root","$.from_html","root_1","$.prop","$.derived","$.child","$.sibling","$.clsx","$.get","$.delegate","root","$.from_html","root_1","root_2","root_3","$.prop","$.derived","$.child","$.sibling","$.only_child","$.set_text","$.first_child","$.set_class","$.get","root","$.from_html","root_1","root_2","$.derived","$.first_child","$.get","$.only_child","$.clsx","$.sibling","$.child","$.delegate","root","$.from_html","root_1","$.prop","$.derived","$.comment","$.first_child","$.only_child","$.set_text","$.get","root","$.from_html","root_1","$.state","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set","root","$.from_html","$.child","$.only_child","$.sibling","$.delegate","root","$.from_html","root_1","$.comment","$.first_child","$.set_attribute","$.only_child","$.set_text","root","$.from_html","root_1","$.prop","$.derived","$.get","$.only_child","$.set_class","$.set_attribute","root","$.from_html","root_1","$.prop","$.derived","$.first_child","$.child","$.only_child","$.sibling","$.get","$.set_class","root","$.from_html","root_1","root_2","$.prop","$.state","$.derived","$.comment","$.first_child","$.child","$.get","$.sibling","$.only_child","$.set_text","root","$.from_html","root_1","root_2","root_3","root_4","root_5","root_6","root_7","root_8","root_9","root_10","root_11","root_12","$.noop","$.child","$.sibling","$.derived","$.get","$.proxy","$.state","$.first_child","$.only_child","$.set_text","$.set_class","$.to_array","$.set","$.delegate","root","$.from_html","$.state","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set","root_1","$.from_html","root_2","root_3","root_4","root_5","$.prop","$.child","$.sibling","$.only_child","$.set_text","root","root","$.from_html","root_1","$.state","$.derived","$.first_child","$.get","$.sibling","$.child","$.only_child","$.set_attribute","$.delegate","root","$.from_html","root_1","$.comment","$.first_child","$.set_attribute","$.only_child","$.set_text","root","$.from_html","root_1","root_2","root_3","root_4","root_5","root_6","root_7","root_8","root_9","root_10","$.derived","$.get","$.first_child","$.child","$.sibling","$.only_child","$.set_text","$.to_array","$.index","root","$.from_html","$.state","$.derived","$.get","$.child","$.only_child","$.sibling","$.set","$.prop","$.state","$.derived","$.get","root","$.from_html","$.first_child","$.derived","$.get","$.sibling","root","$.from_html","$.derived","$.comment","$.first_child","$.get","root","$.from_html","$.derived","$.comment","$.first_child","$.child","$.only_child","$.sibling","$.set_text","$.get","root","$.from_html","root_1","$.state","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set","$.delegate","$.prop","$.derived","$.get","root","$.from_html","root_1","root_2","$.state","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set_text","$.set","root","$.from_html","root_1","root_2","$.derived","$.first_child","$.get","$.sibling","$.only_child","$.set_text","root","$.from_html","$.state","reset","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set","root","$.from_html","root_1","root_2","root_3","root_4","root_5","root_6","root_7","$.comment","$.first_child","$.only_child","$.set_text","$.derived","$.get","$.child","$.sibling","$.set","$.state","$.to_array","root","$.from_html","root_1","$.derived","$.get","$.child","$.sibling","root","$.from_html","root_1","root_2","$.prop","$.comment","$.first_child","$.derived","$.get","$.sibling","$.child","$.only_child","$.set_text","root","$.from_html","$.state","$.derived","$.get","$.first_child","$.sibling","$.child","$.only_child","$.set","root","$.from_html","$.first_child","$.derived","$.get","$.sibling","$.only_child","$.set_text","root","$.from_html","root_1","root_2","$.derived","$.get","$.first_child","$.sibling","$.only_child","$.set_text","root","$.from_html","root_1","root_2","$.derived","$.first_child","$.get","$.sibling","$.only_child","$.set_text","root","$.from_html","root_1","root_2","root_3","root_4","root_5","root_6","root_7","root_8","$.derived","$.get","$.state","$.proxy","$.child","$.sibling","$.only_child","$.set_class","$.set","$.set_text","$.delegate","root","$.from_html","root_1","$.derived","$.get","$.state","$.child","$.sibling","$.to_array","$.only_child","$.set","$.set_text","$.first_child","$.set_class","$.delegate","root","$.from_html","root_1","$.derived","$.state","$.proxy","$.get","$.child","$.sibling","$.only_child","$.set_class","$.set","$.from_html","SignupCredentials","SetupConfigure","AcceptInvitation","ProveEmail","ResetPassword","FirstFactor","EmailCode","SecondFactor","BackupCode","ConfirmEmail","ConfirmPhone","AddPhone","AwaitingApproval","ChooseOrganization","$.derived","$.state","$.get","$.first_child","$.sibling","$.child","$.comment","$.set","$.set_class","enrol","available","refused","autofillable","settle","assert","flushSync","append","get","html","if_block","key","child","template_effect","delegate","sibling","first_child","delegated","from_html","mount","event","index","user_effect","untrack","user_pre_effect","set","proxy","state","pop","clsx","remove_input_defaults","set_attribute","noop","prop","comment","set_text","bind_value","set_value","initials","autofocus","bind_this","push","to_array","only_child","onMount","bind_checked","initial","user_derived","reset","each","component","set_class","PLACEHOLDER","interpolate","values","text","name","whole","translator","found","source","root$34","UNNAVIGABLE","navigable","location","csrf","send","response","url","body","createLogin","options","auth","loading","failed","last","dispatch","quiet","method","held","updates","root$33","root_1$25","Action","$$props","busy","ready","working","plain","fit","grow","onclick","type","shown","classes","button","node","consequent","span","$$anchor","$$render","$$args","root$32","root_1$24","root_2$13","root_3$6","Head","lede","cap","tone","running","div","span_1","h1","text_1","node_1","consequent_1","fragment","em","text_2","node_2","consequent_2","p","text_3","root$31","root_1$23","root_2$12","Warnings","messages","message","div_1","$0","$1","root$30","root_1$22","Hint","hint","root$29","root_1$21","Accept_invitation","password","invitation","minimum","valid","onsubmit","form","label","input","label_1","input_1","label_2","span_2","input_2","node_3","$$value","root$28","Identified","root$27","root_1$20","TenantMark","img","alternate","root$26","root_1$19","Steps","steps","nav","step","place","root$25","root_1$18","SignupHead","mark","tenant","signingUp","alternate_1","root$24","root_1$17","root_2$11","PasskeyButton","enrolling","params","unusable","offered","start","asked","offer","credential","error","p_1","root$23","root_1$16","root_2$10","root_3$5","root_4$5","root_5$5","root_6$4","root_7$4","root_8$3","root_9$2","root_10$2","root_11$1","root_12$1","Enrol","codeForm","complete","turnOn","submitted","entered","enrolment","otp","passkeys","codes","offers","secured","issued","sendable","passkeyable","kept","copied","anything","row","code","origin","host","saved","lines","copy","done","fragment_1","node_5","div_2","classes_1","node_6","fragment_2","div_3","a","div_4","span_3","text_4","node_7","node_8","consequent_3","div_5","classes_2","span_4","text_5","span_5","text_6","node_9","node_10","factor","$$array","$$item","div_6","classes_3","span_6","text_7","node_11","consequent_4","span_7","text_8","consequent_5","fragment_3","span_8","text_9","node_12","alternate_2","fragment_4","span_9","text_10","node_13","node_14","consequent_8","div_7","classes_4","span_10","text_11","node_15","consequent_6","fragment_5","ol","li","text_12","span_11","text_13","div_8","text_14","a_1","text_15","$2","consequent_7","span_12","text_16","alternate_3","span_13","text_17","form_1","node_16","consequent_9","span_14","text_18","node_17","root$22","Backup_code","token","root_1$15","root_2$9","root_3$4","root_4$4","root_5$4","Actor","signOut","root$21","root_1$14","Choose_organization","chosen","organizations","client","choose","organization","ul","root$20","root_1$13","ClientMark","CONSEQUENTIAL","consequential","scope","ranked","hot","rest","entry","scopes","root$19","root_1$12","root_2$8","root_3$3","root_4$3","root_5$3","root_6$3","root_7$3","root_8$2","root_9$1","root_10$1","root_11","root_12","root_13","Consent","audience","details","links","node_4","description","li_1","$$array_1","li_2","resource","ul_1","li_3","dl","detail","value","$$array_2","dt","dd","$$array_3","root$18","CodeForm","submit","Resend","sent","resend","root$17","Email_code","root$16","ProviderButtons","providers","provider","root$15","Otherwise","passkey","root$14","root_1$11","First_factor","offersPassword","emailing","PromptHeader","title","root$13","root_1$10","root_2$7","Identify","identifier","live","autofill","root$12","root_1$9","root_2$6","Prove_email","inbox","root$11","Reset_password","reset$1","root$10","root_1$8","root_2$5","root_3$2","root_4$2","root_5$2","root_6$2","root_7$2","Second_factor","help","stuck","recovery","trust","remember","useApp","methods","codeFactors","approval","approving","passkeyReady","asking","why","timer","stopped","check","fragment_6","fragment_9","node_18","node_19","to","fragment_10","node_20","consequent_11","fragment_11","node_21","consequent_10","node_22","consequent_12","node_23","consequent_13","node_24","root$9","root_1$7","Settled","root$8","root_1$6","root_2$4","ConfirmHead","h2","root$7","Add_phone","phone","root$6","Awaiting_approval","root$5","root_1$5","root_2$3","Confirm_email","confirmation","linked","root$4","root_1$4","root_2$2","Confirm_phone","BATCH","encoder","solved","leadingZeros","bytes","digest","count","byte","search","nonce","offset","bits","solve","work","counter","root$3","root_1$3","root_2$1","root_3$1","root_4$1","root_5$1","root_6$1","root_7$1","root_8$1","Signup","signup","asks","fixed","firstRun","docs","nickname","email","proving","filled","needs","field","proof","label_3","input_3","label_4","classes_5","input_4","root$2","root_1$2","root_2","root_3","root_4","root_5","root_6","root_7","root_8","root_9","root_10","Signup_credentials","credentials","submitLabel","rows","way","choosing","typing","passkeying","creating","long","matched","createPasskey","button_1","p_2","p_3","p_4","root$1","root_1$1","Setup_configure","called","$3","root","root_1","Login","prompts","login","Prompt","frame","entering","leaving","still","height","surface","paired","column","from","Prompt_1","SKIPPED","heldInputs","restoreInputs","focused","target"],"sources":["../../../../server/app/frontend/lib/copy.js","../../../../server/app/frontend/lib/root.js","../../../../server/app/frontend/lib/login.svelte.js","../../../../server/app/frontend/shared/Action.svelte","../../../../server/app/frontend/shared/Head.svelte","../../../../server/app/frontend/shared/Warnings.svelte","../../../../server/app/frontend/shared/Hint.svelte","../../../../server/app/frontend/prompts/accept-invitation.svelte","../../../../server/app/frontend/shared/Identified.svelte","../../../../server/app/frontend/shared/TenantMark.svelte","../../../../server/app/frontend/shared/Steps.svelte","../../../../server/app/frontend/shared/SignupHead.svelte","../../../../server/app/frontend/shared/PasskeyButton.svelte","../../../../server/app/frontend/prompts/enrol.svelte","../../../../server/app/frontend/prompts/backup-code.svelte","../../../../server/app/frontend/shared/Actor.svelte","../../../../server/app/frontend/prompts/choose-organization.svelte","../../../../server/app/frontend/shared/ClientMark.svelte","../../../../server/app/frontend/lib/scopes.js","../../../../server/app/frontend/prompts/consent.svelte","../../../../server/app/frontend/shared/CodeForm.svelte","../../../../server/app/frontend/shared/Resend.svelte","../../../../server/app/frontend/prompts/email-code.svelte","../../../../server/app/frontend/shared/ProviderButtons.svelte","../../../../server/app/frontend/shared/Otherwise.svelte","../../../../server/app/frontend/prompts/first-factor.svelte","../../../../server/app/frontend/shared/PromptHeader.svelte","../../../../server/app/frontend/prompts/identify.svelte","../../../../server/app/frontend/prompts/prove-email.svelte","../../../../server/app/frontend/prompts/reset-password.svelte","../../../../server/app/frontend/prompts/second-factor.svelte","../../../../server/app/frontend/prompts/settled.svelte","../../../../server/app/frontend/shared/ConfirmHead.svelte","../../../../server/app/frontend/prompts/add-phone.svelte","../../../../server/app/frontend/prompts/awaiting-approval.svelte","../../../../server/app/frontend/prompts/confirm-email.svelte","../../../../server/app/frontend/prompts/confirm-phone.svelte","../../../../server/app/frontend/lib/work.js","../../../../server/app/frontend/prompts/signup.svelte","../../../../server/app/frontend/prompts/signup-credentials.svelte","../../../../server/app/frontend/prompts/setup-configure.svelte","../../../../server/app/frontend/Login.svelte","../../../../server/app/frontend/lib/typed.js","../../../../server/app/frontend/entrypoints/login.js"],"sourcesContent":["const PLACEHOLDER = /%\\{(\\w+)\\}/g;\n\nfunction interpolate(text, values) {\n if (!values) return text;\n\n return text.replace(PLACEHOLDER, (whole, name) =>\n Object.hasOwn(values, name) ? String(values[name]) : whole,\n );\n}\n\nexport function translator(source) {\n return (key, values) => {\n const found = source()?.[key];\n\n return typeof found === \"string\" ? interpolate(found, values) : \"\";\n };\n}\n","export const root =\n document.querySelector('meta[name=\"masks-root\"]')?.content ?? \"\";\n","import { translator } from \"./copy.js\";\nimport { root } from \"./root.js\";\n\nconst UNNAVIGABLE = new Set([\n \"javascript:\",\n \"data:\",\n \"vbscript:\",\n \"file:\",\n \"blob:\",\n]);\n\nconst navigable = (location) => {\n if (typeof location !== \"string\" || location === \"\") return false;\n\n try {\n return !UNNAVIGABLE.has(new URL(location, window.location.href).protocol);\n } catch {\n return false;\n }\n};\n\nconst csrf = () =>\n document.querySelector('meta[name=\"csrf-token\"]')?.content ?? \"\";\n\nasync function send(url, method, body) {\n const response = await fetch(url, {\n method,\n credentials: \"same-origin\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"X-CSRF-Token\": csrf(),\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n if (!response.ok && response.status !== 422 && response.status !== 429) {\n throw new Error(`login failed: ${response.status}`);\n }\n\n return response.json();\n}\n\nexport function createLogin(initial, options = {}) {\n const url = options.url ?? `${root}/login`;\n\n let auth = $state(initial);\n let loading = $state(false);\n let failed = $state(false);\n let last = null;\n\n async function dispatch(method, body, { quiet = false } = {}) {\n if (quiet && loading) return auth;\n\n if (!quiet) {\n loading = true;\n failed = false;\n last = [method, body];\n }\n\n try {\n const held = await send(\n url,\n method,\n auth.rid ? { rid: auth.rid, ...body } : body,\n );\n\n if (quiet && loading) return auth;\n\n auth = held;\n\n if (navigable(auth.redirectTo)) {\n window.location.assign(auth.redirectTo);\n }\n\n return auth;\n } catch {\n if (!quiet) failed = true;\n\n return auth;\n } finally {\n if (!quiet) loading = false;\n }\n }\n\n const t = translator(() => auth.copy);\n\n return {\n t,\n get auth() {\n return auth;\n },\n get loading() {\n return loading;\n },\n get failed() {\n return failed;\n },\n get prompt() {\n return auth.prompt;\n },\n get backupCodes() {\n return auth.backupCodes;\n },\n get rememberable() {\n return auth.rememberable;\n },\n get consent() {\n return auth.consent;\n },\n get client() {\n return auth.client;\n },\n get actor() {\n return auth.actor;\n },\n warns(key) {\n return (auth.warnings ?? []).includes(key);\n },\n submit(event, updates = {}) {\n return dispatch(\"POST\", { event, ...updates });\n },\n startOver() {\n return dispatch(\"DELETE\");\n },\n poll(event, updates = {}) {\n return dispatch(\"POST\", { event, ...updates }, { quiet: true });\n },\n retry() {\n return last ? dispatch(...last) : Promise.resolve(auth);\n },\n };\n}\n","<script>\nlet {\n login,\n busy = false,\n ready = true,\n label,\n working = null,\n quiet = false,\n plain = false,\n fit = false,\n grow = false,\n onclick = null,\n type = \"button\",\n} = $props();\n\nconst held = $derived(busy || login.loading);\nconst shown = $derived(busy && working ? working : label);\n\nconst classes = $derived(\n [\n \"action\",\n quiet && \"action-quiet\",\n plain && \"action-plain\",\n fit && \"action-fit\",\n grow && \"action-grow\",\n busy && \"action-busy\",\n ]\n .filter(Boolean)\n .join(\" \"),\n);\n</script>\n\n<button\n {type}\n {onclick}\n class={classes}\n disabled={!ready || held}\n aria-busy={busy || undefined}\n>\n {#if busy}\n <span class=\"spinner action-mark\"></span>\n {/if}\n {shown}\n</button>\n","<script>\nlet {\n login,\n title,\n name = null,\n lede = null,\n cap = null,\n tone = null,\n busy = false,\n} = $props();\n\nconst running = $derived(tone === null && (busy || login.loading));\n</script>\n\n<div class=\"prompt-head\">\n <span\n class=\"pulse\"\n class:pulse-on={running}\n class:pulse-done={tone === \"done\"}\n class:pulse-bad={tone === \"bad\"}\n aria-hidden=\"true\"\n ></span>\n\n {#if cap}\n <span class=\"record-cap\">{cap}</span>\n {/if}\n\n <h1 class=\"prompt-title\">\n {title}{#if name} <em>{name}</em>{/if}\n </h1>\n\n {#if lede}\n <p class=\"prompt-lede\">{lede}</p>\n {/if}\n</div>\n","<script>\nlet { login } = $props();\n\nconst messages = $derived((login.auth.messages ?? []).filter((message) => !message.field));\n</script>\n\n{#each messages as message (message.key)}\n <div class={message.tone} role=\"alert\">{message.text}</div>\n{/each}\n\n{#if login.failed}\n <div class=\"note note-warn recover\" role=\"alert\">\n <span>{login.t(\"unreachable\")}</span>\n\n <button\n type=\"button\"\n class=\"textlink\"\n disabled={login.loading}\n onclick={() => login.retry()}\n >\n {login.loading ? login.t(\"checking\") : login.t(\"try_again\")}\n </button>\n </div>\n{/if}\n","<script>\nlet { login, field, hint = null } = $props();\n\nconst message = $derived((login.auth.messages ?? []).find((held) => held.field === field));\n</script>\n\n{#if message}\n <span class=\"field-hint field-hint-bad\" role=\"alert\">{message.text}</span>\n{:else if hint}\n <span class=\"field-hint\">{hint}</span>\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Hint from \"../shared/Hint.svelte\";\nimport Head from \"../shared/Head.svelte\";\n\nlet { login } = $props();\n\nlet password = $state(\"\");\n\nconst invitation = $derived(login.auth.invitation ?? {});\nconst minimum = $derived(invitation.minimum ?? 8);\n\nconst valid = $derived(password.length >= minimum);\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading) {\n login.submit(\"accept-invitation\", { password });\n }\n}\n</script>\n\n<Head\n {login}\n title={login.t(\"title\")}\n lede={invitation.invitedBy\n ? login.t(\"invited_by\", { nickname: invitation.invitedBy })\n : null}\n/>\n\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"account\")}</span>\n <input\n type=\"text\"\n class=\"control\"\n autocomplete=\"username\"\n value={invitation.nickname ?? \"\"}\n readonly\n />\n </label>\n\n {#if invitation.email}\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"email\")}</span>\n <input type=\"email\" class=\"control\" value={invitation.email} readonly />\n </label>\n {/if}\n\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"password\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"password\"\n name=\"password\"\n class=\"control\"\n autocomplete=\"new-password\"\n autofocus\n bind:value={password}\n />\n <Hint {login} field=\"password\" hint={login.t(\"hint\", { minimum })} />\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"working\")}\n />\n</form>\n","<script>\nlet { login } = $props();\n</script>\n\n<div class=\"whom\">\n <span class=\"whom-name\">{login.auth.identifier}</span>\n\n <button\n type=\"button\"\n class=\"textlink\"\n disabled={login.loading}\n onclick={() => login.startOver()}\n >\n {login.t(\"not_you\")}\n </button>\n</div>\n","<script>\nimport { initial } from \"../lib/initial.js\";\n\nlet { tenant } = $props();\n</script>\n\n{#if tenant?.logo}\n <img src={tenant.logo} alt=\"\" class=\"auth-mark auth-mark-logo\" />\n{:else}\n <span class=\"auth-mark\" aria-hidden=\"true\">{initial(tenant?.name ?? \"\")}</span>\n{/if}\n","<script>\nlet { login, steps = [], at } = $props();\n</script>\n\n<nav class=\"tabset\" aria-label={login.t(\"tabs\")}>\n {#each steps as step, index (step)}\n {@const place = index + 1}\n <span\n class=\"tabset-tab\"\n class:tabset-done={place < at}\n class:tabset-now={place === at}\n aria-current={place === at ? \"step\" : undefined}>\n {login.t(`tab_${step}`)}\n </span>\n {/each}\n</nav>\n","<script>\nimport TenantMark from \"./TenantMark.svelte\";\nimport { initial } from \"../lib/initial.js\";\nimport Head from \"./Head.svelte\";\nimport Steps from \"./Steps.svelte\";\n\nlet { login, at, mark = \"\" } = $props();\n\nconst tenant = $derived(login.auth.tenant?.name ?? \"\");\nconst signingUp = $derived(login.auth.signingUp ?? { steps: [] });\n\n</script>\n\n<div class=\"auth-pair\">\n <span class=\"auth-mark auth-mark-client\" class:auth-mark-pending={!mark.trim()} aria-hidden=\"true\"\n >{initial(mark)}</span>\n <span class=\"auth-wire\"></span>\n {#if signingUp.firstRun}\n <img src=\"/masks-public/icon.svg\" alt=\"\" class=\"auth-mark auth-mark-rose\" />\n {:else}\n <TenantMark tenant={login.auth.tenant} />\n {/if}\n</div>\n\n{#if signingUp.firstRun}\n <Head {login} title={login.t(\"setup_title\")} name={tenant} cap={login.t(\"setup_cap\")} />\n{:else}\n <Head {login} title={login.t(\"signup_title\")} name={tenant} />\n{/if}\n\n<Steps {login} steps={signingUp.steps} at={at ?? signingUp.steps.length} />\n","<script>\nimport Action from \"./Action.svelte\";\nimport { assert, available, enrol, refused } from \"../lib/passkey.js\";\n\nlet { login, enrolling = false, label = null, params = {} } = $props();\n\nconst DELIBERATE = 500;\n\nlet busy = $state(false);\nlet unusable = $state(null);\n\nconst offered = $derived((enrolling || Boolean(login.auth.passkey?.offered)) && available());\n\nasync function start() {\n busy = true;\n unusable = null;\n\n let asked = null;\n\n try {\n const offer = await login.submit(enrolling ? \"enrol:passkey-challenge\" : \"passkey:challenge\", {});\n const options = enrolling ? offer.enrolment?.passkeys?.options : offer.passkey?.options;\n\n if (!options) {\n unusable = login.t(\"passkey_unoffered\");\n return;\n }\n\n asked = performance.now();\n\n const credential = enrolling ? await enrol(options) : await assert(options);\n\n await login.submit(enrolling ? \"enrol:passkey\" : \"passkey:verify\", { ...params, passkey: credential });\n } catch (error) {\n if (!refused(error) || (asked !== null && performance.now() - asked < DELIBERATE)) {\n unusable = login.t(\"passkey_unusable\");\n }\n } finally {\n busy = false;\n }\n}\n</script>\n\n{#if offered}\n <div class=\"flow-tight\">\n <Action\n {login}\n quiet\n {busy}\n label={label ?? login.t(\"use_passkey\")}\n working={login.t(\"waiting_for_passkey\")}\n onclick={start}\n />\n\n {#if busy}\n <p class=\"aside\">{login.t(\"passkey_hint\")}</p>\n {/if}\n\n {#if unusable}\n <p class=\"aside aside-bad\" role=\"alert\">{unusable}</p>\n {/if}\n </div>\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\nimport SignupHead from \"../shared/SignupHead.svelte\";\nimport PasskeyButton from \"../shared/PasskeyButton.svelte\";\nimport { available } from \"../lib/passkey.js\";\n\nlet { login } = $props();\n\nconst enrolment = $derived(login.auth.enrolment ?? {});\nconst otp = $derived(enrolment.otp ?? {});\nconst passkeys = $derived(enrolment.passkeys ?? { count: 0 });\nconst codes = $derived(enrolment.backupCodes ?? {});\nconst signingUp = $derived(Boolean(login.auth.signingUp));\nconst offers = $derived(enrolment.offers ?? { otp: true, passkey: true, backupCodes: true });\nconst secured = $derived(!enrolment.required);\nconst issued = $derived(codes.issued ?? []);\nconst sendable = $derived(Object.entries(enrolment.codes ?? {}));\n\nconst passkeyable = $derived(offers.passkey && available());\n\nlet entered = $state({ \"enrol:otp\": \"\", \"enrol:code\": \"\" });\nlet kept = $state(false);\nlet copied = $state(false);\n\nconst ready = $derived(secured && (issued.length === 0 || kept));\nconst anything = $derived(\n Boolean(otp.enabled || passkeys.count > 0 || sendable.some(([, row]) => row.enabled)),\n);\nconst lede = $derived(enrolment.required ? login.t(\"lede\") : login.t(\"lede_optional\"));\n\nconst complete = (name) => entered[name].replace(/\\D/g, \"\").length === 6;\n\nfunction turnOn(submitted, name) {\n submitted.preventDefault();\n\n if (!complete(name) || login.loading) return;\n\n const code = entered[name];\n entered[name] = \"\";\n\n login.submit(name, { code });\n}\n\nconst origin = typeof location === \"undefined\" ? \"\" : location.origin;\nconst host = typeof location === \"undefined\" ? \"masks\" : location.hostname;\n\nconst saved = $derived.by(() => {\n const lines = [\n login.t(\"backup_codes_file\", { account: login.actor?.identifier ?? \"\", origin }),\n login.t(\"backup_codes_hint\"),\n \"\",\n ...issued,\n \"\",\n ];\n\n return `data:text/plain;charset=utf-8,${encodeURIComponent(lines.join(\"\\n\"))}`;\n});\n\nasync function copy() {\n try {\n await navigator.clipboard.writeText(issued.join(\"\\n\"));\n copied = true;\n } catch {\n copied = false;\n }\n}\n\nfunction done(event) {\n event.preventDefault();\n\n if (ready && !login.loading) login.submit(\"enrol:done\", { kept });\n}\n</script>\n\n{#snippet codeForm(name)}\n <form class=\"flow-tight\" onsubmit={(submitted) => turnOn(submitted, name)} aria-busy={login.loading || undefined}>\n <input\n type=\"text\"\n name=\"code\"\n class=\"control control-code\"\n inputmode=\"numeric\"\n pattern=\"[0-9 ]*\"\n autocomplete=\"one-time-code\"\n maxlength=\"7\"\n spellcheck=\"false\"\n aria-label={login.t(\"code\")}\n placeholder={login.t(\"code\")}\n bind:value={entered[name]}\n />\n\n <Action {login} type=\"submit\" quiet ready={complete(name)} label={login.t(\"turn_on\")} />\n </form>\n{/snippet}\n\n<div class=\"flow\" class:setup={signingUp} class:setup-ready={signingUp && ready}>\n {#if signingUp}\n <SignupHead {login} at={2} mark={login.actor?.identifier ?? \"\"} />\n\n <p class=\"aside\">{lede}</p>\n {:else}\n <Head\n {login}\n title={login.t(\"title\")}\n {lede}\n />\n\n <Identified {login} />\n {/if}\n\n <div class=\"slab\">\n {#if offers.otp}\n <div class=\"ledger-row ledger-step\" class:ledger-step-done={otp.enabled}>\n <span class=\"ledger-label\">{login.t(\"otp\")}</span>\n\n {#if otp.enabled}\n <span class=\"ledger-value\">{login.t(\"otp_on\")}</span>\n {:else}\n <div class=\"enrol\">\n <a class=\"enrol-qr\" href={otp.uri} aria-label={login.t(\"open\")}>{@html otp.qr}</a>\n <div class=\"enrol-key\">\n <span class=\"field-hint\">{login.t(\"scan_hint\")}</span>\n <span class=\"aside-mono enrol-secret\">{otp.secret}</span>\n </div>\n </div>\n\n {@render codeForm(\"enrol:otp\")}\n {/if}\n </div>\n {/if}\n\n {#if passkeyable}\n <div class=\"ledger-row ledger-step\" class:ledger-step-done={passkeys.verified}>\n <span class=\"ledger-label\">{login.t(\"passkeys\")}</span>\n <span class=\"field-hint\">\n {passkeys.count > 0\n ? login.t(\"passkeys_some\", { count: passkeys.count })\n : login.t(\"passkeys_none\")}\n </span>\n\n <PasskeyButton\n {login}\n enrolling\n label={passkeys.count > 0 ? login.t(\"add_another_passkey\") : login.t(\"add_passkey\")}\n />\n </div>\n {/if}\n\n {#each sendable as [factor, row] (factor)}\n <div class=\"ledger-row ledger-step\" class:ledger-step-done={row.enabled}>\n <span class=\"ledger-label\">{login.t(`codes_${factor}`)}</span>\n\n {#if row.enabled}\n <span class=\"ledger-value\">{login.t(\"otp_on\")}</span>\n {:else if row.sent}\n <span class=\"field-hint\">{login.t(\"sent_to\", { to: row.to })}</span>\n\n {@render codeForm(\"enrol:code\")}\n {:else}\n <span class=\"field-hint\">{login.t(`codes_${factor}_hint`, { to: row.to })}</span>\n\n <Action\n {login}\n quiet\n label={login.t(\"send_code\")}\n onclick={() => login.submit(\"enrol:code-send\", { factor })}\n />\n {/if}\n </div>\n {/each}\n\n {#if offers.backupCodes}\n <div class=\"ledger-row ledger-step\" class:ledger-step-done={issued.length > 0 || codes.remaining > 0}>\n <span class=\"ledger-label\">{login.t(\"backup_codes\")}</span>\n\n {#if issued.length > 0}\n <ol class=\"codes\">\n {#each issued as held (held)}\n <li class=\"aside-mono\">{held}</li>\n {/each}\n </ol>\n <span class=\"field-hint\">{login.t(\"backup_codes_hint\")}</span>\n <div class=\"codes-actions\">\n <button type=\"button\" class=\"textlink\" onclick={copy}>\n {copied ? login.t(\"copied\") : login.t(\"copy\")}\n </button>\n <a class=\"textlink\" href={saved} download=\"backup-codes-{host}.txt\">{login.t(\"download\")}</a>\n </div>\n {:else if codes.remaining > 0}\n <span class=\"field-hint\">{login.t(\"backup_codes_left\", { count: codes.remaining })}</span>\n {:else}\n <span class=\"field-hint\">{login.t(\"backup_codes_waiting\")}</span>\n {/if}\n </div>\n {/if}\n </div>\n\n <form class=\"flow\" onsubmit={done}>\n {#if issued.length > 0}\n <label class=\"check\">\n <input type=\"checkbox\" name=\"kept\" required bind:checked={kept} />\n <span>{login.t(\"kept\")}</span>\n </label>\n {/if}\n\n <Action\n {login}\n type=\"submit\"\n {ready}\n busy={login.loading}\n label={anything || enrolment.required ? login.t(\"done\") : login.t(\"skip\")}\n working={login.t(\"working\")}\n />\n </form>\n</div>\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\n\nlet { login } = $props();\n\nlet code = $state(\"\");\n\nconst valid = $derived(code.trim().length >= 8);\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (!valid || login.loading) return;\n\n const entered = code;\n code = \"\";\n\n login.submit(\"backup\", { backup_code: entered });\n}\n</script>\n\n<Head {login} title={login.t(\"title\")} />\n\n<Identified {login} />\n\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"code\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"text\"\n name=\"backup_code\"\n class=\"control control-mono\"\n autocomplete=\"one-time-code\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autofocus\n bind:value={code}\n />\n <span class=\"field-hint\">{login.t(\"hint\")}</span>\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"checking\")}\n />\n</form>\n\n<Action\n {login}\n plain\n label={login.t(\"use_authenticator\")}\n onclick={() => login.submit(\"use-authenticator\", {})}\n/>\n","<script module>\nimport { root } from \"../lib/root.js\";\n\nconst token = document.querySelector('meta[name=\"csrf-token\"]')?.content ?? \"\";\n</script>\n\n<script>\nlet { actor, signOut = null } = $props();\n</script>\n\n<div class=\"actor\">\n <img src={actor.avatar} width=\"44\" height=\"44\" alt=\"\" class=\"avatar actor-avatar\" />\n\n <div class=\"actor-who\">\n <span class=\"actor-name\">{actor.name}</span>\n\n {#if actor.details.length || actor.note}\n <span class=\"actor-sub\">\n {actor.details.join(\" · \")}\n {#if actor.note}\n <span class=\"actor-note\">{actor.note}</span>\n {/if}\n </span>\n {/if}\n\n {#if actor.role}\n <span class=\"actor-role\">{actor.role}</span>\n {/if}\n </div>\n\n {#if signOut}\n <form class=\"signout\" method=\"post\" action={`${root}/logout`}>\n <input type=\"hidden\" name=\"authenticity_token\" value={token} />\n <button type=\"submit\" class=\"textlink\">{signOut}</button>\n </form>\n {/if}\n</div>\n","<script>\nimport { initials } from \"../lib/initial.js\";\nimport Head from \"../shared/Head.svelte\";\nimport Actor from \"../shared/Actor.svelte\";\n\nlet { login } = $props();\n\nlet chosen = $state(null);\n\nconst organizations = $derived(login.auth.organizations ?? []);\nconst client = $derived(login.client?.name ?? \"\");\n\nasync function choose(organization) {\n chosen = organization.key;\n\n try {\n await login.submit(\"organization\", { organization: organization.key });\n } finally {\n chosen = null;\n }\n}\n</script>\n\n<Head\n {login}\n title={client ? login.t(\"title_to\", { client }) : login.t(\"title\")}\n lede={login.t(\"lede\")}\n/>\n\n{#if login.auth.actor?.card}\n <Actor actor={login.auth.actor.card} signOut={login.t(\"sign_out\")} />\n{/if}\n\n<ul class=\"org-picks\" aria-label={login.t(\"title\")}>\n {#each organizations as organization (organization.key)}\n <li>\n <button\n type=\"button\"\n class=\"org-pick\"\n disabled={login.loading}\n aria-busy={chosen === organization.key || undefined}\n aria-label={login.t(\"as\", { organization: organization.name, role: organization.role })}\n onclick={() => choose(organization)}\n >\n <span class=\"org-pick-mark\" aria-hidden=\"true\">{initials(organization.name)}</span>\n <span class=\"org-pick-name\">{organization.name}</span>\n <span class=\"org-pick-role\">{chosen === organization.key ? login.t(\"working\") : organization.role}</span>\n </button>\n </li>\n {/each}\n</ul>\n","<script>\nimport { initial } from \"../lib/initial.js\";\n\nlet { client } = $props();\n</script>\n\n{#if client?.logo}\n <img src={client.logo} alt=\"\" class=\"auth-mark auth-mark-client auth-mark-logo\" referrerpolicy=\"no-referrer\" />\n{:else}\n <span class=\"auth-mark auth-mark-client\" aria-hidden=\"true\">{initial(client?.name)}</span>\n{/if}\n","const CONSEQUENTIAL =\n /(:write|:command|:exec|:delete|:admin)$|^offline_access$|^masks:delegate:./;\n\nfunction consequential(scope) {\n return CONSEQUENTIAL.test(String(scope));\n}\n\nexport function ranked(scopes) {\n const hot = [];\n const rest = [];\n\n for (const entry of scopes ?? []) {\n (consequential(entry[0]) ? hot : rest).push(entry);\n }\n\n return { hot, rest };\n}\n","<script>\nimport TenantMark from \"../shared/TenantMark.svelte\";\nimport Action from \"../shared/Action.svelte\";\nimport ClientMark from \"../shared/ClientMark.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Actor from \"../shared/Actor.svelte\";\nimport { ranked } from \"../lib/scopes.js\";\n\nlet { login } = $props();\n\nconst scopes = $derived(ranked(login.consent?.scopes ?? []));\nconst audience = $derived(login.consent?.audience ?? []);\nconst details = $derived(login.consent?.details ?? []);\nconst client = $derived(login.client?.name ?? \"\");\nconst links = $derived(\n [\n [\"site\", login.t(\"site\", { client })],\n [\"terms\", login.t(\"terms\")],\n [\"privacy\", login.t(\"privacy\")],\n ].filter(([key]) => login.client?.[key]),\n);\n\n</script>\n\n<div class=\"auth-pair\">\n <ClientMark client={login.client} />\n <span class=\"auth-wire\"></span>\n <TenantMark tenant={login.auth.tenant} />\n</div>\n\n<Head {login} title={login.t(\"title\", { client })} />\n\n{#if login.auth.actor?.card}\n <Actor actor={login.auth.actor.card} signOut={login.t(\"sign_out\")} />\n{/if}\n\n<div class=\"slab\">\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"access\")}</span>\n\n {#if !scopes.hot.length && !scopes.rest.length}\n <p class=\"empty\">{login.t(\"no_access\")}</p>\n {/if}\n\n <ul class=\"grant-scopes\">\n {#each scopes.hot as [scope, description] (scope)}\n <li class=\"grant-scope grant-scope-hot\">\n <span>{description}</span>\n <span class=\"chip-key\">{scope}</span>\n </li>\n {/each}\n\n {#if scopes.hot.length && scopes.rest.length}\n <li class=\"grant-scope-split\"></li>\n {/if}\n\n {#each scopes.rest as [scope, description] (scope)}\n <li class=\"grant-scope\">\n <span>{description}</span>\n <span class=\"chip-key\">{scope}</span>\n </li>\n {/each}\n </ul>\n </div>\n\n {#if audience.length}\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"audience\")}</span>\n {#each audience as resource (resource)}\n <span class=\"ledger-value aside-mono\">{resource}</span>\n {/each}\n </div>\n {/if}\n\n {#if details.length}\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"details\")}</span>\n <ul class=\"grant-scopes\">\n {#each details as detail, index (index)}\n <li class=\"grant-scope grant-scope-hot grant-detail\">\n <span>{detail.label}</span>\n <span class=\"chip-key\">{detail.type}</span>\n {#if detail.fields.length}\n <dl class=\"grant-fields\">\n {#each detail.fields as [name, value] (name)}\n <dt>{name}</dt>\n <dd class=\"aside-mono\">{value}</dd>\n {/each}\n </dl>\n {/if}\n </li>\n {/each}\n </ul>\n </div>\n {/if}\n\n {#if login.client?.returnsTo}\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"returns_to\")}</span>\n <span class=\"ledger-value aside-mono\">{login.client.returnsTo}</span>\n </div>\n {/if}\n</div>\n\n{#if links.length}\n <p class=\"aside client-links\">\n {#each links as [key, label] (key)}\n <a class=\"textlink\" href={login.client[key]} rel=\"noopener noreferrer\" target=\"_blank\">{label}</a>\n {/each}\n </p>\n{/if}\n\n<div class=\"action-row\">\n <Action\n {login}\n grow\n busy={login.loading}\n label={login.t(\"allow\")}\n working={login.t(\"working\")}\n onclick={() => login.submit(\"consent\", { approve: \"yes\" })}\n />\n\n <Action\n {login}\n quiet\n fit\n label={login.t(\"deny\")}\n onclick={() => login.submit(\"decline\", {})}\n />\n</div>\n","<script>\nimport Action from \"./Action.svelte\";\n\nlet { login, event } = $props();\n\nlet code = $state(\"\");\n\nconst valid = $derived(code.replace(/\\D/g, \"\").length === 6);\n\nfunction submit() {\n if (!valid || login.loading) return;\n\n const entered = code;\n code = \"\";\n\n login.submit(event, { code: entered });\n}\n\nfunction onsubmit(submitted) {\n submitted.preventDefault();\n submit();\n}\n\n$effect(() => {\n if (valid) submit();\n});\n</script>\n\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"code\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"text\"\n name=\"code\"\n class=\"control control-code\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n autocomplete=\"one-time-code\"\n maxlength=\"6\"\n spellcheck=\"false\"\n autofocus\n bind:value={code}\n />\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"checking\")}\n />\n</form>\n","<script>\nimport Action from \"./Action.svelte\";\n\nlet { login, event = \"confirm:resend\", ready = null } = $props();\n\nlet sent = $state(false);\n\nasync function resend() {\n await login.submit(event, {});\n sent = true;\n}\n</script>\n\n<Action\n {login}\n plain\n ready={ready ?? login.auth.confirmation?.resendable !== false}\n label={sent ? login.t(\"sent_again\") : login.t(\"send_again\")}\n onclick={resend}\n/>\n","<script>\nimport CodeForm from \"../shared/CodeForm.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\nimport Resend from \"../shared/Resend.svelte\";\n\nlet { login } = $props();\n</script>\n\n<Head {login} title={login.t(\"title\")} lede={login.t(\"lede\", { identifier: login.identifier ?? \"\" })} />\n\n<Identified {login} />\n\n<CodeForm {login} event=\"email-code:verify\" />\n\n<Resend {login} event=\"email-code:send\" ready={login.auth.emailCode?.resendable !== false} />\n","<script>\nimport Action from \"./Action.svelte\";\n\nlet { login } = $props();\n\nconst providers = $derived(login.auth.providers ?? []);\n</script>\n\n{#if providers.length}\n <div class=\"providers\">\n {#each providers as provider (provider.key)}\n <Action\n {login}\n quiet\n label={login.t(\"continue_with\", { provider: provider.name })}\n onclick={() => login.submit(\"provider\", { provider: provider.key })}\n />\n {/each}\n </div>\n{/if}\n","<script>\nimport PasskeyButton from \"./PasskeyButton.svelte\";\nimport ProviderButtons from \"./ProviderButtons.svelte\";\nimport { available } from \"../lib/passkey.js\";\n\nlet { login } = $props();\n\nconst passkey = $derived(Boolean(login.auth.passkey?.offered) && available());\nconst providers = $derived((login.auth.providers ?? []).length > 0);\n</script>\n\n{#if passkey || providers}\n <div class=\"otherwise\">\n <span class=\"providers-rule\">{login.t(\"or\")}</span>\n\n <PasskeyButton {login} />\n\n <ProviderButtons {login} />\n </div>\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\nimport Otherwise from \"../shared/Otherwise.svelte\";\n\nlet { login } = $props();\n\nlet password = $state(\"\");\n\nconst valid = $derived(password.length > 0);\nconst offersPassword = $derived(Boolean(login.auth.password?.offered));\nconst emailing = $derived(Boolean(login.auth.emailCode));\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading) {\n login.submit(\"password\", { password }).then(() => {\n password = \"\";\n });\n }\n}\n</script>\n\n<Head {login} title={offersPassword || !emailing ? login.t(\"title\") : login.t(\"title_code\")} />\n\n<Identified {login} />\n\n{#if offersPassword}\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <div class=\"field\">\n <div class=\"field-line\">\n <label class=\"field-label\" for=\"password\">{login.t(\"password\")}</label>\n\n <button\n type=\"button\"\n class=\"textlink\"\n disabled={login.loading}\n onclick={() => login.submit(\"forgot-password\", {})}\n >\n {login.t(\"forgot\")}\n </button>\n </div>\n\n <!-- svelte-ignore a11y_autofocus -->\n <input\n id=\"password\"\n type=\"password\"\n name=\"password\"\n class=\"control\"\n autocomplete=\"current-password\"\n autofocus\n bind:value={password}\n />\n </div>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"checking\")}\n />\n</form>\n{/if}\n\n{#if emailing}\n <Action\n {login}\n quiet={offersPassword}\n label={offersPassword ? login.t(\"email_me\") : login.t(\"email_only\")}\n onclick={() => login.submit(\"email-code:send\", {})}\n />\n{/if}\n\n<Otherwise {login} />\n","<script>\nimport Head from \"./Head.svelte\";\n\nlet { login, tone = null } = $props();\n\nconst client = $derived(login.auth.client);\n\nconst title = $derived(\n client?.name\n ? login.t(\"heading_to\", { client: client.name })\n : login.t(\"heading\"),\n);\n</script>\n\n<Head {login} {title} {tone} />\n","<script>\nimport { onMount } from \"svelte\";\nimport { autofill, autofillable, settle } from \"../lib/passkey.js\";\nimport Action from \"../shared/Action.svelte\";\nimport Otherwise from \"../shared/Otherwise.svelte\";\nimport ProviderButtons from \"../shared/ProviderButtons.svelte\";\nimport PromptHeader from \"../shared/PromptHeader.svelte\";\n\nlet { login } = $props();\n\nlet identifier = $state(\"\");\n\nconst valid = $derived(identifier.trim().length > 0);\n\nonMount(() => {\n let live = true;\n\n (async () => {\n if (!login.auth.passkey?.offered || !(await autofillable()) || !live) return;\n\n const offer = await login.poll(\"passkey:challenge\");\n const options = offer.passkey?.options;\n if (!options || !live) return;\n\n const passkey = await autofill(options);\n if (live) await login.submit(\"passkey:verify\", { passkey });\n })().catch(() => {});\n\n return () => {\n live = false;\n settle();\n };\n});\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading) {\n login.submit(\"identify\", { identifier });\n }\n}\n</script>\n\n<PromptHeader {login} />\n\n{#if login.auth.identifies !== false}\n <form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"identifier\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"text\"\n name=\"identifier\"\n class=\"control\"\n autocomplete=\"username webauthn\"\n autocapitalize=\"none\"\n autocorrect=\"off\"\n spellcheck=\"false\"\n autofocus\n bind:value={identifier}\n />\n {#if login.auth.signupOpen}\n <span class=\"field-hint\">{login.t(\"signup_hint\")}</span>\n {/if}\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"checking\")}\n />\n </form>\n\n <Otherwise {login} />\n{:else}\n <ProviderButtons {login} />\n{/if}\n","<script>\nimport CodeForm from \"../shared/CodeForm.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\nimport Resend from \"../shared/Resend.svelte\";\n\nlet { login } = $props();\n\nconst inbox = $derived(login.auth.inbox ?? {});\n</script>\n\n<Head {login} title={login.t(\"title\")} lede={inbox.mails ? login.t(\"lede\", { email: inbox.email }) : null} />\n\n<Identified {login} />\n\n{#if inbox.mails}\n <CodeForm {login} event=\"inbox:verify\" />\n <Resend {login} event=\"inbox:resend\" ready={inbox.resendable !== false} />\n{:else}\n <p class=\"note note-warn\" role=\"alert\">{login.t(\"no_mailer\")}</p>\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Hint from \"../shared/Hint.svelte\";\nimport Head from \"../shared/Head.svelte\";\n\nlet { login } = $props();\n\nlet password = $state(\"\");\n\nconst reset = $derived(login.auth.reset ?? {});\nconst minimum = $derived(reset.minimum ?? 8);\n\nconst valid = $derived(password.length >= minimum);\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading) {\n login.submit(\"reset-password\", { password });\n }\n}\n</script>\n\n<Head {login} title={login.t(\"title\")} />\n\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"account\")}</span>\n <input\n type=\"text\"\n class=\"control\"\n autocomplete=\"username\"\n value={reset.nickname ?? \"\"}\n readonly\n />\n </label>\n\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"password\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"password\"\n name=\"password\"\n class=\"control\"\n autocomplete=\"new-password\"\n autofocus\n bind:value={password}\n />\n <Hint {login} field=\"password\" hint={login.t(\"hint\", { minimum })} />\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"working\")}\n />\n</form>\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Head from \"../shared/Head.svelte\";\nimport Identified from \"../shared/Identified.svelte\";\nimport PasskeyButton from \"../shared/PasskeyButton.svelte\";\nimport { available } from \"../lib/passkey.js\";\n\nlet { login } = $props();\n\nlet code = $state(\"\");\nlet remember = $state(false);\nlet useApp = $state(false);\n\nconst methods = $derived(login.auth.secondFactors ?? { otp: true });\nconst codeFactors = $derived(login.auth.codeFactors ?? {});\nconst sendable = $derived(Object.keys(codeFactors).length > 0);\nconst approval = $derived(login.auth.approval);\nconst approving = $derived(approval?.state === \"waiting\");\nconst sent = $derived(useApp ? null : login.auth.codeSent);\nconst valid = $derived(code.replace(/\\D/g, \"\").length === 6);\nconst passkeyReady = $derived(\n Boolean(methods.passkey && login.auth.passkey?.offered) && available(),\n);\nconst asking = $derived(Boolean(sent) || methods.otp);\nconst stuck = $derived(\n !asking &&\n !passkeyReady &&\n !login.backupCodes &&\n !methods.trustedDevice &&\n !sendable,\n);\nconst recovery = $derived(login.auth.recovery ?? {});\nconst why = $derived.by(() => {\n if (login.auth.codesWithheld?.includes(\"email\")) return \"stuck_inbox\";\n if (!methods.passkey) return \"stuck_nothing\";\n\n return globalThis.isSecureContext ? \"stuck_unsupported\" : \"stuck_insecure\";\n});\n\nfunction submit() {\n if (!valid || login.loading) return;\n\n const entered = code;\n code = \"\";\n\n login.submit(sent ? \"code:verify\" : \"otp\", { code: entered, remember });\n}\n\nfunction onsubmit(event) {\n event.preventDefault();\n submit();\n}\n\nfunction send(factor) {\n useApp = false;\n login.submit(\"code:send\", { factor });\n}\n\n$effect(() => {\n if (valid) submit();\n});\n\n$effect(() => {\n if (!approving) return;\n\n const held = remember;\n let timer;\n let stopped = false;\n\n const check = async () => {\n if (!document.hidden) await login.poll(\"approval:check\", { remember: held });\n if (!stopped) timer = setTimeout(check, 2000);\n };\n\n timer = setTimeout(check, 2000);\n\n return () => {\n stopped = true;\n clearTimeout(timer);\n };\n});\n</script>\n\n{#snippet help()}\n {#if recovery.requested}\n <p class=\"aside\" role=\"status\">{login.t(\"recovery_requested\")}</p>\n {:else}\n <Action\n {login}\n plain\n label={login.t(stuck ? \"recovery_ask\" : \"recovery_request\")}\n onclick={() => login.submit(\"recovery:request\", {})}\n />\n {/if}\n{/snippet}\n\n{#snippet trust()}\n {#if login.rememberable}\n <label class=\"check\">\n <input type=\"checkbox\" bind:checked={remember} />\n <span>{login.t(\"trust\", { duration: login.auth.trustFor })}</span>\n </label>\n {/if}\n{/snippet}\n\n{#if stuck}\n <Head {login} tone=\"bad\" title={login.t(\"halted\")} lede={login.t(why)} />\n\n <Identified {login} />\n\n {@render help()}\n\n <Action\n {login}\n quiet\n label={login.t(\"start_over\")}\n working={login.t(\"working\")}\n busy={login.loading}\n onclick={() => login.startOver()}\n />\n{:else}\n <Head\n {login}\n title={login.t(asking ? \"title\" : \"title_passkey\")}\n lede={sent ? login.t(\"sent_to\", { to: sent.to }) : null}\n />\n\n <Identified {login} />\n\n {#if asking}\n <form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"code\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"text\"\n name=\"code\"\n class=\"control control-code\"\n inputmode=\"numeric\"\n pattern=\"[0-9 ]*\"\n autocomplete=\"one-time-code\"\n maxlength=\"7\"\n spellcheck=\"false\"\n autofocus\n bind:value={code}\n />\n </label>\n\n {@render trust()}\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"checking\")}\n />\n </form>\n {/if}\n\n {#if passkeyReady}\n {#if !asking}\n {@render trust()}\n {/if}\n\n <PasskeyButton {login} params={{ remember }} />\n {/if}\n\n {#if !asking && !passkeyReady && (approving || sendable)}\n {@render trust()}\n {/if}\n\n {#if approving}\n <div class=\"slab flow-tight\" aria-live=\"polite\">\n <span class=\"aside-mono approval-code\">{approval.code}</span>\n <span class=\"field-hint\">{login.t(\"approval_code\")}</span>\n <span class=\"aside\">{login.t(\"approval_waiting\")}</span>\n </div>\n {:else if methods.trustedDevice}\n {#if approval?.state === \"expired\"}\n <p class=\"aside aside-bad\" role=\"alert\">{login.t(\"approval_expired\")}</p>\n {/if}\n\n <Action\n {login}\n plain\n label={approval ? login.t(\"approval_again\") : login.t(\"use_trusted_device\")}\n onclick={() => login.submit(\"approval:request\", {})}\n />\n {/if}\n\n {#each Object.entries(codeFactors) as [factor, to] (factor)}\n {#if sent?.factor === factor}\n {#if sent.resendable}\n <Action {login} plain label={login.t(\"send_again\")} onclick={() => send(factor)} />\n {/if}\n {:else}\n <Action\n {login}\n plain\n label={login.t(`send_${factor}`, { to })}\n onclick={() => send(factor)}\n />\n {/if}\n {/each}\n\n {#if sent && methods.otp}\n <Action {login} plain label={login.t(\"use_app\")} onclick={() => (useApp = true)} />\n {/if}\n\n {#if login.backupCodes}\n <Action\n {login}\n plain\n label={login.t(\"use_backup_code\")}\n onclick={() => login.submit(\"use-backup-code\", {})}\n />\n {/if}\n\n {@render help()}\n{/if}\n","<script>\nimport TenantMark from \"../shared/TenantMark.svelte\";\nimport ClientMark from \"../shared/ClientMark.svelte\";\nimport Head from \"../shared/Head.svelte\";\n\nlet { login } = $props();\n\nconst client = $derived(login.client?.name ?? \"\");\n\nconst title = $derived(\n client ? login.t(\"heading_to\", { client }) : login.t(\"heading\"),\n);\n\n</script>\n\n<div class=\"over\">\n {#if client}\n <div class=\"auth-pair\">\n <TenantMark tenant={login.auth.tenant} />\n <span class=\"auth-wire auth-wire-live\"></span>\n <ClientMark client={login.client} />\n </div>\n {/if}\n\n <Head {login} {title} busy lede={login.t(\"waiting\")} />\n</div>\n","<script>\nimport Head from \"./Head.svelte\";\nimport Identified from \"./Identified.svelte\";\nimport SignupHead from \"./SignupHead.svelte\";\n\nlet { login, title, lede = null, tone = null } = $props();\n</script>\n\n{#if login.auth.signingUp}\n <SignupHead {login} mark={login.actor?.identifier ?? \"\"} />\n\n <div class=\"prompt-head\">\n <h2 class=\"prompt-title\">{title}</h2>\n {#if lede}<p class=\"prompt-lede\">{lede}</p>{/if}\n </div>\n{:else}\n <Head {login} {title} {lede} {tone} />\n\n <Identified {login} />\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport ConfirmHead from \"../shared/ConfirmHead.svelte\";\n\nlet { login } = $props();\n\nlet phone = $state(\"\");\n\nconst valid = $derived(/^\\+?[\\d\\s().-]{7,}$/.test(phone.trim()));\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading) login.submit(\"confirm:add-phone\", { phone });\n}\n</script>\n\n<ConfirmHead {login} title={login.t(\"title\")} lede={login.t(\"lede\")} />\n\n<form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <label class=\"field\">\n <span class=\"field-label\">{login.t(\"phone\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"tel\"\n name=\"phone\"\n class=\"control\"\n autocomplete=\"tel\"\n placeholder=\"+15551234567\"\n autofocus\n bind:value={phone}\n />\n <span class=\"field-hint\">{login.t(\"hint\")}</span>\n </label>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading}\n label={login.t(\"continue\")}\n working={login.t(\"working\")}\n />\n</form>\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport ConfirmHead from \"../shared/ConfirmHead.svelte\";\n\nlet { login } = $props();\n\n$effect(() => {\n const timer = setInterval(() => {\n if (!login.loading) login.submit(\"confirm:check\", {});\n }, 15000);\n\n return () => clearInterval(timer);\n});\n</script>\n\n<ConfirmHead {login} title={login.t(\"title\")} lede={login.t(\"lede\")} />\n\n<p class=\"waiting aside\">{login.t(\"waiting\")}</p>\n\n<Action {login} quiet label={login.t(\"check\")} busy={login.loading} onclick={() => login.submit(\"confirm:check\", {})} />\n","<script>\nimport CodeForm from \"../shared/CodeForm.svelte\";\nimport ConfirmHead from \"../shared/ConfirmHead.svelte\";\nimport Resend from \"../shared/Resend.svelte\";\n\nlet { login } = $props();\n\nconst confirmation = $derived(login.auth.confirmation ?? {});\nconst linked = $derived(confirmation.mode === \"link\");\n\n$effect(() => {\n if (!linked) return;\n\n const timer = setInterval(() => {\n if (!login.loading) login.submit(\"confirm:check\", {});\n }, 5000);\n\n return () => clearInterval(timer);\n});\n</script>\n\n<ConfirmHead\n {login}\n title={login.t(\"title\")}\n lede={login.t(linked ? \"lede_link\" : \"lede\", { email: confirmation.email })}\n/>\n\n{#if !confirmation.mails}\n <p class=\"note note-warn\" role=\"alert\">{login.t(\"no_mailer\")}</p>\n{:else if linked}\n <p class=\"waiting aside\">{login.t(\"waiting\")}</p>\n{:else}\n <CodeForm {login} event=\"confirm:email\" />\n{/if}\n\n{#if confirmation.mails}\n <Resend {login} />\n{/if}\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport CodeForm from \"../shared/CodeForm.svelte\";\nimport ConfirmHead from \"../shared/ConfirmHead.svelte\";\nimport Resend from \"../shared/Resend.svelte\";\n\nlet { login } = $props();\n\nconst confirmation = $derived(login.auth.confirmation ?? {});\n</script>\n\n<ConfirmHead {login} title={login.t(\"title\")} lede={login.t(\"lede\", { phone: confirmation.phone })} />\n\n{#if confirmation.texts}\n <CodeForm {login} event=\"confirm:phone\" />\n\n <Resend {login} />\n{:else}\n <p class=\"note note-warn\" role=\"alert\">{login.t(\"no_texts\")}</p>\n{/if}\n\n<Action {login} plain label={login.t(\"change_phone\")} onclick={() => login.submit(\"confirm:change-phone\", {})} />\n","const BATCH = 512;\nconst encoder = new TextEncoder();\nconst solved = new Map();\n\nfunction leadingZeros(digest) {\n const bytes = new Uint8Array(digest);\n let count = 0;\n\n for (const byte of bytes) {\n if (byte === 0) {\n count += 8;\n continue;\n }\n\n return count + Math.clz32(byte) - 24;\n }\n\n return count;\n}\n\nasync function search({ nonce, bits }) {\n for (let start = 0; ; start += BATCH) {\n const digests = await Promise.all(\n Array.from({ length: BATCH }, (_, offset) =>\n crypto.subtle.digest(\n \"SHA-256\",\n encoder.encode(`${nonce}${start + offset}`),\n ),\n ),\n );\n\n const found = digests.findIndex((digest) => leadingZeros(digest) >= bits);\n\n if (found >= 0) return String(start + found);\n }\n}\n\nexport function solve(work) {\n if (!work) return Promise.resolve(null);\n\n if (!solved.has(work.token)) {\n solved.set(\n work.token,\n search(work).then((counter) => ({\n work: work.token,\n work_counter: counter,\n })),\n );\n }\n\n return solved.get(work.token);\n}\n","<script>\nimport { untrack } from \"svelte\";\nimport Action from \"../shared/Action.svelte\";\nimport Hint from \"../shared/Hint.svelte\";\nimport SignupHead from \"../shared/SignupHead.svelte\";\nimport { solve } from \"../lib/work.js\";\n\nlet { login } = $props();\n\nconst signup = $derived(login.auth.signup ?? {});\nconst asks = $derived(signup.asks ?? {});\nconst fixed = $derived(new Set(signup.fixed ?? []));\nconst firstRun = $derived(Boolean(login.auth.signingUp?.firstRun));\nconst docs = $derived(login.auth.docs);\nconst origin = typeof location === \"undefined\" ? \"\" : location.origin;\n\nconst held = untrack(() => login.auth.signup ?? {});\n\nlet token = $state(\"\");\nlet nickname = $state(held.nickname ?? \"\");\nlet email = $state(held.email ?? \"\");\nlet name = $state(held.name ?? \"\");\nlet phone = $state(held.phone ?? \"\");\nlet proving = $state(false);\n\nconst filled = (value) => value.trim().length > 0;\nconst needs = (field, value) => asks[field] !== \"required\" || filled(value);\n\nconst valid = $derived(\n (!signup.token || filled(token)) &&\n needs(\"nickname\", nickname) &&\n needs(\"email\", email) &&\n needs(\"phone\", phone) &&\n (filled(nickname) || filled(email)),\n);\n\n$effect(() => {\n solve(signup.work).catch(() => null);\n});\n\nasync function proof() {\n proving = true;\n\n try {\n return (await solve(signup.work)) ?? {};\n } catch {\n return {};\n } finally {\n proving = false;\n }\n}\n\nasync function onsubmit(event) {\n event.preventDefault();\n\n if (valid && !login.loading && !proving) {\n const work = await proof();\n\n login.submit(\"signup\", { token, nickname, email, name, phone, ...work });\n }\n}\n</script>\n\n<div class=\"setup flow\" class:setup-ready={valid}>\n <SignupHead {login} at={1} mark={nickname || email} />\n\n <form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <div class=\"slab\">\n {#if signup.token}\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={filled(token)}>\n <span class=\"ledger-label\">{login.t(\"token\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input type=\"password\" name=\"token\" class=\"control\" autocomplete=\"off\" autofocus bind:value={token} />\n <Hint {login} field=\"token\" hint={login.t(\"token_hint\")} />\n </label>\n {/if}\n\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={filled(name)}>\n <span class=\"ledger-label\">{login.t(\"name\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input type=\"text\" name=\"name\" class=\"control\" autocomplete=\"name\" autofocus={!signup.token} bind:value={name} />\n </label>\n\n {#if asks.nickname !== \"off\"}\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={filled(nickname)}>\n <span class=\"ledger-label\">{login.t(\"nickname\")}</span>\n <input\n type=\"text\"\n name=\"nickname\"\n class=\"control\"\n autocomplete=\"username\"\n autocapitalize=\"none\"\n autocorrect=\"off\"\n spellcheck=\"false\"\n bind:value={nickname}\n />\n <Hint {login} field=\"nickname\" />\n </label>\n {/if}\n\n {#if asks.email !== \"off\"}\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={filled(email)}>\n <span class=\"ledger-label\">{login.t(\"email\")}</span>\n <input\n type=\"email\"\n name=\"email\"\n class=\"control\"\n autocomplete=\"email\"\n readonly={fixed.has(\"email\")}\n bind:value={email}\n />\n <Hint {login} field=\"email\" />\n </label>\n {/if}\n\n {#if asks.phone !== \"off\"}\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={filled(phone)}>\n <span class=\"ledger-label\">{login.t(\"phone\")}</span>\n <input\n type=\"tel\"\n name=\"phone\"\n class=\"control\"\n autocomplete=\"tel\"\n placeholder=\"+15551234567\"\n bind:value={phone}\n />\n <Hint {login} field=\"phone\" />\n </label>\n {/if}\n\n {#if firstRun}\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"origin\")}</span>\n <span class=\"ledger-value aside-mono\">{origin}</span>\n </div>\n {/if}\n </div>\n\n <Action\n {login}\n type=\"submit\"\n ready={valid}\n busy={login.loading || proving}\n label={login.t(\"continue\")}\n working={proving ? login.t(\"proving\") : login.t(\"working\")}\n />\n </form>\n\n {#if firstRun}\n <p class=\"aside\">\n {login.t(\"once\")}\n {#if docs}\n <a class=\"textlink\" href={docs} rel=\"noopener\" target=\"_blank\">{login.t(\"docs\")}</a>\n {/if}\n </p>\n {:else}\n <p class=\"aside\">\n {login.t(\"have_account\")}\n <button type=\"button\" class=\"textlink\" disabled={login.loading} onclick={() => login.startOver()}\n >{login.t(\"sign_in_instead\")}</button\n >\n </p>\n {/if}\n</div>\n","<script>\nimport Action from \"../shared/Action.svelte\";\nimport Hint from \"../shared/Hint.svelte\";\nimport SignupHead from \"../shared/SignupHead.svelte\";\nimport { available, enrol, refused } from \"../lib/passkey.js\";\n\nlet { login } = $props();\n\nconst signup = $derived(login.auth.signup ?? {});\nconst credentials = $derived(signup.credentials ?? { password: true, passkey: false });\nconst firstRun = $derived(Boolean(login.auth.signingUp?.firstRun));\nconst minimum = $derived(signup.minimum ?? 8);\nconst docs = $derived(login.auth.docs);\nconst passkeyable = $derived(Boolean(credentials.passkey) && available());\nconst submitLabel = $derived(firstRun ? login.t(\"submit_first_run\") : login.t(\"submit_signup\"));\n\nconst rows = $derived(\n [\n [\"name\", signup.name],\n [\"nickname\", signup.nickname],\n [\"email\", signup.email],\n [\"phone\", signup.phone],\n ].filter(([, value]) => value),\n);\n\nlet way = $state(null);\n\nconst chosen = $derived(way ?? (passkeyable ? \"passkey\" : \"password\"));\nconst choosing = $derived(Boolean(credentials.password) && passkeyable);\nconst typing = $derived(Boolean(credentials.password) && (!passkeyable || chosen === \"password\"));\nconst passkeying = $derived(passkeyable && (!credentials.password || chosen === \"passkey\"));\n\nlet password = $state(\"\");\nlet confirmation = $state(\"\");\nlet creating = $state(false);\nlet unusable = $state(null);\n\nconst long = $derived(password.length >= minimum);\nconst matched = $derived(long && confirmation === password);\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (matched && !login.loading) {\n login.submit(\"signup\", { password, password_confirmation: confirmation });\n }\n}\n\nasync function createPasskey() {\n creating = true;\n unusable = null;\n\n try {\n const offer = await login.submit(\"signup:passkey-challenge\", {});\n const options = offer.signup?.passkeyOptions;\n\n if (!options) {\n unusable = login.t(\"passkey_unoffered\");\n return;\n }\n\n await login.submit(\"signup:passkey\", { passkey: await enrol(options) });\n } catch (error) {\n if (!refused(error)) {\n unusable = login.t(\"passkey_unusable\");\n }\n } finally {\n creating = false;\n }\n}\n</script>\n\n<div class=\"setup flow\" class:setup-ready={typing ? matched : passkeying}>\n <SignupHead {login} at={2} mark={signup.nickname || signup.email || \"\"} />\n\n <form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <div class=\"slab\">\n {#each rows as [field, value] (field)}\n <div class=\"ledger-row ledger-row-aside\">\n <span class=\"ledger-label\">{login.t(field)}</span>\n <span class=\"ledger-value\">{value}</span>\n <button\n type=\"button\"\n class=\"textlink ledger-aside\"\n disabled={login.loading}\n onclick={() => login.submit(\"signup-edit\")}>{login.t(\"edit\")}</button>\n </div>\n {/each}\n\n {#if choosing}\n <div class=\"ledger-row\">\n <span class=\"ledger-label\" id=\"credential-way\">{login.t(\"way\")}</span>\n <div class=\"credential-ways\" role=\"radiogroup\" aria-labelledby=\"credential-way\">\n {#each [[\"passkey\", login.t(\"way_passkey\")], [\"password\", login.t(\"way_password\")]] as [value, label] (value)}\n <button\n type=\"button\"\n role=\"radio\"\n class=\"credential-way\"\n aria-checked={chosen === value}\n disabled={login.loading || creating}\n onclick={() => (way = value)}>{label}</button\n >\n {/each}\n </div>\n </div>\n {/if}\n\n {#if typing}\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={long}>\n <span class=\"ledger-label\">{login.t(\"password\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input\n type=\"password\"\n name=\"password\"\n class=\"control\"\n autocomplete=\"new-password\"\n autofocus={!choosing}\n bind:value={password}\n />\n <Hint {login} field=\"password\" hint={login.t(\"password_hint\", { minimum })} />\n </label>\n\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={matched}>\n <span class=\"ledger-label\">{login.t(\"confirm\")}</span>\n <input\n type=\"password\"\n name=\"password_confirmation\"\n class=\"control\"\n autocomplete=\"new-password\"\n bind:value={confirmation}\n />\n <Hint {login} field=\"password_confirmation\" />\n </label>\n {/if}\n </div>\n\n {#if typing}\n <Action\n {login}\n type=\"submit\"\n ready={matched}\n busy={login.loading && !creating}\n label={submitLabel}\n working={login.t(\"working\")}\n />\n {/if}\n </form>\n\n {#if passkeying}\n <div class=\"flow-tight\">\n <p class=\"aside\">{login.t(\"passkey_lede\")} {login.t(\"passkey_later\")}</p>\n\n <Action\n {login}\n busy={creating}\n label={login.t(\"create_passkey\")}\n working={login.t(\"waiting_for_passkey\")}\n onclick={createPasskey}\n />\n\n {#if creating}\n <p class=\"aside\">{login.t(\"passkey_hint\")}</p>\n {/if}\n\n {#if unusable}\n <p class=\"aside aside-bad\" role=\"alert\">{unusable}</p>\n {/if}\n </div>\n {:else if !credentials.password}\n <p class=\"note note-warn\" role=\"alert\">{login.t(\"no_passkeys\")}</p>\n {/if}\n\n {#if firstRun}\n <p class=\"aside\">\n {login.t(\"once\")}\n {#if docs}\n <a class=\"textlink\" href={docs} rel=\"noopener\" target=\"_blank\">{login.t(\"docs\")}</a>\n {/if}\n </p>\n {/if}\n</div>\n","<script>\nimport { untrack } from \"svelte\";\nimport Action from \"../shared/Action.svelte\";\nimport SignupHead from \"../shared/SignupHead.svelte\";\n\nlet { login } = $props();\n\nconst docs = $derived(login.auth.docs);\nconst origin = typeof location === \"undefined\" ? \"\" : location.origin;\n\nlet called = $state(untrack(() => login.auth.configure?.called ?? \"\"));\n\nconst ready = $derived(called.trim().length > 0);\n\nfunction onsubmit(event) {\n event.preventDefault();\n\n if (ready && !login.loading) {\n login.submit(\"setup-configure\", { called });\n }\n}\n</script>\n\n<div class=\"setup flow\" class:setup-ready={ready}>\n <SignupHead {login} at={3} mark={login.actor?.identifier ?? \"\"} />\n\n <form {onsubmit} class=\"flow\" aria-busy={login.loading || undefined}>\n <div class=\"slab\">\n <label class=\"ledger-row ledger-step\" class:ledger-step-done={ready}>\n <span class=\"ledger-label\">{login.t(\"called\")}</span>\n <!-- svelte-ignore a11y_autofocus -->\n <input type=\"text\" name=\"called\" class=\"control\" autofocus bind:value={called} />\n <span class=\"field-hint\">{login.t(\"called_hint\")}</span>\n </label>\n\n <div class=\"ledger-row\">\n <span class=\"ledger-label\">{login.t(\"origin\")}</span>\n <span class=\"ledger-value aside-mono\">{origin}</span>\n </div>\n </div>\n\n <Action\n {login}\n type=\"submit\"\n {ready}\n busy={login.loading}\n label={login.t(\"submit\")}\n working={login.t(\"working\")}\n />\n </form>\n\n <p class=\"aside\">\n {login.t(\"once\")}\n {#if docs}\n <a class=\"textlink\" href={docs} rel=\"noopener\" target=\"_blank\">{login.t(\"docs\")}</a>\n {/if}\n </p>\n</div>\n","<script>\nimport { untrack } from \"svelte\";\nimport { createLogin } from \"./lib/login.svelte.js\";\nimport Action from \"./shared/Action.svelte\";\nimport Head from \"./shared/Head.svelte\";\nimport Warnings from \"./shared/Warnings.svelte\";\nimport AcceptInvitation from \"./prompts/accept-invitation.svelte\";\nimport Enrol from \"./prompts/enrol.svelte\";\nimport BackupCode from \"./prompts/backup-code.svelte\";\nimport ChooseOrganization from \"./prompts/choose-organization.svelte\";\nimport Consent from \"./prompts/consent.svelte\";\nimport EmailCode from \"./prompts/email-code.svelte\";\nimport FirstFactor from \"./prompts/first-factor.svelte\";\nimport Identify from \"./prompts/identify.svelte\";\nimport ProveEmail from \"./prompts/prove-email.svelte\";\nimport ResetPassword from \"./prompts/reset-password.svelte\";\nimport SecondFactor from \"./prompts/second-factor.svelte\";\nimport Settled from \"./prompts/settled.svelte\";\nimport AddPhone from \"./prompts/add-phone.svelte\";\nimport AwaitingApproval from \"./prompts/awaiting-approval.svelte\";\nimport ConfirmEmail from \"./prompts/confirm-email.svelte\";\nimport ConfirmPhone from \"./prompts/confirm-phone.svelte\";\nimport Signup from \"./prompts/signup.svelte\";\nimport SignupCredentials from \"./prompts/signup-credentials.svelte\";\nimport SetupConfigure from \"./prompts/setup-configure.svelte\";\n\nconst prompts = {\n signup: Signup,\n \"signup-credentials\": SignupCredentials,\n \"setup-configure\": SetupConfigure,\n \"accept-invitation\": AcceptInvitation,\n identify: Identify,\n \"prove-email\": ProveEmail,\n \"reset-password\": ResetPassword,\n \"first-factor\": FirstFactor,\n \"email-code\": EmailCode,\n \"second-factor\": SecondFactor,\n \"backup-code\": BackupCode,\n enrol: Enrol,\n \"confirm-email\": ConfirmEmail,\n \"confirm-phone\": ConfirmPhone,\n \"add-phone\": AddPhone,\n \"awaiting-approval\": AwaitingApproval,\n \"choose-organization\": ChooseOrganization,\n consent: Consent,\n settled: Settled,\n};\n\nlet { auth } = $props();\n\nconst login = createLogin(untrack(() => auth));\nconst Prompt = $derived(prompts[login.prompt]);\n\nlet frame = $state(null);\nlet entering = $state(false);\nlet leaving = $state(0);\n\nconst still = () =>\n typeof matchMedia === \"function\" &&\n matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n$effect.pre(() => {\n login.prompt;\n\n const height = untrack(() => (still() ? 0 : (frame?.offsetHeight ?? 0)));\n\n leaving = height;\n entering = height > 0;\n});\n\n$effect(() => {\n const surface = login.auth.surface ?? \"challenge\";\n const paired = login.prompt === \"settled\" && Boolean(login.client?.name);\n const column = document.querySelector(\".auth-col\");\n\n if (!column) return;\n\n for (const name of [\"challenge\", \"grant\"]) {\n column.classList.toggle(`surface-${name}`, name === surface);\n }\n\n document\n .querySelector(\".auth-id\")\n ?.toggleAttribute(\"hidden\", surface !== \"challenge\" || paired);\n});\n\n$effect(() => {\n login.prompt;\n\n const node = frame;\n const from = untrack(() => leaving);\n\n if (!node || !from) return;\n\n const to = node.offsetHeight;\n\n if (to !== from) {\n node.classList.add(\"gate-moving\");\n\n const move = node.animate(\n [{ height: `${from}px` }, { height: `${to}px` }],\n { duration: 300, easing: \"cubic-bezier(0.2, 0.8, 0.2, 1)\" },\n );\n\n move.finished\n .catch(() => {})\n .then(() => node.classList.remove(\"gate-moving\"));\n }\n\n const timer = setTimeout(() => {\n entering = false;\n }, 500);\n\n return () => clearTimeout(timer);\n});\n</script>\n\n<Warnings {login} />\n\n<div class=\"gate\" class:gate-enter={entering} bind:this={frame}>\n {#key login.prompt}\n {#if Prompt}\n <Prompt {login} />\n {:else}\n <div class=\"over\">\n <Head\n {login}\n tone=\"bad\"\n title={login.t(\"halted\")}\n lede={login.t(\"halted_lede\")}\n />\n\n <Action\n {login}\n quiet\n label={login.t(\"start_over\")}\n working={login.t(\"working\")}\n busy={login.loading}\n onclick={() => login.startOver()}\n />\n </div>\n {/if}\n {/key}\n</div>\n","const SKIPPED = new Set([\"hidden\", \"checkbox\", \"radio\", \"submit\", \"button\"]);\n\nexport function heldInputs(root) {\n return [...root.querySelectorAll(\"input[name]\")]\n .filter((input) => !SKIPPED.has(input.type) && input.value)\n .map((input) => ({\n name: input.name,\n value: input.value,\n focused: input === input.ownerDocument.activeElement,\n }));\n}\n\nexport function restoreInputs(root, held) {\n for (const { name, value, focused } of held) {\n const input = root.querySelector(`input[name=\"${CSS.escape(name)}\"]`);\n\n if (!input || SKIPPED.has(input.type) || input.value) continue;\n\n input.value = value;\n input.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\n if (focused) input.focus();\n }\n}\n","import { flushSync, mount } from \"svelte\";\nimport Login from \"../Login.svelte\";\nimport { heldInputs, restoreInputs } from \"../lib/typed.js\";\n\nconst target = document.getElementById(\"login\");\n\nif (target) {\n const auth = JSON.parse(target.dataset.auth);\n const held = heldInputs(target);\n\n target.replaceChildren();\n\n mount(Login, { target, props: { auth } });\n flushSync();\n restoreInputs(target, held);\n}\n"],"mappings":"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"}
|