masks-server 0.11.0 → 0.12.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/masks/server/account_controller.rb +3 -0
- data/app/controllers/masks/server/app_passwords_controller.rb +41 -0
- data/app/controllers/masks/server/authorize_controller.rb +33 -2
- data/app/controllers/masks/server/forward_auth_controller.rb +104 -12
- data/app/controllers/masks/server/logins_controller.rb +4 -3
- data/app/controllers/masks/server/organization_access_controller.rb +39 -0
- data/app/graphql/masks/server/manage/mutations/base_mutation.rb +7 -0
- data/app/graphql/masks/server/manage/mutations/create_group.rb +6 -4
- data/app/graphql/masks/server/manage/mutations/decline_access.rb +27 -0
- data/app/graphql/masks/server/manage/mutations/grant_access.rb +29 -0
- data/app/graphql/masks/server/manage/mutations/group_source.rb +34 -0
- data/app/graphql/masks/server/manage/mutations/issue_ldap_credential.rb +5 -2
- data/app/graphql/masks/server/manage/mutations/refresh_group.rb +21 -0
- data/app/graphql/masks/server/manage/mutations/remove_group_member.rb +2 -0
- data/app/graphql/masks/server/manage/mutations/run_health_checks.rb +19 -0
- data/app/graphql/masks/server/manage/mutations/update_client.rb +6 -0
- data/app/graphql/masks/server/manage/mutations/update_group.rb +7 -4
- data/app/graphql/masks/server/manage/mutations/update_tenant.rb +14 -1
- data/app/graphql/masks/server/manage/types/access_request_type.rb +21 -0
- data/app/graphql/masks/server/manage/types/actor_type.rb +6 -0
- data/app/graphql/masks/server/manage/types/client_type.rb +12 -0
- data/app/graphql/masks/server/manage/types/group_condition_input.rb +16 -0
- data/app/graphql/masks/server/manage/types/group_condition_type.rb +29 -0
- data/app/graphql/masks/server/manage/types/group_member_type.rb +16 -0
- data/app/graphql/masks/server/manage/types/group_type.rb +17 -1
- data/app/graphql/masks/server/manage/types/health_check_type.rb +18 -0
- data/app/graphql/masks/server/manage/types/ldap_credential_type.rb +1 -0
- data/app/graphql/masks/server/manage/types/mutation_type.rb +4 -0
- data/app/graphql/masks/server/manage/types/query_type.rb +24 -0
- data/app/graphql/masks/server/manage/types/release_type.rb +16 -0
- data/app/graphql/masks/server/manage/types/tenant_type.rb +6 -1
- data/app/helpers/masks/server/account_helper.rb +4 -0
- data/app/jobs/masks/server/cleanup_job.rb +1 -0
- data/app/jobs/masks/server/health_check_job.rb +21 -0
- data/app/jobs/masks/server/refresh_groups_job.rb +18 -0
- data/app/jobs/masks/server/release_check_job.rb +21 -0
- data/app/ldap/masks/server/ldap/connection.rb +3 -2
- data/app/ldap/masks/server/ldap/gate.rb +31 -4
- data/app/logins/masks/server/login_states/second_factor.rb +1 -1
- data/app/mailers/masks/server/actor_mailer.rb +31 -0
- data/app/models/masks/server/access_request.rb +103 -0
- data/app/models/masks/server/actor.rb +6 -0
- data/app/models/masks/server/app_password.rb +91 -0
- data/app/models/masks/server/app_passwords.rb +82 -0
- data/app/models/masks/server/client.rb +15 -0
- data/app/models/masks/server/connection.rb +7 -0
- data/app/models/masks/server/declared.rb +10 -2
- data/app/models/masks/server/email_verification.rb +2 -2
- data/app/models/masks/server/event.rb +11 -1
- data/app/models/masks/server/federation/protocol.rb +1 -1
- data/app/models/masks/server/federation/saml.rb +1 -1
- data/app/models/masks/server/forward_auth_rules.rb +162 -0
- data/app/models/masks/server/group.rb +207 -4
- data/app/models/masks/server/group_member.rb +7 -0
- data/app/models/masks/server/group_rule.rb +63 -0
- data/app/models/masks/server/health.rb +243 -0
- data/app/models/masks/server/health_check.rb +27 -0
- data/app/models/masks/server/invitation.rb +2 -2
- data/app/models/masks/server/ldap_credential.rb +2 -2
- data/app/models/masks/server/login.rb +28 -2
- data/app/models/masks/server/mail_previews.rb +5 -0
- data/app/models/masks/server/mail_template.rb +2 -0
- data/app/models/masks/server/membership.rb +10 -3
- data/app/models/masks/server/notifications.rb +3 -1
- data/app/models/masks/server/password_reset.rb +2 -2
- data/app/models/masks/server/provider.rb +1 -0
- data/app/models/masks/server/queue.rb +60 -0
- data/app/models/masks/server/release.rb +74 -0
- data/app/models/masks/server/session.rb +8 -0
- data/app/models/masks/server/tenant.rb +39 -2
- data/app/models/masks/server/token.rb +2 -1
- data/app/views/masks/server/account/_app_passwords.html.erb +83 -0
- data/app/views/masks/server/account/_organizations.html.erb +33 -0
- data/app/views/masks/server/account/index.html.erb +5 -0
- data/app/views/masks/server/actor_mailer/access_declined.html.erb +5 -0
- data/app/views/masks/server/actor_mailer/access_declined.text.erb +5 -0
- data/app/views/masks/server/actor_mailer/access_granted.html.erb +7 -0
- data/app/views/masks/server/actor_mailer/access_granted.text.erb +7 -0
- data/app/views/masks/server/authorize/error.html.erb +25 -0
- data/config/locales/de/access_requests.yml +43 -0
- data/config/locales/de/account/app_passwords.yml +42 -0
- data/config/locales/de/events.yml +5 -0
- data/config/locales/de/flashes.yml +1 -0
- data/config/locales/de/group_sources.yml +5 -0
- data/config/locales/de/manage/access_requests.yml +12 -0
- data/config/locales/de/manage/app_passwords.yml +16 -0
- data/config/locales/de/manage/forward_auth_rules.yml +29 -0
- data/config/locales/de/manage/group_sources.yml +44 -0
- data/config/locales/de/manage/health.yml +78 -0
- data/config/locales/de/manage/links.yml +20 -0
- data/config/locales/en/access_requests.yml +43 -0
- data/config/locales/en/account/app_passwords.yml +42 -0
- data/config/locales/en/events.yml +5 -0
- data/config/locales/en/flashes.yml +1 -0
- data/config/locales/en/group_sources.yml +5 -0
- data/config/locales/en/manage/access_requests.yml +12 -0
- data/config/locales/en/manage/app_passwords.yml +16 -0
- data/config/locales/en/manage/forward_auth_rules.yml +29 -0
- data/config/locales/en/manage/group_sources.yml +44 -0
- data/config/locales/en/manage/health.yml +78 -0
- data/config/locales/en/manage/links.yml +20 -0
- data/config/locales/es/access_requests.yml +43 -0
- data/config/locales/es/account/app_passwords.yml +42 -0
- data/config/locales/es/events.yml +5 -0
- data/config/locales/es/flashes.yml +1 -0
- data/config/locales/es/group_sources.yml +5 -0
- data/config/locales/es/manage/access_requests.yml +12 -0
- data/config/locales/es/manage/app_passwords.yml +16 -0
- data/config/locales/es/manage/forward_auth_rules.yml +29 -0
- data/config/locales/es/manage/group_sources.yml +44 -0
- data/config/locales/es/manage/health.yml +78 -0
- data/config/locales/es/manage/links.yml +20 -0
- data/config/locales/fr/access_requests.yml +43 -0
- data/config/locales/fr/account/app_passwords.yml +42 -0
- data/config/locales/fr/events.yml +5 -0
- data/config/locales/fr/flashes.yml +1 -0
- data/config/locales/fr/group_sources.yml +5 -0
- data/config/locales/fr/manage/access_requests.yml +12 -0
- data/config/locales/fr/manage/app_passwords.yml +16 -0
- data/config/locales/fr/manage/forward_auth_rules.yml +29 -0
- data/config/locales/fr/manage/group_sources.yml +44 -0
- data/config/locales/fr/manage/health.yml +78 -0
- data/config/locales/fr/manage/links.yml +20 -0
- data/config/routes.rb +5 -0
- data/db/migrate/20261020100000_create_access_requests.rb +28 -0
- data/db/migrate/20261020110000_add_app_passwords_to_clients.rb +5 -0
- data/db/migrate/20261020120000_add_forward_auth_rules_to_clients.rb +6 -0
- data/db/migrate/20261020130000_add_sources_to_groups.rb +15 -0
- data/db/migrate/20261020140000_create_health_checks.rb +25 -0
- data/db/migrate/20261020150000_add_link_lifetimes_to_tenants.rb +8 -0
- data/db/migrate/20261021100000_add_pinned_origin_to_tenants.rb +5 -0
- data/lib/generators/masks/server/install/install_generator.rb +3 -2
- data/lib/masks/server/configuration.rb +2 -11
- data/lib/masks/server/schema_reference.rb +12 -0
- data/lib/masks/server/tenancy/middleware.rb +17 -6
- data/public/masks-assets/.vite/manifest.json +13 -13
- data/public/masks-assets/assets/{account-D46qDQCo.js → account-h7I6VUPR.js} +2 -2
- data/public/masks-assets/assets/{account-D46qDQCo.js.map → account-h7I6VUPR.js.map} +1 -1
- data/public/masks-assets/assets/{app-D7W0gAyT.css → app-BXOScMjL.css} +1 -1
- data/public/masks-assets/assets/{handshake-DIFZPSAK.js → handshake-YQpRNMIs.js} +2 -2
- data/public/masks-assets/assets/{handshake-DIFZPSAK.js.map → handshake-YQpRNMIs.js.map} +1 -1
- data/public/masks-assets/assets/initial-Cn-UuAsy.js +3 -0
- data/public/masks-assets/assets/{initial-C1GpCiEh.js.map → initial-Cn-UuAsy.js.map} +1 -1
- data/public/masks-assets/assets/{login-C_6igRZ3.js → login-C21_jb6L.js} +3 -3
- data/public/masks-assets/assets/{login-C_6igRZ3.js.map → login-C21_jb6L.js.map} +1 -1
- data/public/masks-assets/assets/{manage-D4MzaDvM.js → manage-DpVxe5sv.js} +80 -51
- data/public/masks-assets/assets/manage-DpVxe5sv.js.map +1 -0
- data/public/masks-assets/assets/passkey-5UYPVD3c.js +2 -0
- data/public/masks-assets/assets/{passkey-DIj_5LCY.js.map → passkey-5UYPVD3c.js.map} +1 -1
- data/version.txt +1 -1
- metadata +87 -14
- data/public/masks-assets/assets/initial-C1GpCiEh.js +0 -3
- data/public/masks-assets/assets/manage-D4MzaDvM.js.map +0 -1
- data/public/masks-assets/assets/passkey-DIj_5LCY.js +0 -2
|
@@ -1,4 +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(`
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./passkey-5UYPVD3c.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-Cn-UuAsy.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)||(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
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-
|
|
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;else 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-C21_jb6L.js.map
|