masks-server 0.10.0 → 0.11.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/discovery_controller.rb +36 -0
- data/app/controllers/masks/server/enrollments_controller.rb +17 -0
- data/app/controllers/masks/server/organization_members_controller.rb +3 -1
- data/app/graphql/masks/server/manage/mutations/unenroll_client.rb +28 -0
- data/app/graphql/masks/server/manage/types/client_type.rb +6 -0
- data/app/graphql/masks/server/manage/types/mutation_type.rb +1 -0
- data/app/jobs/masks/server/application_job.rb +28 -0
- data/app/jobs/masks/server/check_domain_claims_job.rb +1 -3
- data/app/jobs/masks/server/cleanup_job.rb +4 -6
- data/app/jobs/masks/server/idle_accounts_job.rb +1 -3
- data/app/jobs/masks/server/prune_queue_job.rb +19 -0
- data/app/jobs/masks/server/refresh_saml_metadata_job.rb +1 -3
- data/app/jobs/masks/server/rotate_signing_keys_job.rb +1 -3
- data/app/jobs/masks/server/text_job.rb +12 -1
- data/app/models/masks/server/app_preset.rb +102 -0
- data/app/models/masks/server/boot_task.rb +41 -0
- data/app/models/masks/server/enrollment_token.rb +1 -1
- data/app/models/masks/server/event.rb +5 -1
- data/app/models/masks/server/job_failures.rb +25 -0
- data/config/locales/de/events.yml +4 -0
- data/config/locales/de/manage/client.yml +1 -1
- data/config/locales/de/manage/machines.yml +13 -0
- data/config/locales/de/manage/namespaces.yml +1 -1
- data/config/locales/en/events.yml +4 -0
- data/config/locales/en/manage/machines.yml +13 -0
- data/config/locales/es/events.yml +4 -0
- data/config/locales/es/handshakes.yml +1 -1
- data/config/locales/es/manage/machines.yml +13 -0
- data/config/locales/fr/events.yml +4 -0
- data/config/locales/fr/handshakes.yml +1 -1
- data/config/locales/fr/manage/client.yml +1 -1
- data/config/locales/fr/manage/clients.yml +1 -1
- data/config/locales/fr/manage/machines.yml +13 -0
- data/config/locales/fr/manage/providers.yml +1 -1
- data/config/routes.rb +1 -0
- data/db/migrate/20261019140000_add_indexes_for_cleanup_and_metrics.rb +10 -0
- data/lib/masks/server/configuration.rb +4 -0
- data/lib/tasks/masks.rake +31 -7
- data/public/masks-assets/.vite/manifest.json +1 -1
- data/public/masks-assets/assets/{manage-DR9qQiBU.js → manage-D4MzaDvM.js} +33 -26
- data/public/masks-assets/assets/manage-D4MzaDvM.js.map +1 -0
- data/version.txt +1 -1
- metadata +12 -3
- data/public/masks-assets/assets/manage-DR9qQiBU.js.map +0 -1
|
@@ -50,7 +50,7 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
|
|
|
50
50
|
mutation Revoke($id: ID!) {
|
|
51
51
|
revokeConsent(id: $id) { consent { id revokedAt } }
|
|
52
52
|
}
|
|
53
|
-
`,{id:e.id}),X(`consents.revoked`))&&await i.onchange()}var p=R(),m=u(p),h=t=>{var n=fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`consents.empty`)]),e(t,n)},g=n=>{var u=vr();Y(u,21,()=>i.rows,e=>e.id,(n,i)=>{var u=_r(),p=o(u),m=o(p),h=n=>{{let r=q(()=>`/actors/${t(i).actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).actor.identifier)),e(n,o)},$$slots:{default:!0}})}},g=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}};r(m,e=>{c()?e(h):e(g,-1)});var _=l(m,2),v=W(_,!0);J(p);var b=l(p,2);Y(b,20,()=>t(i).scopes,e=>e,(t,n)=>{var r=pr();let i;var a=W(r,!0);s(e=>{i=le(r,1,`scope`,null,i,{"scope-privileged":e}),z(a,n)},[()=>n.startsWith(`masks:`)]),e(t,r)}),J(b);var x=l(b,2),S=o(x),C=n=>{var r=mr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Ft(t(i).audience),()=>Ft(t(i).audience)]),e(n,r)};r(S,e=>{t(i).audience.length&&e(C)});var w=l(S,2),T=W(w,!0),E=l(w,2),D=n=>{var r=pr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Nt(t(i).expiresAt),()=>X(`consents.asks_again`,{when:Nt(t(i).expiresAt)})]),e(n,r)};r(E,e=>{t(i).expiresAt&&e(D)}),J(x);var O=l(x,2),k=n=>{var r=gr();Y(r,21,()=>t(i).authorizationDetails,y,(n,r)=>{var i=hr(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u,!0),f=l(u,2),p=W(f,!0);J(i),s((e,n)=>{z(c,t(r).entry.type),z(d,e),z(p,n)},[()=>JSON.stringify(t(r).entry),()=>X(`consents.until`,{when:Nt(t(r).expires_at)})]),e(n,i)}),J(r),e(n,r)};r(O,e=>{t(i).authorizationDetails?.length&&e(k)}),J(u),s((e,t,n)=>{z(v,e),P(w,`title`,t),z(T,n)},[()=>X(`consents.revoke`),()=>Nt(t(i).updatedAt),()=>X(`consents.last_asked`,{when:Pt(t(i).updatedAt)})]),d(`click`,_,()=>f(t(i))),e(n,u)}),J(u),e(n,u)};r(m,e=>{i.rows.length===0?e(h):e(g,-1)}),e(n,p),D()}c([`click`]);var br=new Set([`logout.undelivered`,`login.refused`,`login.throttled`,`refresh.reused`,`device.blocked`,`actor.deleted`,`authenticator.disabled`,`connection.refused`,`delegation.refused`]),xr=new Set([`password.changed`,`password.reset_completed`,`actor.scopes_changed`,`actor.suspended`,`provisioning_token.issued`,`provisioning_token.revoked`,`ldap_credential.issued`,`ldap_credential.revoked`,`client.secret_rotated`,`client.logo_refused`,`client.enrolled`,`client.unenrolled`,`signing_key.rotated`,`signing_key.activated`,`backup_code.spent`,`connection.unlinked`,`consent.revoked`,`delegation.granted`,`delegation.revoked`]);function Sr(e){return br.has(e)?`bad`:xr.has(e)?`watch`:`plain`}function Cr(e){return Object.entries(e??{}).filter(([,e])=>e!==null&&e!==``&&!(Array.isArray(e)&&!e.length)).map(([e,t])=>[e.replace(/_/g,` `),wr(t)])}function wr(e){return Array.isArray(e)?e.join(` `):typeof e==`boolean`?X(e?`event_labels.yes`:`event_labels.no`):String(e)}var Tr=f(`<p class="text-sm opacity-80"> </p>`),Er=f(`<span class="event-count"> </span>`),Dr=f(`<span class="hint"> <!></span>`),Or=f(`<span class="event-trail"> </span>`),kr=f(`<li class="event"><span class="event-what"><span> </span> <!> <!> <!> <!></span> <time class="event-when"> </time> <!></li>`),Ar=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),jr=f(`<ol class="slats"></ol> <!>`,1);function Mr(n,i){H(i,!0);let c=L(i,`showActor`,3,!0),f=L(i,`empty`,19,()=>X(`events.empty`)),p=L(i,`limit`,3,5),m=L(i,`collapse`,3,!1),h=w(!1),g=(e,t)=>e.action===t.action&&e.actor?.uuid===t.actor?.uuid&&e.client?.clientId===t.client?.clientId,_=q(()=>i.events.reduce((e,t)=>{let n=e.at(-1);return m()&&n&&g(n.event,t)?n.count+=1:e.push({event:t,count:1}),e},[])),v=q(()=>t(h)?t(_):t(_).slice(0,p())),y=/\b([0-9a-f]{8})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,b=e=>[...Cr(e.details).map(([e,t])=>`${e} ${t.replace(y,`$1…`)}`),e.ipAddress,e.device?.label].filter(Boolean);var x=R(),C=u(x),T=t=>{var n=Tr(),r=W(n,!0);s(()=>z(r,f())),e(t,n)},E=n=>{var i=jr(),f=u(i);Y(f,21,()=>t(v),({event:e,count:t})=>e.id,(n,i)=>{let u=()=>t(i).event,d=()=>t(i).count;var f=kr(),p=o(f),m=o(p);let h;var g=W(m,!0),_=l(m,2),v=t=>{var n=Er(),r=W(n,!0);s(e=>z(r,e),[()=>X(`events.repeated`,{count:d()})]),e(t,n)};r(_,e=>{d()>1&&e(v)});var y=l(_,2),x=n=>{{let r=q(()=>`/actors/${u().actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().actor.identifier)),e(t,r)},$$slots:{default:!0}})}};r(y,e=>{c()&&u().actor&&e(x)});var S=l(y,2),C=n=>{var r=Dr(),i=o(r),c=l(i);{let n=q(()=>`/actors/${u().by.uuid}`);Z(c,{get to(){return t(n)},class:`link link-hover`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().by.identifier)),e(t,r)},$$slots:{default:!0}})}J(r),s(e=>z(i,`${e??``} `),[()=>X(`events.by`)]),e(n,r)};r(S,e=>{u().by&&u().by.uuid!==u().actor?.uuid&&e(C)});var w=l(S,2),T=n=>{{let r=q(()=>`/clients/${u().client.clientId}`);Z(n,{get to(){return t(r)},class:`badge badge-ghost badge-xs`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().client.name)),e(t,r)},$$slots:{default:!0}})}};r(w,e=>{u().client&&e(T)}),J(p);var E=l(p,2),D=W(E,!0),O=l(E,2),k=t=>{var n=Or(),r=W(n,!0);s((e,t)=>{P(n,`title`,e),z(r,t)},[()=>JSON.stringify(u().details),()=>b(u()).join(` · `)]),e(t,n)},A=q(()=>b(u()).length);r(O,e=>{t(A)&&e(k)}),J(f),s((e,t,n,r)=>{h=le(m,1,`event-label`,null,h,{"text-error":e,"text-warning":t}),P(m,`title`,u().action),z(g,u().label),P(E,`datetime`,u().createdAt),P(E,`title`,n),z(D,r)},[()=>Sr(u().action)===`bad`,()=>Sr(u().action)===`watch`,()=>Nt(u().createdAt),()=>Pt(u().createdAt)]),e(n,f)}),J(f);var m=l(f,2),g=n=>{var r=Ar(),i=W(r,!0);s(e=>z(i,e),[()=>X(`events.more`,{count:t(_).length-p()})]),d(`click`,r,()=>S(h,!0)),e(n,r)};r(m,e=>{!t(h)&&t(_).length>p()&&e(g)}),e(n,i)};r(C,e=>{i.events.length===0?e(T):e(E,-1)}),e(n,x),D()}c([`click`]);var Nr=f(`<p class="text-sm opacity-75"> </p>`),Pr=f(`<li class="slat"><div class="flex items-baseline justify-between gap-3"><span class="font-mono text-sm"> </span> <button type="button" class="link text-xs text-error"> </button></div> <span class="truncate text-xs opacity-75"> </span> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span> </span> <span> </span></div></li>`),Fr=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),Ir=f(`<ul class="slats"></ul> <!>`,1),Lr=f(`<span class="badge badge-error badge-xs"> </span>`),Rr=f(`<span class="badge badge-warning badge-xs"> </span>`),zr=f(`<button type="button" class="link text-xs"> </button>`),Br=f(`<button type="button" class="link text-xs text-error"> </button>`),Vr=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><!> <!></span> <span class="flex items-baseline gap-3"><button type="button" class="link text-xs"> </button> <!></span></div> <span class="truncate text-xs opacity-75"> </span> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span class="font-mono"> </span> <span> </span></div></li>`),Hr=f(`<div class="flex flex-col gap-5"><div><section class="flex min-w-0 flex-col gap-2.5"><h3 class="legend"> </h3> <!></section> <section class="flex min-w-0 flex-col gap-2.5"><h3 class="legend"> </h3> <!></section></div> <button type="button" class="btn btn-sm btn-error btn-outline self-start"> </button></div>`);function Ur(n,i){H(i,!0);let c=L(i,`columns`,3,!1);async function f(e,t,n,r=null){(!r||confirm(r))&&await i.feedback.attempt(()=>i.api.query(e,t),n)&&await i.onchange()}let p=e=>f(`mutation Revoke($id: ID!) { revokeSession(id: $id) { session { revokedAt } } }`,{id:e.id},X(`presence.session_revoked`),X(`presence.revoke_question`)),m=(e,t,n,r=null)=>f(`mutation Act($id: ID!) { ${e}(id: $id) { device { id } } }`,{id:t.id},n,r),h=e=>m(`signOutDevice`,e,X(`presence.device_signed_out`,{label:e.label})),g=e=>m(`blockDevice`,e,X(`presence.device_blocked`,{label:e.label}),X(`presence.block_question`,{label:e.label})),_=e=>m(`unblockDevice`,e,X(`presence.device_unblocked`,{label:e.label})),v=()=>f(`mutation SignOut($uuid: ID!) { signOutActor(uuid: $uuid) { actor { uuid } } }`,{uuid:i.actor.uuid},X(`presence.signed_out_everywhere`),X(`presence.sign_out_everywhere_question`,{identifier:i.actor.identifier})),y=w(!1),b=w(!1),x=q(()=>t(y)?i.actor.sessions:i.actor.sessions.slice(0,4)),C=q(()=>t(b)?i.actor.devices:i.actor.devices.slice(0,4));var T=Hr(),E=o(T),O=o(E),k=o(O),A=W(k,!0),j=l(k,2),M=t=>{var n=Nr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.no_sessions`)]),e(t,n)},N=n=>{var a=Ir(),c=u(a);Y(c,21,()=>t(x),e=>e.id,(n,r)=>{var i=Pr(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),m=W(f,!0);J(a);var h=l(a,2),g=W(h,!0),_=l(h,2),v=o(_),y=W(v,!0),b=l(v,2),x=W(b,!0);J(_),J(i),s((e,n,i,a)=>{z(u,t(r).ipAddress??`—`),z(m,e),z(g,t(r).userAgent??``),P(v,`title`,n),z(y,i),z(x,a)},[()=>X(`presence.revoke`),()=>Nt(t(r).authenticatedAt),()=>X(`presence.signed_in`,{when:Pt(t(r).authenticatedAt)}),()=>X(`presence.expires`,{when:Mt(t(r).expiresAt)})]),d(`click`,f,()=>p(t(r))),e(n,i)}),J(c);var f=l(c,2),m=t=>{var n=Fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.show_more`,{count:i.actor.sessions.length-4})]),d(`click`,n,()=>S(y,!0)),e(t,n)};r(f,e=>{!t(y)&&i.actor.sessions.length>4&&e(m)}),e(n,a)};r(j,e=>{i.actor.sessions.length===0?e(M):e(N,-1)}),J(O);var F=l(O,2),I=o(F),ee=W(I,!0),te=l(I,2),R=t=>{var n=Nr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.no_devices`)]),e(t,n)},B=n=>{var c=Ir(),f=u(c);Y(f,21,()=>t(C),e=>e.id,(n,i)=>{var c=Vr(),u=o(c),f=o(u),p=o(f);{let n=q(()=>`/actors/devices/${t(i).id}`);Z(p,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).label)),e(n,o)},$$slots:{default:!0}})}var m=l(p,2),v=t=>{var n=Lr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.blocked`)]),e(t,n)},y=t=>{var n=Rr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.unrecognised`)]),e(t,n)};r(m,e=>{t(i).blockedAt?e(v):t(i).known||e(y,1)}),J(f);var b=l(f,2),x=o(b),S=W(x,!0),C=l(x,2),w=n=>{var r=zr(),a=W(r,!0);s(e=>z(a,e),[()=>X(`presence.unblock`)]),d(`click`,r,()=>_(t(i))),e(n,r)},T=n=>{var r=Br(),a=W(r,!0);s(e=>z(a,e),[()=>X(`presence.block`)]),d(`click`,r,()=>g(t(i))),e(n,r)};r(C,e=>{t(i).blockedAt?e(w):e(T,-1)}),J(b),J(u);var E=l(u,2),D=W(E,!0),O=l(E,2),k=o(O),A=W(k,!0),j=l(k,2),M=W(j,!0);J(O),J(c),s((e,n,r)=>{z(S,e),z(D,t(i).userAgent??t(i).category),z(A,t(i).ipAddress??`—`),P(j,`title`,n),z(M,r)},[()=>X(`presence.sign_out`),()=>Nt(t(i).lastSeenAt),()=>X(`presence.last_seen`,{when:Pt(t(i).lastSeenAt)})]),d(`click`,x,()=>h(t(i))),e(n,c)}),J(f);var p=l(f,2),m=t=>{var n=Fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.show_more`,{count:i.actor.devices.length-4})]),d(`click`,n,()=>S(b,!0)),e(t,n)};r(p,e=>{!t(b)&&i.actor.devices.length>4&&e(m)}),e(n,c)};r(te,e=>{i.actor.devices.length===0?e(R):e(B,-1)}),J(F),J(E);var ne=l(E,2),re=W(ne,!0);J(T),s((e,t,n)=>{le(E,1,`grid items-start gap-5 ${c()?`lg:grid-cols-2`:``}`),z(A,e),z(ee,t),z(re,n)},[()=>X(`presence.sessions`),()=>X(`presence.devices`),()=>X(`presence.sign_out_everywhere`)]),d(`click`,ne,v),e(n,T),D()}c([`click`]);var Wr=f(`<p class="text-sm opacity-85"> </p>`),Gr=f(`<span class="text-xs opacity-75"> </span>`),Kr=f(`<button type="button" class="link text-xs text-error"> </button>`),qr=f(`<span> </span>`),Jr=f(`<span class="truncate font-mono"> </span>`),Yr=f(`<span class="truncate"> </span>`),Xr=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><span> </span> <!> <!></span> <span class="flex items-baseline gap-3"><button type="button" class="link text-xs text-error"> </button> <!></span></div> <div class="flex flex-wrap gap-1"></div> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><!> <!> <span> </span> <span> </span></div></li>`),Zr=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),Qr=f(`<ul class="slats"></ul> <!>`,1);function $r(n,i){H(i,!0);let c=L(i,`showActor`,3,!1),f=L(i,`limit`,3,5),p=w(!1),m=q(()=>t(p)?i.rows:i.rows.slice(0,f())),h={access:`badge-ghost`,refresh:`badge-info`,code:`badge-warning`};function g(e){let t=`tokens.kinds.${e}`,n=X(t);return n===t?e:n}async function _(e,t){let n=c()?e.actor?.identifier:e.client?.name,r=t?X(`tokens.revoke_chain_confirm`,{held:n}):X(`tokens.revoke_confirm`,{kind:g(e.kind)});if(!confirm(r))return;let a=await i.feedback.attempt(()=>i.api.query(`
|
|
53
|
+
`,{id:e.id}),X(`consents.revoked`))&&await i.onchange()}var p=R(),m=u(p),h=t=>{var n=fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`consents.empty`)]),e(t,n)},g=n=>{var u=vr();Y(u,21,()=>i.rows,e=>e.id,(n,i)=>{var u=_r(),p=o(u),m=o(p),h=n=>{{let r=q(()=>`/actors/${t(i).actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).actor.identifier)),e(n,o)},$$slots:{default:!0}})}},g=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}};r(m,e=>{c()?e(h):e(g,-1)});var _=l(m,2),v=W(_,!0);J(p);var b=l(p,2);Y(b,20,()=>t(i).scopes,e=>e,(t,n)=>{var r=pr();let i;var a=W(r,!0);s(e=>{i=le(r,1,`scope`,null,i,{"scope-privileged":e}),z(a,n)},[()=>n.startsWith(`masks:`)]),e(t,r)}),J(b);var x=l(b,2),S=o(x),C=n=>{var r=mr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Ft(t(i).audience),()=>Ft(t(i).audience)]),e(n,r)};r(S,e=>{t(i).audience.length&&e(C)});var w=l(S,2),T=W(w,!0),E=l(w,2),D=n=>{var r=pr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Nt(t(i).expiresAt),()=>X(`consents.asks_again`,{when:Nt(t(i).expiresAt)})]),e(n,r)};r(E,e=>{t(i).expiresAt&&e(D)}),J(x);var O=l(x,2),k=n=>{var r=gr();Y(r,21,()=>t(i).authorizationDetails,y,(n,r)=>{var i=hr(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u,!0),f=l(u,2),p=W(f,!0);J(i),s((e,n)=>{z(c,t(r).entry.type),z(d,e),z(p,n)},[()=>JSON.stringify(t(r).entry),()=>X(`consents.until`,{when:Nt(t(r).expires_at)})]),e(n,i)}),J(r),e(n,r)};r(O,e=>{t(i).authorizationDetails?.length&&e(k)}),J(u),s((e,t,n)=>{z(v,e),P(w,`title`,t),z(T,n)},[()=>X(`consents.revoke`),()=>Nt(t(i).updatedAt),()=>X(`consents.last_asked`,{when:Pt(t(i).updatedAt)})]),d(`click`,_,()=>f(t(i))),e(n,u)}),J(u),e(n,u)};r(m,e=>{i.rows.length===0?e(h):e(g,-1)}),e(n,p),D()}c([`click`]);var br=new Set([`job.failed`,`logout.undelivered`,`login.refused`,`login.throttled`,`refresh.reused`,`device.blocked`,`actor.deleted`,`authenticator.disabled`,`connection.refused`,`delegation.refused`]),xr=new Set([`password.changed`,`password.reset_completed`,`actor.scopes_changed`,`actor.suspended`,`provisioning_token.issued`,`provisioning_token.revoked`,`ldap_credential.issued`,`ldap_credential.revoked`,`client.secret_rotated`,`client.logo_refused`,`client.enrolled`,`client.unenrolled`,`signing_key.rotated`,`signing_key.activated`,`backup_code.spent`,`connection.unlinked`,`consent.revoked`,`delegation.granted`,`delegation.revoked`]);function Sr(e){return br.has(e)?`bad`:xr.has(e)?`watch`:`plain`}function Cr(e){return Object.entries(e??{}).filter(([,e])=>e!==null&&e!==``&&!(Array.isArray(e)&&!e.length)).map(([e,t])=>[e.replace(/_/g,` `),wr(t)])}function wr(e){return Array.isArray(e)?e.join(` `):typeof e==`boolean`?X(e?`event_labels.yes`:`event_labels.no`):String(e)}var Tr=f(`<p class="text-sm opacity-80"> </p>`),Er=f(`<span class="event-count"> </span>`),Dr=f(`<span class="hint"> <!></span>`),Or=f(`<span class="event-trail"> </span>`),kr=f(`<li class="event"><span class="event-what"><span> </span> <!> <!> <!> <!></span> <time class="event-when"> </time> <!></li>`),Ar=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),jr=f(`<ol class="slats"></ol> <!>`,1);function Mr(n,i){H(i,!0);let c=L(i,`showActor`,3,!0),f=L(i,`empty`,19,()=>X(`events.empty`)),p=L(i,`limit`,3,5),m=L(i,`collapse`,3,!1),h=w(!1),g=(e,t)=>e.action===t.action&&e.actor?.uuid===t.actor?.uuid&&e.client?.clientId===t.client?.clientId,_=q(()=>i.events.reduce((e,t)=>{let n=e.at(-1);return m()&&n&&g(n.event,t)?n.count+=1:e.push({event:t,count:1}),e},[])),v=q(()=>t(h)?t(_):t(_).slice(0,p())),y=/\b([0-9a-f]{8})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,b=e=>[...Cr(e.details).map(([e,t])=>`${e} ${t.replace(y,`$1…`)}`),e.ipAddress,e.device?.label].filter(Boolean);var x=R(),C=u(x),T=t=>{var n=Tr(),r=W(n,!0);s(()=>z(r,f())),e(t,n)},E=n=>{var i=jr(),f=u(i);Y(f,21,()=>t(v),({event:e,count:t})=>e.id,(n,i)=>{let u=()=>t(i).event,d=()=>t(i).count;var f=kr(),p=o(f),m=o(p);let h;var g=W(m,!0),_=l(m,2),v=t=>{var n=Er(),r=W(n,!0);s(e=>z(r,e),[()=>X(`events.repeated`,{count:d()})]),e(t,n)};r(_,e=>{d()>1&&e(v)});var y=l(_,2),x=n=>{{let r=q(()=>`/actors/${u().actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().actor.identifier)),e(t,r)},$$slots:{default:!0}})}};r(y,e=>{c()&&u().actor&&e(x)});var S=l(y,2),C=n=>{var r=Dr(),i=o(r),c=l(i);{let n=q(()=>`/actors/${u().by.uuid}`);Z(c,{get to(){return t(n)},class:`link link-hover`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().by.identifier)),e(t,r)},$$slots:{default:!0}})}J(r),s(e=>z(i,`${e??``} `),[()=>X(`events.by`)]),e(n,r)};r(S,e=>{u().by&&u().by.uuid!==u().actor?.uuid&&e(C)});var w=l(S,2),T=n=>{{let r=q(()=>`/clients/${u().client.clientId}`);Z(n,{get to(){return t(r)},class:`badge badge-ghost badge-xs`,children:(t,n)=>{V();var r=a();s(()=>z(r,u().client.name)),e(t,r)},$$slots:{default:!0}})}};r(w,e=>{u().client&&e(T)}),J(p);var E=l(p,2),D=W(E,!0),O=l(E,2),k=t=>{var n=Or(),r=W(n,!0);s((e,t)=>{P(n,`title`,e),z(r,t)},[()=>JSON.stringify(u().details),()=>b(u()).join(` · `)]),e(t,n)},A=q(()=>b(u()).length);r(O,e=>{t(A)&&e(k)}),J(f),s((e,t,n,r)=>{h=le(m,1,`event-label`,null,h,{"text-error":e,"text-warning":t}),P(m,`title`,u().action),z(g,u().label),P(E,`datetime`,u().createdAt),P(E,`title`,n),z(D,r)},[()=>Sr(u().action)===`bad`,()=>Sr(u().action)===`watch`,()=>Nt(u().createdAt),()=>Pt(u().createdAt)]),e(n,f)}),J(f);var m=l(f,2),g=n=>{var r=Ar(),i=W(r,!0);s(e=>z(i,e),[()=>X(`events.more`,{count:t(_).length-p()})]),d(`click`,r,()=>S(h,!0)),e(n,r)};r(m,e=>{!t(h)&&t(_).length>p()&&e(g)}),e(n,i)};r(C,e=>{i.events.length===0?e(T):e(E,-1)}),e(n,x),D()}c([`click`]);var Nr=f(`<p class="text-sm opacity-75"> </p>`),Pr=f(`<li class="slat"><div class="flex items-baseline justify-between gap-3"><span class="font-mono text-sm"> </span> <button type="button" class="link text-xs text-error"> </button></div> <span class="truncate text-xs opacity-75"> </span> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span> </span> <span> </span></div></li>`),Fr=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),Ir=f(`<ul class="slats"></ul> <!>`,1),Lr=f(`<span class="badge badge-error badge-xs"> </span>`),Rr=f(`<span class="badge badge-warning badge-xs"> </span>`),zr=f(`<button type="button" class="link text-xs"> </button>`),Br=f(`<button type="button" class="link text-xs text-error"> </button>`),Vr=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><!> <!></span> <span class="flex items-baseline gap-3"><button type="button" class="link text-xs"> </button> <!></span></div> <span class="truncate text-xs opacity-75"> </span> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span class="font-mono"> </span> <span> </span></div></li>`),Hr=f(`<div class="flex flex-col gap-5"><div><section class="flex min-w-0 flex-col gap-2.5"><h3 class="legend"> </h3> <!></section> <section class="flex min-w-0 flex-col gap-2.5"><h3 class="legend"> </h3> <!></section></div> <button type="button" class="btn btn-sm btn-error btn-outline self-start"> </button></div>`);function Ur(n,i){H(i,!0);let c=L(i,`columns`,3,!1);async function f(e,t,n,r=null){(!r||confirm(r))&&await i.feedback.attempt(()=>i.api.query(e,t),n)&&await i.onchange()}let p=e=>f(`mutation Revoke($id: ID!) { revokeSession(id: $id) { session { revokedAt } } }`,{id:e.id},X(`presence.session_revoked`),X(`presence.revoke_question`)),m=(e,t,n,r=null)=>f(`mutation Act($id: ID!) { ${e}(id: $id) { device { id } } }`,{id:t.id},n,r),h=e=>m(`signOutDevice`,e,X(`presence.device_signed_out`,{label:e.label})),g=e=>m(`blockDevice`,e,X(`presence.device_blocked`,{label:e.label}),X(`presence.block_question`,{label:e.label})),_=e=>m(`unblockDevice`,e,X(`presence.device_unblocked`,{label:e.label})),v=()=>f(`mutation SignOut($uuid: ID!) { signOutActor(uuid: $uuid) { actor { uuid } } }`,{uuid:i.actor.uuid},X(`presence.signed_out_everywhere`),X(`presence.sign_out_everywhere_question`,{identifier:i.actor.identifier})),y=w(!1),b=w(!1),x=q(()=>t(y)?i.actor.sessions:i.actor.sessions.slice(0,4)),C=q(()=>t(b)?i.actor.devices:i.actor.devices.slice(0,4));var T=Hr(),E=o(T),O=o(E),k=o(O),A=W(k,!0),j=l(k,2),M=t=>{var n=Nr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.no_sessions`)]),e(t,n)},N=n=>{var a=Ir(),c=u(a);Y(c,21,()=>t(x),e=>e.id,(n,r)=>{var i=Pr(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),m=W(f,!0);J(a);var h=l(a,2),g=W(h,!0),_=l(h,2),v=o(_),y=W(v,!0),b=l(v,2),x=W(b,!0);J(_),J(i),s((e,n,i,a)=>{z(u,t(r).ipAddress??`—`),z(m,e),z(g,t(r).userAgent??``),P(v,`title`,n),z(y,i),z(x,a)},[()=>X(`presence.revoke`),()=>Nt(t(r).authenticatedAt),()=>X(`presence.signed_in`,{when:Pt(t(r).authenticatedAt)}),()=>X(`presence.expires`,{when:Mt(t(r).expiresAt)})]),d(`click`,f,()=>p(t(r))),e(n,i)}),J(c);var f=l(c,2),m=t=>{var n=Fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.show_more`,{count:i.actor.sessions.length-4})]),d(`click`,n,()=>S(y,!0)),e(t,n)};r(f,e=>{!t(y)&&i.actor.sessions.length>4&&e(m)}),e(n,a)};r(j,e=>{i.actor.sessions.length===0?e(M):e(N,-1)}),J(O);var F=l(O,2),I=o(F),ee=W(I,!0),te=l(I,2),R=t=>{var n=Nr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.no_devices`)]),e(t,n)},B=n=>{var c=Ir(),f=u(c);Y(f,21,()=>t(C),e=>e.id,(n,i)=>{var c=Vr(),u=o(c),f=o(u),p=o(f);{let n=q(()=>`/actors/devices/${t(i).id}`);Z(p,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).label)),e(n,o)},$$slots:{default:!0}})}var m=l(p,2),v=t=>{var n=Lr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.blocked`)]),e(t,n)},y=t=>{var n=Rr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.unrecognised`)]),e(t,n)};r(m,e=>{t(i).blockedAt?e(v):t(i).known||e(y,1)}),J(f);var b=l(f,2),x=o(b),S=W(x,!0),C=l(x,2),w=n=>{var r=zr(),a=W(r,!0);s(e=>z(a,e),[()=>X(`presence.unblock`)]),d(`click`,r,()=>_(t(i))),e(n,r)},T=n=>{var r=Br(),a=W(r,!0);s(e=>z(a,e),[()=>X(`presence.block`)]),d(`click`,r,()=>g(t(i))),e(n,r)};r(C,e=>{t(i).blockedAt?e(w):e(T,-1)}),J(b),J(u);var E=l(u,2),D=W(E,!0),O=l(E,2),k=o(O),A=W(k,!0),j=l(k,2),M=W(j,!0);J(O),J(c),s((e,n,r)=>{z(S,e),z(D,t(i).userAgent??t(i).category),z(A,t(i).ipAddress??`—`),P(j,`title`,n),z(M,r)},[()=>X(`presence.sign_out`),()=>Nt(t(i).lastSeenAt),()=>X(`presence.last_seen`,{when:Pt(t(i).lastSeenAt)})]),d(`click`,x,()=>h(t(i))),e(n,c)}),J(f);var p=l(f,2),m=t=>{var n=Fr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`presence.show_more`,{count:i.actor.devices.length-4})]),d(`click`,n,()=>S(b,!0)),e(t,n)};r(p,e=>{!t(b)&&i.actor.devices.length>4&&e(m)}),e(n,c)};r(te,e=>{i.actor.devices.length===0?e(R):e(B,-1)}),J(F),J(E);var ne=l(E,2),re=W(ne,!0);J(T),s((e,t,n)=>{le(E,1,`grid items-start gap-5 ${c()?`lg:grid-cols-2`:``}`),z(A,e),z(ee,t),z(re,n)},[()=>X(`presence.sessions`),()=>X(`presence.devices`),()=>X(`presence.sign_out_everywhere`)]),d(`click`,ne,v),e(n,T),D()}c([`click`]);var Wr=f(`<p class="text-sm opacity-85"> </p>`),Gr=f(`<span class="text-xs opacity-75"> </span>`),Kr=f(`<button type="button" class="link text-xs text-error"> </button>`),qr=f(`<span> </span>`),Jr=f(`<span class="truncate font-mono"> </span>`),Yr=f(`<span class="truncate"> </span>`),Xr=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><span> </span> <!> <!></span> <span class="flex items-baseline gap-3"><button type="button" class="link text-xs text-error"> </button> <!></span></div> <div class="flex flex-wrap gap-1"></div> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><!> <!> <span> </span> <span> </span></div></li>`),Zr=f(`<button type="button" class="btn btn-ghost btn-sm self-start"> </button>`),Qr=f(`<ul class="slats"></ul> <!>`,1);function $r(n,i){H(i,!0);let c=L(i,`showActor`,3,!1),f=L(i,`limit`,3,5),p=w(!1),m=q(()=>t(p)?i.rows:i.rows.slice(0,f())),h={access:`badge-ghost`,refresh:`badge-info`,code:`badge-warning`};function g(e){let t=`tokens.kinds.${e}`,n=X(t);return n===t?e:n}async function _(e,t){let n=c()?e.actor?.identifier:e.client?.name,r=t?X(`tokens.revoke_chain_confirm`,{held:n}):X(`tokens.revoke_confirm`,{kind:g(e.kind)});if(!confirm(r))return;let a=await i.feedback.attempt(()=>i.api.query(`
|
|
54
54
|
mutation Revoke($id: ID!, $family: Boolean) {
|
|
55
55
|
revokeToken(id: $id, family: $family) { revoked }
|
|
56
56
|
}
|
|
@@ -169,15 +169,20 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
|
|
|
169
169
|
key name signup nickname email emailVerified phone phoneVerified
|
|
170
170
|
passwordMinimum refuseCommonPasswords passwordRequired firstFactors secondFactors secondFactorRequired appsRequireSecondFactor sessionLifetime sessionIdleTimeout refuseBreachedPasswords riskStepUpAt riskRefuseAt proofOfWork
|
|
171
171
|
emailDomains providers confirmation hidden signupScopes archivedAt
|
|
172
|
-
`,Ca=[`password`,`passkey`,`provider`,`email_code`,`otp`,`backup_codes`],wa=[`none`,`code`,`link`,`approval`],Ta=[`off`,`optional`,`required`],Ea=(e,t,n)=>e.includes(n)?X(`policy_rules.${t}.${n}`):n,Da=(e,t)=>e?.length?e.map(e=>Ea(Ca,`factors`,e)).join(`, `):X(`policy_rules.values.${t}`),Oa=e=>X(e?`policy_rules.answers.yes`:`policy_rules.answers.no`),ka=e=>X(`policy_rules.values.${e}`),Aa=[[86400,`day`],[3600,`hour`],[60,`minute`]];function ja(e){let[t,n]=Aa.find(([t])=>e%t===0)??[1,`second`];return X(`policy_rules.units.${n}`,{count:e/t})}var Ma=e=>X(`policy_rules.terms.${e}`);function Na(e){return[[Ma(`signup`),e.signup?ka(`open`):ka(`invitation_only`)],[Ma(`email_domains`),Da(e.emailDomains,`any`)],[Ma(`proof_of_work`),e.proofOfWork?X(`policy_rules.values.bits`,{bits:e.proofOfWork}):ka(`off`)],[Ma(`hidden`),Oa(e.hidden)],[Ma(`nickname`),Ea(Ta,`presence`,e.nickname)],[Ma(`email`),Ea(Ta,`presence`,e.email)],[Ma(`email_verified`),Oa(e.emailVerified)],[Ma(`phone`),Ea(Ta,`presence`,e.phone)],[Ma(`phone_verified`),Oa(e.phoneVerified)],[Ma(`first_factors`),Da(e.firstFactors,`nothing`)],[Ma(`providers`),e.providers===null?ka(`every_one`):Da(e.providers,`none`)],[Ma(`password`),X(e.refuseCommonPasswords?`policy_rules.values.not_common`:`policy_rules.values.password`,{minimum:e.passwordMinimum})],[Ma(`password_required`),Oa(e.passwordRequired)],[Ma(`second_factors`),Da(e.secondFactors,`none`)],[Ma(`second_factor_required`),Oa(e.secondFactorRequired)],[Ma(`apps_require_second_factor`),Oa(e.appsRequireSecondFactor)],[Ma(`session_lifetime`),e.sessionLifetime?ja(e.sessionLifetime):ka(`default_lifetime`)],[Ma(`refuse_breached`),Oa(e.refuseBreachedPasswords)],[Ma(`risk_step_up`),e.riskStepUpAt?X(`policy_rules.values.at`,{score:e.riskStepUpAt}):ka(`never`)],[Ma(`risk_refuse`),e.riskRefuseAt?X(`policy_rules.values.at`,{score:e.riskRefuseAt}):ka(`never`)],[Ma(`idle_timeout`),e.sessionIdleTimeout?ja(e.sessionIdleTimeout):ka(`never`)],[Ma(`confirmation`),Ea(wa,`confirmations`,e.confirmation)],[Ma(`signup_scopes`),Da(e.signupScopes,`none`)]]}function Pa(e,t){let n=new Map(Na(t));return Na(e).filter(([e,t])=>n.get(e)!==t).map(([e,t])=>({term:e,value:t,instead:n.get(e)}))}var Fa=f(`<
|
|
172
|
+
`,Ca=[`password`,`passkey`,`provider`,`email_code`,`otp`,`backup_codes`],wa=[`none`,`code`,`link`,`approval`],Ta=[`off`,`optional`,`required`],Ea=(e,t,n)=>e.includes(n)?X(`policy_rules.${t}.${n}`):n,Da=(e,t)=>e?.length?e.map(e=>Ea(Ca,`factors`,e)).join(`, `):X(`policy_rules.values.${t}`),Oa=e=>X(e?`policy_rules.answers.yes`:`policy_rules.answers.no`),ka=e=>X(`policy_rules.values.${e}`),Aa=[[86400,`day`],[3600,`hour`],[60,`minute`]];function ja(e){let[t,n]=Aa.find(([t])=>e%t===0)??[1,`second`];return X(`policy_rules.units.${n}`,{count:e/t})}var Ma=e=>X(`policy_rules.terms.${e}`);function Na(e){return[[Ma(`signup`),e.signup?ka(`open`):ka(`invitation_only`)],[Ma(`email_domains`),Da(e.emailDomains,`any`)],[Ma(`proof_of_work`),e.proofOfWork?X(`policy_rules.values.bits`,{bits:e.proofOfWork}):ka(`off`)],[Ma(`hidden`),Oa(e.hidden)],[Ma(`nickname`),Ea(Ta,`presence`,e.nickname)],[Ma(`email`),Ea(Ta,`presence`,e.email)],[Ma(`email_verified`),Oa(e.emailVerified)],[Ma(`phone`),Ea(Ta,`presence`,e.phone)],[Ma(`phone_verified`),Oa(e.phoneVerified)],[Ma(`first_factors`),Da(e.firstFactors,`nothing`)],[Ma(`providers`),e.providers===null?ka(`every_one`):Da(e.providers,`none`)],[Ma(`password`),X(e.refuseCommonPasswords?`policy_rules.values.not_common`:`policy_rules.values.password`,{minimum:e.passwordMinimum})],[Ma(`password_required`),Oa(e.passwordRequired)],[Ma(`second_factors`),Da(e.secondFactors,`none`)],[Ma(`second_factor_required`),Oa(e.secondFactorRequired)],[Ma(`apps_require_second_factor`),Oa(e.appsRequireSecondFactor)],[Ma(`session_lifetime`),e.sessionLifetime?ja(e.sessionLifetime):ka(`default_lifetime`)],[Ma(`refuse_breached`),Oa(e.refuseBreachedPasswords)],[Ma(`risk_step_up`),e.riskStepUpAt?X(`policy_rules.values.at`,{score:e.riskStepUpAt}):ka(`never`)],[Ma(`risk_refuse`),e.riskRefuseAt?X(`policy_rules.values.at`,{score:e.riskRefuseAt}):ka(`never`)],[Ma(`idle_timeout`),e.sessionIdleTimeout?ja(e.sessionIdleTimeout):ka(`never`)],[Ma(`confirmation`),Ea(wa,`confirmations`,e.confirmation)],[Ma(`signup_scopes`),Da(e.signupScopes,`none`)]]}function Pa(e,t){let n=new Map(Na(t));return Na(e).filter(([e,t])=>n.get(e)!==t).map(([e,t])=>({term:e,value:t,instead:n.get(e)}))}var Fa=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><button type="button" class="btn btn-xs btn-error btn-outline"> </button></div></li>`),Ia=f(`<ul class="compact-list"></ul>`),La=f(`<p class="text-sm opacity-85"> </p>`),Ra=f(`<!> <!>`,1);function za(n,i){H(i,!0);let c=Ct();async function f(e){confirm(X(`machines.revoke_confirm`,{name:e.name}))&&await c.attempt(()=>i.api.query(`
|
|
173
|
+
mutation Unenroll($clientId: ID!) {
|
|
174
|
+
unenrollClient(clientId: $clientId) { client { archivedAt } }
|
|
175
|
+
}
|
|
176
|
+
`,{clientId:e.clientId}),X(`machines.revoked`,{name:e.name}))&&await i.onrevoked()}{let p=q(()=>X(`machines.title`)),m=q(()=>X(`machines.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},children:(n,p)=>{var m=Ra(),h=u(m);Nn(h,{get feedback(){return c.state}});var g=l(h,2),_=n=>{var r=Ia();Y(r,21,()=>i.rows,e=>e.clientId,(n,r)=>{var i=Fa(),c=o(i),u=o(c),p=o(u);{let n=q(()=>`/clients/${t(r).clientId}`);Z(p,{get to(){return t(n)},class:`link link-hover`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}J(u);var m=l(u,2),h=o(m),g=W(h,!0),_=l(h);J(m),J(c);var v=l(c,2),y=o(v),b=W(y,!0);J(v),J(i),s((e,n,i)=>{z(g,t(r).clientId),z(_,` · ${e??``}
|
|
177
|
+
· ${n??``}`),z(b,i)},[()=>t(r).lastSeenAt?X(`machines.last_seen`,{day:Mt(t(r).lastSeenAt)}):X(`machines.never`),()=>X(`machines.enrolled`,{day:Mt(t(r).createdAt)}),()=>X(`machines.revoke`)]),d(`click`,y,()=>f(t(r))),e(n,i)}),J(r),e(n,r)},v=t=>{var n=La(),r=W(n,!0);s(e=>z(r,e),[()=>X(`machines.empty`)]),e(t,n)};r(g,e=>{i.rows.length?e(_):e(v,-1)}),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Ba=f(`<span class="hint">· <!></span>`),Va=f(`<button type="button" class="btn btn-xs btn-error btn-outline"> </button>`),Ha=f(`<span class="hint text-xs"> </span>`),Ua=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><code class="font-mono"> </code> <!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><!></div></li>`),Wa=f(`<!> <ul class="compact-list"></ul>`,1);function Ga(n,i){H(i,!0);let c=L(i,`showClient`,3,!1),f=L(i,`row`,3,!1),p=Ct();async function m(e){confirm(X(`namespaces.release_confirm`,{name:e.name}))&&await p.attempt(()=>i.api.query(`
|
|
173
178
|
mutation Release($name: String!) {
|
|
174
179
|
releaseNamespace(name: $name) { released }
|
|
175
180
|
}
|
|
176
|
-
`,{name:e.name}),X(`namespaces.released`,{name:e.name}))&&await i.onreleased()}{let h=q(()=>X(`namespaces.title`));Q(n,{get row(){return f()},get title(){return t(h)},children:(n,f)=>{var h=
|
|
181
|
+
`,{name:e.name}),X(`namespaces.released`,{name:e.name}))&&await i.onreleased()}{let h=q(()=>X(`namespaces.title`));Q(n,{get row(){return f()},get title(){return t(h)},children:(n,f)=>{var h=Wa(),g=u(h);Nn(g,{get feedback(){return p.state}});var _=l(g,2);Y(_,21,()=>i.rows,e=>e.name,(n,i)=>{var u=Ua(),f=o(u),p=o(f),h=o(p),g=W(h,!0),_=l(h,2),v=n=>{var c=Ba(),u=l(o(c)),d=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}},f=t=>{var n=a();s(e=>z(n,e),[()=>X(`namespaces.nothing`)]),e(t,n)};r(u,e=>{t(i).client?e(d):e(f,-1)}),J(c),e(n,c)};r(_,e=>{c()&&e(v)}),J(p);var y=l(p,2),b=o(y),x=W(b,!0),S=l(b);J(y),J(f);var C=l(f,2),w=o(C),T=n=>{var r=Va(),a=W(r,!0);s(e=>z(a,e),[()=>X(`namespaces.release`)]),d(`click`,r,()=>m(t(i))),e(n,r)},E=t=>{var n=Ha(),r=W(n,!0);s(e=>z(r,e),[()=>X(`namespaces.archive_to_release`)]),e(t,n)};r(w,e=>{t(i).releasable?e(T):e(E,-1)}),J(C),J(u),s(e=>{z(g,t(i).name),P(b,`title`,t(i).resource),z(x,t(i).resource),z(S,` · ${e??``}`)},[()=>Mt(t(i).claimedAt)]),e(n,u)}),J(_),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var Ka=f(`<span class="hint"> </span>`),qa=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" autocapitalize="none" autocorrect="off" spellcheck="false"></textarea> <!> <button type="button" class="btn btn-sm self-start"> </button></label>`);function Ja(n,i){H(i,!0);let a=L(i,`hint`,3,null),c=L(i,`value`,19,()=>[]),u=L(i,`save`,19,()=>X(`ui.save`)),f=L(i,`rows`,3,3),p=w(C(x(()=>c().join(`
|
|
177
182
|
`)))),m=w(C(x(()=>c().join(`
|
|
178
183
|
`))));b(()=>{let e=c().join(`
|
|
179
184
|
`);e!==t(m)&&(S(m,e,!0),S(p,e,!0))});let h=q(()=>t(p)!==t(m)),g=()=>t(p).split(`
|
|
180
|
-
`).map(e=>e.trim()).filter(Boolean);var _=
|
|
185
|
+
`).map(e=>e.trim()).filter(Boolean);var _=qa(),v=o(_),y=W(v,!0),T=l(v,2);ae(T);var E=l(T,2),O=t=>{var n=Ka(),r=W(n,!0);s(()=>z(r,a())),e(t,n)};r(E,e=>{a()&&e(O)});var k=l(E,2),A=W(k,!0);J(_),s(()=>{z(y,i.label),P(T,`rows`,f()),k.disabled=!t(h),z(A,u())}),B(T,()=>t(p),e=>S(p,e)),d(`click`,k,()=>i.onsave(g())),e(n,_),D()}c([`click`]);var Ya=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Xa=f(`<p class="hint text-sm"> <!></p>`),Za=f(`<div class="alert alert-warning alert-soft flex-wrap items-center gap-3 text-sm" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),Qa=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-sm break-all"> </code></div>`),$a=f(`<label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox checkbox-sm"/> <code class="hint font-mono"> </code></label>`),eo=f(`<div class="flex flex-col gap-1"></div>`),to=f(`<p class="text-sm opacity-85"> <!> </p>`),no=f(`<!> <!> <p class="hint"> </p>`,1),ro=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),io=f(`<!> <!>`,1),ao=f(`<!> <!> <!>`,1),oo=f(`<p class="hint"> </p> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="4" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <!>`,1),so=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="6" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label>`),co=f(`<p class="hint"> </p> <!> <!>`,1),lo=f(`<!> <!> <!> <!> <!>`,1),uo=f(`<p class="hint"> </p>`),fo=f(`<option> </option>`),po=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),mo=f(`<p class="text-xs text-warning"> </p>`),ho=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <!> <!>`,1),go=f(`<span role="status"> </span>`),_o=f(`<button type="button" class="btn btn-sm"> </button> <!>`,1),vo=f(`<button type="button" class="btn btn-sm btn-error btn-outline"> </button>`),yo=f(`<!> <!> <!> <!> <!> <!> <div class="flex flex-wrap gap-2 pt-1"><!> <!></div>`,1),bo=f(`<!> <div class="flex flex-col gap-1.5"><!> <span class="hint"> </span></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="3" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="5" spellcheck="false"></textarea> <span class="hint"> </span> <button type="button" class="btn btn-sm self-start"> </button></label> <!> <!>`,1),xo=f(`<div class="flex items-center gap-3"><!> <p class="hint"><!></p></div> <form class="flex flex-col gap-3"><!> <button type="submit" class="btn btn-sm self-start"> </button></form>`,1),So=f(`<dt class="opacity-80"> </dt> <dd> <span class="opacity-75 line-through"> </span></dd>`,1),Co=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <dl class="grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-sm"></dl></div>`),wo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><!></select></label> <!> <!> <!> <form class="flex flex-col gap-3"><div class="grid gap-3 sm:grid-cols-2"><!> <!> <!> <!></div> <button type="submit" class="btn btn-sm self-start"> </button></form> <!> <!>`,1),To=f(`<!> <!> <!> <!>`,1),Eo=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Do(n,i){H(i,!0);let c=L(i,`part`,3,null),f=`
|
|
181
186
|
query Client($clientId: ID!) {
|
|
182
187
|
client(clientId: $clientId) {
|
|
183
188
|
clientId name dynamic approvedAt archivedAt secretExpiresAt createdAt
|
|
@@ -198,6 +203,8 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
|
|
|
198
203
|
device { id label }
|
|
199
204
|
}
|
|
200
205
|
approvedBy { identifier }
|
|
206
|
+
enrolledBy { clientId name }
|
|
207
|
+
enrolled { clientId name lastSeenAt createdAt }
|
|
201
208
|
namespaces { name resource claimedAt releasable }
|
|
202
209
|
consents(limit: 25) {
|
|
203
210
|
id scopes audience updatedAt expiresAt authorizationDetails
|
|
@@ -272,11 +279,11 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
|
|
|
272
279
|
}`,{clientId:i.clientId,...e},t),De=e=>e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e.includes(`:`));function Oe(e,n){let r=t(m).allowedGroups.filter(t=>t!==e);Ee({allowedGroups:n?[...r,e]:r},X(`client.notices.groups`))}function ke(){let e=t(m).allowedGroups.filter(e=>!e.includes(`:`));Ee({allowedGroups:[...e,...De(t(v))]},X(`client.notices.groups`))}let Ae=q(()=>t(m)?.grantTypes.includes(`client_credentials`)??!1),je=(e,n)=>n?[...new Set([...t(m).grantTypes,e])]:t(m).grantTypes.filter(t=>t!==e);function Me(e){Ee({grantTypes:je(`client_credentials`,e)},X(e?`client.notices.unattended_on`:`client.notices.unattended_off`))}function Ne(e){let n=X(`client.confirm.subject`);if(e===t(m).subjectType||!confirm(n)){we();return}Ee({subjectType:e},X(`client.notices.subject`))}function Pe(e){let n=t(te)===`private_key_jwt`&&t(m).tokenEndpointAuthMethod!==`private_key_jwt`,r=n?{...e,tokenEndpointAuthMethod:t(te)}:e;Ee(r,X(n?`client.notices.keys_signing`:`client.notices.keys`))}function Fe(){let e=t(k).trim();if(!e){Pe({jwks:null});return}try{Pe({jwks:JSON.parse(e),jwksUri:null})}catch{p.blame(Error(X(`client.errors.jwks`)))}}function Ie(){let e=t(A).trim();try{Ee({authorizationDetailsSchemas:e?JSON.parse(e):{}},X(`client.notices.declared`))}catch{p.blame(Error(X(`client.errors.declared`)))}}function Le(){let e=t(ce).split(`
|
|
273
280
|
`).map(e=>e.trim()).filter(Boolean).map(e=>e.split(`=`).map(e=>e.trim()));if(e.some(e=>e.length!==2||!e[0]||!e[1])){p.blame(Error(X(`client.errors.attributes`)));return}Ee({samlAttributes:Object.fromEntries(e)},e.length?X(`client.notices.attributes`):X(`client.notices.attributes_default`))}let Re=[[`client_secret_basic`,X(`client.methods.client_secret_basic`)],[`client_secret_post`,X(`client.methods.client_secret_post`)],[`private_key_jwt`,X(`client.methods.private_key_jwt`)]];function ze(e){if(S(te,e,!0),e===`private_key_jwt`&&!t(Se))return;let n=e===`private_key_jwt`?X(`client.notices.signs_assertions`):t(m).tokenEndpointAuthMethod===`private_key_jwt`?X(`client.notices.uses_secret`):X(`client.notices.saved`);Ee({tokenEndpointAuthMethod:e},n)}function Be(){confirm(X(`client.confirm.restore`))&&Te(`mutation Restore($clientId: ID!) {
|
|
274
281
|
restoreClient(clientId: $clientId) { client { archivedAt } }
|
|
275
|
-
}`,{clientId:i.clientId},X(`client.notices.restored`))}async function Ve(){if(!confirm(X(`client.confirm.rotate`)))return;let e=await Te(`mutation Rotate($clientId: ID!) { rotateClientSecret(clientId: $clientId) { secret } }`,{clientId:i.clientId},X(`client.notices.rotated`));e&&S(de,e.rotateClientSecret.secret,!0)}function He(){confirm(X(`client.confirm.archive`))&&Te(`mutation Archive($clientId: ID!) { archiveClient(clientId: $clientId) { client { archivedAt } } }`,{clientId:i.clientId},X(`client.notices.archived`))}var Ue=R(),We=u(Ue),Ge=e=>{mt(e,{})},Ke=t=>{var n=Wa(),r=W(n,!0);s(e=>z(r,e),[()=>p.state.failure??X(`client.missing`)]),e(t,n)},qe=n=>{{let f=q(()=>({to:`/clients`,label:X(`client.back`)}));zn(n,{get title(){return t(m).name},get id(){return t(m).clientId},get back(){return t(f)},children:(n,f)=>{var C=yo(),w=u(C);Nn(w,{get feedback(){return p.state}});var D=l(w,2),L=n=>{var r=Ga(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,t)=>{z(a,e),z(u,t)},[()=>X(`client.archived_on`,{day:Mt(t(m).archivedAt)}),()=>X(`client.restore`)]),d(`click`,c,Be),e(n,r)};r(D,e=>{t(m).archivedAt&&e(L)});var H=l(D,2),ue=n=>{var r=Ka(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(de))},[()=>X(`client.secret_once`)]),e(n,r)};r(H,e=>{t(de)&&e(ue)});var Ce=l(H,2);{let e=q(()=>`/clients/${i.clientId}`),n=q(()=>X(`client.parts.label`)),r=q(()=>[[null,``,X(`client.parts.general`)],[`access`,`/access`,X(`client.parts.access`)],[`endpoints`,`/endpoints`,X(`client.parts.endpoints`)],[`usage`,`/usage`,X(`client.parts.usage`)]]);ti(Ce,{get base(){return t(e)},get part(){return c()},get label(){return t(n)},get parts(){return t(r)}})}var Te=l(Ce,2),De=o(Te),Ue=n=>{var i=Qa(),c=u(i);{let n=q(()=>X(`client.groups.title`)),i=q(()=>X(`client.groups.lede`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=Xa(),f=u(c),p=n=>{var r=Ja();Y(r,21,()=>t(g),e=>e.key,(n,r)=>{var i=qa(),a=o(i);j(a);var c=l(a),u=l(c),f=W(u,!0);J(i),s(e=>{U(a,e),z(c,` ${t(r).name??``} `),z(f,t(r).key)},[()=>t(m).allowedGroups.includes(t(r).key)]),d(`change`,a,e=>Oe(t(r).key,e.currentTarget.checked)),e(n,i)}),J(r),e(n,r)},h=t=>{var n=Ya(),r=o(n),i=l(r);Z(i,{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.groups.add`)]),e(t,r)},$$slots:{default:!0}});var c=l(i);J(n),s((e,t)=>{z(r,`${e??``} `),z(c,` ${t??``}`)},[()=>X(`client.groups.none`),()=>X(`client.groups.limit`)]),e(t,n)};r(f,e=>{t(g).length?e(p):e(h,-1)});var _=l(f,2);{let e=q(()=>X(`client.groups.roles`));$(_,{get label(){return t(e)},placeholder:`acme:owner, acme:billing`,onsave:ke,get value(){return t(v)},set value(e){S(v,e,!0)}})}var y=l(_,2),b=W(y,!0);s(e=>z(b,e),[()=>t(m).allowedGroups.length?X(`client.groups.only`,{groups:t(m).allowedGroups.join(`, `)}):X(`client.groups.everyone`)]),e(n,c)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`client.scopes.title`));Q(f,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=Za(),a=u(i),c=o(a),d=W(c,!0);Tn(l(c,2),{get value(){return t(m).requiredScopes},get available(){return t(h)},onchange:e=>Ee({requiredScopes:e},X(`client.notices.scopes`))}),J(a);var f=l(a,2),p=o(f),g=W(p,!0);Tn(l(p,2),{get value(){return t(m).allowedScopes},get available(){return t(h)},onchange:e=>Ee({allowedScopes:e},X(`client.notices.scopes`))}),J(f),s((e,t)=>{z(d,e),z(g,t)},[()=>X(`client.scopes.always`),()=>X(`client.scopes.on_request`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},We=n=>{var i=$a(),a=u(i);{let n=q(()=>X(`client.uris.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=$a(),a=u(i);{let e=q(()=>t(me)?X(`client.uris.acs`):X(`client.uris.redirect`));Ua(a,{get label(){return t(e)},get value(){return t(m).redirectUris},onsave:e=>Ee({redirectUris:e},X(`client.notices.redirects`))})}var o=l(a,2);{let e=q(()=>X(`client.uris.post_logout`));Ua(o,{get label(){return t(e)},get value(){return t(m).postLogoutRedirectUris},onsave:e=>Ee({postLogoutRedirectUris:e},X(`client.notices.post_logout`))})}var s=l(o,2);{let e=q(()=>X(`client.uris.resources`));Ua(s,{get label(){return t(e)},get value(){return t(m).resources},onsave:e=>Ee({resources:e},X(`client.notices.resources`))})}e(n,i)},$$slots:{default:!0}})}var c=l(a,2),f=n=>{{let i=q(()=>X(`client.keys.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=eo(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.keys.jwks_uri`));$(p,{get label(){return t(e)},placeholder:`https://app.example.com/.well-known/jwks.json`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Pe(t(O).trim()?{jwksUri:t(O).trim(),jwks:null}:{jwksUri:null}),get value(){return t(O)},set value(e){S(O,e,!0)}})}var h=l(p,2),g=o(h),_=W(g,!0),v=l(g,2);ae(v),P(v,`placeholder`,`{ "keys": [ ... ] }`);var y=l(v,2),b=W(y,!0);J(h);var x=l(h,2),C=e=>{{let n=q(()=>X(`client.keys.jar`));aa(e,{get checked(){return t(m).requireSignedRequestObject},get label(){return t(n)},onchange:e=>Ee({requireSignedRequestObject:e},X(e?`client.notices.jar_on`:`client.notices.jar_off`))})}};r(x,e=>{t(Se)&&e(C)}),s((e,t,n)=>{z(f,e),z(_,t),z(b,n)},[()=>X(`client.keys.hint`),()=>X(`client.keys.jwks`),()=>X(`client.save`)]),B(v,()=>t(k),e=>S(k,e)),d(`click`,y,Fe),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(me)||e(f)});var p=l(c,2),h=n=>{{let i=q(()=>X(`client.details.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=no(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.details.types`));Ua(p,{get label(){return t(e)},get value(){return t(m).authorizationDetailsTypes},onsave:e=>Ee({authorizationDetailsTypes:e},X(`client.notices.types`))})}var h=l(p,2),g=n=>{var r=to(),i=o(r),a=W(i,!0),c=l(i,2);ae(c),P(c,`placeholder`,`{ "payment_initiation": { "label": "Send a payment", "schema": { "type": "object" } } }`);var u=l(c,2),f=W(u,!0);J(r),s((e,t)=>{z(a,e),z(f,t)},[()=>X(`client.details.accepts`),()=>X(`client.save`)]),B(c,()=>t(A),e=>S(A,e)),d(`click`,u,Ie),e(n,r)};r(h,e=>{t(m).approvedAt&&e(g)}),s(e=>z(f,e),[()=>X(`client.details.hint`)]),e(n,a)},$$slots:{default:!0}})}};r(p,e=>{t(me)||e(h)}),e(n,i)},Ge=n=>{var o=ro(),c=u(o);{let e=q(()=>X(`client.consents`));Q(c,{get title(){return t(e)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).consents},onchange:we,showActor:!0})},$$slots:{default:!0}})}var d=l(c,2);{let e=q(()=>X(`client.tokens`));Q(d,{get title(){return t(e)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).tokens},onchange:we,showActor:!0})},$$slots:{default:!0}})}var f=l(d,2);{let n=n=>{{let r=q(()=>`/activity?client=${t(m).clientId}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.activity.all`)]),e(t,r)},$$slots:{default:!0}})}},r=q(()=>X(`client.activity.title`));Q(f,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`client.activity.empty`));Mr(e,{get events(){return t(m).events},get empty(){return t(n)}})}},$$slots:{actions:!0,default:!0}})}var h=l(f,2),g=e=>{Ba(e,{get api(){return i.api},get rows(){return t(m).namespaces},onreleased:we})};r(h,e=>{t(m).namespaces.length&&e(g)}),e(n,o)},Ke=n=>{var i=ro(),c=u(i);{let n=q(()=>X(`client.registration.title`));Q(c,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=po(),c=u(a);{let e=q(()=>X(`client.registration.name`));$(c,{get label(){return t(e)},onsave:()=>Ee({name:t(x)},X(`client.notices.renamed`)),get value(){return t(x)},set value(e){S(x,e,!0)}})}var f=l(c,2);Bi(f,{get rows(){return t(he)}});var p=l(f,2),h=t=>{var n=io(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.saml`)]),e(t,n)},g=t=>{var n=io(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.public`)]),e(t,n)},_=n=>{var r=oo(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>Re,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ao(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(te))&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`client.registration.authenticates`)]),d(`change`,c,e=>ze(e.currentTarget.value)),e(n,r)};r(p,e=>{t(me)?e(h):t(m).tokenEndpointAuthMethod===`none`?e(g,1):e(_,-1)});var v=l(p,2),y=t=>{var n=so(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.needs_keys`)]),e(t,n)};r(v,e=>{t(te)===`private_key_jwt`&&!t(Se)&&e(y)});var b=l(v,2),C=n=>{var i=co(),a=u(i),c=o(a),f=W(c,!0),p=l(c,2);Y(p,21,()=>ge,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ao(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p);var h;I(p),J(a);var g=l(a,2),_=e=>{{let n=q(()=>X(`client.registration.sector`)),r=q(()=>X(`client.registration.sector_placeholder`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({sectorIdentifierUri:t(ne).trim()||null},t(ne).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(ne)},set value(e){S(ne,e,!0)}})}};r(g,e=>{(t(m).subjectType===`pairwise`||t(m).sectorIdentifierUri)&&e(_)});var v=l(g,2);Y(v,17,()=>_e,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(m).grantTypes.includes(i()));aa(e,{get checked(){return t(n)},get label(){return a()},onchange:e=>Ee({grantTypes:je(i(),e)},X(`client.notices.grants`))})}}),s(e=>{z(f,e),h!==(h=t(m).subjectType)&&(p.value=(p.__value=h)??``,T(p,h))},[()=>X(`client.registration.knows_as`)]),d(`change`,p,e=>Ne(e.currentTarget.value)),e(n,i)};r(b,e=>{t(me)||e(C)});var w=l(b,2),E=e=>{{let n=q(()=>X(`client.registration.unattended`));aa(e,{get checked(){return t(Ae)},get label(){return t(n)},onchange:Me})}};r(w,e=>{t(m).approvedAt&&t(m).tokenEndpointAuthMethod!==`none`&&e(E)});var D=l(w,2),O=o(D),k=n=>{var i=uo(),a=u(i),o=W(a,!0),c=l(a,2),f=n=>{var r=lo(),i=W(r,!0);s(e=>{le(r,1,`self-center text-sm ${t(fe)?`text-error`:`opacity-70`}`),z(i,e)},[()=>X(t(fe)?`client.registration.secret_expired`:`client.registration.secret_expires`,{day:Mt(t(m).secretExpiresAt)})]),e(n,r)};r(c,e=>{t(m).secretExpiresAt&&e(f)}),s(e=>z(o,e),[()=>X(`client.registration.rotate`)]),d(`click`,a,Ve),e(n,i)},A=q(()=>t(m).tokenEndpointAuthMethod.startsWith(`client_secret`));r(O,e=>{t(A)&&e(k)});var j=l(O,2),M=t=>{var n=fo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.archive`)]),d(`click`,n,He),e(t,n)};r(j,e=>{t(m).archivedAt||e(M)}),J(D),e(n,a)},$$slots:{default:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`client.saml.title`));Q(n,{row:!0,get title(){return t(r)},children:(n,r)=>{var i=mo(),a=u(i);{let e=q(()=>X(`client.saml.entity_id`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlEntityId:t(oe).trim()},X(`client.notices.entity_id`)),get value(){return t(oe)},set value(e){S(oe,e,!0)}})}var c=l(a,2),f=o(c);{let e=q(()=>X(`client.saml.slo_url`));$(f,{get label(){return t(e)},placeholder:`https://wiki.example.com/saml/slo`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlSloUrl:t(K).trim()||null},t(K).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(K)},set value(e){S(K,e,!0)}})}var p=l(f,2),h=W(p,!0);J(c);var g=l(c,2);{let e=q(()=>[{term:X(`client.saml.metadata`),value:t(re),mono:!0},{term:X(`client.saml.initiate`),value:t(m).samlIdpInitiated?`/saml/initiate/${t(m).clientId}`:null,mono:!0}]);Bi(g,{get rows(){return t(e)}})}var _=l(g,2),v=o(_),y=W(v,!0),b=l(v,2);Y(b,21,()=>pe,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ao(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(b);var x;I(b),J(_);var C=l(_,2),w=o(C),E=W(w,!0),D=l(w,2);ae(D);var O=l(D,2),k=W(O,!0);J(C);var A=l(C,2),j=o(A),M=W(j,!0),N=l(j,2);ae(N),P(N,`placeholder`,`email = email
|
|
282
|
+
}`,{clientId:i.clientId},X(`client.notices.restored`))}async function Ve(){if(!confirm(X(`client.confirm.rotate`)))return;let e=await Te(`mutation Rotate($clientId: ID!) { rotateClientSecret(clientId: $clientId) { secret } }`,{clientId:i.clientId},X(`client.notices.rotated`));e&&S(de,e.rotateClientSecret.secret,!0)}function He(){confirm(X(`client.confirm.archive`))&&Te(`mutation Archive($clientId: ID!) { archiveClient(clientId: $clientId) { client { archivedAt } } }`,{clientId:i.clientId},X(`client.notices.archived`))}var Ue=R(),We=u(Ue),Ge=e=>{mt(e,{})},Ke=t=>{var n=Ya(),r=W(n,!0);s(e=>z(r,e),[()=>p.state.failure??X(`client.missing`)]),e(t,n)},qe=n=>{{let f=q(()=>({to:`/clients`,label:X(`client.back`)}));zn(n,{get title(){return t(m).name},get id(){return t(m).clientId},get back(){return t(f)},children:(n,f)=>{var C=Eo(),w=u(C);Nn(w,{get feedback(){return p.state}});var D=l(w,2),L=n=>{var r=Xa(),i=o(r),c=l(i);{let n=q(()=>`/clients/${t(m).enrolledBy.clientId}`);Z(c,{get to(){return t(n)},class:`link link-hover`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(m).enrolledBy.name)),e(n,i)},$$slots:{default:!0}})}J(r),s(e=>z(i,`${e??``} `),[()=>X(`machines.enrolled_by`)]),e(n,r)};r(D,e=>{t(m).enrolledBy&&e(L)});var H=l(D,2),ue=n=>{var r=Za(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,t)=>{z(a,e),z(u,t)},[()=>X(`client.archived_on`,{day:Mt(t(m).archivedAt)}),()=>X(`client.restore`)]),d(`click`,c,Be),e(n,r)};r(H,e=>{t(m).archivedAt&&e(ue)});var Ce=l(H,2),Te=n=>{var r=Qa(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(de))},[()=>X(`client.secret_once`)]),e(n,r)};r(Ce,e=>{t(de)&&e(Te)});var De=l(Ce,2);{let e=q(()=>`/clients/${i.clientId}`),n=q(()=>X(`client.parts.label`)),r=q(()=>[[null,``,X(`client.parts.general`)],[`access`,`/access`,X(`client.parts.access`)],[`endpoints`,`/endpoints`,X(`client.parts.endpoints`)],[`usage`,`/usage`,X(`client.parts.usage`)]]);ti(De,{get base(){return t(e)},get part(){return c()},get label(){return t(n)},get parts(){return t(r)}})}var Ue=l(De,2),We=o(Ue),Ge=n=>{var i=io(),c=u(i);{let n=q(()=>X(`client.groups.title`)),i=q(()=>X(`client.groups.lede`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=no(),f=u(c),p=n=>{var r=eo();Y(r,21,()=>t(g),e=>e.key,(n,r)=>{var i=$a(),a=o(i);j(a);var c=l(a),u=l(c),f=W(u,!0);J(i),s(e=>{U(a,e),z(c,` ${t(r).name??``} `),z(f,t(r).key)},[()=>t(m).allowedGroups.includes(t(r).key)]),d(`change`,a,e=>Oe(t(r).key,e.currentTarget.checked)),e(n,i)}),J(r),e(n,r)},h=t=>{var n=to(),r=o(n),i=l(r);Z(i,{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.groups.add`)]),e(t,r)},$$slots:{default:!0}});var c=l(i);J(n),s((e,t)=>{z(r,`${e??``} `),z(c,` ${t??``}`)},[()=>X(`client.groups.none`),()=>X(`client.groups.limit`)]),e(t,n)};r(f,e=>{t(g).length?e(p):e(h,-1)});var _=l(f,2);{let e=q(()=>X(`client.groups.roles`));$(_,{get label(){return t(e)},placeholder:`acme:owner, acme:billing`,onsave:ke,get value(){return t(v)},set value(e){S(v,e,!0)}})}var y=l(_,2),b=W(y,!0);s(e=>z(b,e),[()=>t(m).allowedGroups.length?X(`client.groups.only`,{groups:t(m).allowedGroups.join(`, `)}):X(`client.groups.everyone`)]),e(n,c)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`client.scopes.title`));Q(f,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=ro(),a=u(i),c=o(a),d=W(c,!0);Tn(l(c,2),{get value(){return t(m).requiredScopes},get available(){return t(h)},onchange:e=>Ee({requiredScopes:e},X(`client.notices.scopes`))}),J(a);var f=l(a,2),p=o(f),g=W(p,!0);Tn(l(p,2),{get value(){return t(m).allowedScopes},get available(){return t(h)},onchange:e=>Ee({allowedScopes:e},X(`client.notices.scopes`))}),J(f),s((e,t)=>{z(d,e),z(g,t)},[()=>X(`client.scopes.always`),()=>X(`client.scopes.on_request`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},Ke=n=>{var i=ao(),a=u(i);{let n=q(()=>X(`client.uris.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=ao(),a=u(i);{let e=q(()=>t(me)?X(`client.uris.acs`):X(`client.uris.redirect`));Ja(a,{get label(){return t(e)},get value(){return t(m).redirectUris},onsave:e=>Ee({redirectUris:e},X(`client.notices.redirects`))})}var o=l(a,2);{let e=q(()=>X(`client.uris.post_logout`));Ja(o,{get label(){return t(e)},get value(){return t(m).postLogoutRedirectUris},onsave:e=>Ee({postLogoutRedirectUris:e},X(`client.notices.post_logout`))})}var s=l(o,2);{let e=q(()=>X(`client.uris.resources`));Ja(s,{get label(){return t(e)},get value(){return t(m).resources},onsave:e=>Ee({resources:e},X(`client.notices.resources`))})}e(n,i)},$$slots:{default:!0}})}var c=l(a,2),f=n=>{{let i=q(()=>X(`client.keys.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=oo(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.keys.jwks_uri`));$(p,{get label(){return t(e)},placeholder:`https://app.example.com/.well-known/jwks.json`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Pe(t(O).trim()?{jwksUri:t(O).trim(),jwks:null}:{jwksUri:null}),get value(){return t(O)},set value(e){S(O,e,!0)}})}var h=l(p,2),g=o(h),_=W(g,!0),v=l(g,2);ae(v),P(v,`placeholder`,`{ "keys": [ ... ] }`);var y=l(v,2),b=W(y,!0);J(h);var x=l(h,2),C=e=>{{let n=q(()=>X(`client.keys.jar`));aa(e,{get checked(){return t(m).requireSignedRequestObject},get label(){return t(n)},onchange:e=>Ee({requireSignedRequestObject:e},X(e?`client.notices.jar_on`:`client.notices.jar_off`))})}};r(x,e=>{t(Se)&&e(C)}),s((e,t,n)=>{z(f,e),z(_,t),z(b,n)},[()=>X(`client.keys.hint`),()=>X(`client.keys.jwks`),()=>X(`client.save`)]),B(v,()=>t(k),e=>S(k,e)),d(`click`,y,Fe),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(me)||e(f)});var p=l(c,2),h=n=>{{let i=q(()=>X(`client.details.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=co(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.details.types`));Ja(p,{get label(){return t(e)},get value(){return t(m).authorizationDetailsTypes},onsave:e=>Ee({authorizationDetailsTypes:e},X(`client.notices.types`))})}var h=l(p,2),g=n=>{var r=so(),i=o(r),a=W(i,!0),c=l(i,2);ae(c),P(c,`placeholder`,`{ "payment_initiation": { "label": "Send a payment", "schema": { "type": "object" } } }`);var u=l(c,2),f=W(u,!0);J(r),s((e,t)=>{z(a,e),z(f,t)},[()=>X(`client.details.accepts`),()=>X(`client.save`)]),B(c,()=>t(A),e=>S(A,e)),d(`click`,u,Ie),e(n,r)};r(h,e=>{t(m).approvedAt&&e(g)}),s(e=>z(f,e),[()=>X(`client.details.hint`)]),e(n,a)},$$slots:{default:!0}})}};r(p,e=>{t(me)||e(h)}),e(n,i)},qe=n=>{var o=lo(),c=u(o);{let e=q(()=>X(`client.consents`));Q(c,{get title(){return t(e)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).consents},onchange:we,showActor:!0})},$$slots:{default:!0}})}var d=l(c,2);{let e=q(()=>X(`client.tokens`));Q(d,{get title(){return t(e)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).tokens},onchange:we,showActor:!0})},$$slots:{default:!0}})}var f=l(d,2);{let n=n=>{{let r=q(()=>`/activity?client=${t(m).clientId}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.activity.all`)]),e(t,r)},$$slots:{default:!0}})}},r=q(()=>X(`client.activity.title`));Q(f,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`client.activity.empty`));Mr(e,{get events(){return t(m).events},get empty(){return t(n)}})}},$$slots:{actions:!0,default:!0}})}var h=l(f,2),g=e=>{Ga(e,{get api(){return i.api},get rows(){return t(m).namespaces},onreleased:we})};r(h,e=>{t(m).namespaces.length&&e(g)});var _=l(h,2),v=e=>{za(e,{get api(){return i.api},get rows(){return t(m).enrolled},onrevoked:we})};r(_,e=>{(t(m).namespaces.length||t(m).enrolled.length)&&e(v)}),e(n,o)},Je=n=>{var i=To(),c=u(i);{let n=q(()=>X(`client.registration.title`));Q(c,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=yo(),c=u(a);{let e=q(()=>X(`client.registration.name`));$(c,{get label(){return t(e)},onsave:()=>Ee({name:t(x)},X(`client.notices.renamed`)),get value(){return t(x)},set value(e){S(x,e,!0)}})}var f=l(c,2);Bi(f,{get rows(){return t(he)}});var p=l(f,2),h=t=>{var n=uo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.saml`)]),e(t,n)},g=t=>{var n=uo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.public`)]),e(t,n)},_=n=>{var r=po(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>Re,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(te))&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`client.registration.authenticates`)]),d(`change`,c,e=>ze(e.currentTarget.value)),e(n,r)};r(p,e=>{t(me)?e(h):t(m).tokenEndpointAuthMethod===`none`?e(g,1):e(_,-1)});var v=l(p,2),y=t=>{var n=mo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.needs_keys`)]),e(t,n)};r(v,e=>{t(te)===`private_key_jwt`&&!t(Se)&&e(y)});var b=l(v,2),C=n=>{var i=ho(),a=u(i),c=o(a),f=W(c,!0),p=l(c,2);Y(p,21,()=>ge,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p);var h;I(p),J(a);var g=l(a,2),_=e=>{{let n=q(()=>X(`client.registration.sector`)),r=q(()=>X(`client.registration.sector_placeholder`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({sectorIdentifierUri:t(ne).trim()||null},t(ne).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(ne)},set value(e){S(ne,e,!0)}})}};r(g,e=>{(t(m).subjectType===`pairwise`||t(m).sectorIdentifierUri)&&e(_)});var v=l(g,2);Y(v,17,()=>_e,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(m).grantTypes.includes(i()));aa(e,{get checked(){return t(n)},get label(){return a()},onchange:e=>Ee({grantTypes:je(i(),e)},X(`client.notices.grants`))})}}),s(e=>{z(f,e),h!==(h=t(m).subjectType)&&(p.value=(p.__value=h)??``,T(p,h))},[()=>X(`client.registration.knows_as`)]),d(`change`,p,e=>Ne(e.currentTarget.value)),e(n,i)};r(b,e=>{t(me)||e(C)});var w=l(b,2),E=e=>{{let n=q(()=>X(`client.registration.unattended`));aa(e,{get checked(){return t(Ae)},get label(){return t(n)},onchange:Me})}};r(w,e=>{t(m).approvedAt&&t(m).tokenEndpointAuthMethod!==`none`&&e(E)});var D=l(w,2),O=o(D),k=n=>{var i=_o(),a=u(i),o=W(a,!0),c=l(a,2),f=n=>{var r=go(),i=W(r,!0);s(e=>{le(r,1,`self-center text-sm ${t(fe)?`text-error`:`opacity-70`}`),z(i,e)},[()=>X(t(fe)?`client.registration.secret_expired`:`client.registration.secret_expires`,{day:Mt(t(m).secretExpiresAt)})]),e(n,r)};r(c,e=>{t(m).secretExpiresAt&&e(f)}),s(e=>z(o,e),[()=>X(`client.registration.rotate`)]),d(`click`,a,Ve),e(n,i)},A=q(()=>t(m).tokenEndpointAuthMethod.startsWith(`client_secret`));r(O,e=>{t(A)&&e(k)});var j=l(O,2),M=t=>{var n=vo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.archive`)]),d(`click`,n,He),e(t,n)};r(j,e=>{t(m).archivedAt||e(M)}),J(D),e(n,a)},$$slots:{default:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`client.saml.title`));Q(n,{row:!0,get title(){return t(r)},children:(n,r)=>{var i=bo(),a=u(i);{let e=q(()=>X(`client.saml.entity_id`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlEntityId:t(oe).trim()},X(`client.notices.entity_id`)),get value(){return t(oe)},set value(e){S(oe,e,!0)}})}var c=l(a,2),f=o(c);{let e=q(()=>X(`client.saml.slo_url`));$(f,{get label(){return t(e)},placeholder:`https://wiki.example.com/saml/slo`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlSloUrl:t(K).trim()||null},t(K).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(K)},set value(e){S(K,e,!0)}})}var p=l(f,2),h=W(p,!0);J(c);var g=l(c,2);{let e=q(()=>[{term:X(`client.saml.metadata`),value:t(re),mono:!0},{term:X(`client.saml.initiate`),value:t(m).samlIdpInitiated?`/saml/initiate/${t(m).clientId}`:null,mono:!0}]);Bi(g,{get rows(){return t(e)}})}var _=l(g,2),v=o(_),y=W(v,!0),b=l(v,2);Y(b,21,()=>pe,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(b);var x;I(b),J(_);var C=l(_,2),w=o(C),E=W(w,!0),D=l(w,2);ae(D);var O=l(D,2),k=W(O,!0);J(C);var A=l(C,2),j=o(A),M=W(j,!0),N=l(j,2);ae(N),P(N,`placeholder`,`email = email
|
|
276
283
|
name = name
|
|
277
284
|
given_name = given_name
|
|
278
285
|
family_name = family_name
|
|
279
|
-
preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(L,!0);J(A);var R=l(A,2);{let e=q(()=>X(`client.saml.requests_signed`));aa(R,{get checked(){return t(m).samlRequestsSigned},get label(){return t(e)},onchange:e=>Ee({samlRequestsSigned:e},X(e?`client.notices.signed_refused`:`client.notices.signed_read`))})}var V=l(R,2);{let e=q(()=>X(`client.saml.idp_initiated`));aa(V,{get checked(){return t(m).samlIdpInitiated},get label(){return t(e)},onchange:e=>Ee({samlIdpInitiated:e},X(e?`client.notices.idp_initiated_on`:`client.notices.idp_initiated_off`))})}s((e,n,r,i,a,o,s)=>{z(h,e),z(y,n),x!==(x=t(m).samlNameIdFormat??pe[0][0])&&(b.value=(b.__value=x)??``,T(b,x)),z(E,r),z(k,i),z(M,a),z(ee,o),z(te,s)},[()=>X(`client.saml.slo_url_hint`),()=>X(`client.saml.names_by`),()=>X(`client.saml.certificate`),()=>X(`client.save`),()=>X(`client.saml.attributes`),()=>X(`client.saml.attributes_hint`),()=>X(`client.save`)]),d(`change`,b,e=>Ee({samlNameIdFormat:e.currentTarget.value},X(`client.notices.saved`))),B(D,()=>t(G),e=>S(G,e)),d(`click`,O,()=>Ee({samlCertificate:t(G).trim()},t(G).trim()?X(`client.notices.certificate_saved`):X(`client.notices.certificate_removed`))),B(N,()=>t(ce),e=>S(ce,e)),d(`click`,L,Le),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(me)&&e(p)});var h=l(f,2);{let n=q(()=>X(`client.shown.title`));Q(h,{row:!0,get title(){return t(n)},children:(n,i)=>{var c=
|
|
286
|
+
preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(L,!0);J(A);var R=l(A,2);{let e=q(()=>X(`client.saml.requests_signed`));aa(R,{get checked(){return t(m).samlRequestsSigned},get label(){return t(e)},onchange:e=>Ee({samlRequestsSigned:e},X(e?`client.notices.signed_refused`:`client.notices.signed_read`))})}var V=l(R,2);{let e=q(()=>X(`client.saml.idp_initiated`));aa(V,{get checked(){return t(m).samlIdpInitiated},get label(){return t(e)},onchange:e=>Ee({samlIdpInitiated:e},X(e?`client.notices.idp_initiated_on`:`client.notices.idp_initiated_off`))})}s((e,n,r,i,a,o,s)=>{z(h,e),z(y,n),x!==(x=t(m).samlNameIdFormat??pe[0][0])&&(b.value=(b.__value=x)??``,T(b,x)),z(E,r),z(k,i),z(M,a),z(ee,o),z(te,s)},[()=>X(`client.saml.slo_url_hint`),()=>X(`client.saml.names_by`),()=>X(`client.saml.certificate`),()=>X(`client.save`),()=>X(`client.saml.attributes`),()=>X(`client.saml.attributes_hint`),()=>X(`client.save`)]),d(`change`,b,e=>Ee({samlNameIdFormat:e.currentTarget.value},X(`client.notices.saved`))),B(D,()=>t(G),e=>S(G,e)),d(`click`,O,()=>Ee({samlCertificate:t(G).trim()},t(G).trim()?X(`client.notices.certificate_saved`):X(`client.notices.certificate_removed`))),B(N,()=>t(ce),e=>S(ce,e)),d(`click`,L,Le),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(me)&&e(p)});var h=l(f,2);{let n=q(()=>X(`client.shown.title`));Q(h,{row:!0,get title(){return t(n)},children:(n,i)=>{var c=xo(),d=u(c),f=o(d);$i(f,{get client(){return t(m)},class:`size-14 rounded-lg border border-base-300 text-xl`});var p=l(f,2),h=o(p),g=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.unapproved`)]),e(t,n)},v=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.approved`)]),e(t,n)};r(h,e=>{t(m).approvedAt?e(v,-1):e(g)}),J(p),J(d);var y=l(d,2),b=o(y);Y(b,17,()=>ve,([e,t,n])=>e,(e,n)=>{var r=q(()=>ie(t(n),3));let i=()=>t(r)[0],a=()=>t(r)[1],o=()=>t(r)[2];$(e,{get label(){return a()},get placeholder(){return o()},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(se)[i()]},set value(e){t(se)[i()]=e}})});var x=l(b,2),S=W(x,!0);J(y),s(e=>z(S,e),[()=>X(`client.save`)]),_(`submit`,y,e=>{e.preventDefault(),ye()}),e(n,c)},$$slots:{default:!0}})}var g=l(h,2);{let n=q(()=>X(`client.sign_in.title`));Q(g,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=wo(),c=u(a),f=o(c),p=W(f,!0),h=l(f,2),g=o(h),v=W(g,!0);g.value=g.__value=``;var x=l(g);Y(x,17,()=>t(y),e=>e.key,(n,r)=>{var i=fo(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(h);var C;I(h),J(c);var w=l(c,2),D=n=>{var r=mo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.archived`,{name:t(m).signInPolicy.name,fallback:t(b)?.name})]),e(n,r)},O=n=>{var i=R(),a=u(i),c=n=>{var r=Co(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(xe),({term:e,value:t,instead:n})=>e,(n,r)=>{let i=()=>t(r).term,a=()=>t(r).value,c=()=>t(r).instead;var d=So(),f=u(d),p=W(f,!0),m=l(f,2),h=o(m),g=l(h),_=W(g,!0);J(m),s(()=>{z(p,i()),z(h,`${a()??``} `),z(_,c())}),e(n,d)}),J(c),J(r),s(e=>z(a,e),[()=>X(`client.sign_in.differs`,{name:t(b)?.name})]),e(n,r)},d=n=>{var r=uo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.same`,{name:t(b)?.name})]),e(n,r)};r(a,e=>{t(xe).length?e(c):e(d,-1)}),e(n,i)};r(w,e=>{t(m).signInPolicy?.archivedAt?e(D):t(m).signInPolicy&&e(O,1)});var k=l(w,2),A=n=>{var r=io(),i=u(r);{let e=q(()=>X(`client.sign_in.par`));aa(i,{get checked(){return t(m).requirePushedAuthorizationRequests},get label(){return t(e)},onchange:e=>Ee({requirePushedAuthorizationRequests:e},X(e?`client.notices.par_on`:`client.notices.par_off`))})}var a=l(i,2);{let e=q(()=>X(`client.sign_in.dpop`));aa(a,{get checked(){return t(m).dpopBoundAccessTokens},get label(){return t(e)},onchange:e=>Ee({dpopBoundAccessTokens:e},X(e?`client.notices.dpop_on`:`client.notices.dpop_off`))})}e(n,r)};r(k,e=>{t(me)||e(A)});var j=l(k,2),P=e=>{{let n=q(()=>X(`client.sign_in.consent`));aa(e,{get checked(){return t(m).consentRequired},get label(){return t(n)},onchange:e=>Ee({consentRequired:e},X(e?`client.notices.consent_on`:`client.notices.consent_off`))})}};r(j,e=>{t(m).approvedAt&&e(P)});var L=l(j,2),te=o(L),B=o(te);{let e=q(()=>X(`client.sign_in.access`));$(B,{get label(){return t(e)},type:`number`,min:`1`,max:`1440`,get value(){return t(N)},set value(e){S(N,e,!0)}})}var V=l(B,2);{let e=q(()=>X(`client.sign_in.refresh`));$(V,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(F)},set value(e){S(F,e,!0)}})}var ne=l(V,2);{let e=q(()=>X(`client.sign_in.refresh_absolute`));$(ne,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(ee)},set value(e){S(ee,e,!0)}})}var re=l(ne,2);{let e=q(()=>X(`client.sign_in.consent_lifetime`));$(re,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(M)},set value(e){S(M,e,!0)}})}J(te);var H=l(te,2),U=W(H,!0);J(L);var ie=l(L,2);{let e=q(()=>X(`client.sign_in.logout`));$(ie,{get label(){return t(e)},placeholder:`https://app.example.com/logout`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({backchannelLogoutUri:t(E).trim()||null},t(E).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(E)},set value(e){S(E,e,!0)}})}var ae=l(ie,2),G=e=>{{let n=q(()=>X(`client.sign_in.logout_session`));aa(e,{get checked(){return t(m).backchannelLogoutSessionRequired},get label(){return t(n)},onchange:e=>Ee({backchannelLogoutSessionRequired:e},X(`client.notices.saved`))})}};r(ae,e=>{t(m).backchannelLogoutUri&&e(G)}),s((e,n,r)=>{z(p,e),z(v,n),C!==(C=t(m).signInPolicy?.key??``)&&(h.value=(h.__value=C)??``,T(h,C)),z(U,r)},[()=>X(`client.sign_in.policy`),()=>X(`client.sign_in.default`,{name:t(b)?.name??X(`client.sign_in.built_in`)}),()=>X(`client.save`)]),d(`change`,h,e=>Ee({signInPolicy:e.currentTarget.value},X(`client.notices.policy`))),_(`submit`,L,e=>{e.preventDefault(),be()}),e(n,a)},$$slots:{default:!0}})}e(n,i)};r(We,e=>{c()===`access`?e(Ge):c()===`endpoints`?e(Ke,1):c()===`usage`?e(qe,2):e(Je,-1)}),J(Ue),e(n,C)},$$slots:{default:!0}})}};r(We,e=>{t(ue)&&!t(m)?e(Ge):t(m)?e(qe,-1):e(Ke,1)}),e(n,Ue),D()}c([`click`,`change`]);var Oo=f(`<span class="badge badge-warning badge-xs"> </span>`),ko=f(`<span class="flex flex-wrap items-center gap-2"><!> <!></span> <span class="font-mono text-xs opacity-75"> </span> <!>`,1);function Ao(n,i){H(i,!0);var c=ko(),d=u(c),f=o(d);{let n=q(()=>`/organizations/${i.organization.key}`);Z(f,{get to(){return t(n)},class:`link link-hover font-medium`,children:(t,n)=>{V();var r=a();s(()=>z(r,i.organization.name)),e(t,r)},$$slots:{default:!0}})}var p=l(f,2),m=t=>{var n=Oo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization_cell.no_owner`)]),e(t,n)};r(p,e=>{i.organization.ownerCount===0&&e(m)}),J(d);var h=l(d,2),g=W(h,!0),_=l(h,2);v(_,()=>i.children??F),s(()=>z(g,i.organization.key)),e(n,c),D()}var jo=f(`<span class="text-xs opacity-75"> </span>`),Mo=f(`<span><span> </span> <!></span>`);function No(t,n){H(n,!0);let i=L(n,`class`,3,`flex flex-col`);var a=Mo(),c=o(a),u=W(c,!0),d=l(c,2),f=t=>{var r=jo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization_headcount.invited`,{count:n.organization.pendingCount})]),e(t,r)};r(d,e=>{n.organization.pendingCount&&e(f)}),J(a),s(e=>{le(a,1,O(i())),z(u,e)},[()=>X(`organization_headcount.members`,{count:n.organization.memberCount})]),e(t,a),D()}var Po=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Fo=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <p class="hint"> <span class="font-mono"> </span> </p> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Io=f(`<span class="text-xs opacity-85 md:hidden"> </span>`),Lo=f(`<span class="badge badge-ghost badge-sm"> </span>`),Ro=f(`<td><div class="flex min-w-0 flex-col gap-0.5"><!></div></td> <td class="hidden text-sm md:table-cell"><!></td> <td class="hidden md:table-cell"><div class="flex max-w-64 flex-wrap gap-1"></div></td> <td class="hidden text-sm md:table-cell"><span> </span></td>`,1),zo=f(`<div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><!> <span class="hint"><span class="font-mono"> </span> </span></div> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Bo=f(`<!> <!>`,1),Vo=f(`<!> <!> <!>`,1);function Ho(n,i){H(i,!0);let c=ct(),f=Ct(),p=[X(`organizations.columns.organization`),{label:X(`organizations.columns.members`),hide:!0},{label:X(`organizations.columns.roles`),hide:!0},{label:X(`organizations.columns.signs_in`),hide:!0}],m=w(null),h=w(!0),g=w(!1),_=w(null),v=w(!1);async function y(){S(h,!0);let e=await f.attempt(()=>i.api.query(`
|
|
280
287
|
query Organizations {
|
|
281
288
|
active: organizations {
|
|
282
289
|
key name roles memberCount ownerCount pendingCount
|
|
@@ -287,7 +294,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
287
294
|
}
|
|
288
295
|
`));S(h,!1),e&&S(m,e,!0)}y();let b=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);function x(){S(_,{key:``,name:``},!0),S(v,!1),f.clear()}function C(e){t(_).name=e,t(v)||(t(_).key=b(e))}async function T(){S(g,!0);let e=await f.attempt(()=>i.api.query(`mutation Create($key: ID!, $name: String!) {
|
|
289
296
|
createOrganization(key: $key, name: $name) { organization { key } }
|
|
290
|
-
}`,{key:t(_).key.trim(),name:t(_).name.trim()}));S(g,!1),e&&c.go(`/organizations/${e.createOrganization.organization.key}`)}async function E(e){await f.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:e.key}),X(`organizations.restored`,{name:e.name}))&&await y()}function O(e){let t=X(`organizations.members`,{count:e.memberCount});return e.pendingCount?X(`organizations.members_invited`,{members:t,count:e.pendingCount}):t}function k(e){return[e.signInPolicy?.name,...e.providers.map(e=>e.name)].filter(Boolean).join(`, `)}{let i=t=>{var n=
|
|
297
|
+
}`,{key:t(_).key.trim(),name:t(_).name.trim()}));S(g,!1),e&&c.go(`/organizations/${e.createOrganization.organization.key}`)}async function E(e){await f.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:e.key}),X(`organizations.restored`,{name:e.name}))&&await y()}function O(e){let t=X(`organizations.members`,{count:e.memberCount});return e.pendingCount?X(`organizations.members_invited`,{members:t,count:e.pendingCount}):t}function k(e){return[e.signInPolicy?.name,...e.providers.map(e=>e.name)].filter(Boolean).join(`, `)}{let i=t=>{var n=Po(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organizations.add`)]),d(`click`,n,x),e(t,n)},c=q(()=>X(`organizations.title`)),y=q(()=>X(`organizations.lede`));zn(n,{get title(){return t(c)},get lede(){return t(y)},actions:i,children:(n,i)=>{var c=Vo(),y=u(c);Nn(y,{get feedback(){return f.state}});var b=l(y,2),x=n=>{{let r=q(()=>X(`organizations.add`)),i=q(()=>X(`organizations.add_lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Fo(),a=u(i),c=o(a);{let e=q(()=>X(`organizations.name`));$(c,{get label(){return t(e)},get value(){return t(_).name},oninput:e=>C(e.currentTarget.value),placeholder:`Acme`})}var f=l(c,2);{let e=q(()=>X(`organizations.key`));$(f,{get label(){return t(e)},oninput:()=>S(v,!0),placeholder:`acme`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(_).key},set value(e){t(_).key=e}})}J(a);var p=l(a,2),m=o(p),h=l(m),y=W(h),b=l(h,1,!0);J(p);var x=l(p,2),w=o(x),E=W(w,!0),D=l(w,2),O=W(D,!0);J(x),s((e,t,n,r,i,a)=>{z(m,`${e??``} `),z(y,`organization=${t??``}`),z(b,n),w.disabled=r,z(E,i),z(O,a)},[()=>X(`organizations.key_hint`),()=>t(_).key||X(`organizations.key_word`),()=>X(`organizations.key_hint_end`),()=>t(g)||!t(_).key.trim()||!t(_).name.trim(),()=>t(g)?X(`organizations.adding`):X(`organizations.add`),()=>X(`organizations.cancel`)]),d(`click`,w,T),d(`click`,D,()=>S(_,null)),e(n,i)},$$slots:{default:!0}})}};r(b,e=>{t(_)&&e(x)});var w=l(b,2),D=e=>{mt(e,{})},A=n=>{var i=Bo(),c=u(i);{let n=n=>{var r=R(),i=u(r);Y(i,17,()=>t(m).active,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=Ro(),c=u(a),d=o(c);Ao(o(d),{get organization(){return t(r)},children:(n,i)=>{var a=Io(),o=W(a,!0);s(e=>z(o,e),[()=>O(t(r))]),e(n,a)},$$slots:{default:!0}}),J(d),J(c);var f=l(c,2);No(o(f),{get organization(){return t(r)}}),J(f);var p=l(f,2),m=o(p);Y(m,20,()=>t(r).roles,e=>e,(t,n)=>{var r=Lo(),i=W(r,!0);s(()=>z(i,n)),e(t,r)}),J(m),J(p);var h=l(p,2),g=o(h);let _;var v=W(g,!0);J(h),s((e,t)=>{_=le(g,1,``,null,_,{"opacity-60":e}),z(v,t)},[()=>!k(t(r)),()=>k(t(r))||X(`organizations.tenant_policy`)]),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},r=q(()=>X(`organizations.empty`));Yt(c,{get columns(){return p},get count(){return t(m).active.length},get empty(){return t(r)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),h=n=>{{let r=q(()=>X(`organizations.archived.title`)),i=q(()=>X(`organizations.archived.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=R(),c=u(i);Y(c,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=zo(),c=o(i),u=o(c);{let n=q(()=>`/organizations/${t(r).key}`);Z(u,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var f=l(u,2),p=o(f),m=W(p,!0),h=l(p);J(f),J(c);var g=l(c,2),_=W(g,!0);J(i),s((e,n)=>{z(m,t(r).key),z(h,` ${e??``}`),z(_,n)},[()=>X(`organizations.archived.detail`,{day:Mt(t(r).archivedAt),members:X(`organizations.members`,{count:t(r).memberCount})}),()=>X(`organizations.restore`)]),d(`click`,g,()=>E(t(r))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(m).archived.length&&e(h)}),e(n,i)};r(w,e=>{t(h)&&!t(m)?e(D):t(m)&&e(A,1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Uo=f(`<span class="tally-figure"> </span> <span class="tally-label"> </span>`,1),Wo=f(`<div class="tally-cell"><span class="tally-figure"> </span> <span class="tally-label"> </span></div>`),Go=f(`<div class="tally"></div>`);function Ko(n,i){var a=Go();Y(a,21,()=>i.counts,e=>e.label,(n,i)=>{var a=R(),c=u(a),d=n=>{Z(n,{get to(){return t(i).to},class:`tally-cell`,children:(n,r)=>{var a=Uo(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s(()=>{z(c,t(i).value),z(f,t(i).label)}),e(n,a)},$$slots:{default:!0}})},f=n=>{var r=Wo(),a=o(r),c=W(a,!0),u=l(a,2),d=W(u,!0);J(r),s(()=>{z(c,t(i).value),z(d,t(i).label)}),e(n,r)};r(c,e=>{t(i).to?e(d):e(f,-1)}),e(n,a)}),J(a),e(n,a)}var qo=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Jo=f(`<!> <button type="button" class="btn btn-ghost btn-sm btn-error"> </button>`,1),Yo=f(`<p class="hint"> <!></p>`),Xo=f(`<div class="alert alert-warning alert-soft flex flex-wrap items-center justify-between gap-3" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),Zo=f(`<div class="alert alert-warning alert-soft" role="status"> </div>`),Qo=f(`<div class="alert alert-info alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),$o=f(`<div class="flex flex-wrap items-center justify-between gap-2 sheet p-3"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint"> </span></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),es=f(`<p class="hint"> </p>`),ts=f(`<div class="flex flex-col gap-3 sheet p-3"><span class="font-medium"> </span> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="Acme Admins = owner"></textarea> <p class="hint"> </p></label> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),ns=f(`<div class="flex flex-col gap-2"><!> <!></div> <!>`,1),rs=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="font-mono text-sm break-all"> </span> <span class="hint"> </span></div>`),is=f(`<div class="flex flex-col gap-2"></div>`),as=f(`<div class="flex flex-col gap-2"><p class="hint"> <!></p></div>`),os=f(`<!> <!> <!> <!>`,1),ss=f(`<button type="button" class="-mr-1 cursor-pointer px-1 opacity-70 hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-30">×</button>`),cs=f(`<span><span class="font-medium"> </span> <span class="opacity-70"> </span> <!></span>`),ls=f(`<div class="flex flex-wrap gap-2"></div> <!> <p class="hint"> </p>`,1),us=f(`<!> <!>`,1),ds=f(`<button type="button" class="btn btn-sm btn-error btn-outline self-start"> </button>`),fs=f(`<button type="button"> </button>`),ps=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),ms=f(`<div class="range" role="group"></div> <!>`,1),hs=f(`<div class="grid gap-3 sm:grid-cols-[minmax(0,1fr)_10rem_auto] sm:items-end"><!> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <p class="hint"> </p>`,1),gs=f(`<span class="badge badge-sm badge-error badge-soft"> </span>`),_s=f(`<span class="badge badge-sm badge-warning badge-soft"> </span>`),vs=f(`<span class="badge badge-sm badge-ghost"> </span>`),ys=f(`<tr><td class="w-full min-w-0"><div class="flex min-w-0 flex-col gap-0.5"><span class="flex flex-wrap items-center gap-2"><!> <!> <!></span> <span class="hint"> </span> <div class="mt-2 flex flex-wrap items-center gap-2 md:hidden"><div class="min-w-28 flex-1 basis-28"><!></div> <div class="-me-3 flex shrink-0"><!></div></div></div></td><td class="hidden w-44 min-w-44 md:table-cell"><!></td><td class="hidden text-right whitespace-nowrap md:table-cell"><!></td></tr>`),bs=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function xs(n,i){H(i,!0);let c=(e,n=F)=>{{let r=q(()=>X(`organization.members.role_of`,{name:G(n())})),i=q(()=>t(E)||oe(n())||!!t(_).archivedAt);ra(e,{get value(){return n().role},get options(){return t(I)},get name(){return t(r)},get disabled(){return t(i)},onchange:e=>de(n(),e)})}},f=(n,i=F)=>{var a=Jo(),o=u(a),c=n=>{var r=qo(),a=W(r,!0);s((e,t)=>{r.disabled=e,z(a,t)},[()=>t(E)||!!t(_).archivedAt,()=>X(`organization.members.send_again`)]),d(`click`,r,()=>pe(i())),e(n,r)};r(o,e=>{i().pending&&e(c)});var f=l(o,2),p=W(f,!0);s((e,t,n)=>{f.disabled=e,P(f,`title`,t),z(p,n)},[()=>t(E)||oe(i()),()=>oe(i())?X(`organization.members.owner_first`):null,()=>i().pending?X(`organization.members.withdraw`):X(`organization.members.remove`)]),d(`click`,f,()=>fe(i())),e(n,a)},p=L(i,`part`,3,null);ct();let m=Ct(),h=[`owner`,`member`],g=[[`all`,X(`organization.lenses.all`)],[`owners`,X(`organization.lenses.owners`)],[`invited`,X(`organization.lenses.invited`)]],_=w(null),v=w(C([])),y=w(C([])),b=()=>({provider:``,roleClaim:``,roleMap:``,unmappedRole:``}),x=w(C(b())),T=w(!0),E=w(!1),O=w(null),k=w(`all`),A=w(``),j=w(``),M=w(null);async function N(){S(T,!0);let e=await m.attempt(()=>i.api.query(`
|
|
291
298
|
query Organization($key: ID!) {
|
|
292
299
|
organization(key: $key) {
|
|
293
300
|
uuid key name roles archivedAt createdAt
|
|
@@ -329,7 +336,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
329
336
|
}
|
|
330
337
|
}`,{key:t(x).provider,organization:t(_).key,roleClaim:t(x).roleClaim.trim()||null,roleMap:be(t(x).roleMap),unmappedRole:t(x).unmappedRole||null},X(`organization.notices.provider_saved`)).then(e=>{e&&S(x,b(),!0)})}function we(e){confirm(X(`organization.questions.hand_back`,{provider:e.name,organization:t(_).name}))&&se(`mutation Back($key: ID!) { setProviderOrganization(key: $key, organization: null) { provider { key } } }`,{key:e.key},X(`organization.notices.provider_back`,{provider:e.name}))}function Te(e){se(`mutation Policy($key: ID!, $policy: ID!) {
|
|
331
338
|
updateOrganization(key: $key, signInPolicy: $policy) { organization { key } }
|
|
332
|
-
}`,{key:t(_).key,policy:e},X(`organization.notices.saved`))}async function Ee(){confirm(ne(`organization.questions.archive`,`organization.questions.archive_tokens`))&&await se(`mutation Archive($key: ID!) { archiveOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.archived`,{organization:t(_).name}))}function De(){se(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.restored`,{organization:t(_).name}))}{let C=q(()=>t(_)?.name??X(`organization.title`)),w=q(()=>t(_)?.key),D=q(()=>({to:`/organizations`,label:X(`organization.back`)})),N=q(()=>t(_)?t(_).archivedAt?X(`organization.archived_lede`,{when:Pt(t(_).archivedAt)}):X(`organization.lede`,{key:t(_).key}):null);zn(n,{get title(){return t(C)},get id(){return t(w)},get back(){return t(D)},get lede(){return t(N)},children:(n,C)=>{var w=rs(),D=u(w);Nn(D,{get feedback(){return m.state}});var N=l(D,2),F=e=>{mt(e,{})},L=t=>{var n=Ho(),r=o(n);Z(l(r),{to:`/organizations`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.all`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.missing`,{key:i.organizationKey})]),e(t,n)},H=n=>{var i=ps(),m=u(i),C=n=>{var r=Uo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,n)=>{z(a,e),c.disabled=t(E),z(u,n)},[()=>X(`organization.archived_alert`,{day:Mt(t(_).archivedAt)}),()=>X(`organization.restore`)]),d(`click`,c,De),e(n,r)};r(m,e=>{t(_).archivedAt&&e(C)});var w=l(m,2),T=n=>{var r=Wo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization.ownerless`,{organization:t(_).name})]),e(n,r)};r(w,e=>{!t(_).archivedAt&&t(_).ownerCount===0&&e(T)});var D=l(w,2);zo(D,{get counts(){return t(re)}});var N=l(D,2),F=n=>{var r=Go(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(M))},[()=>X(`organization.invitation_link`)]),e(n,r)};r(N,e=>{t(M)&&e(F)});var L=l(N,2);{let e=q(()=>`/organizations/${t(_).key}`),n=q(()=>X(`organization.parts.label`)),r=q(()=>[[null,``,X(`organization.parts.members`)],[`sign-in`,`/sign-in`,X(`organization.parts.sign_in`)],[`roles`,`/roles`,X(`organization.parts.roles`)],[`activity`,`/activity`,X(`organization.parts.activity`)],[`general`,`/general`,X(`organization.parts.general`)]]);ti(L,{get base(){return t(e)},get part(){return p()},get label(){return t(n)},get parts(){return t(r)}})}var H=l(L,2),se=o(H),de=n=>{var i=$o(),c=u(i);{let e=q(()=>X(`organization.signing_in.policy`)),n=q(()=>X(`organization.signing_in.lede`));Q(c,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.signing_in.policy`)),r=q(()=>t(_).signInPolicy?.key??``),i=q(()=>[[``,X(`organization.signing_in.inherited`)],...t(v).map(e=>[e.key,e.name])]);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(i)},get disabled(){return t(E)},onchange:Te})}},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`organization.signing_in.providers`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Yo(),c=u(a),f=o(c);Y(f,17,()=>t(_).providers,e=>e.key,(n,r)=>{var i=Ko(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0);J(a);var m=l(a,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(i),s((e,n,i)=>{z(u,t(r).name),z(p,e),h.disabled=t(E),z(g,n),_.disabled=t(E),z(v,i)},[()=>X(`organization.signing_in.joins_as`,{mapping:Object.keys(t(r).roleMap).length?Object.entries(t(r).roleMap).map(([e,t])=>`${e} → ${t}`).join(`, `):X(`organization.signing_in.no_groups_mapped`),role:t(r).unmappedRole??`member`}),()=>X(`organization.signing_in.edit`),()=>X(`organization.signing_in.hand_back`)]),d(`click`,h,()=>Se(t(r).key)),d(`click`,_,()=>we(t(r))),e(n,i)},t=>{var n=qo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.signing_in.no_providers`)]),e(t,n)});var p=l(f,2),m=e=>{{let n=q(()=>X(`organization.signing_in.give_provider`)),r=q(()=>[[``,X(`organization.signing_in.give_provider`)],...t(xe).map(e=>[e.key,e.name])]);ra(e,{value:``,get name(){return t(n)},get options(){return t(r)},onchange:Se})}};r(p,e=>{t(xe).length&&!t(x).provider&&e(m)}),J(c);var h=l(c,2),g=n=>{var r=Jo(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c);{let e=q(()=>X(`organization.signing_in.groups_claim`));$(u,{get label(){return t(e)},placeholder:`groups`,get value(){return t(x).roleClaim},set value(e){t(x).roleClaim=e}})}var f=l(u,2);{let e=q(()=>X(`organization.signing_in.unmapped_role`)),n=q(()=>[[``,`member`],...t(I).filter(([e])=>e!==`member`)]);ra(f,{get label(){return t(e)},get value(){return t(x).unmappedRole},get options(){return t(n)},onchange:e=>t(x).unmappedRole=e})}J(c);var p=l(c,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g);var _=l(g,2),v=W(_,!0);J(p);var C=l(p,2),w=o(C),T=W(w,!0),D=l(w,2),O=W(D,!0);J(C),J(r),s((e,n,r,i,o)=>{z(a,e),z(h,n),z(v,r),w.disabled=t(E),z(T,i),z(O,o)},[()=>t(y).find(e=>e.key===t(x).provider)?.name??t(x).provider,()=>X(`organization.signing_in.role_map`),()=>X(`organization.signing_in.role_map_hint`),()=>X(`organization.signing_in.save`),()=>X(`organization.signing_in.cancel`)]),B(g,()=>t(x).roleMap,e=>t(x).roleMap=e),d(`click`,w,Ce),d(`click`,D,()=>S(x,b(),!0)),e(n,r)};r(h,e=>{t(x).provider&&e(g)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`organization.signing_in.domains`));Q(p,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=Zo();Y(i,21,()=>t(_).domains,e=>e.domain,(n,r)=>{var i=Xo(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u);J(i),s(e=>{z(c,t(r).domain),z(d,`${e??``} · ${t(r).provider?.name??``}`)},[()=>t(r).verifiedAt?X(`organization.signing_in.proven`,{day:Mt(t(r).verifiedAt)}):X(`organization.signing_in.waiting`)]),e(n,i)},t=>{var n=Ho(),r=o(n);Z(l(r),{to:`/settings`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.domains_link`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.signing_in.no_domains`)]),e(t,n)}),J(i),e(n,i)},$$slots:{default:!0}})}var m=l(p,2);{let n=q(()=>X(`organization.signing_in.provisioning`));Q(m,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=Qo(),c=o(i),u=o(c);Z(l(u),{to:`/directory`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.provisioning_link`)]),e(t,r)},$$slots:{default:!0}}),J(c),J(i),s(e=>z(u,`${e??``} `),[()=>t(_).provisioningTokens.length?X(`organization.signing_in.tokens_reach`,{count:t(_).provisioningTokens.length}):X(`organization.signing_in.no_tokens`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},fe=n=>{{let i=q(()=>X(`organization.roles.title`)),a=q(()=>X(`organization.roles.lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=ns(),c=u(a);Y(c,20,()=>t(_).roles,e=>e,(n,i)=>{var a=ts(),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),g=n=>{var r=es();s((e,n)=>{P(r,`aria-label`,e),P(r,`title`,n),r.disabled=t(E)||t(ee)[i]>0},[()=>X(`organization.roles.stop_offering`,{role:i}),()=>t(ee)[i]?X(`organization.roles.held`,{count:t(ee)[i]}):X(`organization.roles.stop_offering`,{role:i})]),d(`click`,r,()=>_e(i)),e(n,r)},_=q(()=>!h.includes(i));r(m,e=>{t(_)&&e(g)}),J(a),s(e=>{le(a,1,`badge badge-lg gap-1.5 ${e??``}`),z(u,i),z(p,t(ee)[i]??0)},[()=>h.includes(i)?`badge-ghost`:`badge-outline`]),e(n,a)}),J(c);var f=l(c,2);{let e=q(()=>X(`organization.roles.offer`)),n=q(()=>X(`organization.roles.add`));$(f,{get label(){return t(e)},placeholder:`support`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:ge,get save(){return t(n)},get value(){return t(j)},set value(e){S(j,e,!0)}})}var p=l(f,2),m=W(p,!0);s(e=>z(m,e),[()=>X(`organization.roles.hint`)]),e(n,a)},$$slots:{default:!0}})}},pe=e=>{{let n=q(()=>X(`organization.activity.lede`));Q(e,{get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.activity.empty`));Mr(e,{get events(){return t(_).events},get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{default:!0}})}},me=n=>{var i=rs(),a=u(i);{let n=q(()=>X(`organization.details.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=rs(),a=u(i);{let e=q(()=>X(`organization.details.name`));$(a,{get label(){return t(e)},onsave:ve,get value(){return t(A)},set value(e){S(A,e,!0)}})}Bi(l(a,2),{get rows(){return t(U)}}),e(n,i)},$$slots:{default:!0}})}var o=l(a,2),c=n=>{{let r=q(()=>X(`organization.archive.title`)),i=q(()=>ne(`organization.archive.lede`,`organization.archive.lede_tokens`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=is(),a=W(i,!0);s(e=>{i.disabled=t(E),z(a,e)},[()=>X(`organization.archive.button`,{organization:t(_).name})]),d(`click`,i,Ee),e(n,i)},$$slots:{default:!0}})}};r(o,e=>{t(_).archivedAt||e(c)}),e(n,i)},he=n=>{{let i=n=>{var i=ss(),a=u(i);Y(a,21,()=>g,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=as(),l=W(c,!0);s(()=>{P(c,`aria-pressed`,t(k)===a()),z(l,o())}),d(`click`,c,()=>S(k,a(),!0)),e(n,c)}),J(a);var o=l(a,2),c=t=>{var n=os(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.add`)]),d(`click`,n,ce),e(t,n)};r(o,e=>{t(_).archivedAt||e(c)}),s(e=>P(a,`aria-label`,e),[()=>X(`organization.members.who`)]),e(n,i)},p=q(()=>X(`organization.members.title`)),m=q(()=>X(`organization.members.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},actions:i,children:(n,i)=>{var p=rs(),m=u(p),h=n=>{var r=cs(),i=u(r),a=o(i);{let e=q(()=>X(`organization.members.email`));$(a,{get label(){return t(e)},type:`email`,placeholder:`person@example.com`,get value(){return t(O).email},set value(e){t(O).email=e}})}var c=l(a,2);{let e=q(()=>X(`organization.members.role`));ra(c,{get label(){return t(e)},get value(){return t(O).role},get options(){return t(I)},onchange:e=>t(O).role=e})}var f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(i);var _=l(i,2),v=W(_,!0);s((e,t,n,r)=>{p.disabled=e,z(m,t),z(g,n),z(v,r)},[()=>t(E)||!t(O).email.trim(),()=>X(`organization.members.invite`),()=>X(`organization.members.cancel`),()=>X(`organization.members.hint`)]),d(`click`,p,ue),d(`click`,h,()=>S(O,null)),e(n,r)};r(m,e=>{t(O)&&e(h)});var g=l(m,2);{let n=n=>{var i=R(),d=u(i);Y(d,17,()=>t(te),e=>e.actor.uuid,(n,i)=>{var u=fs(),d=o(u),p=o(d),m=o(p),h=o(m);{let n=q(()=>`/actors/${t(i).actor.uuid}`);Z(h,{get to(){return t(n)},class:`link link-hover font-medium break-all`,children:(n,r)=>{V();var o=a();s(e=>z(o,e),[()=>G(t(i))]),e(n,o)},$$slots:{default:!0}})}var g=l(h,2),_=t=>{var n=ls(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.expired`)]),e(t,n)},v=t=>{var n=us(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.invited`)]),e(t,n)};r(g,e=>{t(i).expired?e(_):t(i).pending&&e(v,1)});var y=l(g,2),b=t=>{var n=ds(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.last_owner`)]),e(t,n)},x=q(()=>oe(t(i)));r(y,e=>{t(x)&&e(b)}),J(m);var S=l(m,2),C=W(S,!0),w=l(S,2),T=o(w),E=o(T);c(E,()=>t(i)),J(T);var D=l(T,2),O=o(D);f(O,()=>t(i)),J(D),J(w),J(p),J(d);var k=l(d),A=o(k);c(A,()=>t(i)),J(k);var j=l(k),M=o(j);f(M,()=>t(i)),J(j),J(u),s(e=>z(C,e),[()=>K(t(i))]),e(n,u)}),e(n,i)},i=q(()=>[X(`organization.members.actor`),{label:X(`organization.members.role`),hide:!0},{label:``,right:!0,hide:!0}]),d=q(()=>X(`organization.members.empty.${t(k)}`));Yt(g,{get columns(){return t(i)},get count(){return t(te).length},get empty(){return t(d)},rows:n,$$slots:{rows:!0}})}e(n,p)},$$slots:{actions:!0,default:!0}})}};r(se,e=>{p()===`sign-in`?e(de):p()===`roles`?e(fe,1):p()===`activity`?e(pe,2):p()===`general`?e(me,3):e(he,-1)}),J(H),e(n,i)};r(N,e=>{t(T)&&!t(_)?e(F):t(_)?e(H,-1):e(L,1)}),e(n,w)},$$slots:{default:!0}})}D()}c([`click`]);var hs=f(`<span class="badge badge-warning badge-soft badge-sm"> </span>`),gs=f(`<span class="badge badge-ghost badge-sm"> </span>`),_s=f(`<button type="button" class="btn btn-sm"> </button>`),vs=f(`<p class="hint w-full"> <code class="font-mono text-xs break-all"> </code> <code class="font-mono text-xs break-all"> </code></p>`),ys=f(`<li class="flex-wrap"><code class="min-w-0 truncate font-mono text-sm"> </code> <!> <div class="ml-auto flex items-center gap-1"><!> <button type="button" class="btn btn-ghost btn-xs">×</button></div> <!></li>`),bs=f(`<ul class="compact-list"></ul>`),xs=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Ss=f(`<form class="flex flex-wrap items-center gap-2"><span class="text-sm"> </span> <input class="input input-sm w-full max-w-60 font-mono" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm"> </button> <!></form>`),Cs=f(`<!> <form class="join"><input class="input input-sm join-item w-full max-w-60 font-mono" placeholder="acme.example" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1),ws=f(`<!> <!>`,1);function Ts(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(!1),p=w(``),m=w(``);async function h(){let e=await a.attempt(()=>i.api.query(`
|
|
339
|
+
}`,{key:t(_).key,policy:e},X(`organization.notices.saved`))}async function Ee(){confirm(ne(`organization.questions.archive`,`organization.questions.archive_tokens`))&&await se(`mutation Archive($key: ID!) { archiveOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.archived`,{organization:t(_).name}))}function De(){se(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.restored`,{organization:t(_).name}))}{let C=q(()=>t(_)?.name??X(`organization.title`)),w=q(()=>t(_)?.key),D=q(()=>({to:`/organizations`,label:X(`organization.back`)})),N=q(()=>t(_)?t(_).archivedAt?X(`organization.archived_lede`,{when:Pt(t(_).archivedAt)}):X(`organization.lede`,{key:t(_).key}):null);zn(n,{get title(){return t(C)},get id(){return t(w)},get back(){return t(D)},get lede(){return t(N)},children:(n,C)=>{var w=us(),D=u(w);Nn(D,{get feedback(){return m.state}});var N=l(D,2),F=e=>{mt(e,{})},L=t=>{var n=Yo(),r=o(n);Z(l(r),{to:`/organizations`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.all`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.missing`,{key:i.organizationKey})]),e(t,n)},H=n=>{var i=bs(),m=u(i),C=n=>{var r=Xo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,n)=>{z(a,e),c.disabled=t(E),z(u,n)},[()=>X(`organization.archived_alert`,{day:Mt(t(_).archivedAt)}),()=>X(`organization.restore`)]),d(`click`,c,De),e(n,r)};r(m,e=>{t(_).archivedAt&&e(C)});var w=l(m,2),T=n=>{var r=Zo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization.ownerless`,{organization:t(_).name})]),e(n,r)};r(w,e=>{!t(_).archivedAt&&t(_).ownerCount===0&&e(T)});var D=l(w,2);Ko(D,{get counts(){return t(re)}});var N=l(D,2),F=n=>{var r=Qo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(M))},[()=>X(`organization.invitation_link`)]),e(n,r)};r(N,e=>{t(M)&&e(F)});var L=l(N,2);{let e=q(()=>`/organizations/${t(_).key}`),n=q(()=>X(`organization.parts.label`)),r=q(()=>[[null,``,X(`organization.parts.members`)],[`sign-in`,`/sign-in`,X(`organization.parts.sign_in`)],[`roles`,`/roles`,X(`organization.parts.roles`)],[`activity`,`/activity`,X(`organization.parts.activity`)],[`general`,`/general`,X(`organization.parts.general`)]]);ti(L,{get base(){return t(e)},get part(){return p()},get label(){return t(n)},get parts(){return t(r)}})}var H=l(L,2),se=o(H),de=n=>{var i=os(),c=u(i);{let e=q(()=>X(`organization.signing_in.policy`)),n=q(()=>X(`organization.signing_in.lede`));Q(c,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.signing_in.policy`)),r=q(()=>t(_).signInPolicy?.key??``),i=q(()=>[[``,X(`organization.signing_in.inherited`)],...t(v).map(e=>[e.key,e.name])]);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(i)},get disabled(){return t(E)},onchange:Te})}},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`organization.signing_in.providers`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=ns(),c=u(a),f=o(c);Y(f,17,()=>t(_).providers,e=>e.key,(n,r)=>{var i=$o(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0);J(a);var m=l(a,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(i),s((e,n,i)=>{z(u,t(r).name),z(p,e),h.disabled=t(E),z(g,n),_.disabled=t(E),z(v,i)},[()=>X(`organization.signing_in.joins_as`,{mapping:Object.keys(t(r).roleMap).length?Object.entries(t(r).roleMap).map(([e,t])=>`${e} → ${t}`).join(`, `):X(`organization.signing_in.no_groups_mapped`),role:t(r).unmappedRole??`member`}),()=>X(`organization.signing_in.edit`),()=>X(`organization.signing_in.hand_back`)]),d(`click`,h,()=>Se(t(r).key)),d(`click`,_,()=>we(t(r))),e(n,i)},t=>{var n=es(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.signing_in.no_providers`)]),e(t,n)});var p=l(f,2),m=e=>{{let n=q(()=>X(`organization.signing_in.give_provider`)),r=q(()=>[[``,X(`organization.signing_in.give_provider`)],...t(xe).map(e=>[e.key,e.name])]);ra(e,{value:``,get name(){return t(n)},get options(){return t(r)},onchange:Se})}};r(p,e=>{t(xe).length&&!t(x).provider&&e(m)}),J(c);var h=l(c,2),g=n=>{var r=ts(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c);{let e=q(()=>X(`organization.signing_in.groups_claim`));$(u,{get label(){return t(e)},placeholder:`groups`,get value(){return t(x).roleClaim},set value(e){t(x).roleClaim=e}})}var f=l(u,2);{let e=q(()=>X(`organization.signing_in.unmapped_role`)),n=q(()=>[[``,`member`],...t(I).filter(([e])=>e!==`member`)]);ra(f,{get label(){return t(e)},get value(){return t(x).unmappedRole},get options(){return t(n)},onchange:e=>t(x).unmappedRole=e})}J(c);var p=l(c,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g);var _=l(g,2),v=W(_,!0);J(p);var C=l(p,2),w=o(C),T=W(w,!0),D=l(w,2),O=W(D,!0);J(C),J(r),s((e,n,r,i,o)=>{z(a,e),z(h,n),z(v,r),w.disabled=t(E),z(T,i),z(O,o)},[()=>t(y).find(e=>e.key===t(x).provider)?.name??t(x).provider,()=>X(`organization.signing_in.role_map`),()=>X(`organization.signing_in.role_map_hint`),()=>X(`organization.signing_in.save`),()=>X(`organization.signing_in.cancel`)]),B(g,()=>t(x).roleMap,e=>t(x).roleMap=e),d(`click`,w,Ce),d(`click`,D,()=>S(x,b(),!0)),e(n,r)};r(h,e=>{t(x).provider&&e(g)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`organization.signing_in.domains`));Q(p,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=is();Y(i,21,()=>t(_).domains,e=>e.domain,(n,r)=>{var i=rs(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u);J(i),s(e=>{z(c,t(r).domain),z(d,`${e??``} · ${t(r).provider?.name??``}`)},[()=>t(r).verifiedAt?X(`organization.signing_in.proven`,{day:Mt(t(r).verifiedAt)}):X(`organization.signing_in.waiting`)]),e(n,i)},t=>{var n=Yo(),r=o(n);Z(l(r),{to:`/settings`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.domains_link`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.signing_in.no_domains`)]),e(t,n)}),J(i),e(n,i)},$$slots:{default:!0}})}var m=l(p,2);{let n=q(()=>X(`organization.signing_in.provisioning`));Q(m,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=as(),c=o(i),u=o(c);Z(l(u),{to:`/directory`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.provisioning_link`)]),e(t,r)},$$slots:{default:!0}}),J(c),J(i),s(e=>z(u,`${e??``} `),[()=>t(_).provisioningTokens.length?X(`organization.signing_in.tokens_reach`,{count:t(_).provisioningTokens.length}):X(`organization.signing_in.no_tokens`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},fe=n=>{{let i=q(()=>X(`organization.roles.title`)),a=q(()=>X(`organization.roles.lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=ls(),c=u(a);Y(c,20,()=>t(_).roles,e=>e,(n,i)=>{var a=cs(),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),g=n=>{var r=ss();s((e,n)=>{P(r,`aria-label`,e),P(r,`title`,n),r.disabled=t(E)||t(ee)[i]>0},[()=>X(`organization.roles.stop_offering`,{role:i}),()=>t(ee)[i]?X(`organization.roles.held`,{count:t(ee)[i]}):X(`organization.roles.stop_offering`,{role:i})]),d(`click`,r,()=>_e(i)),e(n,r)},_=q(()=>!h.includes(i));r(m,e=>{t(_)&&e(g)}),J(a),s(e=>{le(a,1,`badge badge-lg gap-1.5 ${e??``}`),z(u,i),z(p,t(ee)[i]??0)},[()=>h.includes(i)?`badge-ghost`:`badge-outline`]),e(n,a)}),J(c);var f=l(c,2);{let e=q(()=>X(`organization.roles.offer`)),n=q(()=>X(`organization.roles.add`));$(f,{get label(){return t(e)},placeholder:`support`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:ge,get save(){return t(n)},get value(){return t(j)},set value(e){S(j,e,!0)}})}var p=l(f,2),m=W(p,!0);s(e=>z(m,e),[()=>X(`organization.roles.hint`)]),e(n,a)},$$slots:{default:!0}})}},pe=e=>{{let n=q(()=>X(`organization.activity.lede`));Q(e,{get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.activity.empty`));Mr(e,{get events(){return t(_).events},get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{default:!0}})}},me=n=>{var i=us(),a=u(i);{let n=q(()=>X(`organization.details.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=us(),a=u(i);{let e=q(()=>X(`organization.details.name`));$(a,{get label(){return t(e)},onsave:ve,get value(){return t(A)},set value(e){S(A,e,!0)}})}Bi(l(a,2),{get rows(){return t(U)}}),e(n,i)},$$slots:{default:!0}})}var o=l(a,2),c=n=>{{let r=q(()=>X(`organization.archive.title`)),i=q(()=>ne(`organization.archive.lede`,`organization.archive.lede_tokens`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=ds(),a=W(i,!0);s(e=>{i.disabled=t(E),z(a,e)},[()=>X(`organization.archive.button`,{organization:t(_).name})]),d(`click`,i,Ee),e(n,i)},$$slots:{default:!0}})}};r(o,e=>{t(_).archivedAt||e(c)}),e(n,i)},he=n=>{{let i=n=>{var i=ms(),a=u(i);Y(a,21,()=>g,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fs(),l=W(c,!0);s(()=>{P(c,`aria-pressed`,t(k)===a()),z(l,o())}),d(`click`,c,()=>S(k,a(),!0)),e(n,c)}),J(a);var o=l(a,2),c=t=>{var n=ps(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.add`)]),d(`click`,n,ce),e(t,n)};r(o,e=>{t(_).archivedAt||e(c)}),s(e=>P(a,`aria-label`,e),[()=>X(`organization.members.who`)]),e(n,i)},p=q(()=>X(`organization.members.title`)),m=q(()=>X(`organization.members.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},actions:i,children:(n,i)=>{var p=us(),m=u(p),h=n=>{var r=hs(),i=u(r),a=o(i);{let e=q(()=>X(`organization.members.email`));$(a,{get label(){return t(e)},type:`email`,placeholder:`person@example.com`,get value(){return t(O).email},set value(e){t(O).email=e}})}var c=l(a,2);{let e=q(()=>X(`organization.members.role`));ra(c,{get label(){return t(e)},get value(){return t(O).role},get options(){return t(I)},onchange:e=>t(O).role=e})}var f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(i);var _=l(i,2),v=W(_,!0);s((e,t,n,r)=>{p.disabled=e,z(m,t),z(g,n),z(v,r)},[()=>t(E)||!t(O).email.trim(),()=>X(`organization.members.invite`),()=>X(`organization.members.cancel`),()=>X(`organization.members.hint`)]),d(`click`,p,ue),d(`click`,h,()=>S(O,null)),e(n,r)};r(m,e=>{t(O)&&e(h)});var g=l(m,2);{let n=n=>{var i=R(),d=u(i);Y(d,17,()=>t(te),e=>e.actor.uuid,(n,i)=>{var u=ys(),d=o(u),p=o(d),m=o(p),h=o(m);{let n=q(()=>`/actors/${t(i).actor.uuid}`);Z(h,{get to(){return t(n)},class:`link link-hover font-medium break-all`,children:(n,r)=>{V();var o=a();s(e=>z(o,e),[()=>G(t(i))]),e(n,o)},$$slots:{default:!0}})}var g=l(h,2),_=t=>{var n=gs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.expired`)]),e(t,n)},v=t=>{var n=_s(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.invited`)]),e(t,n)};r(g,e=>{t(i).expired?e(_):t(i).pending&&e(v,1)});var y=l(g,2),b=t=>{var n=vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.last_owner`)]),e(t,n)},x=q(()=>oe(t(i)));r(y,e=>{t(x)&&e(b)}),J(m);var S=l(m,2),C=W(S,!0),w=l(S,2),T=o(w),E=o(T);c(E,()=>t(i)),J(T);var D=l(T,2),O=o(D);f(O,()=>t(i)),J(D),J(w),J(p),J(d);var k=l(d),A=o(k);c(A,()=>t(i)),J(k);var j=l(k),M=o(j);f(M,()=>t(i)),J(j),J(u),s(e=>z(C,e),[()=>K(t(i))]),e(n,u)}),e(n,i)},i=q(()=>[X(`organization.members.actor`),{label:X(`organization.members.role`),hide:!0},{label:``,right:!0,hide:!0}]),d=q(()=>X(`organization.members.empty.${t(k)}`));Yt(g,{get columns(){return t(i)},get count(){return t(te).length},get empty(){return t(d)},rows:n,$$slots:{rows:!0}})}e(n,p)},$$slots:{actions:!0,default:!0}})}};r(se,e=>{p()===`sign-in`?e(de):p()===`roles`?e(fe,1):p()===`activity`?e(pe,2):p()===`general`?e(me,3):e(he,-1)}),J(H),e(n,i)};r(N,e=>{t(T)&&!t(_)?e(F):t(_)?e(H,-1):e(L,1)}),e(n,w)},$$slots:{default:!0}})}D()}c([`click`]);var Ss=f(`<span class="badge badge-warning badge-soft badge-sm"> </span>`),Cs=f(`<span class="badge badge-ghost badge-sm"> </span>`),ws=f(`<button type="button" class="btn btn-sm"> </button>`),Ts=f(`<p class="hint w-full"> <code class="font-mono text-xs break-all"> </code> <code class="font-mono text-xs break-all"> </code></p>`),Es=f(`<li class="flex-wrap"><code class="min-w-0 truncate font-mono text-sm"> </code> <!> <div class="ml-auto flex items-center gap-1"><!> <button type="button" class="btn btn-ghost btn-xs">×</button></div> <!></li>`),Ds=f(`<ul class="compact-list"></ul>`),Os=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),ks=f(`<form class="flex flex-wrap items-center gap-2"><span class="text-sm"> </span> <input class="input input-sm w-full max-w-60 font-mono" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm"> </button> <!></form>`),As=f(`<!> <form class="join"><input class="input input-sm join-item w-full max-w-60 font-mono" placeholder="acme.example" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1),js=f(`<!> <!>`,1);function Ms(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(!1),p=w(``),m=w(``);async function h(){let e=await a.attempt(()=>i.api.query(`
|
|
333
340
|
query Domains {
|
|
334
341
|
domainClaims { domain recordName recordValue verifiedAt missingSince provider { key name } }
|
|
335
342
|
providers { key name }
|
|
@@ -337,7 +344,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
337
344
|
}
|
|
338
345
|
`));e&&(S(c,e,!0),S(m,e.tenant.customHost??``,!0))}h();let g=q(()=>[[``,X(`domains.here`)],...(t(c)?.providers??[]).map(e=>[e.key,X(`domains.to`,{name:e.name})])]),v=q(()=>(t(c)?.domainClaims??[]).filter(e=>e.verifiedAt));async function y(e,t,n){S(f,!0);let r=await a.attempt(()=>i.api.query(e,t),n);return S(f,!1),r&&await h(),r}async function b(){let e=t(p).trim();e&&await y(`mutation Claim($domain: String!) { claimDomain(domain: $domain) { domainClaim { domain } } }`,{domain:e},X(`domains.claimed`,{domain:e}))&&S(p,``)}async function x(e){S(f,!0);let t=await a.attempt(()=>i.api.query(`mutation Check($domain: String!) { checkDomain(domain: $domain) { found } }`,{domain:e.domain}));S(f,!1),t&&(t.checkDomain.found?a.say(X(`domains.proven`,{domain:e.domain})):a.blame(X(`domains.unanswered`,{name:e.recordName})),await h())}function C(e,t){y(`mutation Route($domain: String!, $provider: ID) {
|
|
339
346
|
updateDomainClaim(domain: $domain, provider: $provider) { domainClaim { domain } }
|
|
340
|
-
}`,{domain:e.domain,provider:t||null},X(t?`domains.routed_away`:`domains.routed_here`,{domain:e.domain}))}function T(e){confirm(X(`domains.release_confirm`,{domain:e.domain}))&&y(`mutation Release($domain: String!) { releaseDomain(domain: $domain) { domain } }`,{domain:e.domain},X(`domains.released`,{domain:e.domain}))}function E(e){(e||confirm(X(`domains.stop_confirm`,{host:t(c).tenant.customHost})))&&y(`mutation Serve($host: String) { serveDomain(host: $host) { tenant { customHost } } }`,{host:e},e?X(`domains.served`,{host:e}):X(`domains.unserved`))}{let i=q(()=>X(`domains.title`)),h=q(()=>X(`domains.help`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(h)},children:(n,i)=>{var h=
|
|
347
|
+
}`,{domain:e.domain,provider:t||null},X(t?`domains.routed_away`:`domains.routed_here`,{domain:e.domain}))}function T(e){confirm(X(`domains.release_confirm`,{domain:e.domain}))&&y(`mutation Release($domain: String!) { releaseDomain(domain: $domain) { domain } }`,{domain:e.domain},X(`domains.released`,{domain:e.domain}))}function E(e){(e||confirm(X(`domains.stop_confirm`,{host:t(c).tenant.customHost})))&&y(`mutation Serve($host: String) { serveDomain(host: $host) { tenant { customHost } } }`,{host:e},e?X(`domains.served`,{host:e}):X(`domains.unserved`))}{let i=q(()=>X(`domains.title`)),h=q(()=>X(`domains.help`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(h)},children:(n,i)=>{var h=js(),y=u(h);Nn(y,{get feedback(){return a.state}});var w=l(y,2),D=n=>{var i=As(),a=u(i),h=n=>{var i=Ds();Y(i,21,()=>t(c).domainClaims,e=>e.domain,(n,i)=>{var a=Es(),c=o(a),u=W(c,!0),p=l(c,2),m=n=>{var r=Ss(),a=W(r,!0);s(e=>z(a,e),[()=>X(`domains.missing`,{since:Pt(t(i).missingSince)})]),e(n,r)},h=t=>{var n=Cs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`domains.unproven`)]),e(t,n)};r(p,e=>{t(i).missingSince?e(m):t(i).verifiedAt||e(h,1)});var _=l(p,2),v=o(_),y=e=>{{let n=q(()=>X(`domains.send`,{domain:t(i).domain})),r=q(()=>t(i).provider?.key??``);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(g)},get disabled(){return t(f)},onchange:e=>C(t(i),e)})}},b=n=>{var r=ws(),a=W(r,!0);s(e=>{r.disabled=t(f),z(a,e)},[()=>X(`domains.check`)]),d(`click`,r,()=>x(t(i))),e(n,r)};r(v,e=>{t(i).verifiedAt&&!t(i).missingSince?e(y):e(b,-1)});var S=l(v,2);J(_);var w=l(_,2),E=n=>{var r=Ts(),a=o(r),c=l(a),u=W(c,!0),d=l(c,2),f=W(d,!0);J(r),s(e=>{z(a,`${e??``} `),z(u,t(i).recordName),z(f,t(i).recordValue)},[()=>X(`domains.record`)]),e(n,r)};r(w,e=>{(!t(i).verifiedAt||t(i).missingSince)&&e(E)}),J(a),s(e=>{z(u,t(i).domain),P(S,`aria-label`,e),S.disabled=t(f)},[()=>X(`domains.release`,{domain:t(i).domain})]),d(`click`,S,()=>T(t(i))),e(n,a)}),J(i),e(n,i)};r(a,e=>{t(c).domainClaims.length&&e(h)});var y=l(a,2),w=o(y);j(w);var D=l(w,2),O=W(D,!0);J(y);var k=l(y,2),A=n=>{var i=ks(),a=o(i),u=W(a,!0),p=l(a,2);j(p);var h=l(p,2),g=W(h,!0),y=l(h,2),b=n=>{var r=Os(),i=W(r,!0);s(e=>{r.disabled=t(f),z(i,e)},[()=>X(`domains.stop`)]),d(`click`,r,()=>E(null)),e(n,r)};r(y,e=>{t(c).tenant.customHost&&e(b)}),J(i),s((e,n,r,i)=>{z(u,e),P(p,`aria-label`,n),P(p,`placeholder`,`login.${t(v)[0]?.domain??`acme.example`??``}`),h.disabled=r,z(g,i)},[()=>X(`domains.serve`),()=>X(`domains.serve`),()=>t(f)||!t(m).trim()||t(m).trim()===t(c).tenant.customHost,()=>X(`domains.save`)]),_(`submit`,i,e=>{e.preventDefault(),E(t(m).trim())}),B(p,()=>t(m),e=>S(m,e)),e(n,i)};r(k,e=>{(t(v).length||t(c).tenant.customHost)&&e(A)}),s((e,t,n)=>{P(w,`aria-label`,e),D.disabled=t,z(O,n)},[()=>X(`domains.new`),()=>t(f)||!t(p).trim(),()=>X(`domains.add`)]),_(`submit`,y,e=>{e.preventDefault(),b()}),B(w,()=>t(p),e=>S(p,e)),e(n,i)};r(w,e=>{t(c)&&e(D)}),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var Ns=f(`<li><span class="min-w-0 truncate text-sm font-medium"> </span> <code class="hint font-mono"> </code> <span class="hint"> </span> <button type="button" class="btn btn-ghost btn-xs ml-auto">×</button></li>`),Ps=f(`<ul class="compact-list"></ul>`),Fs=f(`<p class="hint"> </p>`),Is=f(`<!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-60"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1);function Ls(n,i){H(i,!0);let a=Ct(),c=w(C([])),f=w(``),p=q(()=>t(f).trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``));async function m(){let e=await a.attempt(()=>i.api.query(`query Groups { groups { key name memberCount } }`));e&&S(c,e.groups,!0)}m();async function h(){if(!t(p))return;let e=t(f).trim();await a.attempt(()=>i.api.query(`mutation Create($key: String!, $name: String!) { createGroup(key: $key, name: $name) { group { key } } }`,{key:t(p),name:e}),X(`groups.added`,{name:e}))&&(S(f,``),await m())}async function g(e){confirm(X(`groups.delete_confirm`,{name:e.name}))&&await a.attempt(()=>i.api.query(`mutation Delete($key: String!) { deleteGroup(key: $key) { key } }`,{key:e.key}),X(`groups.deleted`,{name:e.name}))&&await m()}{let i=q(()=>X(`groups.title`)),m=q(()=>X(`groups.lede`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(m)},children:(n,i)=>{var m=Is(),v=u(m);Nn(v,{get feedback(){return a.state}});var y=l(v,2),b=n=>{var r=Ps();Y(r,21,()=>t(c),e=>e.key,(n,r)=>{var i=Ns(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0),p=l(u,2),m=W(p,!0),h=l(p,2);J(i),s((e,n)=>{z(c,t(r).name),z(f,t(r).key),z(m,e),P(h,`aria-label`,n)},[()=>X(`groups.actors`,{count:t(r).memberCount}),()=>X(`groups.delete`,{name:t(r).name})]),d(`click`,h,()=>g(t(r))),e(n,i)}),J(r),e(n,r)};r(y,e=>{t(c).length&&e(b)});var x=l(y,2),C=o(x);j(C);var w=l(C,2),T=W(w,!0);J(x);var E=l(x,2),D=n=>{var r=Fs(),i=W(r,!0);s(e=>z(i,e),[()=>X(`groups.key`,{key:t(p)})]),e(n,r)};r(E,e=>{t(p)&&e(D)}),s((e,n,r)=>{P(C,`aria-label`,e),P(C,`placeholder`,n),w.disabled=!t(p),z(T,r)},[()=>X(`groups.new`),()=>X(`groups.new`),()=>X(`groups.add`)]),_(`submit`,x,e=>{e.preventDefault(),h()}),B(C,()=>t(f),e=>S(f,e)),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Rs=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),zs=f(`<!> <!>`,1),Bs=f(`<img alt="" width="48" height="48" class="rounded-lg"/>`),Vs=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Hs=f(`<div class="flex flex-wrap items-center gap-3"><!> <label class="btn btn-sm"> <input type="file" class="hidden" accept="image/png,image/jpeg,image/webp,image/gif"/></label> <!></div> <div class="flex flex-wrap items-center gap-3"><label class="flex items-center gap-2 text-sm"><input type="color"/> </label> <!></div>`,1),Us=f(`<div class="ml-auto flex gap-1"><button type="button" class="btn btn-xs"> </button> <button type="button" class="btn btn-xs btn-ghost"> </button></div>`),Ws=f(`<li class="flex-wrap"><code class="font-mono text-sm"> </code> <span> </span> <span class="hint text-xs"> <!></span> <!></li>`),Gs=f(`<ul class="compact-list"></ul> <div class="flex flex-wrap items-center gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-ghost"> </button></div>`,1),Ks=f(`<!> <div class="grid gap-4"><!> <!> <!> <!> <!> <!> <!> <!></div>`,1);function qs(n,i){H(i,!0);let c=[[30,X(`settings.retention.days_30`)],[90,X(`settings.retention.days_90`)],[180,X(`settings.retention.days_180`)],[365,X(`settings.retention.a_year`)],[1095,X(`settings.retention.three_years`)],[2555,X(`settings.retention.seven_years`)]],f=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],p={staged:`badge-warning`,active:`badge-success`,retiring:`badge-info`,retired:`badge-ghost`},m=Ct(),h=w(null),g=w(``),_=w(!0);async function v(){S(_,!0);try{S(h,await i.api.query(`
|
|
341
348
|
query Tenant {
|
|
342
349
|
tenant {
|
|
343
350
|
uuid subdomain name dynamicRegistration dynamicClientScopes createdAt mails accentColor logoUrl keyRotationDays
|
|
@@ -363,7 +370,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
363
370
|
accentColor: $accentColor
|
|
364
371
|
keyRotationDays: $keyRotationDays
|
|
365
372
|
) { tenant { name } }
|
|
366
|
-
}`,e),t)&&await v()}async function b(e){let t=e.currentTarget,n=t.files?.[0];n&&(await x(`mutation Logo($logo: Upload!) { uploadTenantLogo(logo: $logo) { tenant { logoUrl } } }`,{logo:n},X(`settings.branding.logo_updated`)),t.value=``)}async function x(e,t,n){await m.attempt(()=>i.api.query(e,t),n)&&await v()}let C=()=>x(`mutation Stage { stageSigningKey { signingKey { kid } } }`,{},X(`settings.keys.staged_notice`));function T(e){if(confirm(X(`settings.keys.activate_confirm`)))return x(`mutation Activate($kid: ID!) { activateSigningKey(kid: $kid) { signingKey { kid } } }`,{kid:e},X(`settings.keys.activated_notice`))}function E(e){if(confirm(X(`settings.keys.discard_confirm`)))return x(`mutation Discard($kid: ID!) { discardSigningKey(kid: $kid) { kid } }`,{kid:e},X(`settings.keys.discarded`))}function O(){if(confirm(X(`settings.keys.rotate_confirm`)))return x(`mutation Rotate { rotateSigningKey { signingKey { kid } } }`,{},X(`settings.keys.rotated`))}var k=R(),A=u(k),M=e=>{mt(e,{})},N=t=>{var n=js(),r=W(n,!0);s(()=>z(r,m.state.failure)),e(t,n)},F=n=>{{let _=q(()=>X(`settings.title`));zn(n,{get title(){return t(_)},children:(n,_)=>{var w=zs(),D=u(w);Nn(D,{get feedback(){return m.state}});var k=l(D,2),A=o(k);{let n=q(()=>X(`settings.tenant.title`)),r=q(()=>X(`settings.tenant.help`));Q(A,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var a=Ms(),o=u(a);{let e=q(()=>X(`settings.tenant.name`));$(o,{get label(){return t(e)},onsave:()=>y({name:t(g)},X(`settings.tenant.renamed`)),get value(){return t(g)},set value(e){S(g,e,!0)}})}var s=l(o,2);{let e=q(()=>[{term:X(`settings.tenant.subdomain`),value:t(h).tenant.subdomain,mono:!0},{term:X(`settings.tenant.issuer`),value:i.boot.issuer,mono:!0},{term:X(`settings.tenant.resource`),value:i.boot.resource,mono:!0},{term:X(`settings.tenant.since`),value:Mt(t(h).tenant.createdAt)}]);Bi(s,{get rows(){return t(e)}})}e(n,a)},$$slots:{default:!0}})}var M=l(A,2);{let n=q(()=>X(`settings.branding.title`)),i=q(()=>X(`settings.branding.help`));Q(M,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=Fs(),c=u(a),f=o(c),p=n=>{var r=Ns();s(()=>P(r,`src`,t(h).tenant.logoUrl)),e(n,r)};r(f,e=>{t(h).tenant.logoUrl&&e(p)});var m=l(f,2),g=o(m),_=l(g);J(m);var v=l(m,2),S=t=>{var n=Ps(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.remove`)]),d(`click`,n,()=>x(`mutation { removeTenantLogo { tenant { logoUrl } } }`,{},X(`settings.branding.logo_removed`))),e(t,n)};r(v,e=>{t(h).tenant.logoUrl&&e(S)}),J(c);var C=l(c,2),w=o(C),T=o(w);j(T);var E=l(T);J(w);var D=l(w,2),O=t=>{var n=Ps(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.own`)]),d(`click`,n,()=>y({accentColor:``},X(`settings.branding.color_reset`))),e(t,n)};r(D,e=>{t(h).tenant.accentColor&&e(O)}),J(C),s((e,n)=>{z(g,`${e??``} `),ne(T,t(h).tenant.accentColor??`#b3380f`),z(E,` ${n??``}`)},[()=>t(h).tenant.logoUrl?X(`settings.branding.change_logo`):X(`settings.branding.upload_logo`),()=>X(`settings.branding.accent`)]),d(`change`,_,b),d(`change`,T,e=>y({accentColor:e.currentTarget.value},X(`settings.branding.color_updated`))),e(n,a)},$$slots:{default:!0}})}var N=l(M,2);{let e=q(()=>X(`settings.retention.title`)),n=q(()=>X(`settings.retention.help`));Q(N,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>f(c,t(h).tenant.eventRetentionDays));ra(e,{get value(){return t(h).tenant.eventRetentionDays},get options(){return t(n)},onchange:e=>y({eventRetentionDays:Number(e)},X(`settings.retention.updated`))})}},$$slots:{default:!0}})}var F=l(N,2);{let n=q(()=>X(`settings.registration.title`)),i=q(()=>X(`settings.registration.help`));Q(F,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=Ms(),o=u(a);{let e=q(()=>[[`off`,X(`settings.registration.off`)],[`anything`,X(`settings.registration.on`)],[`bounded`,X(`settings.registration.bounded`)]]);ra(o,{get value(){return t(h).tenant.dynamicRegistration},get options(){return t(e)},onchange:e=>y({dynamicRegistration:e},X(`settings.registration.updated`))})}var s=l(o,2),c=e=>{{let n=q(()=>t(h).tenant.dynamicClientScopes??[]);Tn(e,{get value(){return t(n)},get available(){return t(h).scopesSupported},onchange:e=>y({dynamicClientScopes:e},X(`settings.registration.ceiling_updated`))})}};r(s,e=>{t(h).tenant.dynamicRegistration===`bounded`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var I=l(F,2),ee=e=>{Ba(e,{get api(){return i.api},get rows(){return t(h).namespaces},onreleased:v,showClient:!0,row:!0})};r(I,e=>{t(h).namespaces.length&&e(ee)});var L=l(I,2);{let n=q(()=>X(`settings.keys.title`)),i=q(()=>X(`settings.keys.help`));Q(L,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var c=Rs(),f=u(c);Y(f,21,()=>t(h).tenant.signingKeys,e=>e.kid,(n,i)=>{var c=Ls(),u=o(c),f=W(u,!0),m=l(u,2),h=W(m,!0),g=l(m,2),_=o(g),v=l(_),y=n=>{var r=a();s(e=>z(r,e),[()=>X(`settings.keys.until`,{day:Mt(t(i).retiredAt)})]),e(n,r)},b=n=>{var r=a();s(e=>z(r,e),[()=>Mt(t(i).activatedAt,X(`settings.keys.not_yet`))]),e(n,r)};r(v,e=>{t(i).state===`retiring`?e(y):e(b,-1)}),J(g);var x=l(g,2),S=n=>{var r=Is(),a=o(r),c=W(a,!0),u=l(a,2),f=W(u,!0);J(r),s((e,t)=>{z(c,e),z(f,t)},[()=>X(`settings.keys.activate`),()=>X(`settings.keys.discard`)]),d(`click`,a,()=>T(t(i).kid)),d(`click`,u,()=>E(t(i).kid)),e(n,r)};r(x,e=>{t(i).state===`staged`&&e(S)}),J(c),s((e,n)=>{z(f,e),le(m,1,`badge badge-sm ${p[t(i).state]??``}`),z(h,n),z(_,`${t(i).algorithm??``} · `)},[()=>t(i).kid.slice(0,8),()=>p[t(i).state]?X(`settings.keys.states.${t(i).state}`):t(i).state]),e(n,c)}),J(f);var m=l(f,2),g=o(m);{let e=q(()=>X(`settings.keys.schedule`)),n=q(()=>String(t(h).tenant.keyRotationDays??0)),r=q(()=>[0,30,90,180,365].map(e=>[String(e),e?X(`settings.keys.every`,{count:e}):X(`settings.keys.by_hand`)]));ra(g,{get name(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y({keyRotationDays:Number(e)},X(`settings.keys.scheduled`))})}var _=l(g,2),v=W(_,!0),b=l(_,2),x=W(b,!0);J(m),s((e,t)=>{z(v,e),z(x,t)},[()=>X(`settings.keys.stage`),()=>X(`settings.keys.rotate`)]),d(`click`,_,C),d(`click`,b,O),e(n,c)},$$slots:{default:!0}})}var te=l(L,2);As(te,{get api(){return i.api}}),Ts(l(te,2),{get api(){return i.api}}),J(k),e(n,w)},$$slots:{default:!0}})}};r(A,e=>{t(_)&&!t(h)?e(M):t(h)?e(F,-1):e(N,1)}),e(n,k),D()}c([`change`,`click`]);var Vs=p(`<path></path>`),Hs=p(`<rect class="chart-hit" y="0" tabindex="-1" role="presentation"></rect>`),Us=f(`<div class="chart-tip" aria-hidden="true"><strong> </strong> <span> </span></div>`),Ws=f(`<span> </span>`),Gs=f(`<tr><td> </td><td> </td></tr>`),Ks=f(`<figure class="chart"><figcaption class="chart-head"><span class="sr-only"> </span> <span class="chart-peak"> </span></figcaption> <div class="chart-plot tray"><svg class="chart-svg" role="img"><line class="chart-base" x1="0"></line><!><!></svg> <!></div> <div class="chart-axis"></div> <table class="sr-only"><caption> </caption><thead><tr><th> </th><th> </th></tr></thead><tbody></tbody></table></figure>`);function qs(n,i){H(i,!0);let a=q(()=>Math.max(1,...i.points.map(e=>e.value))),c=q(()=>720/Math.max(i.points.length,1)),u=q(()=>Math.max(t(c)-2,1)),d=q(()=>i.points.reduce((e,t)=>e+t.value,0)),f=w(null);function p(e){return(e+.5)/Math.max(i.points.length,1)*100}function m(e,n){let r=e===0?2:Math.max(e/t(a)*138,3),i=146-r,o=Math.min(2,t(u)/2,r);return[`M ${n} 146`,`L ${n} ${i+o}`,`Q ${n} ${i} ${n+o} ${i}`,`L ${n+t(u)-o} ${i}`,`Q ${n+t(u)} ${i} ${n+t(u)} ${i+o}`,`L ${n+t(u)} 146`,`Z`].join(` `)}let h=q(()=>i.points.length?[0,Math.floor((i.points.length-1)/2),i.points.length-1].filter((e,t,n)=>n.indexOf(e)===t).map(e=>({at:e,point:i.points[e]})):[]);var g=Ks(),v=o(g),y=o(v),b=W(y,!0),x=l(y,2),C=W(x,!0);J(v);var T=l(v,2),E=o(T);P(E,`viewBox`,`0 0 720 168`);var O=o(E);P(O,`y1`,146),P(O,`x2`,720),P(O,`y2`,146);var k=l(O);Y(k,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Vs();let o;s(e=>{o=le(a,0,`chart-bar`,null,o,{"chart-bar-idle":t(r).value===0,"chart-bar-on":t(f)?.index===t(i)}),P(a,`d`,e)},[()=>m(t(r).value,t(i)*t(c))]),e(n,a)});var A=l(k);Y(A,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Hs();P(a,`height`,146),s(()=>{P(a,`x`,t(i)*t(c)),P(a,`width`,t(c))}),_(`mouseenter`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`mouseleave`,a,()=>S(f,null)),_(`focus`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`blur`,a,()=>S(f,null)),e(n,a)}),J(E);var j=l(E,2),M=n=>{var r=Us(),i=o(r),a=W(i,!0),c=l(i),u=l(c),d=W(u,!0);J(r),s((e,n)=>{ce(r,`--at: ${e??``}%`),z(a,t(f).value),z(c,` ${n??``} `),z(d,t(f).label)},[()=>p(t(f).index),()=>X(`ui.bar_chart.unit`,{count:t(f).value})]),e(n,r)};r(j,e=>{t(f)&&e(M)}),J(T);var N=l(T,2);Y(N,21,()=>t(h),e=>e.at,(n,r)=>{var i=Ws(),a=W(i,!0);s(e=>{ce(i,`--at: ${e??``}%`),z(a,t(r).point.label)},[()=>p(t(r).at)]),e(n,i)}),J(N);var F=l(N,2),I=o(F),ee=W(I,!0),L=l(I),te=o(L),R=o(te),B=W(R,!0),V=l(R),ne=W(V,!0);J(te),J(L);var re=l(L);Y(re,21,()=>i.points,e=>e.key,(n,r)=>{var i=Gs(),a=o(i),c=W(a,!0),u=l(a),d=W(u,!0);J(i),s(()=>{z(c,t(r).label),z(d,t(r).value)}),e(n,i)}),J(re),J(F),J(g),s((e,t,n,r)=>{z(b,i.label),z(C,e),P(E,`aria-label`,t),z(ee,i.label),z(B,n),z(ne,r)},[()=>X(`ui.bar_chart.peak`,{peak:t(a)}),()=>X(`ui.bar_chart.summary`,{label:i.label,total:t(d),days:i.points.length,peak:t(a)}),()=>X(`ui.bar_chart.day`),()=>X(`ui.bar_chart.units`)]),e(n,g),D()}var Js=f(`<div class="alert alert-error alert-soft text-sm" role="alert"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`);function Ys(t,n){H(n,!0);let i=C({loading:!0,failure:null,data:null});async function a(){i.loading=!0,i.failure=null;try{i.data=await n.load()}catch(e){i.failure=e.message}finally{i.loading=!1}}a();var c=R(),f=u(c),p=e=>{mt(e,{})},m=t=>{var n=Js(),r=o(n),c=W(r,!0),u=l(r,2),f=W(u,!0);J(n),s(e=>{z(c,i.failure),z(f,e)},[()=>X(`ui.retry`)]),d(`click`,u,a),e(t,n)},h=t=>{var r=R(),o=u(r);v(o,()=>n.children,()=>i.data,()=>a),e(t,r)};r(f,e=>{i.loading?e(p):i.failure?e(m,1):e(h,-1)}),e(t,c),D()}c([`click`]);var Xs=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Zs=f(`<span class="hint"> </span>`),Qs=f(`<div role="status"><div class="callout-words"><strong> </strong> <!></div> <div class="callout-actions"><!></div></div>`),$s=f(`<div class="callout callout-quiet"><div class="callout-words"><strong> </strong> <span class="hint"> </span></div> <div class="callout-actions"><!> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),ec=f(`<div class="flex flex-col gap-2"><!> <!></div>`),tc=f(`<button type="button"> </button>`),nc=f(`<div class="range" role="group"></div>`),rc=f(`<td><!></td> <td class="text-right text-sm whitespace-nowrap"><!></td>`,1),ic=f(`<p class="hint"> </p>`),ac=f(`<!> <!> <div class="dash"><div class="dash-main"><!></div> <div class="dash-side"><!></div></div> <!>`,1);function oc(n,c){H(c,!0);let f=[7,30,90],p=new Intl.DateTimeFormat(void 0,{day:`numeric`,month:`short`}),m=`masks:manage:skipped`,h=w(null),g=w(null),_=w(30),v=w(C([]));try{S(v,JSON.parse(localStorage.getItem(m)??`[]`),!0)}catch{}function y(e){S(v,[...t(v),e],!0);try{localStorage.setItem(m,JSON.stringify(t(v)))}catch{}}let b=q(()=>t(h)?[{to:`/actors`,label:X(`settings.counts.actors`),value:t(h).tally.actors},{to:`/clients`,label:X(`settings.counts.clients`),value:t(h).tally.clients},{to:`/organizations`,label:X(`settings.counts.organizations`),value:t(h).tally.organizations},{to:`/actors#devices`,label:X(`settings.counts.devices`),value:t(h).tally.devices}]:[]),x=q(()=>t(h)?[t(h).waiting&&{key:`waiting`,tone:`warn`,title:X(`settings.needs.waiting`,{count:t(h).waiting}),to:`/actors?lens=waiting`},t(h).help&&{key:`help`,tone:`warn`,title:X(`settings.needs.help`,{count:t(h).help}),to:`/actors?lens=help`},t(h).worrying&&{key:`worrying`,tone:`bad`,title:X(`settings.needs.worrying`,{count:t(h).worrying}),detail:X(`settings.needs.latest`,{label:t(h).gravest[0].label,when:Pt(t(h).gravest[0].createdAt)}),to:`/activity?grave=1`}].filter(Boolean):[]),T=q(()=>t(h)?[!t(h).tenant.mails&&{key:`mail`,title:X(`settings.starting.mail.title`),detail:X(`settings.starting.mail.detail`),to:`/messages`,action:X(`settings.starting.mail.action`)},t(h).tally.clients===0&&{key:`client`,title:X(`settings.starting.client.title`),detail:X(`settings.starting.client.detail`),to:`/clients`,action:X(`settings.starting.client.action`)},t(h).tally.actors<=1&&{key:`invite`,title:X(`settings.starting.invite.title`),detail:X(`settings.starting.invite.detail`),to:`/actors`,action:X(`settings.starting.invite.action`)}].filter(e=>e&&!t(v).includes(e.key)):[]),E=e=>e.map(e=>({key:e.date,value:e.signIns,label:p.format(new Date(`${e.date}T00:00:00`))}));async function O(){try{S(h,await c.api.query(`
|
|
373
|
+
}`,e),t)&&await v()}async function b(e){let t=e.currentTarget,n=t.files?.[0];n&&(await x(`mutation Logo($logo: Upload!) { uploadTenantLogo(logo: $logo) { tenant { logoUrl } } }`,{logo:n},X(`settings.branding.logo_updated`)),t.value=``)}async function x(e,t,n){await m.attempt(()=>i.api.query(e,t),n)&&await v()}let C=()=>x(`mutation Stage { stageSigningKey { signingKey { kid } } }`,{},X(`settings.keys.staged_notice`));function T(e){if(confirm(X(`settings.keys.activate_confirm`)))return x(`mutation Activate($kid: ID!) { activateSigningKey(kid: $kid) { signingKey { kid } } }`,{kid:e},X(`settings.keys.activated_notice`))}function E(e){if(confirm(X(`settings.keys.discard_confirm`)))return x(`mutation Discard($kid: ID!) { discardSigningKey(kid: $kid) { kid } }`,{kid:e},X(`settings.keys.discarded`))}function O(){if(confirm(X(`settings.keys.rotate_confirm`)))return x(`mutation Rotate { rotateSigningKey { signingKey { kid } } }`,{},X(`settings.keys.rotated`))}var k=R(),A=u(k),M=e=>{mt(e,{})},N=t=>{var n=Rs(),r=W(n,!0);s(()=>z(r,m.state.failure)),e(t,n)},F=n=>{{let _=q(()=>X(`settings.title`));zn(n,{get title(){return t(_)},children:(n,_)=>{var w=Ks(),D=u(w);Nn(D,{get feedback(){return m.state}});var k=l(D,2),A=o(k);{let n=q(()=>X(`settings.tenant.title`)),r=q(()=>X(`settings.tenant.help`));Q(A,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var a=zs(),o=u(a);{let e=q(()=>X(`settings.tenant.name`));$(o,{get label(){return t(e)},onsave:()=>y({name:t(g)},X(`settings.tenant.renamed`)),get value(){return t(g)},set value(e){S(g,e,!0)}})}var s=l(o,2);{let e=q(()=>[{term:X(`settings.tenant.subdomain`),value:t(h).tenant.subdomain,mono:!0},{term:X(`settings.tenant.issuer`),value:i.boot.issuer,mono:!0},{term:X(`settings.tenant.resource`),value:i.boot.resource,mono:!0},{term:X(`settings.tenant.since`),value:Mt(t(h).tenant.createdAt)}]);Bi(s,{get rows(){return t(e)}})}e(n,a)},$$slots:{default:!0}})}var M=l(A,2);{let n=q(()=>X(`settings.branding.title`)),i=q(()=>X(`settings.branding.help`));Q(M,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=Hs(),c=u(a),f=o(c),p=n=>{var r=Bs();s(()=>P(r,`src`,t(h).tenant.logoUrl)),e(n,r)};r(f,e=>{t(h).tenant.logoUrl&&e(p)});var m=l(f,2),g=o(m),_=l(g);J(m);var v=l(m,2),S=t=>{var n=Vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.remove`)]),d(`click`,n,()=>x(`mutation { removeTenantLogo { tenant { logoUrl } } }`,{},X(`settings.branding.logo_removed`))),e(t,n)};r(v,e=>{t(h).tenant.logoUrl&&e(S)}),J(c);var C=l(c,2),w=o(C),T=o(w);j(T);var E=l(T);J(w);var D=l(w,2),O=t=>{var n=Vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.own`)]),d(`click`,n,()=>y({accentColor:``},X(`settings.branding.color_reset`))),e(t,n)};r(D,e=>{t(h).tenant.accentColor&&e(O)}),J(C),s((e,n)=>{z(g,`${e??``} `),ne(T,t(h).tenant.accentColor??`#b3380f`),z(E,` ${n??``}`)},[()=>t(h).tenant.logoUrl?X(`settings.branding.change_logo`):X(`settings.branding.upload_logo`),()=>X(`settings.branding.accent`)]),d(`change`,_,b),d(`change`,T,e=>y({accentColor:e.currentTarget.value},X(`settings.branding.color_updated`))),e(n,a)},$$slots:{default:!0}})}var N=l(M,2);{let e=q(()=>X(`settings.retention.title`)),n=q(()=>X(`settings.retention.help`));Q(N,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>f(c,t(h).tenant.eventRetentionDays));ra(e,{get value(){return t(h).tenant.eventRetentionDays},get options(){return t(n)},onchange:e=>y({eventRetentionDays:Number(e)},X(`settings.retention.updated`))})}},$$slots:{default:!0}})}var F=l(N,2);{let n=q(()=>X(`settings.registration.title`)),i=q(()=>X(`settings.registration.help`));Q(F,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=zs(),o=u(a);{let e=q(()=>[[`off`,X(`settings.registration.off`)],[`anything`,X(`settings.registration.on`)],[`bounded`,X(`settings.registration.bounded`)]]);ra(o,{get value(){return t(h).tenant.dynamicRegistration},get options(){return t(e)},onchange:e=>y({dynamicRegistration:e},X(`settings.registration.updated`))})}var s=l(o,2),c=e=>{{let n=q(()=>t(h).tenant.dynamicClientScopes??[]);Tn(e,{get value(){return t(n)},get available(){return t(h).scopesSupported},onchange:e=>y({dynamicClientScopes:e},X(`settings.registration.ceiling_updated`))})}};r(s,e=>{t(h).tenant.dynamicRegistration===`bounded`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var I=l(F,2),ee=e=>{Ga(e,{get api(){return i.api},get rows(){return t(h).namespaces},onreleased:v,showClient:!0,row:!0})};r(I,e=>{t(h).namespaces.length&&e(ee)});var L=l(I,2);{let n=q(()=>X(`settings.keys.title`)),i=q(()=>X(`settings.keys.help`));Q(L,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var c=Gs(),f=u(c);Y(f,21,()=>t(h).tenant.signingKeys,e=>e.kid,(n,i)=>{var c=Ws(),u=o(c),f=W(u,!0),m=l(u,2),h=W(m,!0),g=l(m,2),_=o(g),v=l(_),y=n=>{var r=a();s(e=>z(r,e),[()=>X(`settings.keys.until`,{day:Mt(t(i).retiredAt)})]),e(n,r)},b=n=>{var r=a();s(e=>z(r,e),[()=>Mt(t(i).activatedAt,X(`settings.keys.not_yet`))]),e(n,r)};r(v,e=>{t(i).state===`retiring`?e(y):e(b,-1)}),J(g);var x=l(g,2),S=n=>{var r=Us(),a=o(r),c=W(a,!0),u=l(a,2),f=W(u,!0);J(r),s((e,t)=>{z(c,e),z(f,t)},[()=>X(`settings.keys.activate`),()=>X(`settings.keys.discard`)]),d(`click`,a,()=>T(t(i).kid)),d(`click`,u,()=>E(t(i).kid)),e(n,r)};r(x,e=>{t(i).state===`staged`&&e(S)}),J(c),s((e,n)=>{z(f,e),le(m,1,`badge badge-sm ${p[t(i).state]??``}`),z(h,n),z(_,`${t(i).algorithm??``} · `)},[()=>t(i).kid.slice(0,8),()=>p[t(i).state]?X(`settings.keys.states.${t(i).state}`):t(i).state]),e(n,c)}),J(f);var m=l(f,2),g=o(m);{let e=q(()=>X(`settings.keys.schedule`)),n=q(()=>String(t(h).tenant.keyRotationDays??0)),r=q(()=>[0,30,90,180,365].map(e=>[String(e),e?X(`settings.keys.every`,{count:e}):X(`settings.keys.by_hand`)]));ra(g,{get name(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y({keyRotationDays:Number(e)},X(`settings.keys.scheduled`))})}var _=l(g,2),v=W(_,!0),b=l(_,2),x=W(b,!0);J(m),s((e,t)=>{z(v,e),z(x,t)},[()=>X(`settings.keys.stage`),()=>X(`settings.keys.rotate`)]),d(`click`,_,C),d(`click`,b,O),e(n,c)},$$slots:{default:!0}})}var te=l(L,2);Ls(te,{get api(){return i.api}}),Ms(l(te,2),{get api(){return i.api}}),J(k),e(n,w)},$$slots:{default:!0}})}};r(A,e=>{t(_)&&!t(h)?e(M):t(h)?e(F,-1):e(N,1)}),e(n,k),D()}c([`change`,`click`]);var Js=p(`<path></path>`),Ys=p(`<rect class="chart-hit" y="0" tabindex="-1" role="presentation"></rect>`),Xs=f(`<div class="chart-tip" aria-hidden="true"><strong> </strong> <span> </span></div>`),Zs=f(`<span> </span>`),Qs=f(`<tr><td> </td><td> </td></tr>`),$s=f(`<figure class="chart"><figcaption class="chart-head"><span class="sr-only"> </span> <span class="chart-peak"> </span></figcaption> <div class="chart-plot tray"><svg class="chart-svg" role="img"><line class="chart-base" x1="0"></line><!><!></svg> <!></div> <div class="chart-axis"></div> <table class="sr-only"><caption> </caption><thead><tr><th> </th><th> </th></tr></thead><tbody></tbody></table></figure>`);function ec(n,i){H(i,!0);let a=q(()=>Math.max(1,...i.points.map(e=>e.value))),c=q(()=>720/Math.max(i.points.length,1)),u=q(()=>Math.max(t(c)-2,1)),d=q(()=>i.points.reduce((e,t)=>e+t.value,0)),f=w(null);function p(e){return(e+.5)/Math.max(i.points.length,1)*100}function m(e,n){let r=e===0?2:Math.max(e/t(a)*138,3),i=146-r,o=Math.min(2,t(u)/2,r);return[`M ${n} 146`,`L ${n} ${i+o}`,`Q ${n} ${i} ${n+o} ${i}`,`L ${n+t(u)-o} ${i}`,`Q ${n+t(u)} ${i} ${n+t(u)} ${i+o}`,`L ${n+t(u)} 146`,`Z`].join(` `)}let h=q(()=>i.points.length?[0,Math.floor((i.points.length-1)/2),i.points.length-1].filter((e,t,n)=>n.indexOf(e)===t).map(e=>({at:e,point:i.points[e]})):[]);var g=$s(),v=o(g),y=o(v),b=W(y,!0),x=l(y,2),C=W(x,!0);J(v);var T=l(v,2),E=o(T);P(E,`viewBox`,`0 0 720 168`);var O=o(E);P(O,`y1`,146),P(O,`x2`,720),P(O,`y2`,146);var k=l(O);Y(k,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Js();let o;s(e=>{o=le(a,0,`chart-bar`,null,o,{"chart-bar-idle":t(r).value===0,"chart-bar-on":t(f)?.index===t(i)}),P(a,`d`,e)},[()=>m(t(r).value,t(i)*t(c))]),e(n,a)});var A=l(k);Y(A,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Ys();P(a,`height`,146),s(()=>{P(a,`x`,t(i)*t(c)),P(a,`width`,t(c))}),_(`mouseenter`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`mouseleave`,a,()=>S(f,null)),_(`focus`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`blur`,a,()=>S(f,null)),e(n,a)}),J(E);var j=l(E,2),M=n=>{var r=Xs(),i=o(r),a=W(i,!0),c=l(i),u=l(c),d=W(u,!0);J(r),s((e,n)=>{ce(r,`--at: ${e??``}%`),z(a,t(f).value),z(c,` ${n??``} `),z(d,t(f).label)},[()=>p(t(f).index),()=>X(`ui.bar_chart.unit`,{count:t(f).value})]),e(n,r)};r(j,e=>{t(f)&&e(M)}),J(T);var N=l(T,2);Y(N,21,()=>t(h),e=>e.at,(n,r)=>{var i=Zs(),a=W(i,!0);s(e=>{ce(i,`--at: ${e??``}%`),z(a,t(r).point.label)},[()=>p(t(r).at)]),e(n,i)}),J(N);var F=l(N,2),I=o(F),ee=W(I,!0),L=l(I),te=o(L),R=o(te),B=W(R,!0),V=l(R),ne=W(V,!0);J(te),J(L);var re=l(L);Y(re,21,()=>i.points,e=>e.key,(n,r)=>{var i=Qs(),a=o(i),c=W(a,!0),u=l(a),d=W(u,!0);J(i),s(()=>{z(c,t(r).label),z(d,t(r).value)}),e(n,i)}),J(re),J(F),J(g),s((e,t,n,r)=>{z(b,i.label),z(C,e),P(E,`aria-label`,t),z(ee,i.label),z(B,n),z(ne,r)},[()=>X(`ui.bar_chart.peak`,{peak:t(a)}),()=>X(`ui.bar_chart.summary`,{label:i.label,total:t(d),days:i.points.length,peak:t(a)}),()=>X(`ui.bar_chart.day`),()=>X(`ui.bar_chart.units`)]),e(n,g),D()}var tc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`);function nc(t,n){H(n,!0);let i=C({loading:!0,failure:null,data:null});async function a(){i.loading=!0,i.failure=null;try{i.data=await n.load()}catch(e){i.failure=e.message}finally{i.loading=!1}}a();var c=R(),f=u(c),p=e=>{mt(e,{})},m=t=>{var n=tc(),r=o(n),c=W(r,!0),u=l(r,2),f=W(u,!0);J(n),s(e=>{z(c,i.failure),z(f,e)},[()=>X(`ui.retry`)]),d(`click`,u,a),e(t,n)},h=t=>{var r=R(),o=u(r);v(o,()=>n.children,()=>i.data,()=>a),e(t,r)};r(f,e=>{i.loading?e(p):i.failure?e(m,1):e(h,-1)}),e(t,c),D()}c([`click`]);var rc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),ic=f(`<span class="hint"> </span>`),ac=f(`<div role="status"><div class="callout-words"><strong> </strong> <!></div> <div class="callout-actions"><!></div></div>`),oc=f(`<div class="callout callout-quiet"><div class="callout-words"><strong> </strong> <span class="hint"> </span></div> <div class="callout-actions"><!> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),sc=f(`<div class="flex flex-col gap-2"><!> <!></div>`),cc=f(`<button type="button"> </button>`),lc=f(`<div class="range" role="group"></div>`),uc=f(`<td><!></td> <td class="text-right text-sm whitespace-nowrap"><!></td>`,1),dc=f(`<p class="hint"> </p>`),fc=f(`<!> <!> <div class="dash"><div class="dash-main"><!></div> <div class="dash-side"><!></div></div> <!>`,1);function pc(n,c){H(c,!0);let f=[7,30,90],p=new Intl.DateTimeFormat(void 0,{day:`numeric`,month:`short`}),m=`masks:manage:skipped`,h=w(null),g=w(null),_=w(30),v=w(C([]));try{S(v,JSON.parse(localStorage.getItem(m)??`[]`),!0)}catch{}function y(e){S(v,[...t(v),e],!0);try{localStorage.setItem(m,JSON.stringify(t(v)))}catch{}}let b=q(()=>t(h)?[{to:`/actors`,label:X(`settings.counts.actors`),value:t(h).tally.actors},{to:`/clients`,label:X(`settings.counts.clients`),value:t(h).tally.clients},{to:`/organizations`,label:X(`settings.counts.organizations`),value:t(h).tally.organizations},{to:`/actors#devices`,label:X(`settings.counts.devices`),value:t(h).tally.devices}]:[]),x=q(()=>t(h)?[t(h).waiting&&{key:`waiting`,tone:`warn`,title:X(`settings.needs.waiting`,{count:t(h).waiting}),to:`/actors?lens=waiting`},t(h).help&&{key:`help`,tone:`warn`,title:X(`settings.needs.help`,{count:t(h).help}),to:`/actors?lens=help`},t(h).worrying&&{key:`worrying`,tone:`bad`,title:X(`settings.needs.worrying`,{count:t(h).worrying}),detail:X(`settings.needs.latest`,{label:t(h).gravest[0].label,when:Pt(t(h).gravest[0].createdAt)}),to:`/activity?grave=1`}].filter(Boolean):[]),T=q(()=>t(h)?[!t(h).tenant.mails&&{key:`mail`,title:X(`settings.starting.mail.title`),detail:X(`settings.starting.mail.detail`),to:`/messages`,action:X(`settings.starting.mail.action`)},t(h).tally.clients===0&&{key:`client`,title:X(`settings.starting.client.title`),detail:X(`settings.starting.client.detail`),to:`/clients`,action:X(`settings.starting.client.action`)},t(h).tally.actors<=1&&{key:`invite`,title:X(`settings.starting.invite.title`),detail:X(`settings.starting.invite.detail`),to:`/actors`,action:X(`settings.starting.invite.action`)}].filter(e=>e&&!t(v).includes(e.key)):[]),E=e=>e.map(e=>({key:e.date,value:e.signIns,label:p.format(new Date(`${e.date}T00:00:00`))}));async function O(){try{S(h,await c.api.query(`
|
|
367
374
|
query Overview($since: ISO8601DateTime!) {
|
|
368
375
|
tenant { name mails }
|
|
369
376
|
tally { actors clients devices organizations }
|
|
@@ -380,11 +387,11 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
380
387
|
}
|
|
381
388
|
organizations(limit: 5) { key name memberCount ownerCount pendingCount }
|
|
382
389
|
}
|
|
383
|
-
`,{since:new Date(Date.now()-864e5).toISOString()}),!0)}catch(e){S(g,e.message,!0)}}O();var k=R(),A=u(k),j=e=>{mt(e,{})},M=n=>{var r=
|
|
390
|
+
`,{since:new Date(Date.now()-864e5).toISOString()}),!0)}catch(e){S(g,e.message,!0)}}O();var k=R(),A=u(k),j=e=>{mt(e,{})},M=n=>{var r=rc(),i=W(r,!0);s(()=>z(i,t(g))),e(n,r)},N=n=>{zn(n,{get title(){return t(h).tenant.name},get id(){return c.boot.issuer},hero:!0,children:(n,p)=>{var m=fc(),g=u(m),v=n=>{var i=sc(),c=o(i);Y(c,17,()=>t(x),e=>e.key,(n,i)=>{var c=ac(),u=o(c),d=o(u),f=W(d,!0),p=l(d,2),m=n=>{var r=ic(),a=W(r,!0);s(()=>z(a,t(i).detail)),e(n,r)};r(p,e=>{t(i).detail&&e(m)}),J(u);var h=l(u,2);Z(o(h),{get to(){return t(i).to},class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.needs.review`)]),e(t,r)},$$slots:{default:!0}}),J(h),J(c),s(()=>{le(c,1,`callout callout-${t(i).tone??``}`),z(f,t(i).title)}),e(n,c)});var u=l(c,2);Y(u,17,()=>t(T),e=>e.key,(n,r)=>{var i=oc(),c=o(i),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c);var h=l(c,2),g=o(h);Z(g,{get to(){return t(r).to},class:`btn btn-sm`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).action)),e(n,o)},$$slots:{default:!0}});var _=l(g,2),v=W(_,!0);J(h),J(i),s(e=>{z(f,t(r).title),z(m,t(r).detail),z(v,e)},[()=>X(`settings.starting.hide`)]),d(`click`,_,()=>y(t(r).key)),e(n,i)}),J(i),e(n,i)};r(g,e=>{(t(x).length||t(T).length)&&e(v)});var C=l(g,2);Ko(C,{get counts(){return t(b)}});var w=l(C,2),D=o(w),O=o(D);{let n=n=>{var r=lc();Y(r,20,()=>f,e=>e,(n,r)=>{var i=cc(),a=W(i,!0);s(e=>{P(i,`aria-pressed`,t(_)===r),z(a,e)},[()=>X(`settings.sign_ins.span`,{days:r})]),d(`click`,i,()=>S(_,r,!0)),e(n,i)}),J(r),s(e=>P(r,`aria-label`,e),[()=>X(`settings.sign_ins.range`)]),e(n,r)},r=q(()=>X(`settings.sign_ins.title`));Q(O,{get title(){return t(r)},actions:n,children:(n,r)=>{var a=R(),o=u(a);i(o,()=>t(_),e=>{nc(e,{load:()=>c.api.query(`
|
|
384
391
|
query Activity($days: Int) {
|
|
385
392
|
activity(days: $days) { date signIns }
|
|
386
393
|
}
|
|
387
|
-
`,{days:t(_)}),children:(e,n=F)=>{{let r=q(()=>E(n().activity)),i=q(()=>X(`settings.sign_ins.chart`));
|
|
394
|
+
`,{days:t(_)}),children:(e,n=F)=>{{let r=q(()=>E(n().activity)),i=q(()=>X(`settings.sign_ins.chart`));ec(e,{get points(){return t(r)},get label(){return t(i)}})}},$$slots:{default:!0}})}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(D);var k=l(D,2),A=o(k);{let n=n=>{Z(n,{to:`/organizations`,class:`btn btn-ghost btn-sm`,children:(n,r)=>{V();var i=a();s(e=>z(i,e),[()=>t(h).tally.organizations>5?X(`settings.organizations.all_count`,{count:t(h).tally.organizations}):X(`settings.organizations.all`)]),e(n,i)},$$slots:{default:!0}})},i=q(()=>X(`settings.organizations.title`));Q(A,{get title(){return t(i)},actions:n,children:(n,i)=>{var a=R(),c=u(a),d=n=>{{let r=n=>{var r=R(),i=u(r);Y(i,17,()=>t(h).organizations,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=uc(),s=u(a);Ao(o(s),{get organization(){return t(r)}}),J(s);var c=l(s,2);No(o(c),{get organization(){return t(r)},class:`flex flex-col items-end`}),J(c),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},i=q(()=>[X(`settings.organizations.organization`),{label:X(`settings.organizations.members`),right:!0}]);Yt(n,{get columns(){return t(i)},get count(){return t(h).organizations.length},rows:r,$$slots:{rows:!0}})}},f=t=>{var n=dc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.organizations.empty`)]),e(t,n)};r(c,e=>{t(h).organizations.length?e(d):e(f,-1)}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(k),J(w);var j=l(w,2);{let n=t=>{Z(t,{to:`/activity`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.recent.all`)]),e(t,r)},$$slots:{default:!0}})},r=q(()=>X(`settings.recent.title`));Q(j,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`settings.recent.empty`));Mr(e,{get events(){return t(h).latest},get empty(){return t(n)},limit:8,collapse:!0})}},$$slots:{actions:!0,default:!0}})}e(n,m)},$$slots:{default:!0}})};r(A,e=>{!t(h)&&!t(g)?e(j):t(h)?e(N,-1):e(M,1)}),e(n,k),D()}c([`click`]);var mc=f(`<nav class="settings-tabs"><!> <!></nav>`);function hc(n,r){H(r,!0);var i=mc(),c=o(i);{let n=q(()=>r.part===`log`?`settings-tab-on`:``);Z(c,{to:`/activity`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.log`)]),e(t,r)},$$slots:{default:!0}})}var u=l(c,2);{let n=q(()=>r.part===`streams`?`settings-tab-on`:``);Z(u,{to:`/activity/streams`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.streams`)]),e(t,r)},$$slots:{default:!0}})}J(i),s(e=>P(i,`aria-label`,e),[()=>X(`activity.title`)]),e(n,i),D()}var gc=f(`<span> <!> </span>`),_c=f(`<span> </span>`),vc=f(`<div class="alert alert-info alert-soft flex-wrap items-center gap-3 text-sm" role="status"><!> <!></div>`),yc=f(`<option> </option>`),bc=f(`<div class="flex flex-wrap items-end gap-4"><label class="flex flex-col gap-1.5"><span class="legend"> </span> <select class="select select-sm w-full max-w-xs"><option> </option><!></select></label> <label class="flex items-center gap-2 pb-1 text-sm"><input type="checkbox" class="toggle toggle-sm"/> </label> <div class="flex flex-col gap-1.5 md:ml-auto"><span class="legend flex items-center gap-2"> <!></span> <div class="flex flex-wrap items-center gap-2"><input class="input input-sm w-auto" type="date"/> <span class="hint">–</span> <input class="input input-sm w-auto" type="date"/> <button type="button" class="btn btn-sm"> </button></div></div></div>`),xc=f(`<!> <!>`,1),Sc=f(`<!> <!> <!> <!> <!>`,1);function Cc(n,i){H(i,!0);let c=bt(),f=Ct(),p=ct(),m=w(C([])),h=w(C([])),g=w(!1),_=()=>new Date().toISOString().slice(0,10),v=C({from:(e=>new Date(Date.now()-e*864e5).toISOString().slice(0,10))(30),to:_()}),y=w(``),E=w(p.query.get(`grave`)===`1`),O=w(!0),k=w(null),A=q(()=>p.query.get(`actor`)),M=q(()=>p.query.get(`client`)),N=q(()=>!!(t(A)||t(M)));async function F(){S(O,!0);let e=await f.attempt(()=>i.api.query(`
|
|
388
395
|
query Activity(
|
|
389
396
|
$action: String, $grave: Boolean, $afterId: ID, $limit: Int,
|
|
390
397
|
$actor: ID, $client: ID
|
|
@@ -404,7 +411,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
404
411
|
}
|
|
405
412
|
`,{action:t(y)||null,grave:t(E),afterId:c.cursor,limit:c.size,actor:t(A),client:t(M)}));S(O,!1),e&&(S(h,e.eventActions,!0),S(m,e.events,!0),c.counted(e.eventCount))}function ee(e){e===`forward`?c.forward(t(m).at(-1)?.id):c.back(),F()}async function L(){if(S(k,null),t(A)){let e=await i.api.query(`query About($uuid: ID!) { actor(uuid: $uuid) { uuid identifier } }`,{uuid:t(A)}).catch(()=>null);e?.actor&&S(k,{label:e.actor.identifier,to:`/actors/${e.actor.uuid}`,noun:X(`activity.nouns.actor`)},!0);return}if(!t(M))return;let e=await i.api.query(`query About($clientId: ID!) { client(clientId: $clientId) { clientId name } }`,{clientId:t(M)}).catch(()=>null);e?.client&&S(k,{label:e.client.name,to:`/clients/${e.client.clientId}`,noun:X(`activity.nouns.client`)},!0)}b(()=>{t(A),t(M),x(()=>{c.reset(),F(),L()})});function te(e){S(y,e,!0),c.reset(),F()}function R(e){S(E,e,!0),e&&S(y,``),c.reset(),F()}async function ne(){S(g,!0);let e=await f.attempt(()=>i.api.query(`mutation Export($from: ISO8601DateTime!, $to: ISO8601DateTime!, $action: String, $actor: ID) {
|
|
406
413
|
exportEvents(from: $from, to: $to, action: $action, actor: $actor) { url count }
|
|
407
|
-
}`,{from:new Date(`${v.from}T00:00:00`).toISOString(),to:new Date(new Date(`${v.to}T00:00:00`).getTime()+864e5).toISOString(),action:t(y)||null,actor:t(A)||null}));S(g,!1),e&&(f.say(X(`activity.downloading`,{count:e.exportEvents.count})),location.assign(e.exportEvents.url))}{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var p=
|
|
414
|
+
}`,{from:new Date(`${v.from}T00:00:00`).toISOString(),to:new Date(new Date(`${v.to}T00:00:00`).getTime()+864e5).toISOString(),action:t(y)||null,actor:t(A)||null}));S(g,!1),e&&(f.say(X(`activity.downloading`,{count:e.exportEvents.count})),location.assign(e.exportEvents.url))}{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var p=Sc(),b=u(p);hc(b,{part:`log`});var x=l(b,2);Nn(x,{get feedback(){return f.state}});var S=l(x,2),C=n=>{var i=vc(),c=o(i),u=n=>{var r=gc(),i=o(r),c=l(i);Z(c,{get to(){return t(k).to},class:`link font-medium`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(k).label)),e(n,i)},$$slots:{default:!0}});var u=l(c,1,!0);J(r),s((e,t)=>{z(i,`${e??``} `),z(u,t)},[()=>X(`activity.involves`,{noun:t(k).noun}),()=>X(`activity.involves_end`)]),e(n,r)},d=n=>{var r=_c(),i=W(r,!0);s(e=>z(i,e),[()=>X(t(A)?`activity.gone.actor`:`activity.gone.client`)]),e(n,r)};r(c,e=>{t(k)?e(u):e(d,-1)}),Z(l(c,2),{to:`/activity`,class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.everything`)]),e(t,r)},$$slots:{default:!0}}),J(i),e(n,i)};r(S,e=>{t(N)&&e(C)});var w=l(S,2);Q(w,{children:(n,r)=>{var i=bc(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=o(f),m=W(p,!0);p.value=p.__value=``;var b=l(p);Y(b,17,()=>t(h),e=>e.action,(n,r)=>{var i=yc(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).action)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(f);var x;I(f),J(a);var S=l(a,2),C=o(S);j(C);var w=l(C);J(S);var D=l(S,2),O=o(D),k=o(O),A=l(k);{let e=q(()=>X(`activity.export.lede`)),n=q(()=>X(`activity.export.title`));Lt(A,{get text(){return t(e)},get label(){return t(n)}})}J(O);var M=l(O,2),N=o(M);j(N);var F=l(N,4);j(F);var ee=l(F,2),L=W(ee,!0);J(M),J(D),J(i),s((e,n,r,i,a,o,s,c)=>{z(u,e),f.disabled=t(E),z(m,n),x!==(x=t(y))&&(f.value=(f.__value=x)??``,T(f,x)),U(C,t(E)),z(w,` ${r??``}`),z(k,`${i??``} `),P(N,`aria-label`,a),P(N,`max`,v.to),P(F,`aria-label`,o),P(F,`min`,v.from),P(F,`max`,s),ee.disabled=t(g)||!v.from||!v.to,z(L,c)},[()=>X(`activity.show`),()=>X(`activity.all`),()=>X(`activity.grave`),()=>X(`activity.export.title`),()=>X(`activity.export.from`),()=>X(`activity.export.through`),()=>_(),()=>X(`activity.export.download`)]),d(`change`,f,e=>te(e.currentTarget.value)),d(`change`,C,e=>R(e.currentTarget.checked)),B(N,()=>v.from,e=>v.from=e),B(F,()=>v.to,e=>v.to=e),d(`click`,ee,ne),e(n,i)},$$slots:{default:!0}});var D=l(w,2),M=e=>{mt(e,{})},F=n=>{Q(n,{children:(n,r)=>{var i=xc(),a=u(i);{let e=q(()=>t(E)?X(`activity.empty.grave`):X(`activity.empty.plain`));Mr(a,{get events(){return t(m)},limit:1/0,get empty(){return t(e)}})}St(l(a,2),{get pages(){return c},get shown(){return t(m).length},get busy(){return t(O)},onpage:ee}),e(n,i)},$$slots:{default:!0}})};r(D,e=>{t(O)&&t(m).length===0?e(M):e(F,-1)}),e(n,p)},$$slots:{default:!0}})}D()}c([`change`,`click`]);var wc=e=>X(`providers.protocols.${e}`),Tc=e=>![`saml`,`mcp`].includes(e.protocol)&&!(e.tokenAuthMethod===`signed_secret`?e.privateKeyHeld:e.secretHeld),Ec=e=>[e.role===`delegate`&&e.protocol!==`mcp`&&[`owns`,X(`providers.marks.owns`),`primary`],e.trustsEmail&&[`mail`,X(`providers.marks.trusts_email`),`good`],e.receivesSignals&&[`signals`,X(`providers.marks.signals`),`info`],e.delegates&&[`delegates`,X(`providers.marks.delegates`),`info`],Tc(e)&&[`unconfirmed`,X(`providers.marks.no_secret`),`warn`]].filter(Boolean),Dc=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Oc=f(`<div class="hint text-xs"> </div>`),kc=f(`<td class="w-full max-w-0 md:w-auto md:max-w-none"><div class="flex min-w-0 items-center gap-2"><!> <!></div> <div class="hint truncate text-xs"><span class="font-mono"> </span> <!> <span class="md:hidden"> </span></div></td> <td class="hidden text-sm whitespace-nowrap md:table-cell"> <div class="hint text-xs"> </div></td> <td class="hidden text-right text-sm whitespace-nowrap md:table-cell"> <!></td>`,1),Ac=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><!> <span class="hint font-mono text-xs"> </span></span> <span class="flex items-baseline gap-3 text-xs"><span class="hint"> </span> <button type="button" class="link"> </button></span></div></li>`),jc=f(`<ul class="slats"></ul>`),Mc=f(`<!> <!>`,1);function Nc(n,i){H(i,!0);let c=ct(),f=`
|
|
408
415
|
key name protocol role trustsEmail receivesSignals delegates tokenAuthMethod secretHeld privateKeyHeld
|
|
409
416
|
connections signedIn emailDomains archivedAt createdAt
|
|
410
417
|
organization { key name }
|
|
@@ -413,7 +420,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
413
420
|
active: providers { ${f} }
|
|
414
421
|
archived: providers(archived: true) { ${f} }
|
|
415
422
|
}
|
|
416
|
-
`,m=[X(`providers.columns.provider`),{label:X(`providers.columns.kind`),hide:!0},{label:X(`providers.columns.connections`),hide:!0,right:!0}],h=Ct(),g=w(C([])),_=w(C([])),v=w(!0);async function y(){let e=await h.attempt(()=>i.api.query(p));S(v,!1),e&&(S(g,e.active,!0),S(_,e.archived,!0))}y();async function b(e){await h.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreProvider(key: $key) { provider { key } } }`,{key:e.key}),X(`providers.notices.restored`,{name:e.name}))&&await y()}{let i=t=>{var n=bc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.add`)]),d(`click`,n,()=>c.go(`/providers/new`)),e(t,n)},f=q(()=>X(`providers.title`)),p=q(()=>X(`providers.lede`));zn(n,{get title(){return t(f)},get lede(){return t(p)},actions:i,children:(n,i)=>{var c=Tc(),f=u(c);Nn(f,{get feedback(){return h.state}});var p=l(f,2),y=e=>{mt(e,{})},x=n=>{var i=Tc(),c=u(i);{let n=n=>{var i=R(),c=u(i);Y(c,17,()=>t(g),e=>e.key,(n,i)=>{{let c=q(()=>`/providers/${t(i).key}`);Wt(n,{get to(){return t(c)},children:(n,c)=>{var d=Sc(),f=u(d),p=o(f),m=o(p);{let n=q(()=>`/providers/${t(i).key}`);Z(m,{get to(){return t(n)},class:`link link-hover truncate font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).name)),e(n,o)},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>yc(t(i)));_t(h,{get marks(){return t(e)}})}J(p);var g=l(p,2),_=o(g),v=W(_,!0),y=l(_,2),b=n=>{var r=a();s(()=>z(r,`· ${t(i).organization.name??``}`)),e(n,r)};r(y,e=>{t(i).organization&&e(b)});var x=l(y,2),S=W(x);J(g),J(f);var C=l(f,2),w=o(C),T=l(w),E=W(T,!0);J(C);var D=l(C,2),O=o(D),k=l(O),A=n=>{var r=xc(),a=W(r,!0);s(e=>z(a,e),[()=>X(`providers.facts.signed_in`,{count:t(i).signedIn})]),e(n,r)};r(k,e=>{t(i).signedIn&&e(A)}),J(D),s((e,n,r)=>{z(v,t(i).key),z(S,`· ${e??``}`),z(w,`${n??``} `),z(E,r),z(O,`${t(i).connections??``} `)},[()=>_c(t(i).protocol),()=>_c(t(i).protocol),()=>t(i).protocol===`mcp`?X(`providers.roles.never`):t(i).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)]),e(n,d)},$$slots:{default:!0}})}}),e(n,i)},i=q(()=>X(`providers.empty`));Yt(c,{get columns(){return m},get count(){return t(g).length},get empty(){return t(i)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`providers.archived`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=wc();Y(i,21,()=>t(_),e=>e.key,(n,r)=>{var i=Cc(),c=o(i),u=o(c),f=o(u);{let n=q(()=>`/providers/${t(r).key}`);Z(f,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var p=l(f,2),m=W(p,!0);J(u);var h=l(u,2),g=o(h),_=W(g,!0),v=l(g,2),y=W(v,!0);J(h),J(c),J(i),s((e,n)=>{z(m,t(r).key),z(_,e),z(y,n)},[()=>X(`providers.archived_on`,{day:Mt(t(r).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,v,()=>b(t(r))),e(n,i)}),J(i),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(_).length&&e(p)}),e(n,i)};r(p,e=>{t(v)?e(y):e(x,-1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Dc=(t,n=F,i=F,a=F,c=F)=>{var u=kc(),f=o(u);j(f);var p=l(f,2),m=o(p),h=W(m,!0),g=l(m,2),_=t=>{var n=Oc(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(g,e=>{c()&&e(_)}),J(p),J(u),s(()=>{U(f,n()),z(h,a())}),d(`change`,f,e=>i()(e.currentTarget.checked)),e(t,u)},Oc=f(`<span class="hint"> </span>`),kc=f(`<label class="flex items-start gap-3 text-sm"><input type="checkbox" class="toggle toggle-sm mt-0.5"/> <span class="flex flex-col gap-0.5"><span> </span> <!></span></label>`),Ac=f(`<p class="text-sm"> <a class="link" target="_blank" rel="noreferrer noopener"> </a>.</p>`),jc=f(`<li class="slat"><span class="hint text-xs"> </span> <span class="flex items-center justify-between gap-3"><code class="min-w-0 font-mono text-xs break-all"> </code> <button type="button" class="btn btn-ghost btn-xs shrink-0"> </button></span></li>`),Mc=f(`<!> <ul class="slats"></ul>`,1),Nc=f(`<!> <!> <!>`,1),Pc=f(`<p class="hint"> </p>`),Fc=f(`<option> </option>`),Ic=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="3"></textarea></label> <!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`,1),Lc=f(`<code class="font-mono text-xs break-all"> </code> <!>`,1),Rc=f(`<!> <!> <!> <!> <!>`,1),zc=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label>`,1),Bc=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><option> </option><option> </option></select></label> <!>`,1),Vc=f(`<!> <!> <!> <!>`,1),Hc=f(`<!> <!> <!> <!> <!> <!>`,1),Uc=f(`<!> <!>`,1),Wc=f(`<p class="text-sm"> </p>`),Gc=f(`<!> <!> <p class="hint"> <code class="font-mono"> </code> </p> <!>`,1),Kc=f(`<span class="text-sm font-medium"> </span> <span class="hint text-xs"> </span>`,1),qc=f(`<div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-3"></div>`),Jc=f(`<div class="grid gap-4"><!> <!> <!> <div class="flex gap-2 border-t border-[var(--line)] pt-5"><button type="button" class="btn btn-primary btn-sm"> </button> <!></div></div>`),Yc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Xc=f(`<div class="callout callout-quiet" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),Zc=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div></div>`),Qc=f(`<div class="callout callout-info"><div class="callout-words"><span> <!> </span></div></div>`),$c=f(`<button type="button" class="btn btn-sm"> </button>`),el=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),tl=f(`<div class="savebar" role="region"><span class="text-sm font-medium"> </span> <div class="flex gap-2"><button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),nl=f(`<!> <!> <!> <!> <div class="grid gap-4"><!></div> <!>`,1);function rl(n,i){H(i,!0);let c=n=>{{let i=q(()=>X(`providers.form.give`,{name:t(xe)})),a=q(()=>t(de)?.guide&&t(ue)?null:X(`providers.sections.give_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Mc(),c=u(a),f=n=>{var r=Ac(),i=o(r),a=l(i),c=W(a,!0);V(),J(r),s((e,n)=>{z(i,`${e??``} `),P(a,`href`,t(de).guide),z(c,n)},[()=>X(`providers.form.guide_lead`,{name:t(de).name}),()=>X(`providers.form.guide_link`,{name:t(de).name})]),e(n,r)};r(c,e=>{t(de)?.guide&&t(ue)&&e(f)});var p=l(c,2);Y(p,21,()=>t(pe)?[[X(`providers.form.acs_url`),t(ye)],[X(`providers.form.sp_entity_id`),t(be)]]:[[X(`providers.form.redirect_uri`),t(ye)]],([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=jc(),f=o(u),p=W(f,!0),m=l(f,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(u),s(e=>{z(p,a()),z(g,c()),z(v,e)},[()=>X(`providers.copy`)]),d(`click`,_,()=>Ve(c())),e(n,u)}),J(p),e(n,a)},$$slots:{default:!0}})}},f=n=>{var i=Hc(),a=u(i);c(a);var d=l(a,2);{let n=q(()=>X(`providers.sections.identity`)),i=q(()=>X(`providers.sections.identity_lede`));Q(d,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Nc(),o=u(a);{let e=q(()=>X(`providers.form.name`));$(o,{get label(){return t(e)},placeholder:`Acme`,get value(){return t(K).name},set value(e){t(K).name=e}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.key`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`acme`,get value(){return t(K).key},set value(e){t(K).key=e}})}};r(s,e=>{t(ue)&&e(c)});var d=l(s,2),f=n=>{var r=R(),i=u(r);Y(i,16,()=>t(de).asks,e=>e,(e,n)=>{{let r=q(()=>y[n]?.[0]??n),i=q(()=>y[n]?.[1]??``);$(e,{get label(){return t(r)},get placeholder(){return t(i)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).asked[n]},set value(e){t(K).asked[n]=e}})}}),e(n,r)};r(d,e=>{t(ue)&&!t(fe)&&e(f)}),e(n,a)},$$slots:{default:!0}})}var f=l(d,2),p=n=>{{let i=q(()=>X(`providers.form.identity_provider`)),a=q(()=>X(`providers.form.metadata_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Ic(),c=u(a);{let e=q(()=>X(`providers.form.metadata_url`)),n=q(()=>X(`providers.form.read`));$(c,{get label(){return t(e)},onsave:()=>(t(K).metadataUrl.trim()||t(K).metadataXml.trim())&&!t(le)&&Pe(),get save(){return t(n)},placeholder:`https://idp.acme.test/metadata`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).metadataUrl},set value(e){t(K).metadataUrl=e}})}var d=l(c,2),f=n=>{var r=Pc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.metadata_read`,{day:t(U).metadataFetchedAt?Mt(t(U).metadataFetchedAt):X(`providers.facts.never`)})]),e(n,r)};r(d,e=>{t(U)?.metadataUrl&&e(f)});var p=l(d,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g),J(p);var _=l(p,2);{let e=q(()=>X(`providers.form.entity_id`));$(_,{get label(){return t(e)},get value(){return t(K).idpEntityId},set value(e){t(K).idpEntityId=e}})}var y=l(_,2);{let e=q(()=>X(`providers.form.sign_in_url`));$(y,{get label(){return t(e)},get value(){return t(K).idpSsoUrl},set value(e){t(K).idpSsoUrl=e}})}var b=l(y,2),x=o(b),S=W(x,!0),C=l(x,2);ae(C),J(b);var w=l(b,2),T=o(w),E=W(T,!0),D=l(T,2);Y(D,21,()=>v,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Fc(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(D),I(D),J(w),s((e,t,n)=>{z(h,e),z(S,t),z(E,n)},[()=>X(`providers.form.paste_metadata`),()=>X(`providers.form.certificates`),()=>X(`providers.form.name_id_format`)]),B(g,()=>t(K).metadataXml,e=>t(K).metadataXml=e),B(C,()=>t(K).idpCertificates,e=>t(K).idpCertificates=e),ee(D,()=>t(K).nameIdFormat,e=>t(K).nameIdFormat=e),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(pe)&&e(p)});var m=l(f,2),h=n=>{{let i=q(()=>X(`providers.sections.mcp`)),a=q(()=>X(`providers.form.mcp_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=R(),o=u(a),c=e=>{{let n=q(()=>X(`providers.form.mcp_url`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://mcp.acme.test/mcp`,get value(){return t(K).resourceUrl},set value(e){t(K).resourceUrl=e}})}},d=n=>{var i=Lc(),a=u(i),o=W(a,!0),c=l(a,2),d=n=>{var r=Pc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.registered`,{day:t(U).registeredAt?Mt(t(U).registeredAt):X(`providers.facts.never`)})]),e(n,r)};r(c,e=>{t(U)&&e(d)}),s(()=>z(o,t(K).resourceUrl)),e(n,i)};r(o,e=>{t(ue)&&t(fe)?e(c):e(d,-1)}),e(n,a)},$$slots:{default:!0}})}};r(m,e=>{t(ge)&&e(h)});var g=l(m,2),_=n=>{{let i=q(()=>X(`providers.sections.endpoints`)),a=q(()=>t(he)?X(`providers.sections.endpoints_oidc`):null);Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Rc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.issuer`)),r=q(()=>X(`providers.form.discover`));$(e,{get label(){return t(n)},onsave:()=>t(K).issuer.trim()&&!t(le)&&Ne(),get save(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://id.acme.test`,get value(){return t(K).issuer},set value(e){t(K).issuer=e}})}};r(o,e=>{t(he)&&e(s)});var c=l(o,2);{let e=q(()=>X(`providers.form.authorization_url`));$(c,{get label(){return t(e)},get value(){return t(K).authorizationUrl},set value(e){t(K).authorizationUrl=e}})}var d=l(c,2);{let e=q(()=>X(`providers.form.token_url`));$(d,{get label(){return t(e)},get value(){return t(K).tokenUrl},set value(e){t(K).tokenUrl=e}})}var f=l(d,2);{let e=q(()=>X(`providers.form.userinfo_url`)),n=q(()=>t(me)?``:X(`providers.form.optional`));$(f,{get label(){return t(e)},get placeholder(){return t(n)},get value(){return t(K).userinfoUrl},set value(e){t(K).userinfoUrl=e}})}var p=l(f,2),m=e=>{{let n=q(()=>X(`providers.form.emails_url`)),r=q(()=>X(`providers.form.optional`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).emailsUrl},set value(e){t(K).emailsUrl=e}})}},h=e=>{{let n=q(()=>X(`providers.form.jwks_uri`)),r=q(()=>X(`providers.form.discovered_if_empty`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).jwksUri},set value(e){t(K).jwksUri=e}})}};r(p,e=>{t(me)?e(m):e(h,-1)}),e(n,a)},$$slots:{default:!0}})}};r(g,e=>{t(fe)&&!t(pe)&&!t(ge)&&e(_)});var b=l(g,2),x=n=>{{let i=q(()=>X(`providers.form.credentials`)),a=q(()=>X(`providers.sections.credentials_lede`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Vc(),c=u(a);{let e=q(()=>t(_e)?X(`providers.form.services_id`):X(`providers.form.client_id`));$(c,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).clientId},set value(e){t(K).clientId=e}})}var d=l(c,2),f=e=>{{let n=q(()=>X(`providers.form.client_secret`)),r=q(()=>t(ue)?``:t(U)?.secretHeld?X(`providers.form.unchanged`):``);$(e,{get label(){return t(n)},type:`password`,autocomplete:`off`,get placeholder(){return t(r)},get value(){return t(K).clientSecret},set value(e){t(K).clientSecret=e}})}};r(d,e=>{t(He)&&e(f)});var p=l(d,2),m=n=>{var r=zc(),i=u(r);{let e=q(()=>X(`providers.form.team_id`));$(i,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).teamId},set value(e){t(K).teamId=e}})}var a=l(i,2);{let e=q(()=>X(`providers.form.key_id`));$(a,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).keyId},set value(e){t(K).keyId=e}})}var c=l(a,2),d=o(c),f=W(d,!0),p=l(d,2);ae(p),J(c),s((e,t)=>{z(f,e),P(p,`placeholder`,t)},[()=>X(`providers.form.private_key`),()=>t(ue)?`-----BEGIN PRIVATE KEY-----`:X(`providers.form.unchanged`)]),B(p,()=>t(K).privateKey,e=>t(K).privateKey=e),e(n,r)};r(p,e=>{t(_e)&&e(m)});var h=l(p,2),g=n=>{var r=Bc(),i=u(r),a=o(i),c=W(a,!0),d=l(a,2),f=o(d),p=W(f,!0);f.value=f.__value=`client_secret_post`;var m=l(f),h=W(m,!0);m.value=m.__value=`client_secret_basic`;var g=l(m),_=W(g,!0);g.value=g.__value=`signed_secret`,J(d),I(d),J(i);var v=l(i,2);{let e=q(()=>X(`providers.form.extra_scopes`)),n=q(()=>t(he)?X(`providers.form.oidc_scopes`):`read:user`);$(v,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).scopes},set value(e){t(K).scopes=e}})}s((e,t,n,r)=>{z(c,e),z(p,t),z(h,n),z(_,r)},[()=>X(`providers.form.sends_secret`),()=>X(`providers.form.secret_post`),()=>X(`providers.form.secret_basic`),()=>X(`providers.form.secret_signed`)]),ee(d,()=>t(K).tokenAuthMethod,e=>t(K).tokenAuthMethod=e),e(n,r)};r(h,e=>{t(fe)&&e(g)}),e(n,a)},$$slots:{default:!0}})}};r(b,e=>{!t(pe)&&!t(ge)&&e(x)}),e(n,i)},p=n=>{var i=Vc(),a=u(i);{let n=q(()=>X(`providers.sections.accounts`)),i=q(()=>X(`providers.form.owns_hint`,{name:t(xe)}));Q(a,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Uc(),o=u(a);{let e=q(()=>X(`providers.form.owns`,{name:t(xe)}));Dc(o,()=>t(K).role===`delegate`,()=>e=>t(K).role=e?`delegate`:`credential`,()=>t(e),()=>null)}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.signup_scopes`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`openid profile email offline_access identities`,get value(){return t(K).signupScopes},set value(e){t(K).signupScopes=e}})}};r(s,e=>{t(K).role===`delegate`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var o=l(a,2);{let n=q(()=>X(`providers.sections.addresses`));Q(o,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Uc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.trusts_email`)),r=q(()=>X(`providers.form.trusts_email_hint`));Dc(e,()=>t(K).trustsEmail,()=>e=>t(K).trustsEmail=e,()=>t(n),()=>t(r))}};r(o,e=>{t(pe)||e(s)});var c=l(o,2);{let e=q(()=>t(pe)?X(`providers.form.saml_domains`):X(`providers.form.domains`)),n=q(()=>X(`providers.form.any_domain`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).emailDomains},set value(e){t(K).emailDomains=e}})}e(n,a)},$$slots:{default:!0}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.sections.signals`));Q(e,{row:!0,get title(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`providers.form.signals`)),r=q(()=>`${X(`providers.form.signals_lead`)} ${ve}/ssf/events. ${X(`providers.form.signals_rest`)}`);Dc(e,()=>t(K).receivesSignals,()=>e=>t(K).receivesSignals=e,()=>t(n),()=>t(r))}},$$slots:{default:!0}})}};r(s,e=>{t(he)&&e(c)});var d=l(s,2),f=n=>{{let r=q(()=>X(`providers.form.claims`)),i=q(()=>X(`providers.sections.claims_lede`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Uc(),a=u(i);{let e=q(()=>t(pe)?X(`providers.form.subject_saml`):t(he)?X(`providers.form.subject_oidc`):X(`providers.form.subject_path`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).subjectClaim},set value(e){t(K).subjectClaim=e}})}var o=l(a,2);Y(o,17,()=>_.filter(([e])=>!(t(pe)&&e===`email_verified`)),([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(pe)?X(`providers.form.attribute_name`):i());$(e,{get label(){return a()},get placeholder(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).claims[i()]},set value(e){t(K).claims[i()]=e}})}}),e(n,i)},$$slots:{default:!0}})}};r(d,e=>{t(fe)&&e(f)}),e(n,i)},m=n=>{{let i=q(()=>X(`providers.sections.delegation`)),a=q(()=>X(`providers.form.delegates_hint`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Uc(),c=u(a),d=e=>{{let n=q(()=>X(`providers.form.delegates`,{name:t(xe)}));Dc(e,()=>t(K).delegates,()=>e=>t(K).delegates=e,()=>t(n),()=>null)}};r(c,e=>{t(ge)||e(d)});var f=l(c,2),p=n=>{var i=Gc(),a=u(i);{let e=q(()=>X(`providers.form.delegated_scopes`)),n=q(()=>t(ge)?X(`providers.form.server_grants`):`https://www.googleapis.com/auth/drive.readonly`);$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).delegatedScopes},set value(e){t(K).delegatedScopes=e}})}var c=l(a,2);{let e=q(()=>X(`providers.form.delegation_params`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`access_type=offline prompt=consent`,get value(){return t(K).delegationParams},set value(e){t(K).delegationParams=e}})}var d=l(c,2),f=o(d),p=l(f),m=W(p),h=l(p);J(d);var g=l(d,2),_=n=>{var r=Wc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.delegations_count`,{count:t(U).delegations})]),e(n,r)};r(g,e=>{t(U)&&e(_)}),s((e,t,n)=>{z(f,`${e??``} `),z(m,`masks:delegate:${t??``}`),z(h,`.
|
|
423
|
+
`,m=[X(`providers.columns.provider`),{label:X(`providers.columns.kind`),hide:!0},{label:X(`providers.columns.connections`),hide:!0,right:!0}],h=Ct(),g=w(C([])),_=w(C([])),v=w(!0);async function y(){let e=await h.attempt(()=>i.api.query(p));S(v,!1),e&&(S(g,e.active,!0),S(_,e.archived,!0))}y();async function b(e){await h.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreProvider(key: $key) { provider { key } } }`,{key:e.key}),X(`providers.notices.restored`,{name:e.name}))&&await y()}{let i=t=>{var n=Dc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.add`)]),d(`click`,n,()=>c.go(`/providers/new`)),e(t,n)},f=q(()=>X(`providers.title`)),p=q(()=>X(`providers.lede`));zn(n,{get title(){return t(f)},get lede(){return t(p)},actions:i,children:(n,i)=>{var c=Mc(),f=u(c);Nn(f,{get feedback(){return h.state}});var p=l(f,2),y=e=>{mt(e,{})},x=n=>{var i=Mc(),c=u(i);{let n=n=>{var i=R(),c=u(i);Y(c,17,()=>t(g),e=>e.key,(n,i)=>{{let c=q(()=>`/providers/${t(i).key}`);Wt(n,{get to(){return t(c)},children:(n,c)=>{var d=kc(),f=u(d),p=o(f),m=o(p);{let n=q(()=>`/providers/${t(i).key}`);Z(m,{get to(){return t(n)},class:`link link-hover truncate font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).name)),e(n,o)},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>Ec(t(i)));_t(h,{get marks(){return t(e)}})}J(p);var g=l(p,2),_=o(g),v=W(_,!0),y=l(_,2),b=n=>{var r=a();s(()=>z(r,`· ${t(i).organization.name??``}`)),e(n,r)};r(y,e=>{t(i).organization&&e(b)});var x=l(y,2),S=W(x);J(g),J(f);var C=l(f,2),w=o(C),T=l(w),E=W(T,!0);J(C);var D=l(C,2),O=o(D),k=l(O),A=n=>{var r=Oc(),a=W(r,!0);s(e=>z(a,e),[()=>X(`providers.facts.signed_in`,{count:t(i).signedIn})]),e(n,r)};r(k,e=>{t(i).signedIn&&e(A)}),J(D),s((e,n,r)=>{z(v,t(i).key),z(S,`· ${e??``}`),z(w,`${n??``} `),z(E,r),z(O,`${t(i).connections??``} `)},[()=>wc(t(i).protocol),()=>wc(t(i).protocol),()=>t(i).protocol===`mcp`?X(`providers.roles.never`):t(i).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)]),e(n,d)},$$slots:{default:!0}})}}),e(n,i)},i=q(()=>X(`providers.empty`));Yt(c,{get columns(){return m},get count(){return t(g).length},get empty(){return t(i)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`providers.archived`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=jc();Y(i,21,()=>t(_),e=>e.key,(n,r)=>{var i=Ac(),c=o(i),u=o(c),f=o(u);{let n=q(()=>`/providers/${t(r).key}`);Z(f,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var p=l(f,2),m=W(p,!0);J(u);var h=l(u,2),g=o(h),_=W(g,!0),v=l(g,2),y=W(v,!0);J(h),J(c),J(i),s((e,n)=>{z(m,t(r).key),z(_,e),z(y,n)},[()=>X(`providers.archived_on`,{day:Mt(t(r).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,v,()=>b(t(r))),e(n,i)}),J(i),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(_).length&&e(p)}),e(n,i)};r(p,e=>{t(v)?e(y):e(x,-1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Pc=(t,n=F,i=F,a=F,c=F)=>{var u=Ic(),f=o(u);j(f);var p=l(f,2),m=o(p),h=W(m,!0),g=l(m,2),_=t=>{var n=Fc(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(g,e=>{c()&&e(_)}),J(p),J(u),s(()=>{U(f,n()),z(h,a())}),d(`change`,f,e=>i()(e.currentTarget.checked)),e(t,u)},Fc=f(`<span class="hint"> </span>`),Ic=f(`<label class="flex items-start gap-3 text-sm"><input type="checkbox" class="toggle toggle-sm mt-0.5"/> <span class="flex flex-col gap-0.5"><span> </span> <!></span></label>`),Lc=f(`<p class="text-sm"> <a class="link" target="_blank" rel="noreferrer noopener"> </a>.</p>`),Rc=f(`<li class="slat"><span class="hint text-xs"> </span> <span class="flex items-center justify-between gap-3"><code class="min-w-0 font-mono text-xs break-all"> </code> <button type="button" class="btn btn-ghost btn-xs shrink-0"> </button></span></li>`),zc=f(`<!> <ul class="slats"></ul>`,1),Bc=f(`<!> <!> <!>`,1),Vc=f(`<p class="hint"> </p>`),Hc=f(`<option> </option>`),Uc=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="3"></textarea></label> <!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`,1),Wc=f(`<code class="font-mono text-xs break-all"> </code> <!>`,1),Gc=f(`<!> <!> <!> <!> <!>`,1),Kc=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label>`,1),qc=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><option> </option><option> </option></select></label> <!>`,1),Jc=f(`<!> <!> <!> <!>`,1),Yc=f(`<!> <!> <!> <!> <!> <!>`,1),Xc=f(`<!> <!>`,1),Zc=f(`<p class="text-sm"> </p>`),Qc=f(`<!> <!> <p class="hint"> <code class="font-mono"> </code> </p> <!>`,1),$c=f(`<span class="text-sm font-medium"> </span> <span class="hint text-xs"> </span>`,1),el=f(`<div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-3"></div>`),tl=f(`<div class="grid gap-4"><!> <!> <!> <div class="flex gap-2 border-t border-[var(--line)] pt-5"><button type="button" class="btn btn-primary btn-sm"> </button> <!></div></div>`),nl=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),rl=f(`<div class="callout callout-quiet" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),il=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div></div>`),al=f(`<div class="callout callout-info"><div class="callout-words"><span> <!> </span></div></div>`),ol=f(`<button type="button" class="btn btn-sm"> </button>`),sl=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),cl=f(`<div class="savebar" role="region"><span class="text-sm font-medium"> </span> <div class="flex gap-2"><button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),ll=f(`<!> <!> <!> <!> <div class="grid gap-4"><!></div> <!>`,1);function ul(n,i){H(i,!0);let c=n=>{{let i=q(()=>X(`providers.form.give`,{name:t(xe)})),a=q(()=>t(de)?.guide&&t(ue)?null:X(`providers.sections.give_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=zc(),c=u(a),f=n=>{var r=Lc(),i=o(r),a=l(i),c=W(a,!0);V(),J(r),s((e,n)=>{z(i,`${e??``} `),P(a,`href`,t(de).guide),z(c,n)},[()=>X(`providers.form.guide_lead`,{name:t(de).name}),()=>X(`providers.form.guide_link`,{name:t(de).name})]),e(n,r)};r(c,e=>{t(de)?.guide&&t(ue)&&e(f)});var p=l(c,2);Y(p,21,()=>t(pe)?[[X(`providers.form.acs_url`),t(ye)],[X(`providers.form.sp_entity_id`),t(be)]]:[[X(`providers.form.redirect_uri`),t(ye)]],([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=Rc(),f=o(u),p=W(f,!0),m=l(f,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(u),s(e=>{z(p,a()),z(g,c()),z(v,e)},[()=>X(`providers.copy`)]),d(`click`,_,()=>Ve(c())),e(n,u)}),J(p),e(n,a)},$$slots:{default:!0}})}},f=n=>{var i=Yc(),a=u(i);c(a);var d=l(a,2);{let n=q(()=>X(`providers.sections.identity`)),i=q(()=>X(`providers.sections.identity_lede`));Q(d,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Bc(),o=u(a);{let e=q(()=>X(`providers.form.name`));$(o,{get label(){return t(e)},placeholder:`Acme`,get value(){return t(K).name},set value(e){t(K).name=e}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.key`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`acme`,get value(){return t(K).key},set value(e){t(K).key=e}})}};r(s,e=>{t(ue)&&e(c)});var d=l(s,2),f=n=>{var r=R(),i=u(r);Y(i,16,()=>t(de).asks,e=>e,(e,n)=>{{let r=q(()=>y[n]?.[0]??n),i=q(()=>y[n]?.[1]??``);$(e,{get label(){return t(r)},get placeholder(){return t(i)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).asked[n]},set value(e){t(K).asked[n]=e}})}}),e(n,r)};r(d,e=>{t(ue)&&!t(fe)&&e(f)}),e(n,a)},$$slots:{default:!0}})}var f=l(d,2),p=n=>{{let i=q(()=>X(`providers.form.identity_provider`)),a=q(()=>X(`providers.form.metadata_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Uc(),c=u(a);{let e=q(()=>X(`providers.form.metadata_url`)),n=q(()=>X(`providers.form.read`));$(c,{get label(){return t(e)},onsave:()=>(t(K).metadataUrl.trim()||t(K).metadataXml.trim())&&!t(le)&&Pe(),get save(){return t(n)},placeholder:`https://idp.acme.test/metadata`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).metadataUrl},set value(e){t(K).metadataUrl=e}})}var d=l(c,2),f=n=>{var r=Vc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.metadata_read`,{day:t(U).metadataFetchedAt?Mt(t(U).metadataFetchedAt):X(`providers.facts.never`)})]),e(n,r)};r(d,e=>{t(U)?.metadataUrl&&e(f)});var p=l(d,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g),J(p);var _=l(p,2);{let e=q(()=>X(`providers.form.entity_id`));$(_,{get label(){return t(e)},get value(){return t(K).idpEntityId},set value(e){t(K).idpEntityId=e}})}var y=l(_,2);{let e=q(()=>X(`providers.form.sign_in_url`));$(y,{get label(){return t(e)},get value(){return t(K).idpSsoUrl},set value(e){t(K).idpSsoUrl=e}})}var b=l(y,2),x=o(b),S=W(x,!0),C=l(x,2);ae(C),J(b);var w=l(b,2),T=o(w),E=W(T,!0),D=l(T,2);Y(D,21,()=>v,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Hc(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(D),I(D),J(w),s((e,t,n)=>{z(h,e),z(S,t),z(E,n)},[()=>X(`providers.form.paste_metadata`),()=>X(`providers.form.certificates`),()=>X(`providers.form.name_id_format`)]),B(g,()=>t(K).metadataXml,e=>t(K).metadataXml=e),B(C,()=>t(K).idpCertificates,e=>t(K).idpCertificates=e),ee(D,()=>t(K).nameIdFormat,e=>t(K).nameIdFormat=e),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(pe)&&e(p)});var m=l(f,2),h=n=>{{let i=q(()=>X(`providers.sections.mcp`)),a=q(()=>X(`providers.form.mcp_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=R(),o=u(a),c=e=>{{let n=q(()=>X(`providers.form.mcp_url`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://mcp.acme.test/mcp`,get value(){return t(K).resourceUrl},set value(e){t(K).resourceUrl=e}})}},d=n=>{var i=Wc(),a=u(i),o=W(a,!0),c=l(a,2),d=n=>{var r=Vc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.registered`,{day:t(U).registeredAt?Mt(t(U).registeredAt):X(`providers.facts.never`)})]),e(n,r)};r(c,e=>{t(U)&&e(d)}),s(()=>z(o,t(K).resourceUrl)),e(n,i)};r(o,e=>{t(ue)&&t(fe)?e(c):e(d,-1)}),e(n,a)},$$slots:{default:!0}})}};r(m,e=>{t(ge)&&e(h)});var g=l(m,2),_=n=>{{let i=q(()=>X(`providers.sections.endpoints`)),a=q(()=>t(he)?X(`providers.sections.endpoints_oidc`):null);Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Gc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.issuer`)),r=q(()=>X(`providers.form.discover`));$(e,{get label(){return t(n)},onsave:()=>t(K).issuer.trim()&&!t(le)&&Ne(),get save(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://id.acme.test`,get value(){return t(K).issuer},set value(e){t(K).issuer=e}})}};r(o,e=>{t(he)&&e(s)});var c=l(o,2);{let e=q(()=>X(`providers.form.authorization_url`));$(c,{get label(){return t(e)},get value(){return t(K).authorizationUrl},set value(e){t(K).authorizationUrl=e}})}var d=l(c,2);{let e=q(()=>X(`providers.form.token_url`));$(d,{get label(){return t(e)},get value(){return t(K).tokenUrl},set value(e){t(K).tokenUrl=e}})}var f=l(d,2);{let e=q(()=>X(`providers.form.userinfo_url`)),n=q(()=>t(me)?``:X(`providers.form.optional`));$(f,{get label(){return t(e)},get placeholder(){return t(n)},get value(){return t(K).userinfoUrl},set value(e){t(K).userinfoUrl=e}})}var p=l(f,2),m=e=>{{let n=q(()=>X(`providers.form.emails_url`)),r=q(()=>X(`providers.form.optional`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).emailsUrl},set value(e){t(K).emailsUrl=e}})}},h=e=>{{let n=q(()=>X(`providers.form.jwks_uri`)),r=q(()=>X(`providers.form.discovered_if_empty`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).jwksUri},set value(e){t(K).jwksUri=e}})}};r(p,e=>{t(me)?e(m):e(h,-1)}),e(n,a)},$$slots:{default:!0}})}};r(g,e=>{t(fe)&&!t(pe)&&!t(ge)&&e(_)});var b=l(g,2),x=n=>{{let i=q(()=>X(`providers.form.credentials`)),a=q(()=>X(`providers.sections.credentials_lede`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Jc(),c=u(a);{let e=q(()=>t(_e)?X(`providers.form.services_id`):X(`providers.form.client_id`));$(c,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).clientId},set value(e){t(K).clientId=e}})}var d=l(c,2),f=e=>{{let n=q(()=>X(`providers.form.client_secret`)),r=q(()=>t(ue)?``:t(U)?.secretHeld?X(`providers.form.unchanged`):``);$(e,{get label(){return t(n)},type:`password`,autocomplete:`off`,get placeholder(){return t(r)},get value(){return t(K).clientSecret},set value(e){t(K).clientSecret=e}})}};r(d,e=>{t(He)&&e(f)});var p=l(d,2),m=n=>{var r=Kc(),i=u(r);{let e=q(()=>X(`providers.form.team_id`));$(i,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).teamId},set value(e){t(K).teamId=e}})}var a=l(i,2);{let e=q(()=>X(`providers.form.key_id`));$(a,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).keyId},set value(e){t(K).keyId=e}})}var c=l(a,2),d=o(c),f=W(d,!0),p=l(d,2);ae(p),J(c),s((e,t)=>{z(f,e),P(p,`placeholder`,t)},[()=>X(`providers.form.private_key`),()=>t(ue)?`-----BEGIN PRIVATE KEY-----`:X(`providers.form.unchanged`)]),B(p,()=>t(K).privateKey,e=>t(K).privateKey=e),e(n,r)};r(p,e=>{t(_e)&&e(m)});var h=l(p,2),g=n=>{var r=qc(),i=u(r),a=o(i),c=W(a,!0),d=l(a,2),f=o(d),p=W(f,!0);f.value=f.__value=`client_secret_post`;var m=l(f),h=W(m,!0);m.value=m.__value=`client_secret_basic`;var g=l(m),_=W(g,!0);g.value=g.__value=`signed_secret`,J(d),I(d),J(i);var v=l(i,2);{let e=q(()=>X(`providers.form.extra_scopes`)),n=q(()=>t(he)?X(`providers.form.oidc_scopes`):`read:user`);$(v,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).scopes},set value(e){t(K).scopes=e}})}s((e,t,n,r)=>{z(c,e),z(p,t),z(h,n),z(_,r)},[()=>X(`providers.form.sends_secret`),()=>X(`providers.form.secret_post`),()=>X(`providers.form.secret_basic`),()=>X(`providers.form.secret_signed`)]),ee(d,()=>t(K).tokenAuthMethod,e=>t(K).tokenAuthMethod=e),e(n,r)};r(h,e=>{t(fe)&&e(g)}),e(n,a)},$$slots:{default:!0}})}};r(b,e=>{!t(pe)&&!t(ge)&&e(x)}),e(n,i)},p=n=>{var i=Jc(),a=u(i);{let n=q(()=>X(`providers.sections.accounts`)),i=q(()=>X(`providers.form.owns_hint`,{name:t(xe)}));Q(a,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Xc(),o=u(a);{let e=q(()=>X(`providers.form.owns`,{name:t(xe)}));Pc(o,()=>t(K).role===`delegate`,()=>e=>t(K).role=e?`delegate`:`credential`,()=>t(e),()=>null)}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.signup_scopes`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`openid profile email offline_access identities`,get value(){return t(K).signupScopes},set value(e){t(K).signupScopes=e}})}};r(s,e=>{t(K).role===`delegate`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var o=l(a,2);{let n=q(()=>X(`providers.sections.addresses`));Q(o,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Xc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.trusts_email`)),r=q(()=>X(`providers.form.trusts_email_hint`));Pc(e,()=>t(K).trustsEmail,()=>e=>t(K).trustsEmail=e,()=>t(n),()=>t(r))}};r(o,e=>{t(pe)||e(s)});var c=l(o,2);{let e=q(()=>t(pe)?X(`providers.form.saml_domains`):X(`providers.form.domains`)),n=q(()=>X(`providers.form.any_domain`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).emailDomains},set value(e){t(K).emailDomains=e}})}e(n,a)},$$slots:{default:!0}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.sections.signals`));Q(e,{row:!0,get title(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`providers.form.signals`)),r=q(()=>`${X(`providers.form.signals_lead`)} ${ve}/ssf/events. ${X(`providers.form.signals_rest`)}`);Pc(e,()=>t(K).receivesSignals,()=>e=>t(K).receivesSignals=e,()=>t(n),()=>t(r))}},$$slots:{default:!0}})}};r(s,e=>{t(he)&&e(c)});var d=l(s,2),f=n=>{{let r=q(()=>X(`providers.form.claims`)),i=q(()=>X(`providers.sections.claims_lede`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Xc(),a=u(i);{let e=q(()=>t(pe)?X(`providers.form.subject_saml`):t(he)?X(`providers.form.subject_oidc`):X(`providers.form.subject_path`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).subjectClaim},set value(e){t(K).subjectClaim=e}})}var o=l(a,2);Y(o,17,()=>_.filter(([e])=>!(t(pe)&&e===`email_verified`)),([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(pe)?X(`providers.form.attribute_name`):i());$(e,{get label(){return a()},get placeholder(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).claims[i()]},set value(e){t(K).claims[i()]=e}})}}),e(n,i)},$$slots:{default:!0}})}};r(d,e=>{t(fe)&&e(f)}),e(n,i)},m=n=>{{let i=q(()=>X(`providers.sections.delegation`)),a=q(()=>X(`providers.form.delegates_hint`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Xc(),c=u(a),d=e=>{{let n=q(()=>X(`providers.form.delegates`,{name:t(xe)}));Pc(e,()=>t(K).delegates,()=>e=>t(K).delegates=e,()=>t(n),()=>null)}};r(c,e=>{t(ge)||e(d)});var f=l(c,2),p=n=>{var i=Qc(),a=u(i);{let e=q(()=>X(`providers.form.delegated_scopes`)),n=q(()=>t(ge)?X(`providers.form.server_grants`):`https://www.googleapis.com/auth/drive.readonly`);$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).delegatedScopes},set value(e){t(K).delegatedScopes=e}})}var c=l(a,2);{let e=q(()=>X(`providers.form.delegation_params`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`access_type=offline prompt=consent`,get value(){return t(K).delegationParams},set value(e){t(K).delegationParams=e}})}var d=l(c,2),f=o(d),p=l(f),m=W(p),h=l(p);J(d);var g=l(d,2),_=n=>{var r=Zc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.delegations_count`,{count:t(U).delegations})]),e(n,r)};r(g,e=>{t(U)&&e(_)}),s((e,t,n)=>{z(f,`${e??``} `),z(m,`masks:delegate:${t??``}`),z(h,`.
|
|
417
424
|
${n??``}`)},[()=>X(`providers.form.delegation_asks`),()=>t(K).key.trim()||`key`,()=>X(`providers.form.delegation_reconnect`)]),e(n,i)};r(f,e=>{(t(K).delegates||t(ge))&&e(p)}),e(n,a)},$$slots:{default:!0}})}},h=L(i,`part`,3,null),g=ct(),_=[`email`,`email_verified`,`name`,`given_name`,`family_name`,`preferred_username`,`picture`].map(e=>[e,X(`providers.claims.${e}`)]),v=[[``,X(`providers.name_id_formats.any`)],[`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`,X(`providers.name_id_formats.persistent`)],[`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`,X(`providers.name_id_formats.email`)],[`urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`,X(`providers.name_id_formats.unspecified`)]],y={domain:[X(`providers.asked.domain`),`acme.okta.com`],tenant:[X(`providers.asked.tenant`),`00000000-0000-0000-0000-000000000000`],realm:[X(`providers.asked.realm`),`staff`]},T=`providerPresets { key name protocol asks needs defaults guide custom trustsEmail delegates delegatedScopes }`,E=`
|
|
418
425
|
query Provider($key: ID!) {
|
|
419
426
|
provider(key: $key) {
|
|
@@ -449,8 +456,8 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
449
456
|
mutation Metadata($metadataUrl: String, $metadataXml: String) {
|
|
450
457
|
readSamlMetadata(metadataUrl: $metadataUrl, metadataXml: $metadataXml) { idpEntityId idpSsoUrl idpCertificates }
|
|
451
458
|
}
|
|
452
|
-
`,{metadataUrl:De(t(K).metadataUrl),metadataXml:De(t(K).metadataXml)}),X(`providers.notices.metadata_read`));S(le,!1),e&&(Object.assign(t(K),e.readSamlMetadata),t(K).metadataXml=``)}async function Fe(){S(le,!0);let e=t(ue),n=t(K).key.trim(),r=await re.attempt(()=>i.api.query(e?M:N,Me()),e?t(ge)?X(`providers.notices.registered`,{name:t(K).name}):X(`providers.notices.added`,{name:t(K).name}):X(`providers.notices.saved`,{name:t(K).name}));S(le,!1),r&&(e?g.go(`/providers/${n}`):await Ee())}let Ie=()=>{S(K,JSON.parse(t(se)),!0)};async function Le(e,n,r=null){(!r||confirm(r))&&await re.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { provider { key } } }`,{key:t(U).key}),n)&&await Ee()}let Re=()=>Le(`archiveProvider`,X(`providers.notices.archived`,{name:t(U).name}),X(`providers.confirm.archive`,{name:t(U).name})),ze=()=>Le(`restoreProvider`,X(`providers.notices.restored`,{name:t(U).name})),Be=()=>Le(`registerProvider`,X(`providers.notices.reregistered`,{name:t(U).name}),X(`providers.confirm.register`,{name:t(U).name})),Ve=e=>navigator.clipboard?.writeText(e),He=q(()=>!t(pe)&&!t(ge)&&!t(_e)&&(!t(ue)||(t(de)?.needs??[`client_secret`]).includes(`client_secret`))),Ue=q(()=>!t(K)?.key.trim()||!t(K).name.trim()?!1:t(ue)&&!t(fe)?(t(de)?.asks??[]).every(e=>t(K).asked[e]?.trim()):t(pe)?t(K).idpEntityId.trim()&&t(K).idpSsoUrl.trim()&&t(K).idpCertificates.trim():t(ge)?!t(ue)||t(K).resourceUrl.trim():t(K).clientId.trim()&&t(K).authorizationUrl.trim()&&t(K).tokenUrl.trim()),We=q(()=>t(U)?[
|
|
453
|
-
${t??``}`)},[()=>X(`providers.callouts.organization_lead`),()=>X(`providers.callouts.organization_rest`)]),e(n,r)};r(S,e=>{t(U).organization&&e(C)});var w=l(S,2);{let e=q(()=>`/providers/${t(U).key}`),n=q(()=>X(`providers.parts.label`));ti(w,{get base(){return t(e)},get part(){return h()},get parts(){return t(Ce)},get label(){return t(n)}})}var T=l(w,2),E=o(T),D=e=>{p(e)},O=e=>{m(e)},k=e=>{Q(e,{children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return re},get rows(){return t(G)},onchange:Ee,showActor:!0})},$$slots:{default:!0}})},A=n=>{var i=
|
|
459
|
+
`,{metadataUrl:De(t(K).metadataUrl),metadataXml:De(t(K).metadataXml)}),X(`providers.notices.metadata_read`));S(le,!1),e&&(Object.assign(t(K),e.readSamlMetadata),t(K).metadataXml=``)}async function Fe(){S(le,!0);let e=t(ue),n=t(K).key.trim(),r=await re.attempt(()=>i.api.query(e?M:N,Me()),e?t(ge)?X(`providers.notices.registered`,{name:t(K).name}):X(`providers.notices.added`,{name:t(K).name}):X(`providers.notices.saved`,{name:t(K).name}));S(le,!1),r&&(e?g.go(`/providers/${n}`):await Ee())}let Ie=()=>{S(K,JSON.parse(t(se)),!0)};async function Le(e,n,r=null){(!r||confirm(r))&&await re.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { provider { key } } }`,{key:t(U).key}),n)&&await Ee()}let Re=()=>Le(`archiveProvider`,X(`providers.notices.archived`,{name:t(U).name}),X(`providers.confirm.archive`,{name:t(U).name})),ze=()=>Le(`restoreProvider`,X(`providers.notices.restored`,{name:t(U).name})),Be=()=>Le(`registerProvider`,X(`providers.notices.reregistered`,{name:t(U).name}),X(`providers.confirm.register`,{name:t(U).name})),Ve=e=>navigator.clipboard?.writeText(e),He=q(()=>!t(pe)&&!t(ge)&&!t(_e)&&(!t(ue)||(t(de)?.needs??[`client_secret`]).includes(`client_secret`))),Ue=q(()=>!t(K)?.key.trim()||!t(K).name.trim()?!1:t(ue)&&!t(fe)?(t(de)?.asks??[]).every(e=>t(K).asked[e]?.trim()):t(pe)?t(K).idpEntityId.trim()&&t(K).idpSsoUrl.trim()&&t(K).idpCertificates.trim():t(ge)?!t(ue)||t(K).resourceUrl.trim():t(K).clientId.trim()&&t(K).authorizationUrl.trim()&&t(K).tokenUrl.trim()),We=q(()=>t(U)?[wc(t(U).protocol),t(U).protocol===`mcp`?X(`providers.roles.never`):t(U).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)].join(` · `):null);var Ge=R(),Ke=u(Ge),qe=n=>{{let i=q(()=>t(de)?X(`providers.form.add_title`,{name:t(de).custom?wc(t(de).protocol):t(de).name}):X(`providers.add`)),c=q(()=>({to:t(de)?`/providers/new`:`/providers`,label:t(de)?X(`providers.picker.back`):X(`providers.back`)})),h=q(()=>t(de)?null:X(`providers.picker.help`));zn(n,{get title(){return t(i)},get back(){return t(c)},get lede(){return t(h)},children:(n,i)=>{var c=Xc(),h=u(c);Nn(h,{get feedback(){return re.state}});var g=l(h,2),_=e=>{mt(e,{})},v=n=>{var i=R(),a=u(i);Y(a,17,()=>[[X(`providers.picker.known`),t(we)],[X(`providers.picker.generic`),t(Te)]],([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];var d=R(),f=u(d),p=n=>{Q(n,{get title(){return o()},children:(n,r)=>{var i=el();Y(i,21,c,e=>e.key,(n,r)=>{{let i=q(()=>`/providers/new/${t(r).key}`);Z(n,{get to(){return t(i)},class:`sheet sheet-press flex items-baseline justify-between gap-3 px-4 py-3 no-underline`,children:(n,i)=>{var a=$c(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s((e,t)=>{z(c,e),z(f,t)},[()=>t(r).custom?wc(t(r).protocol):t(r).name,()=>t(r).custom?``:wc(t(r).protocol)]),e(n,a)},$$slots:{default:!0}})}}),J(i),e(n,i)},$$slots:{default:!0}})};r(f,e=>{c().length&&e(p)}),e(n,d)}),e(n,i)},y=n=>{var i=tl(),c=o(i);f(c);var u=l(c,2),h=e=>{p(e)};r(u,e=>{t(ge)||e(h)});var g=l(u,2),_=e=>{m(e)};r(g,e=>{t(pe)||e(_)});var v=l(g,2),y=o(v),b=W(y,!0);Z(l(y,2),{to:`/providers`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`providers.cancel`)]),e(t,r)},$$slots:{default:!0}}),J(v),J(i),s(e=>{y.disabled=t(le)||!t(Ue),z(b,e)},[()=>t(le)?X(`providers.form.saving`):X(`providers.form.add`)]),d(`click`,y,Fe),e(n,i)};r(g,e=>{t(ce)?e(_):t(de)?t(K)&&e(y,2):e(v,1)}),e(n,c)},$$slots:{default:!0}})}},Je=e=>{mt(e,{})},Ye=t=>{var n=nl(),r=W(n,!0);s(e=>z(r,e),[()=>re.state.failure??X(`providers.missing`)]),e(t,n)},Xe=n=>{{let c=e=>{{let n=q(()=>Ec(t(U)));_t(e,{get marks(){return t(n)}})}},g=q(()=>({to:`/providers`,label:X(`providers.back`)}));zn(n,{get title(){return t(U).name},get id(){return t(U).key},get back(){return t(g)},get lede(){return t(We)},after:c,children:(n,c)=>{var g=ll(),_=u(g);Nn(_,{get feedback(){return re.state}});var v=l(_,2),y=n=>{var r=rl(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`providers.callouts.archived`,{day:Mt(t(U).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,f,ze),e(n,r)},b=n=>{var r=il(),i=o(r),a=o(i),c=W(a,!0),u=l(a,2),d=W(u,!0);J(i),J(r),s((e,t)=>{z(c,e),z(d,t)},[()=>X(`providers.callouts.no_secret`),()=>X(`providers.callouts.no_secret_detail`,{name:t(U).name})]),e(n,r)},x=q(()=>Tc(t(U)));r(v,e=>{t(U).archivedAt?e(y):t(x)&&e(b,1)});var S=l(v,2),C=n=>{var r=al(),i=o(r),c=o(i),u=o(c),d=l(u);{let n=q(()=>`/organizations/${t(U).organization.key}`);Z(d,{get to(){return t(n)},children:(n,r)=>{V();var i=a();s(()=>z(i,t(U).organization.name)),e(n,i)},$$slots:{default:!0}})}var f=l(d);J(c),J(i),J(r),s((e,t)=>{z(u,`${e??``} `),z(f,`.
|
|
460
|
+
${t??``}`)},[()=>X(`providers.callouts.organization_lead`),()=>X(`providers.callouts.organization_rest`)]),e(n,r)};r(S,e=>{t(U).organization&&e(C)});var w=l(S,2);{let e=q(()=>`/providers/${t(U).key}`),n=q(()=>X(`providers.parts.label`));ti(w,{get base(){return t(e)},get part(){return h()},get parts(){return t(Ce)},get label(){return t(n)}})}var T=l(w,2),E=o(T),D=e=>{p(e)},O=e=>{m(e)},k=e=>{Q(e,{children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return re},get rows(){return t(G)},onchange:Ee,showActor:!0})},$$slots:{default:!0}})},A=n=>{var i=Xc(),a=u(i);f(a);var c=l(a,2),p=n=>{{let i=q(()=>X(`providers.danger`)),a=q(()=>t(ge)?X(`providers.danger_lede_mcp`):X(`providers.danger_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=sl(),c=o(a),u=t=>{var n=ol(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.register`)]),d(`click`,n,Be),e(t,n)};r(c,e=>{t(ge)&&e(u)});var f=l(c,2),p=W(f,!0);J(a),s(e=>z(p,e),[()=>X(`providers.archive`)]),d(`click`,f,Re),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(U).archivedAt||e(p)}),e(n,i)};r(E,e=>{h()===`sign-in`&&!t(ge)?e(D):h()===`clients`&&!t(pe)?e(O,1):h()===`accounts`?e(k,2):e(A,-1)}),J(T);var j=l(T,2),M=n=>{var r=cl(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c),J(r),s((e,n,i,o)=>{P(r,`aria-label`,e),z(a,n),z(f,i),p.disabled=t(le)||!t(Ue),z(m,o)},[()=>X(`providers.unsaved`),()=>X(`providers.unsaved`),()=>X(`providers.discard`),()=>t(le)?X(`providers.form.saving`):X(`providers.form.save`)]),d(`click`,u,Ie),d(`click`,p,Fe),e(n,r)};r(j,e=>{t(Se)&&e(M)}),e(n,g)},$$slots:{after:!0,default:!0}})}};r(Ke,e=>{t(ue)?e(qe):t(ce)&&!t(U)?e(Je,1):t(U)?e(Xe,-1):e(Ye,2)}),e(n,Ge),D()}c([`change`,`click`]);var dl=f(`<option> </option>`),fl=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),pl=f(`<p class="hint"> </p>`),ml=f(`<div class="flex flex-col gap-1 sm:col-span-2"><!> <!></div>`),hl=f(`<div class="flex flex-col gap-1"><!> <!></div>`),gl=f(`<!> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <div class="grid gap-3 sm:grid-cols-2"></div> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),_l=f(`<button type="button" class="btn btn-sm"> </button>`),vl=f(`<span class="badge badge-success badge-sm"> </span>`),yl=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),bl=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> <!></span> <span class="hint"> <span class="font-mono"> </span> </span></div> <div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <!></div>`),xl=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Sl=f(`<!> <!> <!>`,1),Cl=f(`<div class="console-page"><!> <!></div>`);function wl(n,i){H(i,!0);let a=`key name kind service label primary settings secretsHeld archivedAt createdAt`,c=`
|
|
454
461
|
query Senders {
|
|
455
462
|
active: senders { ${a} }
|
|
456
463
|
archived: senders(archived: true) { ${a} }
|
|
@@ -468,18 +475,18 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
|
|
|
468
475
|
updateSender(key: $key, name: $name, config: $config, primary: $primary) {
|
|
469
476
|
sender { key }
|
|
470
477
|
}
|
|
471
|
-
}`,{key:t(v).key,name:t(v).name.trim(),config:P(),primary:t(v).primary}),X(e?`senders.added`:`senders.saved`,{name:t(v).name}));S(g,!1),n&&(N(),await O())}async function L(e,t,n,r=null){(!r||confirm(r))&&await p.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { sender { key } } }`,{key:t.key}),n)&&await O()}async function te(e){await p.attempt(()=>i.api.query(`mutation Primary($key: ID!) { updateSender(key: $key, primary: true) { sender { key } } }`,{key:e.key}),X(`senders.primary_notice`,{name:e.name}))&&await O()}async function B(e){let t=(y[e.key]??``).trim();if(!t)return;S(g,!0);let n=await p.attempt(()=>i.api.query(`mutation Test($key: ID!, $to: String!) { testSender(key: $key, to: $to) { delivered failure } }`,{key:e.key,to:t}));S(g,!1),n&&(n.testSender.delivered?p.say(X(`senders.tested`,{name:e.name,to:t})):p.blame(n.testSender.failure))}let V=q(()=>{if(!t(v))return!1;let e=x(t(v).service);return t(v).key.trim()&&t(v).name.trim()&&e.fields.every(e=>!e.required||e.type===`boolean`||e.secret&&t(v).secretsHeld?.includes(e.key)||String(t(v).config[e.key]??``).trim())});var ne=
|
|
478
|
+
}`,{key:t(v).key,name:t(v).name.trim(),config:P(),primary:t(v).primary}),X(e?`senders.added`:`senders.saved`,{name:t(v).name}));S(g,!1),n&&(N(),await O())}async function L(e,t,n,r=null){(!r||confirm(r))&&await p.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { sender { key } } }`,{key:t.key}),n)&&await O()}async function te(e){await p.attempt(()=>i.api.query(`mutation Primary($key: ID!) { updateSender(key: $key, primary: true) { sender { key } } }`,{key:e.key}),X(`senders.primary_notice`,{name:e.name}))&&await O()}async function B(e){let t=(y[e.key]??``).trim();if(!t)return;S(g,!0);let n=await p.attempt(()=>i.api.query(`mutation Test($key: ID!, $to: String!) { testSender(key: $key, to: $to) { delivered failure } }`,{key:e.key,to:t}));S(g,!1),n&&(n.testSender.delivered?p.say(X(`senders.tested`,{name:e.name,to:t})):p.blame(n.testSender.failure))}let V=q(()=>{if(!t(v))return!1;let e=x(t(v).service);return t(v).key.trim()&&t(v).name.trim()&&e.fields.every(e=>!e.required||e.type===`boolean`||e.secret&&t(v).secretsHeld?.includes(e.key)||String(t(v).config[e.key]??``).trim())});var ne=Cl(),re=o(ne);Nn(re,{get feedback(){return p.state}});var U=l(re,2),ie=e=>{mt(e,{})},ae=n=>{var i=Sl(),a=u(i),c=n=>{{let i=q(()=>t(_)===``?X(`senders.form.add`):X(`senders.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=gl(),c=u(a),f=n=>{var r=fl(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(b).filter(e=>e.kind===t(v).kind),e=>e.service,(n,r)=>{var i=dl(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).service)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(v).service)&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`senders.form.service`)]),d(`change`,c,e=>j(e.currentTarget.value)),e(n,r)};r(c,e=>{t(_)===``&&e(f)});var p=l(c,2),m=o(p);{let e=q(()=>X(`senders.form.key`)),n=q(()=>t(_)!==``);$(m,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var h=l(m,2);{let e=q(()=>X(`senders.form.name`));$(h,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(p);var y=l(p,2);Y(y,21,()=>x(t(v).service).fields,e=>e.key,(n,i)=>{var a=R(),c=u(a),d=n=>{var a=ml(),c=o(a);aa(c,{get label(){return t(i).label},get checked(){return t(v).config[t(i).key]},set checked(e){t(v).config[t(i).key]=e}});var u=l(c,2),d=n=>{var r=pl(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)},f=n=>{var r=fl(),a=o(r),c=W(a,!0),u=l(a,2);Y(u,20,()=>t(i).options,e=>e,(t,n)=>{var r=dl(),i=W(r,!0),a={};s(()=>{z(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),e(t,r)}),J(u),I(u),J(r),s(()=>z(c,t(i).label)),ee(u,()=>t(v).config[t(i).key],e=>t(v).config[t(i).key]=e),e(n,r)},p=n=>{var a=hl(),c=o(a);{let e=q(()=>t(i).required?t(i).label:X(`senders.form.optional`,{label:t(i).label})),n=q(()=>t(i).secret?`password`:t(i).type===`integer`?`number`:`text`),r=q(()=>t(i).secret&&t(v).secretsHeld?.includes(t(i).key)?X(`senders.form.unchanged`):``);$(c,{get label(){return t(e)},get type(){return t(n)},autocomplete:`off`,autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(r)},get value(){return t(v).config[t(i).key]},set value(e){t(v).config[t(i).key]=e}})}var u=l(c,2),d=n=>{var r=pl(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)};r(c,e=>{t(i).type===`boolean`?e(d):t(i).options?e(f,1):e(p,-1)}),e(n,a)}),J(y);var S=l(y,2);{let e=q(()=>X(`senders.form.primary`));aa(S,{get label(){return t(e)},get checked(){return t(v).primary},set checked(e){t(v).primary=e}})}var C=l(S,2),w=o(C),E=W(w,!0),D=l(w,2),O=W(D,!0);J(C),s((e,n)=>{w.disabled=t(g)||!t(V),z(E,e),z(O,n)},[()=>t(_)===``?X(`senders.form.create`):X(`senders.form.save`),()=>X(`senders.form.cancel`)]),d(`click`,w,F),d(`click`,D,N),e(n,a)},$$slots:{default:!0}})}};r(a,e=>{t(v)&&e(c)});var p=l(a,2);Y(p,17,()=>f,e=>e.kind,(n,i)=>{let a=q(()=>E(t(m).active,t(i).kind));{let c=n=>{var r=_l(),a=W(r,!0);s(e=>z(a,e),[()=>X(`senders.list.add`)]),d(`click`,r,()=>A(t(i).kind)),e(n,r)},f=q(()=>t(a).length?t(i).lede:t(i).idle);Q(n,{get title(){return t(i).title},get lede(){return t(f)},actions:c,children:(n,c)=>{var f=R(),p=u(f);Y(p,17,()=>t(a),e=>e.key,(n,a)=>{var c=bl(),u=o(c),f=o(u),p=o(f),m=o(p),h=l(m),g=t=>{var n=vl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`senders.list.primary`)]),e(t,n)};r(h,e=>{t(a).primary&&e(g)}),J(p);var _=l(p,2),v=o(_),b=l(v),x=W(b,!0),S=l(b);J(_),J(f);var C=l(f,2),w=o(C),T=n=>{var r=yl(),i=W(r,!0);s(e=>z(i,e),[()=>X(`senders.list.make_primary`)]),d(`click`,r,()=>te(t(a))),e(n,r)};r(w,e=>{t(a).primary||e(T)});var E=l(w,2),D=W(E,!0),O=l(E,2),k=W(O,!0);J(C),J(u);var A=l(u,2);{let e=q(()=>X(`senders.list.test_to`)),n=q(()=>X(`senders.list.test`));$(A,{get label(){return t(e)},get placeholder(){return t(i).to},get save(){return t(n)},onsave:()=>B(t(a)),get value(){return y[t(a).key]},set value(e){y[t(a).key]=e}})}J(c),s((e,n,r)=>{z(m,`${t(a).name??``} `),z(v,`${t(a).label??``} · `),z(x,t(a).key),z(S,` · ${e??``}`),z(D,n),z(k,r)},[()=>X(`senders.list.added`,{day:Mt(t(a).createdAt)}),()=>X(`senders.list.edit`),()=>X(`senders.list.archive`)]),d(`click`,E,()=>M(t(a))),d(`click`,O,()=>L(`archiveSender`,t(a),X(`senders.archived_notice`,{name:t(a).name}),X(`senders.archive_confirm`,{name:t(a).name}))),e(n,c)}),e(n,f)},$$slots:{actions:!0,default:!0}})}});var h=l(p,2),S=n=>{{let r=q(()=>X(`senders.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=xl(),a=o(i),c=o(a),u=l(c),f=W(u);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,`${t(r).label??``} · ${t(r).kind??``}`),z(m,e)},[()=>X(`senders.archived.restore`)]),d(`click`,p,()=>L(`restoreSender`,t(r),X(`senders.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(h,e=>{t(m).archived.length&&e(S)}),e(n,i)};r(U,e=>{t(h)&&!t(m)?e(ie):t(m)&&e(ae,1)}),J(ne),e(n,ne),D()}c([`change`,`click`]);var Tl=f(`<button type="button" class="btn btn-sm btn-ghost"> </button>`),El=f(`<details class="mail-template"><summary class="term"> </summary> <form class="flex flex-col gap-3 pt-3"><!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full" rows="4" maxlength="2000"></textarea> <span class="hint"> <!></span></label> <div class="flex gap-2"><button type="submit" class="btn btn-sm btn-primary"> </button> <!></div></form></details>`);function Dl(n,i){H(i,!0);let c=Ct(),u=w(C(x(()=>i.template.subject)??``)),f=w(C(x(()=>i.template.message)??``)),p=w(!1),m=q(()=>i.template.kind===`signature`),h=q(()=>!!(i.template.subject||i.template.message)),g=q(()=>i.template.placeholders.map(e=>`{{${e}}}`).join(`, `));async function v(e=!1){S(p,!0);let n=await c.attempt(()=>i.api.query(`
|
|
472
479
|
mutation Word($kind: ID!, $subject: String, $message: String) {
|
|
473
480
|
updateMailTemplate(kind: $kind, subject: $subject, message: $message) { mailTemplate { kind } }
|
|
474
481
|
}
|
|
475
|
-
`,{kind:i.template.kind,subject:e||t(m)?``:t(u),message:e?``:t(f)}),X(e?`mail_template.reset`:`mail_template.saved`,{title:i.title}));S(p,!1),n&&i.onsaved?.()}var y=
|
|
482
|
+
`,{kind:i.template.kind,subject:e||t(m)?``:t(u),message:e?``:t(f)}),X(e?`mail_template.reset`:`mail_template.saved`,{title:i.title}));S(p,!1),n&&i.onsaved?.()}var y=El(),b=o(y),T=W(b),E=l(b,2),O=o(E);Nn(O,{get feedback(){return c.state}});var k=l(O,2),A=e=>{{let n=q(()=>X(`mail_template.subject`)),r=q(()=>X(`mail_template.subject_placeholder`));$(e,{get label(){return t(n)},maxlength:`150`,get placeholder(){return t(r)},get value(){return t(u)},set value(e){S(u,e,!0)}})}};r(k,e=>{t(m)||e(A)});var j=l(k,2),M=o(j),N=W(M,!0),F=l(M,2);ae(F);var I=l(F,2),ee=o(I),L=l(ee),te=t=>{var n=a();s(e=>z(n,e),[()=>X(`mail_template.hint_more`)]),e(t,n)};r(L,e=>{t(m)||e(te)}),J(I),J(j);var R=l(j,2),V=o(R),ne=W(V,!0),re=l(V,2),U=n=>{var r=Tl(),i=W(r,!0);s(e=>{r.disabled=t(p),z(i,e)},[()=>X(`mail_template.use_default`)]),d(`click`,r,()=>v(!0)),e(n,r)};r(re,e=>{t(h)&&e(U)}),J(R),J(E),J(y),s((e,n,r,i,a,o)=>{y.open=t(h)||void 0,z(T,`${e??``}${n??``}`),z(N,r),P(F,`placeholder`,i),z(ee,`${a??``} `),V.disabled=t(p),z(ne,o)},[()=>X(t(m)?`mail_template.signature`:`mail_template.template`),()=>t(h)?X(`mail_template.customized`):``,()=>X(t(m)?`mail_template.closing`:`mail_template.opening`),()=>X(t(m)?`mail_template.closing_placeholder`:`mail_template.opening_placeholder`),()=>X(`mail_template.hint`,{names:t(g)}),()=>X(`mail_template.save`)]),_(`submit`,E,e=>{e.preventDefault(),v()}),B(F,()=>t(f),e=>S(f,e)),e(n,y),D()}c([`click`]);var Ol=f(`<option> </option>`),kl=f(`<optgroup></optgroup>`),Al=f(`<select class="select select-sm w-full"><option> </option><!></select>`),jl=f(`<button type="button" class="mail-item"> </button>`),Ml=f(`<div class="mail-group"><div class="flex items-center gap-2"><span class="term"> </span> <!></div> <!> <!></div>`),Nl=f(`<iframe class="mail-frame" sandbox="allow-same-origin"></iframe>`),Pl=f(`<pre class="mail-text"> </pre>`),Fl=f(`<div class="mail"><div class="mail-pick"><select class="select select-sm w-full"></select> <!></div> <nav class="mail-list"></nav> <article class="mail-view"><header class="mail-head"><div class="flex min-w-0 flex-col gap-0.5"><h2 class="mail-subject"> </h2> <p class="hint"> </p></div> <div class="range" role="group"><button type="button"> </button> <button type="button"> </button></div></header> <div class="mail-words"><!> <!></div> <!></article></div>`),Il=f(`<div class="console-page"><!></div>`);function Ll(n,a){H(a,!0);let c=[`sign_in`,`manage`,`account`,`system`],f=e=>e===`invitation_organization`?`invitation`:e,p=w(``),m=w(0),h=w(null),v=w(`html`);function y(e){let t=e.currentTarget;t.style.height=`${t.contentDocument.documentElement.scrollHeight}px`}var b=Il(),x=o(b);i(x,()=>`${t(p)}:${t(m)}`,n=>{nc(n,{load:()=>a.api.query(`
|
|
476
483
|
query MailPreviews($client: ID) {
|
|
477
484
|
mailPreviews(client: $client) { key name journey heading subject from to html text }
|
|
478
485
|
clients { clientId name approvedAt }
|
|
479
486
|
mailTemplates { kind subject message placeholders }
|
|
480
487
|
}
|
|
481
|
-
`,{client:t(p)||null}),children:(n,b=F)=>{let x=q(()=>b().mailPreviews),C=q(()=>t(x).find(e=>e.key===t(h))??t(x)[0]),w=q(()=>Object.fromEntries(b().mailTemplates.map(e=>[e.kind,e]))),E=q(()=>t(w)[f(t(C).key)]);var D=
|
|
482
|
-
actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),
|
|
488
|
+
`,{client:t(p)||null}),children:(n,b=F)=>{let x=q(()=>b().mailPreviews),C=q(()=>t(x).find(e=>e.key===t(h))??t(x)[0]),w=q(()=>Object.fromEntries(b().mailTemplates.map(e=>[e.kind,e]))),E=q(()=>t(w)[f(t(C).key)]);var D=Fl(),O=o(D),k=o(O);Y(k,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var o=R(),c=u(o),l=n=>{var r=kl();Y(r,21,()=>t(a),e=>e.key,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(r),s(e=>P(r,`label`,e),[()=>X(`emails.groups.${i}.title`)]),e(n,r)};r(c,e=>{t(a).length&&e(l)}),e(n,o)}),J(k);var A;I(k);var j=l(k,2),M=n=>{var r=Al(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(j,e=>{t(C).journey===`sign_in`&&e(M)}),J(O);var N=l(O,2);Y(N,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var c=R(),f=u(c),m=n=>{var c=Ml(),u=o(c),f=o(u),m=W(f,!0),g=l(f,2);{let e=q(()=>X(`emails.groups.${i}.help`)),n=q(()=>X(`emails.groups.${i}.about`));Lt(g,{get text(){return t(e)},get label(){return t(n)}})}J(u);var _=l(u,2),v=n=>{var r=Al(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(_,e=>{i===`sign_in`&&e(v)});var y=l(_,2);Y(y,17,()=>t(a),e=>e.key,(n,r)=>{var i=jl(),a=W(i,!0);s(()=>{P(i,`aria-current`,t(r).key===t(C).key?`true`:void 0),z(a,t(r).name)}),d(`click`,i,()=>S(h,t(r).key,!0)),e(n,i)}),J(c),s(e=>z(m,e),[()=>X(`emails.groups.${i}.title`)]),e(n,c)};r(f,e=>{t(a).length&&e(m)}),e(n,c)}),J(N);var ee=l(N,2),L=o(ee),te=o(L),B=o(te),V=W(B,!0),ne=l(B,2),re=W(ne,!0);J(te);var H=l(te,2),U=o(H),ie=W(U,!0),ae=l(U,2),G=W(ae,!0);J(H),J(L);var oe=l(L,2),K=o(oe),se=n=>{var r=R(),o=u(r);i(o,()=>t(E).kind,e=>{Dl(e,{get api(){return a.api},get template(){return t(E)},get title(){return t(C).name},onsaved:()=>g(m)})}),e(n,r)};r(K,e=>{t(E)&&e(se)});var ce=l(K,2);{let e=q(()=>X(`emails.signature`));Dl(ce,{get api(){return a.api},get template(){return t(w).signature},get title(){return t(e)},onsaved:()=>g(m)})}J(oe);var le=l(oe,2),de=n=>{var r=Nl();s(()=>{P(r,`title`,t(C).subject),P(r,`srcdoc`,t(C).html)}),_(`load`,r,y),ue(r),e(n,r)},fe=n=>{var r=Pl(),i=W(r,!0);s(()=>z(i,t(C).text??``)),e(n,r)};r(le,e=>{t(v)===`html`&&t(C).html?e(de):e(fe,-1)}),J(ee),J(D),s((e,n,r,i,a,o)=>{P(k,`aria-label`,e),A!==(A=t(C).key)&&(k.value=(k.__value=A)??``,T(k,A)),P(N,`aria-label`,n),z(V,t(C).subject),z(re,r),P(H,`aria-label`,i),P(U,`aria-pressed`,t(v)===`html`),z(ie,a),P(ae,`aria-pressed`,t(v)===`text`),z(G,o)},[()=>X(`emails.list`),()=>X(`emails.list`),()=>X(`emails.headed`,{heading:t(C).heading,from:t(C).from||X(`emails.no_sender`),to:t(C).to}),()=>X(`emails.part`),()=>X(`emails.html`),()=>X(`emails.text`)]),d(`change`,k,e=>S(h,e.currentTarget.value,!0)),d(`click`,U,()=>S(v,`html`)),d(`click`,ae,()=>S(v,`text`)),e(n,D)},$$slots:{default:!0}})}),J(b),e(n,b),D()}c([`change`,`click`]);var Rl=f(`<nav class="settings-tabs"><!> <!></nav> <!>`,1);function zl(n,i){H(i,!0);let c=L(i,`part`,3,null),d=q(()=>c()===`templates`);{let c=q(()=>X(`messages.title`)),f=q(()=>X(t(d)?`messages.templates.lede`:`messages.sending.lede`));zn(n,{get title(){return t(c)},get lede(){return t(f)},children:(n,c)=>{var f=Rl(),p=u(f),m=o(p);{let n=q(()=>t(d)?``:`settings-tab-on`);Z(m,{to:`/messages`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.sending.title`)]),e(t,r)},$$slots:{default:!0}})}var h=l(m,2);{let n=q(()=>t(d)?`settings-tab-on`:``);Z(h,{to:`/messages/templates`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.templates.title`)]),e(t,r)},$$slots:{default:!0}})}J(p);var g=l(p,2),_=e=>{Ll(e,{get api(){return i.api}})},v=e=>{wl(e,{get api(){return i.api}})};r(g,e=>{t(d)?e(_):e(v,-1)}),s(e=>P(p,`aria-label`,e),[()=>X(`messages.parts`)]),e(n,f)},$$slots:{default:!0}})}D()}var Bl=f(`<input class="input input-sm w-full font-mono" readonly=""/> <div><button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Vl=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="4" placeholder="session.started
|
|
489
|
+
actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Hl=f(`<button type="button" class="btn btn-sm"> </button>`),Ul=f(`<span class="text-sm text-error"> </span>`),Wl=f(`<span class="hint"> </span>`),Gl=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint break-all"><span class="font-mono"> </span> </span> <span class="hint"> </span> <!></div> <div class="flex flex-wrap gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div></div>`),Kl=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),ql=f(`<!> <!> <!> <!>`,1),Jl=f(`<!> <!> <!>`,1);function Yl(n,i){H(i,!0);let a=`key name url actions lastDeliveredAt lastFailure archivedAt createdAt organization { key name }`,c=`
|
|
483
490
|
query Streams {
|
|
484
491
|
active: eventStreams { ${a} }
|
|
485
492
|
archived: eventStreams(archived: true) { ${a} }
|
|
@@ -492,7 +499,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
|
|
|
492
499
|
updateEventStream(key: $key, name: $name, url: $url, actions: $actions, organization: $organization) {
|
|
493
500
|
eventStream { key }
|
|
494
501
|
}
|
|
495
|
-
}`,n),X(e?`streams.added`:`streams.saved`,{name:t(v).name}));S(h,!1),r&&(S(y,e?r.createEventStream.secret:null,!0),E(),await b())}async function k(e,t,n,r=null){(!r||confirm(r))&&await f.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { eventStream { key } } }`,{key:t.key}),n)&&await b()}async function A(e){if(!confirm(X(`streams.rotate_confirm`,{name:e.name})))return;let t=await f.attempt(()=>i.api.query(`mutation Rotate($key: ID!) { rotateEventStreamSecret(key: $key) { secret } }`,{key:e.key}));t&&S(y,t.rotateEventStreamSecret.secret,!0)}async function M(e){S(h,!0);let t=await f.attempt(()=>i.api.query(`mutation Test($key: ID!) { testEventStream(key: $key) { delivered failure } }`,{key:e.key}));S(h,!1),t&&(t.testEventStream.delivered?f.say(X(`streams.tested`,{name:e.name})):f.blame(t.testEventStream.failure),await b())}let N=q(()=>t(v)?.key.trim()&&t(v).name.trim()&&t(v).url.trim());{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var a=
|
|
502
|
+
}`,n),X(e?`streams.added`:`streams.saved`,{name:t(v).name}));S(h,!1),r&&(S(y,e?r.createEventStream.secret:null,!0),E(),await b())}async function k(e,t,n,r=null){(!r||confirm(r))&&await f.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { eventStream { key } } }`,{key:t.key}),n)&&await b()}async function A(e){if(!confirm(X(`streams.rotate_confirm`,{name:e.name})))return;let t=await f.attempt(()=>i.api.query(`mutation Rotate($key: ID!) { rotateEventStreamSecret(key: $key) { secret } }`,{key:e.key}));t&&S(y,t.rotateEventStreamSecret.secret,!0)}async function M(e){S(h,!0);let t=await f.attempt(()=>i.api.query(`mutation Test($key: ID!) { testEventStream(key: $key) { delivered failure } }`,{key:e.key}));S(h,!1),t&&(t.testEventStream.delivered?f.say(X(`streams.tested`,{name:e.name})):f.blame(t.testEventStream.failure),await b())}let N=q(()=>t(v)?.key.trim()&&t(v).name.trim()&&t(v).url.trim());{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var a=Jl(),c=u(a);hc(c,{part:`streams`});var b=l(c,2);Nn(b,{get feedback(){return f.state}});var x=l(b,2),w=e=>{mt(e,{})},D=n=>{var i=ql(),a=u(i),c=n=>{{let r=q(()=>X(`streams.secret.title`)),i=q(()=>X(`streams.secret.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Bl(),a=u(i);j(a);var c=l(a,2),f=o(c),p=W(f,!0);J(c),s(e=>{ne(a,t(y)),z(p,e)},[()=>X(`streams.secret.saved`)]),_(`focus`,a,e=>e.currentTarget.select()),d(`click`,f,()=>S(y,null)),e(n,i)},$$slots:{default:!0}})}};r(a,e=>{t(y)&&e(c)});var f=l(a,2),m=n=>{{let i=q(()=>t(g)===``?X(`streams.form.add`):X(`streams.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=Vl(),c=u(a),f=o(c);{let e=q(()=>X(`streams.form.key`)),n=q(()=>t(g)!==``);$(f,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var m=l(f,2);{let e=q(()=>X(`streams.form.name`));$(m,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(c);var _=l(c,2);{let e=q(()=>X(`streams.form.address`));$(_,{get label(){return t(e)},type:`url`,placeholder:`https://siem.example.com/masks`,autocapitalize:`none`,spellcheck:`false`,get value(){return t(v).url},set value(e){t(v).url=e}})}var y=l(_,2),b=o(y),x=W(b,!0),S=l(b,2);ae(S);var C=l(S,2),w=W(C,!0);J(y);var T=l(y,2),D=e=>{{let n=q(()=>X(`streams.form.events_from`)),r=q(()=>[[``,X(`streams.form.every_organization`)],...t(p).organizations.map(e=>[e.key,X(`streams.form.only`,{name:e.name})])]);ra(e,{get label(){return t(n)},get value(){return t(v).organization},get options(){return t(r)},onchange:e=>t(v).organization=e})}};r(T,e=>{t(p).organizations.length&&e(D)});var k=l(T,2),A=o(k),j=W(A,!0),M=l(A,2),P=W(M,!0);J(k),s((e,n,r,i)=>{z(x,e),z(w,n),A.disabled=t(h)||!t(N),z(j,r),z(P,i)},[()=>X(`streams.form.actions`),()=>X(`streams.form.actions_hint`),()=>t(g)===``?X(`streams.form.create`):X(`streams.form.save`),()=>X(`streams.form.cancel`)]),B(S,()=>t(v).actions,e=>t(v).actions=e),d(`click`,A,O),d(`click`,M,E),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(v)&&e(m)});var b=l(f,2);{let n=t=>{var n=Hl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`streams.list.add`)]),d(`click`,n,C),e(t,n)},i=q(()=>X(`streams.list.title`)),a=q(()=>t(p).active.length?X(`streams.list.lede`):X(`streams.list.empty`));Q(b,{get title(){return t(i)},get lede(){return t(a)},actions:n,children:(n,i)=>{var a=R(),c=u(a);Y(c,17,()=>t(p).active,e=>e.key,(n,i)=>{var a=Gl(),c=o(a),u=o(c),f=o(u),p=W(f,!0),m=l(f,2),g=o(m),_=W(g,!0),v=l(g);J(m);var y=l(m,2),b=W(y),x=l(y,2),S=n=>{var r=Ul(),a=W(r,!0);s(()=>z(a,t(i).lastFailure)),e(n,r)},C=n=>{var r=Wl(),a=W(r,!0);s(e=>z(a,e),[()=>X(`streams.list.last_delivered`,{day:Mt(t(i).lastDeliveredAt)})]),e(n,r)};r(x,e=>{t(i).lastFailure?e(S):t(i).lastDeliveredAt&&e(C,1)}),J(u);var w=l(u,2),E=o(w),D=W(E,!0),O=l(E,2),j=W(O,!0),N=l(O,2),P=W(N,!0),F=l(N,2),I=W(F,!0);J(w),J(c),J(a),s((e,n,r,a,o,s,c)=>{z(p,t(i).name),z(_,t(i).key),z(v,` · ${t(i).url??``} · ${e??``}`),z(b,`${n??``}${r??``}`),E.disabled=t(h),z(D,a),z(j,o),z(P,s),z(I,c)},[()=>X(`streams.list.added`,{day:Mt(t(i).createdAt)}),()=>t(i).actions.length?t(i).actions.join(`, `):X(`streams.list.every_action`),()=>t(i).organization?X(`streams.list.only`,{name:t(i).organization.name}):``,()=>X(`streams.list.test`),()=>X(`streams.list.edit`),()=>X(`streams.list.rotate`),()=>X(`streams.list.archive`)]),d(`click`,E,()=>M(t(i))),d(`click`,O,()=>T(t(i))),d(`click`,N,()=>A(t(i))),d(`click`,F,()=>k(`archiveEventStream`,t(i),X(`streams.archived_notice`,{name:t(i).name}),X(`streams.archive_confirm`,{name:t(i).name}))),e(n,a)}),e(n,a)},$$slots:{actions:!0,default:!0}})}var x=l(b,2),w=n=>{{let r=q(()=>X(`streams.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(p).archived,e=>e.key,(n,r)=>{var i=Kl(),a=o(i),c=o(a),u=l(c),f=W(u,!0);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,t(r).url),z(m,e)},[()=>X(`streams.archived.restore`)]),d(`click`,p,()=>k(`restoreEventStream`,t(r),X(`streams.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(p).archived.length&&e(w)}),e(n,i)};r(x,e=>{t(m)&&!t(p)?e(w):t(p)&&e(D,1)}),e(n,a)},$$slots:{default:!0}})}D()}c([`click`]);var Xl=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="203.0.113.0/24"></textarea> <span class="hint"> </span></label> <div><button type="button" class="btn btn-sm"> </button></div>`,1),Zl=f(`<div class="grid max-w-xl gap-3 sm:grid-cols-2"><!> <!></div>`),Ql=f(`<!> <!> <!> <!>`,1),$l=f(`<!> <!>`,1);function eu(n,i){H(i,!0);let a=[[0,X(`settings.idle.never`)],[90,X(`settings.idle.after_90_days`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)]],c=[[0,X(`settings.idle.never`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)],[1095,X(`settings.idle.after_three_years`)]],f=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],p=Ct(),m=w(null),h=w(``),g=w(``);async function _(){let e=await p.attempt(()=>i.api.query(`
|
|
496
503
|
query SignInRules {
|
|
497
504
|
tenant { namedBy browsersOnly blockedAgents riskyNetworks suspendAfter deleteAfter signInPolicy { key } }
|
|
498
505
|
signInPolicies { key name }
|
|
@@ -510,7 +517,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
|
|
|
510
517
|
suspendAfter: $suspendAfter
|
|
511
518
|
deleteAfter: $deleteAfter
|
|
512
519
|
) { tenant { name } }
|
|
513
|
-
}`,e),t)&&await _()}function y(e){return e&&!confirm(X(`settings.idle.delete_confirm`))?_():v({deleteAfter:e},X(`settings.idle.updated`))}var b
|
|
520
|
+
}`,e),t)&&await _()}function y(e){return e&&!confirm(X(`settings.idle.delete_confirm`))?_():v({deleteAfter:e},X(`settings.idle.updated`))}var b=$l(),x=u(b);Nn(x,{get feedback(){return p.state}});var C=l(x,2),T=n=>{var r=Ql(),i=u(r);{let e=q(()=>X(`settings.naming.title`)),n=q(()=>X(`settings.naming.help`));Q(i,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>[[`nickname`,X(`settings.naming.nickname`)],[`email`,X(`settings.naming.email`)],[`either`,X(`settings.naming.either`)]]);ra(e,{get value(){return t(m).tenant.namedBy},get options(){return t(n)},onchange:e=>v({namedBy:e},X(`settings.naming.updated`))})}},$$slots:{default:!0}})}var p=l(i,2);{let e=q(()=>X(`settings.policy.title`)),n=q(()=>X(`settings.policy.help`));Q(p,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>t(m).tenant.signInPolicy?.key??``),r=q(()=>[[``,X(`settings.policy.built_in`)],...t(m).signInPolicies.map(e=>[e.key,e.name])]);ra(e,{get value(){return t(n)},get options(){return t(r)},onchange:e=>v({signInPolicy:e},X(`settings.policy.updated`))})}},$$slots:{default:!0}})}var _=l(p,2);{let n=q(()=>X(`settings.access.title`)),r=q(()=>X(`settings.access.help`));Q(_,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Xl(),a=u(i);{let e=q(()=>X(`settings.access.browsers_only`));aa(a,{get label(){return t(e)},get checked(){return t(m).tenant.browsersOnly},onchange:e=>v({browsersOnly:e},X(`settings.access.updated`))})}var c=l(a,2);{let e=q(()=>X(`settings.access.refused_agents`));$(c,{get label(){return t(e)},placeholder:`curl, python-requests`,onsave:()=>v({blockedAgents:t(h)},X(`settings.access.updated`)),get value(){return t(h)},set value(e){S(h,e,!0)}})}var f=l(c,2),p=o(f),_=W(p,!0),y=l(p,2);ae(y);var b=l(y,2),x=W(b,!0);J(f);var C=l(f,2),w=o(C),T=W(w,!0);J(C),s((e,t,n)=>{z(_,e),z(x,t),z(T,n)},[()=>X(`settings.access.risky_networks`),()=>X(`settings.access.risky_hint`),()=>X(`settings.access.save_networks`)]),B(y,()=>t(g),e=>S(g,e)),d(`click`,w,()=>v({riskyNetworks:t(g)},X(`settings.access.networks_saved`))),e(n,i)},$$slots:{default:!0}})}var b=l(_,2);{let n=q(()=>X(`settings.idle.title`)),r=q(()=>X(`settings.idle.help`));Q(b,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Zl(),s=o(i);{let e=q(()=>X(`settings.idle.suspend`)),n=q(()=>t(m).tenant.suspendAfter??0),r=q(()=>f(a,t(m).tenant.suspendAfter));ra(s,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>v({suspendAfter:Number(e)},X(`settings.idle.updated`))})}var u=l(s,2);{let e=q(()=>X(`settings.idle.delete`)),n=q(()=>t(m).tenant.deleteAfter??0),r=q(()=>f(c,t(m).tenant.deleteAfter).map(([e,n])=>[e,n,e>0&&e<=(t(m).tenant.suspendAfter??0)]));ra(u,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y(Number(e))})}J(i),e(n,i)},$$slots:{default:!0}})}e(n,r)};r(C,e=>{t(m)&&e(T)}),e(n,b),D()}c([`click`]);var tu=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),nu=f(`<option> </option>`),ru=f(`<p class="text-xs text-warning"> <!></p>`),iu=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label></div> <p class="hint"> </p> <!> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),au=f(`<p class="text-xs opacity-85"> </p> <!>`,1),ou=f(`<p class="text-xs text-warning"> </p>`),su=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),cu=f(`<div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"><input class="input input-sm w-16" type="number" min="8"/> </label> <!> <!></div>`),lu=f(`<div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div>`),uu=f(`<div class="grid gap-3 sm:grid-cols-[2fr_1fr]"><!> <!></div> <div class="policy-rows"><div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><!> <!> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="grid gap-3 sm:grid-cols-3"></div> <div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label></div> <!> <p class="hint"> </p></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label></div> <p class="hint"> </p></div></div></div> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),du=f(`<p class="text-sm opacity-85"> </p>`),fu=f(`<span class="badge badge-success badge-sm"> </span>`),pu=f(` <!>`,1),mu=f(`<span class="hint"> <!></span>`),hu=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),gu=f(`<div class="flex flex-wrap items-start justify-between gap-2 border-b border-base-300 pb-3 last:border-0 last:pb-0"><div class="flex min-w-0 flex-col gap-1"><span class="font-medium"> <!></span> <span class="hint"> </span> <!></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <!></div></div>`),_u=f(`<!> <!>`,1),vu=f(`<div class="flex items-center justify-between gap-2"><span class="text-sm"> </span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),yu=f(`<!> <!> <!> <!>`,1);function bu(n,c){H(c,!0);let f=`
|
|
514
521
|
key name signup nickname email emailVerified phone phoneVerified
|
|
515
522
|
passwordMinimum refuseCommonPasswords passwordRequired firstFactors secondFactors secondFactorRequired appsRequireSecondFactor
|
|
516
523
|
sessionLifetime sessionIdleTimeout refuseBreachedPasswords riskStepUpAt riskRefuseAt proofOfWork
|
|
@@ -542,7 +549,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
|
|
|
542
549
|
refuseBreachedPasswords: $refuseBreachedPasswords, riskStepUpAt: $riskStepUpAt, riskRefuseAt: $riskRefuseAt, proofOfWork: $proofOfWork, emailDomains: $emailDomains,
|
|
543
550
|
providers: $providers, everyProvider: $everyProvider, confirmation: $confirmation,
|
|
544
551
|
hidden: $hidden, signupScopes: $signupScopes
|
|
545
|
-
`,g=3600,_=24*g,v=[[null,X(`policy_rules.values.default_lifetime`)],...[g,8*g,12*g,_,7*_,30*_,90*_].map(e=>[e,ja(e)])],y=[[null,X(`policies.never`)],...[900,1800,g,4*g,_].map(e=>[e,ja(e)])],b=[[null,X(`policies.never`)],...[30,50,70,90].map(e=>[e,X(`policies.score`,{score:e})])],x=[[0,X(`policies.form.signup.work_off`)],[14,X(`policies.form.signup.work_light`)],[17,X(`policies.form.signup.work_standard`)],[20,X(`policies.form.signup.work_strong`)]],T=e=>x.some(([t])=>t===e)?x:[...x,[e,X(`policies.form.signup.work_bits`,{bits:e})]],E=(e,t)=>t===null||e.some(([e])=>e===t)?e:[...e,[t,X(`policy_rules.units.second`,{count:t})]],O=(e,t)=>t.map(t=>[t,X(`policies.${e}.${t}`)]),k=O(`presence`,[`off`,`optional`,`required`]),M=O(`first`,[`password`,`passkey`,`provider`,`email_code`]),N=O(`second`,[`otp`,`passkey`,`backup_codes`,`email`,`sms`,`trusted_device`]),P=O(`confirmations`,[`none`,`code`,`link`,`approval`]),F=[`nickname`,`email`,`phone`].map(e=>[e,X(`policies.form.account.${e}`)]),L={key:``,name:``,signup:!1,nickname:`optional`,email:`required`,emailVerified:!1,phone:`off`,phoneVerified:!1,passwordMinimum:8,refuseCommonPasswords:!0,passwordRequired:!1,firstFactors:[`password`,`passkey`,`provider`],secondFactors:[`otp`,`passkey`,`backup_codes`],secondFactorRequired:!1,appsRequireSecondFactor:!1,sessionLifetime:null,sessionIdleTimeout:null,refuseBreachedPasswords:!1,riskStepUpAt:null,riskRefuseAt:null,proofOfWork:17,emailDomains:``,providers:null,confirmation:`none`,hidden:!1,signupScopes:[]},te=Ct(),ne=w(null),re=w(!0),U=w(!1),ae=w(null),G=w(C({...L}));async function oe(){S(re,!0);let e=await te.attempt(()=>c.api.query(p));S(re,!1),e&&S(ne,e,!0)}oe();function K(){S(ae,``),S(le,!1),S(G,structuredClone(L),!0),te.clear()}function se(e){S(ae,e.key,!0),S(G,{...structuredClone(A(e)),emailDomains:e.emailDomains.join(` `)},!0),te.clear()}let ce=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),le=w(!1);function ue(e){t(G).name=e,t(ae)===``&&!t(le)&&(t(G).key=ce(e))}function de(){S(ae,null),te.clear()}let fe=(e,t,n)=>n?[...new Set([...e,t])]:e.filter(e=>e!==t);function pe(){return{key:t(G).key.trim(),name:t(G).name.trim(),signup:t(G).signup,nickname:t(G).nickname,email:t(G).email,emailVerified:t(G).emailVerified,phone:t(G).phone,phoneVerified:t(G).phoneVerified,passwordMinimum:Number(t(G).passwordMinimum)||8,refuseCommonPasswords:t(G).refuseCommonPasswords,passwordRequired:t(G).passwordRequired&&t(G).firstFactors.includes(`password`),firstFactors:t(G).firstFactors,secondFactors:t(G).secondFactors,secondFactorRequired:t(G).secondFactorRequired,appsRequireSecondFactor:t(G).appsRequireSecondFactor,sessionLifetime:t(G).sessionLifetime,sessionIdleTimeout:t(G).sessionIdleTimeout,refuseBreachedPasswords:t(G).refuseBreachedPasswords,riskStepUpAt:t(G).riskStepUpAt,riskRefuseAt:t(G).riskRefuseAt,proofOfWork:Number(t(G).proofOfWork)||0,emailDomains:t(G).emailDomains.split(/[\s,]+/).filter(Boolean),providers:t(G).providers??[],everyProvider:t(G).providers===null,confirmation:t(G).confirmation,hidden:t(G).hidden,signupScopes:t(G).signupScopes}}async function me(){S(U,!0);let e=t(ae)===``,n=await te.attempt(()=>c.api.query(e?`mutation Create(${m}) { createSignInPolicy(${h}) { signInPolicy { key } } }`:`mutation Update(${m}) { updateSignInPolicy(${h}) { signInPolicy { key } } }`,pe()),X(e?`policies.added`:`policies.saved`,{name:t(G).name}));S(U,!1),n&&(S(ae,null),await oe())}async function he(e,t,n,r=null){(!r||confirm(r))&&await te.attempt(()=>c.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { signInPolicy { key } } }`,{key:t.key}),n)&&await oe()}let ge=e=>[e.signup?X(`policies.summary.signup_open`):X(`policies.summary.invitation_only`),e.secondFactorRequired?X(`policies.summary.second_factor_required`):null,e.appsRequireSecondFactor?X(`policies.summary.apps_require_second_factor`):null,e.sessionLifetime?X(`policies.summary.lifetime`,{duration:ja(e.sessionLifetime)}):null,e.sessionIdleTimeout?X(`policies.summary.idle`,{duration:ja(e.sessionIdleTimeout)}):null,e.confirmation===`none`?null:X(`policies.summary.confirmed_by`,{confirmation:e.confirmation}),e.phone===`required`?X(`policies.summary.phone_required`):null,e.hidden?X(`policies.summary.hidden`):null].filter(Boolean).join(` · `),_e=q(()=>t(ne)?.providers??[]);{let f=n=>{var i=R(),a=u(i),o=t=>{var n=Jl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.add`)]),d(`click`,n,K),e(t,n)};r(a,e=>{t(ae)===null&&e(o)}),e(n,i)},p=q(()=>X(`policies.title`));zn(n,{get title(){return t(p)},actions:f,children:(n,f)=>{var p=uu(),m=u(p);Nn(m,{get feedback(){return te.state}});var h=l(m,2),g=e=>{mt(e,{})},_=n=>{var f=fu(),p=u(f),m=n=>{{let i=q(()=>t(ae)===``?X(`policies.form.new`):t(G).name);Q(n,{get title(){return t(i)},children:(n,i)=>{var c=ru(),f=u(c),p=o(f);{let e=q(()=>X(`policies.form.name`)),n=q(()=>X(`policies.form.name_placeholder`));$(p,{get label(){return t(e)},get value(){return t(G).name},oninput:e=>ue(e.currentTarget.value),get placeholder(){return t(n)}})}var m=l(p,2);{let e=q(()=>X(`policies.form.key`)),n=q(()=>t(ae)!==``);$(m,{get label(){return t(e)},oninput:()=>S(le,!0),get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,class:`input input-sm w-full font-mono`,get value(){return t(G).key},set value(e){t(G).key=e}})}J(f);var h=l(f,2),g=o(h),_=o(g),x=W(_,!0),C=l(_,2),w=o(C);{let e=q(()=>X(`policies.form.signup.open`));aa(w,{get label(){return t(e)},get checked(){return t(G).signup},set checked(e){t(G).signup=e}})}var D=l(w,2),O=n=>{var i=Zl(),c=u(i),d=o(c);{let e=q(()=>X(`policies.form.signup.email_domains`)),n=q(()=>X(`policies.form.signup.email_domains_placeholder`));$(d,{get label(){return t(e)},autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(G).emailDomains},set value(e){t(G).emailDomains=e}})}var f=l(d,2),p=o(f),m=W(p,!0),h=l(p,2);Y(h,21,()=>P,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(h),I(h),J(f);var g=l(f,2),_=o(g),v=W(_,!0),y=l(_,2);Y(y,21,()=>T(t(G).proofOfWork),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(y),I(y),J(g),J(c);var b=l(c,2),x=W(b,!0),S=l(b,2),C=t=>{var n=Xl(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.no_mail`)]),e(t,n)};r(S,e=>{(t(G).confirmation===`code`||t(G).confirmation===`link`)&&!t(ne).tenant.mails&&e(C)});var w=l(S,2),E=o(w),D=W(E,!0),O=l(E,2);{let e=q(()=>t(ne).scopesSupported.filter(e=>!e.startsWith(`masks:`)));Tn(O,{get value(){return t(G).signupScopes},get available(){return t(e)},onchange:e=>t(G).signupScopes=e})}J(w),s((e,t,n,r)=>{z(m,e),z(v,t),z(x,n),z(D,r)},[()=>X(`policies.form.signup.confirmation`),()=>X(`policies.form.signup.work`),()=>X(`policies.form.signup.work_hint`),()=>X(`policies.form.signup.scopes`)]),ee(h,()=>t(G).confirmation,e=>t(G).confirmation=e),ee(y,()=>t(G).proofOfWork,e=>t(G).proofOfWork=e),e(n,i)};r(D,e=>{t(G).signup&&e(O)});var A=l(D,2);{let e=q(()=>X(`policies.form.signup.hidden`));aa(A,{get label(){return t(e)},get checked(){return t(G).hidden},set checked(e){t(G).hidden=e}})}var L=l(A,2),te=n=>{var i=Ql(),c=u(i),d=W(c,!0),f=l(c,2),p=t=>{var n=Xl(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.hidden_no_mail`)]),e(t,n)};r(f,e=>{t(ne).tenant.mails||e(p)}),s(e=>z(d,e),[()=>X(`policies.form.signup.hidden_hint`)]),e(n,i)},re=t=>{var n=$l(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.form.signup.open_warning`)]),e(t,n)};r(L,e=>{t(G).hidden?e(te):t(G).signup&&e(re,1)}),J(C),J(g);var H=l(g,2),oe=o(H),K=W(oe,!0),se=l(oe,2),ce=o(se);Y(ce,21,()=>F,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=eu(),d=o(u),f=W(d,!0),p=l(d,2);Y(p,21,()=>k,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p),I(p),J(u),s(()=>z(f,c())),ee(p,()=>t(G)[a()],e=>t(G)[a()]=e),e(n,u)}),J(ce);var pe=l(ce,2),he=o(pe);{let e=q(()=>X(`policies.form.account.email_verified`));aa(he,{get label(){return t(e)},get checked(){return t(G).emailVerified},set checked(e){t(G).emailVerified=e}})}var ge=l(he,2);{let e=q(()=>X(`policies.form.account.phone_verified`));aa(ge,{get label(){return t(e)},get checked(){return t(G).phoneVerified},set checked(e){t(G).phoneVerified=e}})}J(pe);var ve=l(pe,2),ye=t=>{var n=Xl(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.account.no_sms`)]),e(t,n)};r(ve,e=>{t(G).phone!==`off`&&t(G).phoneVerified&&!t(ne).tenant.texts&&e(ye)}),J(se),J(H);var be=l(H,2),xe=o(be),Se=W(xe,!0),Ce=l(xe,2),we=o(Ce);Y(we,21,()=>M,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).firstFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).firstFactors=fe(t(G).firstFactors,i(),e)})}}),J(we);var Te=l(we,2),Ee=n=>{var i=tu(),a=o(i),c=o(a);j(c);var u=l(c);J(a);var d=l(a,2);{let e=q(()=>X(`policies.form.sign_in.refuse_common`));aa(d,{get label(){return t(e)},get checked(){return t(G).refuseCommonPasswords},set checked(e){t(G).refuseCommonPasswords=e}})}var f=l(d,2),p=e=>{{let n=q(()=>X(`policies.form.sign_in.password_required`));aa(e,{get label(){return t(n)},get checked(){return t(G).passwordRequired},set checked(e){t(G).passwordRequired=e}})}},m=q(()=>t(G).firstFactors.includes(`passkey`));r(f,e=>{t(m)&&e(p)}),J(i),s(e=>z(u,` ${e??``}`),[()=>X(`policies.form.sign_in.characters`)]),B(c,()=>t(G).passwordMinimum,e=>t(G).passwordMinimum=e),e(n,i)},De=q(()=>t(G).firstFactors.includes(`password`));r(Te,e=>{t(De)&&e(Ee)});var Oe=l(Te,2),ke=n=>{var i=nu(),a=o(i);{let e=q(()=>X(`policies.form.sign_in.all_providers`)),n=q(()=>t(G).providers===null);aa(a,{get label(){return t(e)},get checked(){return t(n)},onchange:e=>t(G).providers=e?null:t(_e).map(e=>e.key)})}var s=l(a,2),c=n=>{var r=R(),i=u(r);Y(i,17,()=>t(_e),e=>e.key,(e,n)=>{{let r=q(()=>t(G).providers.includes(t(n).key));aa(e,{get label(){return t(n).name},get checked(){return t(r)},onchange:e=>t(G).providers=fe(t(G).providers,t(n).key,e)})}}),e(n,r)};r(s,e=>{t(G).providers!==null&&e(c)}),J(i),e(n,i)},Ae=q(()=>t(G).firstFactors.includes(`provider`)&&t(_e).length);r(Oe,e=>{t(Ae)&&e(ke)}),J(Ce),J(be);var je=l(be,2),Me=o(je),Ne=W(Me,!0),Pe=l(Me,2),Fe=o(Pe);Y(Fe,21,()=>N,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).secondFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).secondFactors=fe(t(G).secondFactors,i(),e)})}}),J(Fe);var Ie=l(Fe,2);{let e=q(()=>X(`policies.form.second_factor.required`));aa(Ie,{get label(){return t(e)},get checked(){return t(G).secondFactorRequired},set checked(e){t(G).secondFactorRequired=e}})}var Le=l(Ie,2);{let e=q(()=>X(`policies.form.second_factor.apps`));aa(Le,{get label(){return t(e)},get checked(){return t(G).appsRequireSecondFactor},set checked(e){t(G).appsRequireSecondFactor=e}})}J(Pe),J(je);var Re=l(je,2),ze=o(Re),Be=W(ze,!0),Ve=l(ze,2),He=o(Ve),Ue=o(He),We=o(Ue),Ge=l(We);Y(Ge,21,()=>E(b,t(G).riskStepUpAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Ge),I(Ge),J(Ue);var Ke=l(Ue,2),qe=o(Ke),Je=l(qe);Y(Je,21,()=>E(b,t(G).riskRefuseAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Je),I(Je),J(Ke),J(He);var Ye=l(He,2);{let e=q(()=>X(`policies.form.risk.refuse_breached`));aa(Ye,{get label(){return t(e)},get checked(){return t(G).refuseBreachedPasswords},set checked(e){t(G).refuseBreachedPasswords=e}})}var Xe=l(Ye,2),Ze=W(Xe,!0);J(Ve),J(Re);var Qe=l(Re,2),$e=o(Qe),et=W($e,!0),tt=l($e,2),nt=o(tt),rt=o(nt),it=o(rt),at=l(it);Y(at,21,()=>E(v,t(G).sessionLifetime),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(at),I(at);var ot=l(at);J(rt);var st=l(rt,2),ct=o(st),lt=l(ct);Y(lt,21,()=>E(y,t(G).sessionIdleTimeout),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Yl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(lt),I(lt);var ut=l(lt);J(st),J(nt);var dt=l(nt,2),ft=W(dt,!0);J(tt),J(Qe),J(h);var pt=l(h,2),mt=o(pt),ht=W(mt,!0),gt=l(mt,2),_t=W(gt,!0);J(pt),s((e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)=>{z(x,e),z(K,t),z(Se,n),z(Ne,r),z(Be,i),z(We,`${a??``} `),z(qe,`${o??``} `),z(Ze,s),z(et,c),z(it,`${l??``} `),z(ot,` ${u??``}`),z(ct,`${d??``} `),z(ut,` ${f??``}`),z(ft,p),mt.disabled=m,z(ht,h),z(_t,g)},[()=>X(`policies.form.signup.legend`),()=>X(`policies.form.account.legend`),()=>X(`policies.form.sign_in.legend`),()=>X(`policies.form.second_factor.legend`),()=>X(`policies.form.risk.legend`),()=>X(`policies.form.risk.step_up`),()=>X(`policies.form.risk.refuse`),()=>X(`policies.form.risk.hint`),()=>X(`policies.form.sessions.legend`),()=>X(`policies.form.sessions.last`),()=>X(`policies.form.sessions.after_sign_in`),()=>X(`policies.form.sessions.end_after`),()=>X(`policies.form.sessions.idle`),()=>X(`policies.form.sessions.hint`),()=>t(U)||!t(G).key.trim()||!t(G).name.trim(),()=>t(ae)===``?X(`policies.form.create`):X(`policies.form.save`),()=>X(`policies.form.cancel`)]),ee(Ge,()=>t(G).riskStepUpAt,e=>t(G).riskStepUpAt=e),ee(Je,()=>t(G).riskRefuseAt,e=>t(G).riskRefuseAt=e),ee(at,()=>t(G).sessionLifetime,e=>t(G).sessionLifetime=e),ee(lt,()=>t(G).sessionIdleTimeout,e=>t(G).sessionIdleTimeout=e),d(`click`,mt,me),d(`click`,gt,de),e(n,c)},$$slots:{default:!0}})}};r(p,e=>{t(ae)!==null&&e(m)});var h=l(p,2);Q(h,{children:(n,i)=>{var c=uu(),f=u(c),p=t=>{var n=iu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.empty`)]),e(t,n)};r(f,e=>{t(ne).active.length===0&&e(p)});var m=l(f,2);Y(m,17,()=>t(ne).active,e=>e.key,(n,i)=>{var c=lu(),f=o(c),p=o(f),m=o(p),h=l(m),g=t=>{var n=au(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.default`)]),e(t,n)};r(h,e=>{t(i).default&&e(g)}),J(p);var _=l(p,2),v=W(_,!0),y=l(_,2),b=n=>{var r=su(),c=o(r),d=l(c);Y(d,19,()=>t(i).clients,e=>e.clientId,(n,r,i)=>{V();var o=ou(),c=u(o,!0),d=l(c);{let n=q(()=>`/clients/${t(r).clientId}`);Z(d,{get to(){return t(n)},class:`link`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}s(()=>z(c,t(i)?`, `:``)),e(n,o)}),J(r),s(e=>z(c,`${e??``} `),[()=>X(`policies.list.used_by`)]),e(n,r)};r(y,e=>{t(i).clients.length&&e(b)}),J(f);var x=l(f,2),S=o(x),C=W(S,!0),w=l(S,2),T=n=>{var r=cu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`policies.list.archive`)]),d(`click`,r,()=>he(`archiveSignInPolicy`,t(i),X(`policies.archived_notice`,{name:t(i).name}),X(`policies.archive_confirm`,{name:t(i).name}))),e(n,r)};r(w,e=>{t(i).default||e(T)}),J(x),J(c),s((e,n)=>{z(m,`${t(i).name??``} `),z(v,e),z(C,n)},[()=>ge(t(i)),()=>X(`policies.list.edit`)]),d(`click`,S,()=>se(t(i))),e(n,c)}),e(n,c)},$$slots:{default:!0}});var g=l(h,2),_=n=>{var r=R(),a=u(r);i(a,()=>t(ne),e=>{ql(e,{get api(){return c.api}})}),e(n,r)};r(g,e=>{t(ae)===null&&e(_)});var x=l(g,2),C=n=>{{let r=q(()=>X(`policies.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(ne).archived,e=>e.key,(n,r)=>{var i=du(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0);J(i),s(e=>{z(c,t(r).name),z(f,e)},[()=>X(`policies.archived.restore`)]),d(`click`,u,()=>he(`restoreSignInPolicy`,t(r),X(`policies.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(ne).archived.length&&e(C)}),e(n,f)};r(h,e=>{t(re)&&!t(ne)?e(g):t(ne)&&e(_,1)}),e(n,p)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var mu=f(`<p class="hint"> </p>`),hu=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> </div> <code class="hint font-mono text-xs break-all"> </code> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),gu=f(`<ul class="compact-list"></ul>`),_u=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code></div>`),vu=f(`<dl class="ldap-facts"><dt class="field-label"> </dt> <dd><code class="font-mono text-xs"> </code></dd> <dt class="field-label"> </dt> <dd><code class="font-mono text-xs break-all"> </code></dd></dl> <!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-48" placeholder="jellyfin"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <p class="hint"> </p> <!> <!> <p class="hint"> </p>`,1),yu=f(`<!> <!>`,1);function bu(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(``),p=w(null);async function m(){try{S(c,await i.api.query(`
|
|
552
|
+
`,g=3600,_=24*g,v=[[null,X(`policy_rules.values.default_lifetime`)],...[g,8*g,12*g,_,7*_,30*_,90*_].map(e=>[e,ja(e)])],y=[[null,X(`policies.never`)],...[900,1800,g,4*g,_].map(e=>[e,ja(e)])],b=[[null,X(`policies.never`)],...[30,50,70,90].map(e=>[e,X(`policies.score`,{score:e})])],x=[[0,X(`policies.form.signup.work_off`)],[14,X(`policies.form.signup.work_light`)],[17,X(`policies.form.signup.work_standard`)],[20,X(`policies.form.signup.work_strong`)]],T=e=>x.some(([t])=>t===e)?x:[...x,[e,X(`policies.form.signup.work_bits`,{bits:e})]],E=(e,t)=>t===null||e.some(([e])=>e===t)?e:[...e,[t,X(`policy_rules.units.second`,{count:t})]],O=(e,t)=>t.map(t=>[t,X(`policies.${e}.${t}`)]),k=O(`presence`,[`off`,`optional`,`required`]),M=O(`first`,[`password`,`passkey`,`provider`,`email_code`]),N=O(`second`,[`otp`,`passkey`,`backup_codes`,`email`,`sms`,`trusted_device`]),P=O(`confirmations`,[`none`,`code`,`link`,`approval`]),F=[`nickname`,`email`,`phone`].map(e=>[e,X(`policies.form.account.${e}`)]),L={key:``,name:``,signup:!1,nickname:`optional`,email:`required`,emailVerified:!1,phone:`off`,phoneVerified:!1,passwordMinimum:8,refuseCommonPasswords:!0,passwordRequired:!1,firstFactors:[`password`,`passkey`,`provider`],secondFactors:[`otp`,`passkey`,`backup_codes`],secondFactorRequired:!1,appsRequireSecondFactor:!1,sessionLifetime:null,sessionIdleTimeout:null,refuseBreachedPasswords:!1,riskStepUpAt:null,riskRefuseAt:null,proofOfWork:17,emailDomains:``,providers:null,confirmation:`none`,hidden:!1,signupScopes:[]},te=Ct(),ne=w(null),re=w(!0),U=w(!1),ae=w(null),G=w(C({...L}));async function oe(){S(re,!0);let e=await te.attempt(()=>c.api.query(p));S(re,!1),e&&S(ne,e,!0)}oe();function K(){S(ae,``),S(le,!1),S(G,structuredClone(L),!0),te.clear()}function se(e){S(ae,e.key,!0),S(G,{...structuredClone(A(e)),emailDomains:e.emailDomains.join(` `)},!0),te.clear()}let ce=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),le=w(!1);function ue(e){t(G).name=e,t(ae)===``&&!t(le)&&(t(G).key=ce(e))}function de(){S(ae,null),te.clear()}let fe=(e,t,n)=>n?[...new Set([...e,t])]:e.filter(e=>e!==t);function pe(){return{key:t(G).key.trim(),name:t(G).name.trim(),signup:t(G).signup,nickname:t(G).nickname,email:t(G).email,emailVerified:t(G).emailVerified,phone:t(G).phone,phoneVerified:t(G).phoneVerified,passwordMinimum:Number(t(G).passwordMinimum)||8,refuseCommonPasswords:t(G).refuseCommonPasswords,passwordRequired:t(G).passwordRequired&&t(G).firstFactors.includes(`password`),firstFactors:t(G).firstFactors,secondFactors:t(G).secondFactors,secondFactorRequired:t(G).secondFactorRequired,appsRequireSecondFactor:t(G).appsRequireSecondFactor,sessionLifetime:t(G).sessionLifetime,sessionIdleTimeout:t(G).sessionIdleTimeout,refuseBreachedPasswords:t(G).refuseBreachedPasswords,riskStepUpAt:t(G).riskStepUpAt,riskRefuseAt:t(G).riskRefuseAt,proofOfWork:Number(t(G).proofOfWork)||0,emailDomains:t(G).emailDomains.split(/[\s,]+/).filter(Boolean),providers:t(G).providers??[],everyProvider:t(G).providers===null,confirmation:t(G).confirmation,hidden:t(G).hidden,signupScopes:t(G).signupScopes}}async function me(){S(U,!0);let e=t(ae)===``,n=await te.attempt(()=>c.api.query(e?`mutation Create(${m}) { createSignInPolicy(${h}) { signInPolicy { key } } }`:`mutation Update(${m}) { updateSignInPolicy(${h}) { signInPolicy { key } } }`,pe()),X(e?`policies.added`:`policies.saved`,{name:t(G).name}));S(U,!1),n&&(S(ae,null),await oe())}async function he(e,t,n,r=null){(!r||confirm(r))&&await te.attempt(()=>c.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { signInPolicy { key } } }`,{key:t.key}),n)&&await oe()}let ge=e=>[e.signup?X(`policies.summary.signup_open`):X(`policies.summary.invitation_only`),e.secondFactorRequired?X(`policies.summary.second_factor_required`):null,e.appsRequireSecondFactor?X(`policies.summary.apps_require_second_factor`):null,e.sessionLifetime?X(`policies.summary.lifetime`,{duration:ja(e.sessionLifetime)}):null,e.sessionIdleTimeout?X(`policies.summary.idle`,{duration:ja(e.sessionIdleTimeout)}):null,e.confirmation===`none`?null:X(`policies.summary.confirmed_by`,{confirmation:e.confirmation}),e.phone===`required`?X(`policies.summary.phone_required`):null,e.hidden?X(`policies.summary.hidden`):null].filter(Boolean).join(` · `),_e=q(()=>t(ne)?.providers??[]);{let f=n=>{var i=R(),a=u(i),o=t=>{var n=tu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.add`)]),d(`click`,n,K),e(t,n)};r(a,e=>{t(ae)===null&&e(o)}),e(n,i)},p=q(()=>X(`policies.title`));zn(n,{get title(){return t(p)},actions:f,children:(n,f)=>{var p=_u(),m=u(p);Nn(m,{get feedback(){return te.state}});var h=l(m,2),g=e=>{mt(e,{})},_=n=>{var f=yu(),p=u(f),m=n=>{{let i=q(()=>t(ae)===``?X(`policies.form.new`):t(G).name);Q(n,{get title(){return t(i)},children:(n,i)=>{var c=uu(),f=u(c),p=o(f);{let e=q(()=>X(`policies.form.name`)),n=q(()=>X(`policies.form.name_placeholder`));$(p,{get label(){return t(e)},get value(){return t(G).name},oninput:e=>ue(e.currentTarget.value),get placeholder(){return t(n)}})}var m=l(p,2);{let e=q(()=>X(`policies.form.key`)),n=q(()=>t(ae)!==``);$(m,{get label(){return t(e)},oninput:()=>S(le,!0),get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,class:`input input-sm w-full font-mono`,get value(){return t(G).key},set value(e){t(G).key=e}})}J(f);var h=l(f,2),g=o(h),_=o(g),x=W(_,!0),C=l(_,2),w=o(C);{let e=q(()=>X(`policies.form.signup.open`));aa(w,{get label(){return t(e)},get checked(){return t(G).signup},set checked(e){t(G).signup=e}})}var D=l(w,2),O=n=>{var i=iu(),c=u(i),d=o(c);{let e=q(()=>X(`policies.form.signup.email_domains`)),n=q(()=>X(`policies.form.signup.email_domains_placeholder`));$(d,{get label(){return t(e)},autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(G).emailDomains},set value(e){t(G).emailDomains=e}})}var f=l(d,2),p=o(f),m=W(p,!0),h=l(p,2);Y(h,21,()=>P,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(h),I(h),J(f);var g=l(f,2),_=o(g),v=W(_,!0),y=l(_,2);Y(y,21,()=>T(t(G).proofOfWork),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(y),I(y),J(g),J(c);var b=l(c,2),x=W(b,!0),S=l(b,2),C=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.no_mail`)]),e(t,n)};r(S,e=>{(t(G).confirmation===`code`||t(G).confirmation===`link`)&&!t(ne).tenant.mails&&e(C)});var w=l(S,2),E=o(w),D=W(E,!0),O=l(E,2);{let e=q(()=>t(ne).scopesSupported.filter(e=>!e.startsWith(`masks:`)));Tn(O,{get value(){return t(G).signupScopes},get available(){return t(e)},onchange:e=>t(G).signupScopes=e})}J(w),s((e,t,n,r)=>{z(m,e),z(v,t),z(x,n),z(D,r)},[()=>X(`policies.form.signup.confirmation`),()=>X(`policies.form.signup.work`),()=>X(`policies.form.signup.work_hint`),()=>X(`policies.form.signup.scopes`)]),ee(h,()=>t(G).confirmation,e=>t(G).confirmation=e),ee(y,()=>t(G).proofOfWork,e=>t(G).proofOfWork=e),e(n,i)};r(D,e=>{t(G).signup&&e(O)});var A=l(D,2);{let e=q(()=>X(`policies.form.signup.hidden`));aa(A,{get label(){return t(e)},get checked(){return t(G).hidden},set checked(e){t(G).hidden=e}})}var L=l(A,2),te=n=>{var i=au(),c=u(i),d=W(c,!0),f=l(c,2),p=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.hidden_no_mail`)]),e(t,n)};r(f,e=>{t(ne).tenant.mails||e(p)}),s(e=>z(d,e),[()=>X(`policies.form.signup.hidden_hint`)]),e(n,i)},re=t=>{var n=ou(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.form.signup.open_warning`)]),e(t,n)};r(L,e=>{t(G).hidden?e(te):t(G).signup&&e(re,1)}),J(C),J(g);var H=l(g,2),oe=o(H),K=W(oe,!0),se=l(oe,2),ce=o(se);Y(ce,21,()=>F,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=su(),d=o(u),f=W(d,!0),p=l(d,2);Y(p,21,()=>k,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p),I(p),J(u),s(()=>z(f,c())),ee(p,()=>t(G)[a()],e=>t(G)[a()]=e),e(n,u)}),J(ce);var pe=l(ce,2),he=o(pe);{let e=q(()=>X(`policies.form.account.email_verified`));aa(he,{get label(){return t(e)},get checked(){return t(G).emailVerified},set checked(e){t(G).emailVerified=e}})}var ge=l(he,2);{let e=q(()=>X(`policies.form.account.phone_verified`));aa(ge,{get label(){return t(e)},get checked(){return t(G).phoneVerified},set checked(e){t(G).phoneVerified=e}})}J(pe);var ve=l(pe,2),ye=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.account.no_sms`)]),e(t,n)};r(ve,e=>{t(G).phone!==`off`&&t(G).phoneVerified&&!t(ne).tenant.texts&&e(ye)}),J(se),J(H);var be=l(H,2),xe=o(be),Se=W(xe,!0),Ce=l(xe,2),we=o(Ce);Y(we,21,()=>M,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).firstFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).firstFactors=fe(t(G).firstFactors,i(),e)})}}),J(we);var Te=l(we,2),Ee=n=>{var i=cu(),a=o(i),c=o(a);j(c);var u=l(c);J(a);var d=l(a,2);{let e=q(()=>X(`policies.form.sign_in.refuse_common`));aa(d,{get label(){return t(e)},get checked(){return t(G).refuseCommonPasswords},set checked(e){t(G).refuseCommonPasswords=e}})}var f=l(d,2),p=e=>{{let n=q(()=>X(`policies.form.sign_in.password_required`));aa(e,{get label(){return t(n)},get checked(){return t(G).passwordRequired},set checked(e){t(G).passwordRequired=e}})}},m=q(()=>t(G).firstFactors.includes(`passkey`));r(f,e=>{t(m)&&e(p)}),J(i),s(e=>z(u,` ${e??``}`),[()=>X(`policies.form.sign_in.characters`)]),B(c,()=>t(G).passwordMinimum,e=>t(G).passwordMinimum=e),e(n,i)},De=q(()=>t(G).firstFactors.includes(`password`));r(Te,e=>{t(De)&&e(Ee)});var Oe=l(Te,2),ke=n=>{var i=lu(),a=o(i);{let e=q(()=>X(`policies.form.sign_in.all_providers`)),n=q(()=>t(G).providers===null);aa(a,{get label(){return t(e)},get checked(){return t(n)},onchange:e=>t(G).providers=e?null:t(_e).map(e=>e.key)})}var s=l(a,2),c=n=>{var r=R(),i=u(r);Y(i,17,()=>t(_e),e=>e.key,(e,n)=>{{let r=q(()=>t(G).providers.includes(t(n).key));aa(e,{get label(){return t(n).name},get checked(){return t(r)},onchange:e=>t(G).providers=fe(t(G).providers,t(n).key,e)})}}),e(n,r)};r(s,e=>{t(G).providers!==null&&e(c)}),J(i),e(n,i)},Ae=q(()=>t(G).firstFactors.includes(`provider`)&&t(_e).length);r(Oe,e=>{t(Ae)&&e(ke)}),J(Ce),J(be);var je=l(be,2),Me=o(je),Ne=W(Me,!0),Pe=l(Me,2),Fe=o(Pe);Y(Fe,21,()=>N,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).secondFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).secondFactors=fe(t(G).secondFactors,i(),e)})}}),J(Fe);var Ie=l(Fe,2);{let e=q(()=>X(`policies.form.second_factor.required`));aa(Ie,{get label(){return t(e)},get checked(){return t(G).secondFactorRequired},set checked(e){t(G).secondFactorRequired=e}})}var Le=l(Ie,2);{let e=q(()=>X(`policies.form.second_factor.apps`));aa(Le,{get label(){return t(e)},get checked(){return t(G).appsRequireSecondFactor},set checked(e){t(G).appsRequireSecondFactor=e}})}J(Pe),J(je);var Re=l(je,2),ze=o(Re),Be=W(ze,!0),Ve=l(ze,2),He=o(Ve),Ue=o(He),We=o(Ue),Ge=l(We);Y(Ge,21,()=>E(b,t(G).riskStepUpAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Ge),I(Ge),J(Ue);var Ke=l(Ue,2),qe=o(Ke),Je=l(qe);Y(Je,21,()=>E(b,t(G).riskRefuseAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Je),I(Je),J(Ke),J(He);var Ye=l(He,2);{let e=q(()=>X(`policies.form.risk.refuse_breached`));aa(Ye,{get label(){return t(e)},get checked(){return t(G).refuseBreachedPasswords},set checked(e){t(G).refuseBreachedPasswords=e}})}var Xe=l(Ye,2),Ze=W(Xe,!0);J(Ve),J(Re);var Qe=l(Re,2),$e=o(Qe),et=W($e,!0),tt=l($e,2),nt=o(tt),rt=o(nt),it=o(rt),at=l(it);Y(at,21,()=>E(v,t(G).sessionLifetime),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(at),I(at);var ot=l(at);J(rt);var st=l(rt,2),ct=o(st),lt=l(ct);Y(lt,21,()=>E(y,t(G).sessionIdleTimeout),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(lt),I(lt);var ut=l(lt);J(st),J(nt);var dt=l(nt,2),ft=W(dt,!0);J(tt),J(Qe),J(h);var pt=l(h,2),mt=o(pt),ht=W(mt,!0),gt=l(mt,2),_t=W(gt,!0);J(pt),s((e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)=>{z(x,e),z(K,t),z(Se,n),z(Ne,r),z(Be,i),z(We,`${a??``} `),z(qe,`${o??``} `),z(Ze,s),z(et,c),z(it,`${l??``} `),z(ot,` ${u??``}`),z(ct,`${d??``} `),z(ut,` ${f??``}`),z(ft,p),mt.disabled=m,z(ht,h),z(_t,g)},[()=>X(`policies.form.signup.legend`),()=>X(`policies.form.account.legend`),()=>X(`policies.form.sign_in.legend`),()=>X(`policies.form.second_factor.legend`),()=>X(`policies.form.risk.legend`),()=>X(`policies.form.risk.step_up`),()=>X(`policies.form.risk.refuse`),()=>X(`policies.form.risk.hint`),()=>X(`policies.form.sessions.legend`),()=>X(`policies.form.sessions.last`),()=>X(`policies.form.sessions.after_sign_in`),()=>X(`policies.form.sessions.end_after`),()=>X(`policies.form.sessions.idle`),()=>X(`policies.form.sessions.hint`),()=>t(U)||!t(G).key.trim()||!t(G).name.trim(),()=>t(ae)===``?X(`policies.form.create`):X(`policies.form.save`),()=>X(`policies.form.cancel`)]),ee(Ge,()=>t(G).riskStepUpAt,e=>t(G).riskStepUpAt=e),ee(Je,()=>t(G).riskRefuseAt,e=>t(G).riskRefuseAt=e),ee(at,()=>t(G).sessionLifetime,e=>t(G).sessionLifetime=e),ee(lt,()=>t(G).sessionIdleTimeout,e=>t(G).sessionIdleTimeout=e),d(`click`,mt,me),d(`click`,gt,de),e(n,c)},$$slots:{default:!0}})}};r(p,e=>{t(ae)!==null&&e(m)});var h=l(p,2);Q(h,{children:(n,i)=>{var c=_u(),f=u(c),p=t=>{var n=du(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.empty`)]),e(t,n)};r(f,e=>{t(ne).active.length===0&&e(p)});var m=l(f,2);Y(m,17,()=>t(ne).active,e=>e.key,(n,i)=>{var c=gu(),f=o(c),p=o(f),m=o(p),h=l(m),g=t=>{var n=fu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.default`)]),e(t,n)};r(h,e=>{t(i).default&&e(g)}),J(p);var _=l(p,2),v=W(_,!0),y=l(_,2),b=n=>{var r=mu(),c=o(r),d=l(c);Y(d,19,()=>t(i).clients,e=>e.clientId,(n,r,i)=>{V();var o=pu(),c=u(o,!0),d=l(c);{let n=q(()=>`/clients/${t(r).clientId}`);Z(d,{get to(){return t(n)},class:`link`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}s(()=>z(c,t(i)?`, `:``)),e(n,o)}),J(r),s(e=>z(c,`${e??``} `),[()=>X(`policies.list.used_by`)]),e(n,r)};r(y,e=>{t(i).clients.length&&e(b)}),J(f);var x=l(f,2),S=o(x),C=W(S,!0),w=l(S,2),T=n=>{var r=hu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`policies.list.archive`)]),d(`click`,r,()=>he(`archiveSignInPolicy`,t(i),X(`policies.archived_notice`,{name:t(i).name}),X(`policies.archive_confirm`,{name:t(i).name}))),e(n,r)};r(w,e=>{t(i).default||e(T)}),J(x),J(c),s((e,n)=>{z(m,`${t(i).name??``} `),z(v,e),z(C,n)},[()=>ge(t(i)),()=>X(`policies.list.edit`)]),d(`click`,S,()=>se(t(i))),e(n,c)}),e(n,c)},$$slots:{default:!0}});var g=l(h,2),_=n=>{var r=R(),a=u(r);i(a,()=>t(ne),e=>{eu(e,{get api(){return c.api}})}),e(n,r)};r(g,e=>{t(ae)===null&&e(_)});var x=l(g,2),C=n=>{{let r=q(()=>X(`policies.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(ne).archived,e=>e.key,(n,r)=>{var i=vu(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0);J(i),s(e=>{z(c,t(r).name),z(f,e)},[()=>X(`policies.archived.restore`)]),d(`click`,u,()=>he(`restoreSignInPolicy`,t(r),X(`policies.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(ne).archived.length&&e(C)}),e(n,f)};r(h,e=>{t(re)&&!t(ne)?e(g):t(ne)&&e(_,1)}),e(n,p)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var xu=f(`<p class="hint"> </p>`),Su=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> </div> <code class="hint font-mono text-xs break-all"> </code> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),Cu=f(`<ul class="compact-list"></ul>`),wu=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code></div>`),Tu=f(`<dl class="ldap-facts"><dt class="field-label"> </dt> <dd><code class="font-mono text-xs"> </code></dd> <dt class="field-label"> </dt> <dd><code class="font-mono text-xs break-all"> </code></dd></dl> <!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-48" placeholder="jellyfin"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <p class="hint"> </p> <!> <!> <p class="hint"> </p>`,1),Eu=f(`<!> <!>`,1);function Du(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(``),p=w(null);async function m(){try{S(c,await i.api.query(`
|
|
546
553
|
query Ldap {
|
|
547
554
|
ldapBaseDn
|
|
548
555
|
ldapPort
|
|
@@ -557,7 +564,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
|
|
|
557
564
|
updateTenant(ldapEnabled: $ldapEnabled) { tenant { ldapEnabled } }
|
|
558
565
|
}`,{ldapEnabled:e}),X(`ldap.serve.updated`))&&await m()}async function y(e){await a.attempt(()=>i.api.query(`mutation PasswordOnly($ldapPasswordOnly: Boolean) {
|
|
559
566
|
updateTenant(ldapPasswordOnly: $ldapPasswordOnly) { tenant { ldapPasswordOnly } }
|
|
560
|
-
}`,{ldapPasswordOnly:e}),X(`ldap.binds.updated`))&&await m()}{let i=q(()=>X(`ldap.title`)),m=q(()=>`${X(`ldap.lede`)} ${X(`ldap.serve.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(m)},children:(n,i)=>{var m=
|
|
567
|
+
}`,{ldapPasswordOnly:e}),X(`ldap.binds.updated`))&&await m()}{let i=q(()=>X(`ldap.title`)),m=q(()=>`${X(`ldap.lede`)} ${X(`ldap.serve.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(m)},children:(n,i)=>{var m=Eu(),b=u(m);Nn(b,{get feedback(){return a.state}});var x=l(b,2),C=n=>{var i=Eu(),a=u(i);{let e=q(()=>X(`ldap.serve.on`));aa(a,{get label(){return t(e)},get checked(){return t(c).tenant.ldapEnabled},onchange:v})}var m=l(a,2),b=n=>{var i=Tu(),a=u(i),m=o(a),v=W(m,!0),b=l(m,2),x=o(b),C=W(x,!0);J(b);var w=l(b,2),T=W(w,!0),E=l(w,2),D=o(E),O=W(D,!0);J(E),J(a);var k=l(a,2),A=t=>{var n=xu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`ldap.connect.local_only`)]),e(t,n)};r(k,e=>{t(c).ldapLocalOnly&&e(A)});var M=l(k,2),N=n=>{var r=Cu();Y(r,21,()=>t(c).ldapCredentials,e=>e.id,(n,r)=>{var i=Su(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),h=W(m,!0);J(a);var _=l(a,2),v=W(_,!0);J(i),s((e,n)=>{z(u,t(r).label),z(p,t(r).bindDn),z(h,e),z(v,n)},[()=>X(`ldap.credentials.used`,{used:Pt(t(r).usedAt,X(`ldap.credentials.never`))}),()=>X(`ldap.credentials.revoke`)]),d(`click`,_,()=>g(t(r))),e(n,i)}),J(r),e(n,r)};r(M,e=>{t(c).ldapCredentials.length&&e(N)});var F=l(M,2),I=o(F);j(I);var ee=l(I,2),L=W(ee,!0);J(F);var te=l(F,2),R=W(te,!0),V=l(te,2),ne=n=>{var r=wu(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0),d=l(c,2),f=W(d,!0),m=l(d,2),h=W(m,!0),g=l(m,2),_=W(g,!0);J(r),s((e,n,r)=>{z(a,e),z(u,n),z(f,t(p).ldapCredential.bindDn),z(h,r),z(_,t(p).secret)},[()=>X(`ldap.connect.shown_once`),()=>X(`ldap.connect.bind_dn`),()=>X(`ldap.connect.secret`)]),e(n,r)};r(V,e=>{t(p)&&e(ne)});var re=l(V,2);{let e=q(()=>X(`ldap.binds.password_only`));aa(re,{get label(){return t(e)},get checked(){return t(c).tenant.ldapPasswordOnly},onchange:y})}var H=l(re,2),U=W(H,!0);s((e,n,r,i,a,o,s,l)=>{z(v,e),z(C,n),z(T,r),z(O,t(c).ldapBaseDn),P(I,`aria-label`,i),ee.disabled=a,z(L,o),z(R,s),z(U,l)},[()=>X(`ldap.connect.address`),()=>X(t(c).ldapTls?`ldap.connect.ldaps`:`ldap.connect.port`,{port:t(c).ldapPort}),()=>X(`ldap.connect.base_dn`),()=>X(`ldap.connect.label`),()=>!t(f).trim(),()=>X(`ldap.connect.issue`),()=>X(`ldap.connect.help`),()=>X(`ldap.binds.help`)]),_(`submit`,F,e=>{e.preventDefault(),h()}),B(I,()=>t(f),e=>S(f,e)),e(n,i)};r(m,e=>{t(c).tenant.ldapEnabled&&e(b)}),e(n,i)};r(x,e=>{t(c)&&e(C)}),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Ou=f(`<span class="hint"> </span>`),ku=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> <!></div> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),Au=f(`<ul class="compact-list"></ul>`),ju=f(`<button type="button"> </button>`),Mu=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),Nu=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <code class="tray px-2 py-1 font-mono text-xs break-all"> </code></div> <!> <form class="flex flex-wrap items-center gap-2"><input class="input input-sm w-full max-w-48" placeholder="Entra ID"/> <!> <div class="range" role="group"></div> <button type="submit" class="btn btn-sm"> </button></form> <!>`,1),Pu=f(`<!> <!>`,1);function Fu(n,i){H(i,!0);let a=[[30,`month`],[90,`quarter`],[365,`year`]],c=Ct(),f=w(null),p=w(``),m=w(``),h=w(90),g=w(null);async function v(){try{S(f,await i.api.query(`
|
|
561
568
|
query Provisioning {
|
|
562
569
|
scimBaseUrl
|
|
563
570
|
provisioningTokens { id label usedAt expiresAt createdAt issuedBy { identifier } organization { name } }
|
|
@@ -565,5 +572,5 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
|
|
|
565
572
|
}
|
|
566
573
|
`),!0)}catch(e){c.blame(e)}}v();async function y(){let e=await c.attempt(()=>i.api.query(`mutation Issue($label: String!, $expiresIn: Int, $organization: ID) {
|
|
567
574
|
issueProvisioningToken(label: $label, expiresIn: $expiresIn, organization: $organization) { secret }
|
|
568
|
-
}`,{label:t(p).trim()||`Provisioning`,expiresIn:t(h)*86400,organization:t(m)||null}));e&&(S(g,e.issueProvisioningToken,!0),S(p,``),await v())}async function b(e){confirm(X(`provisioning.revoke_confirm`,{label:e.label}))&&await c.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeProvisioningToken(id: $id) { provisioningToken { id } } }`,{id:e.id}),X(`provisioning.revoked`,{label:e.label}))&&await v()}{let i=q(()=>X(`provisioning.title`)),v=q(()=>`${X(`provisioning.lede`)} ${X(`provisioning.connect.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(v)},children:(n,i)=>{var v=Du(),x=u(v);Nn(x,{get feedback(){return c.state}});var C=l(x,2),w=n=>{var i=Eu(),c=u(i),v=o(c),x=W(v,!0),C=l(v,2),w=W(C,!0);J(c);var T=l(c,2),E=n=>{var i=Cu();Y(i,21,()=>t(f).provisioningTokens,e=>e.id,(n,i)=>{var a=Su(),c=o(a),u=o(c),f=o(u,!0),p=l(f),m=n=>{var r=xu(),a=W(r);s(()=>z(a,`· ${t(i).organization.name??``}`)),e(n,r)};r(p,e=>{t(i).organization&&e(m)}),J(u);var h=l(u,2),g=W(h,!0);J(c);var _=l(c,2),v=W(_,!0);J(a),s((e,n)=>{z(f,t(i).label),z(g,e),z(v,n)},[()=>t(i).issuedBy?X(`provisioning.tokens.issued_by`,{identifier:t(i).issuedBy.identifier,used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}):X(`provisioning.tokens.detail`,{used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}),()=>X(`provisioning.tokens.revoke`)]),d(`click`,_,()=>b(t(i))),e(n,a)}),J(i),e(n,i)};r(T,e=>{t(f).provisioningTokens.length&&e(E)});var D=l(T,2),O=o(D);j(O);var k=l(O,2),A=e=>{{let n=q(()=>X(`provisioning.connect.provisions`)),r=q(()=>[[``,X(`provisioning.connect.every_account`)],...t(f).organizations.map(e=>[e.key,X(`provisioning.connect.only_members`,{name:e.name})])]);ra(e,{get name(){return t(n)},get value(){return t(m)},get options(){return t(r)},onchange:e=>S(m,e,!0)})}};r(k,e=>{t(f).organizations.length&&e(A)});var M=l(k,2);Y(M,21,()=>a,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=wu(),l=W(c,!0);s(e=>{P(c,`aria-pressed`,t(h)===a()),z(l,e)},[()=>X(`provisioning.lifetimes.${o()}`)]),d(`click`,c,()=>S(h,a(),!0)),e(n,c)}),J(M);var N=l(M,2),F=W(N,!0);J(D);var I=l(D,2),ee=n=>{var r=Tu(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(g).secret)},[()=>X(`provisioning.connect.shown_once`)]),e(n,r)};r(I,e=>{t(g)&&e(ee)}),s((e,n,r,i)=>{z(x,e),z(w,t(f).scimBaseUrl),P(O,`aria-label`,n),P(M,`aria-label`,r),z(F,i)},[()=>X(`provisioning.connect.base_url`),()=>X(`provisioning.connect.label`),()=>X(`provisioning.connect.lifetime`),()=>X(`provisioning.connect.issue`)]),_(`submit`,D,e=>{e.preventDefault(),y()}),B(O,()=>t(p),e=>S(p,e)),e(n,i)};r(C,e=>{t(f)&&e(w)}),e(n,v)},$$slots:{default:!0}})}D()}c([`click`]);var ku=f(`<div class="grid gap-4"><!> <!></div>`);function Au(n,r){H(r,!0);{let i=q(()=>X(`directory.title`)),a=q(()=>X(`directory.lede`));zn(n,{get title(){return t(i)},get lede(){return t(a)},children:(t,n)=>{var i=ku(),a=o(i);Ou(a,{get api(){return r.api}}),bu(l(a,2),{get api(){return r.api}}),J(i),e(t,i)},$$slots:{default:!0}})}D()}var ju=f(`<img width="24" height="24" alt=""/>`),Mu=f(`<div class="settings"><div class="settings-bar"><nav class="settings-tabs"></nav> <div class="settings-me"><a class="settings-who"><!> <span> </span></a> <button type="button" class="settings-tab"> </button> <button type="button" class="settings-tab settings-quiet"> </button></div></div> <div class="min-w-0"><!></div></div>`);function Nu(n,i){H(i,!0);let c=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`];function u(){confirm(X(`settings_shell.forget_confirm`))&&i.onunpair()}var f=Mu(),p=o(f),m=o(p);Y(m,20,()=>c,e=>e,(n,r)=>{{let o=q(()=>`/${r}`),c=q(()=>i.current===r?`settings-tab-on`:``);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},children:(t,n)=>{V();var i=a();s(e=>z(i,e),[()=>X(`settings_shell.tabs.${r}`)]),e(t,i)},$$slots:{default:!0}})}}),J(m);var h=l(m,2),g=o(h),y=o(g),b=t=>{var n=ju();let r;s(()=>{P(n,`src`,`${i.viewer.avatars.photo??i.viewer.avatars.identicon}?size=64`),r=le(n,1,``,null,r,{drawn:!i.viewer.avatars.photo})}),_(`error`,n,e=>e.currentTarget.src=`${i.viewer.avatars.identicon}?size=64`),ue(n),e(t,n)};r(y,e=>{i.viewer&&e(b)});var x=l(y,2),S=W(x,!0);J(g);var C=l(g,2),w=W(C,!0),T=l(C,2),E=W(T,!0);J(h),J(p);var O=l(p,2),k=o(O);v(k,()=>i.children),J(O),J(f),s((e,t,n,r)=>{P(m,`aria-label`,e),P(g,`href`,i.account),P(g,`title`,t),z(S,i.identifier),z(w,n),z(E,r)},[()=>X(`settings_shell.label`),()=>X(`settings_shell.account`),()=>X(`settings_shell.sign_out`),()=>X(`settings_shell.forget`)]),d(`click`,C,function(...e){i.onsignout?.apply(this,e)}),d(`click`,T,u),e(n,f),D()}c([`click`]);var Pu=f(`<div class="grid min-h-screen place-items-center"><!></div>`),Fu=f(`<div class="auth-page"><main class="auth-col surface-terminus"><div class="flow"><span class="state state-bad"> </span> <h1 class="prompt-title"> </h1> <p class="said"> </p> <button type="button" class="action"> </button></div></main></div>`),Iu=f(`<img src="/masks-public/icon.svg" alt="" class="brand-mark"/> `,1),Lu=f(`<span class="nav-count"> </span>`),Ru=f(` <!>`,1),zu=p(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17.03 8.46 L19.13 8.85 L19.13 11.15 L17.03 11.54 L16.06 13.88 L17.27 15.64 L15.64 17.27 L13.88 16.06 L11.54 17.03 L11.15 19.13 L8.85 19.13 L8.46 17.03 L6.12 16.06 L4.36 17.27 L2.73 15.64 L3.94 13.88 L2.97 11.54 L0.87 11.15 L0.87 8.85 L2.97 8.46 L3.94 6.12 L2.73 4.36 L4.36 2.73 L6.12 3.94 L8.46 2.97 L8.85 0.87 L11.15 0.87 L11.54 2.97 L13.88 3.94 L15.64 2.73 L17.27 4.36 L16.06 6.12 Z"></path><circle cx="10" cy="10" r="2.75"></circle></svg>`),Bu=f(`<p class="alert alert-info mb-4 text-sm" role="status"> </p>`),Vu=f(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span> </span>`,1),Hu=f(`<div class="flex min-h-screen flex-col"><header class="console-top sticky top-0 z-20"><div class="console-bar mx-auto flex w-full max-w-6xl items-center gap-x-6 py-2"><!> <nav class="nav md:flex-1"></nav> <!></div></header> <main class="console-main mx-auto w-full max-w-6xl flex-1"><!> <!></main> <nav class="tabbar md:hidden"></nav></div>`);function Uu(i,c){H(c,!0);let f=x(()=>it(c.boot)),p=x(()=>ot(c.boot.root));st(p);let m=w(`starting`),h=w(null),g=w(null),_=w(null),v=q(()=>!t(_)||t(_).includes(`owner`)?null:t(_).includes(`security`)&&t(_).includes(`support`)?X(`app.limited.both`):t(_).includes(`security`)?X(`app.limited.security`):t(_).includes(`support`)?X(`app.limited.support`):X(`app.limited.read`)),y=[[``,`overview`,`<path d="M3.5 10.5 10 4l6.5 6.5"/><path d="M5.5 9v7h9V9"/>`],[`/actors`,`actors`,`<circle cx="10" cy="7" r="3"/><path d="M4 17c.8-3 3.2-4.5 6-4.5s5.2 1.5 6 4.5"/>`],[`/organizations`,`organizations`,`<rect x="3.5" y="7" width="13" height="9.5" rx="1.5"/><path d="M7.5 7V4.5h5V7"/><path d="M3.5 11h13"/>`],[`/clients`,`clients`,`<rect x="3" y="3" width="6" height="6" rx="1.5"/><rect x="11" y="3" width="6" height="6" rx="1.5"/><rect x="3" y="11" width="6" height="6" rx="1.5"/><rect x="11" y="11" width="6" height="6" rx="1.5"/>`]],C=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`],T=`masks:manage:repaired`;function E(e){if(e===`invalid_client`)return!0;if(e!==`invalid_scope`)return!1;try{return!sessionStorage.getItem(T)&&(sessionStorage.setItem(T,`1`),!0)}catch{return!1}}function O(){location.replace(tt(c.boot))}async function k(){let e=new URLSearchParams(location.search);try{if(E(e.get(`error`))){f.unpair(),O();return}if(e.get(`error`)){S(h,e.get(`error_description`)||e.get(`error`),!0),p.replace(``),S(m,`failed`);return}if(e.get(`initial_access_token`)){await nt(c.boot,e.get(`initial_access_token`)),p.replace(``),await f.authorize(``);return}if(!f.paired()){O();return}if(p.segments[0]===`callback`){let{returnTo:e}=await f.callback();p.replace(e||``),F();return}if(!f.signedIn()){await f.authorize(p.state.path.slice(c.boot.root.length)+p.state.search+location.hash);return}F()}catch(e){S(h,e.message,!0),S(m,`failed`)}}let A=w(0);async function j(){try{let e=await f.query(`query Waiting { approvals: actorCount(pendingApproval: true) help: actorCount(recoveryRequested: true) }`);S(A,e.approvals+e.help)}catch{S(A,0)}}let M=q(()=>p.segments[0]??``),N=q(()=>X(`app.waiting`,{count:t(A)}));b(()=>{t(m)===`ready`&&t(M)!==void 0&&j()});function F(){S(m,`ready`),f.query(`query Viewer { viewer { identifier avatars { photo identicon } } manageLevels }`).then(e=>{S(g,e.viewer,!0),S(_,e.manageLevels,!0)}).catch(()=>{})}k();let I=q(()=>p.segments[0]??``),ee=q(()=>C.includes(t(I))),L=q(()=>t(g)?.identifier??f.state.identity?.preferred_username??X(`app.account`));function te(){location.assign(c.boot.root)}function B(){f.unpair(),te()}async function ne(){location.assign(await f.signOut()??c.boot.root)}var re=R(),U=u(re),ae=n=>{var r=Pu(),i=o(r);{let e=q(()=>X(`app.starting`));mt(i,{get label(){return t(e)}})}J(r),e(n,r)},G=n=>{var r=Fu(),i=o(r),a=o(i),u=o(a),f=W(u,!0),p=l(u,2),m=W(p,!0),g=l(p,2),_=W(g,!0),v=l(g,2),y=W(v,!0);J(a),J(i),J(r),s((e,n,r)=>{z(f,e),z(m,n),z(_,t(h)),z(y,r)},[()=>X(`app.stopped`),()=>X(`app.failed`,{tenant:c.boot.tenant.name}),()=>X(`app.retry`)]),d(`click`,v,te),e(n,r)},oe=i=>{var d=Hu(),m=o(d),h=o(m),_=o(h);Z(_,{to:``,class:`brand`,children:(t,n)=>{var r=Iu(),i=l(u(r),1,!0);s(()=>z(i,c.boot.tenant.name)),e(t,r)},$$slots:{default:!0}});var b=l(_,2);Y(b,21,()=>y,([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];{let i=q(()=>t(I)===o().replace(`/`,``)?`nav-item-on`:``);Z(n,{get to(){return o()},get class(){return`nav-item ${t(i)??``}`},children:(n,i)=>{V();var a=Ru(),o=u(a,!0),d=l(o),f=n=>{var r=Lu(),i=W(r,!0);s(()=>{P(r,`title`,t(N)),z(i,t(A))}),e(n,r)};r(d,e=>{c()===`actors`&&t(A)>0&&e(f)}),s(e=>z(o,e),[()=>X(`app.nav.${c()}`)]),e(n,a)},$$slots:{default:!0}})}}),J(b);var x=l(b,2);{let n=q(()=>t(ee)?`console-cog-on`:``),r=q(()=>X(`app.settings`)),i=q(()=>X(`app.settings`));Z(x,{to:`/settings`,get class(){return`console-cog ms-auto ${t(n)??``}`},get"aria-label"(){return t(r)},get title(){return t(i)},children:(t,n)=>{var r=zu();e(t,r)},$$slots:{default:!0}})}J(h),J(m);var S=l(m,2),C=o(S),w=n=>{var r=Bu(),i=W(r,!0);s(()=>z(i,t(v))),e(n,r)};r(C,e=>{t(v)&&e(w)});var T=l(C,2),E=e=>{oc(e,{get api(){return f},get boot(){return c.boot}})},D=t=>{var n=R(),i=u(n),a=e=>{Xi(e,{get api(){return f},get id(){return p.segments[2]}})},o=e=>{Li(e,{get api(){return f},get uuid(){return p.segments[1]},get part(){return p.segments[2]}})},s=e=>{tr(e,{get api(){return f}})};r(i,e=>{p.segments[1]===`devices`&&p.segments[2]?e(a):p.segments[1]?e(o,1):e(s,-1)}),e(t,n)},O=t=>{var n=R(),i=u(n),a=e=>{ms(e,{get api(){return f},get organizationKey(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{Fo(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},k=t=>{var n=R(),i=u(n),a=e=>{bo(e,{get api(){return f},get clientId(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{xa(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},j=n=>{Nu(n,{get current(){return t(I)},get viewer(){return t(g)},get identifier(){return t(L)},get account(){return c.boot.account},onsignout:ne,onunpair:B,children:(n,i)=>{var a=R(),o=u(a),s=e=>{rl(e,{get api(){return f},get providerKey(){return p.segments[1]},get part(){return p.segments[2]}})},l=e=>{Ec(e,{get api(){return f}})},d=e=>{pu(e,{get api(){return f}})},m=e=>{Au(e,{get api(){return f}})},h=e=>{Ml(e,{get api(){return f},get part(){return p.segments[1]}})},g=e=>{Hl(e,{get api(){return f}})},_=e=>{gc(e,{get api(){return f}})},v=e=>{Bs(e,{get api(){return f},get boot(){return c.boot}})};r(o,e=>{t(I)===`providers`&&p.segments[1]?e(s):t(I)===`providers`?e(l,1):t(I)===`policies`?e(d,2):t(I)===`directory`?e(m,3):t(I)===`messages`?e(h,4):t(I)===`activity`&&p.segments[1]===`streams`?e(g,5):t(I)===`activity`?e(_,6):e(v,-1)}),e(n,a)},$$slots:{default:!0}})},M=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`app.missing`)]),e(t,r)},$$slots:{default:!0}})};r(T,e=>{t(I)===``?e(E):t(I)===`actors`?e(D,1):t(I)===`organizations`?e(O,2):t(I)===`clients`?e(k,3):t(ee)?e(j,4):e(M,-1)}),J(S);var F=l(S,2);Y(F,21,()=>y,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let o=()=>t(a)[0],c=()=>t(a)[1],d=()=>t(a)[2];{let i=q(()=>t(I)===o().replace(`/`,``)?`tabbar-item-on`:``);Z(r,{get to(){return o()},get class(){return`tabbar-item ${t(i)??``}`},children:(t,r)=>{var i=Vu(),a=u(i);n(a,d,!0),J(a);var o=l(a,2),f=W(o,!0);s(e=>z(f,e),[()=>X(`app.nav.${c()}`)]),e(t,i)},$$slots:{default:!0}})}}),J(F),J(d),s(e=>P(F,`aria-label`,e),[()=>X(`app.sections`)]),e(i,d)};r(U,e=>{t(m)===`starting`?e(ae):t(m)===`failed`?e(G,1):e(oe,-1)}),e(i,re),D()}c([`click`]);var Wu=document.getElementById(`manage`);if(Wu){let e=JSON.parse(Wu.dataset.boot);Ge(e.copy,document.documentElement.lang||`en`),Wu.replaceChildren(),m(Uu,{target:Wu,props:{boot:e}})}
|
|
569
|
-
//# sourceMappingURL=manage-
|
|
575
|
+
}`,{label:t(p).trim()||`Provisioning`,expiresIn:t(h)*86400,organization:t(m)||null}));e&&(S(g,e.issueProvisioningToken,!0),S(p,``),await v())}async function b(e){confirm(X(`provisioning.revoke_confirm`,{label:e.label}))&&await c.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeProvisioningToken(id: $id) { provisioningToken { id } } }`,{id:e.id}),X(`provisioning.revoked`,{label:e.label}))&&await v()}{let i=q(()=>X(`provisioning.title`)),v=q(()=>`${X(`provisioning.lede`)} ${X(`provisioning.connect.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(v)},children:(n,i)=>{var v=Pu(),x=u(v);Nn(x,{get feedback(){return c.state}});var C=l(x,2),w=n=>{var i=Nu(),c=u(i),v=o(c),x=W(v,!0),C=l(v,2),w=W(C,!0);J(c);var T=l(c,2),E=n=>{var i=Au();Y(i,21,()=>t(f).provisioningTokens,e=>e.id,(n,i)=>{var a=ku(),c=o(a),u=o(c),f=o(u,!0),p=l(f),m=n=>{var r=Ou(),a=W(r);s(()=>z(a,`· ${t(i).organization.name??``}`)),e(n,r)};r(p,e=>{t(i).organization&&e(m)}),J(u);var h=l(u,2),g=W(h,!0);J(c);var _=l(c,2),v=W(_,!0);J(a),s((e,n)=>{z(f,t(i).label),z(g,e),z(v,n)},[()=>t(i).issuedBy?X(`provisioning.tokens.issued_by`,{identifier:t(i).issuedBy.identifier,used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}):X(`provisioning.tokens.detail`,{used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}),()=>X(`provisioning.tokens.revoke`)]),d(`click`,_,()=>b(t(i))),e(n,a)}),J(i),e(n,i)};r(T,e=>{t(f).provisioningTokens.length&&e(E)});var D=l(T,2),O=o(D);j(O);var k=l(O,2),A=e=>{{let n=q(()=>X(`provisioning.connect.provisions`)),r=q(()=>[[``,X(`provisioning.connect.every_account`)],...t(f).organizations.map(e=>[e.key,X(`provisioning.connect.only_members`,{name:e.name})])]);ra(e,{get name(){return t(n)},get value(){return t(m)},get options(){return t(r)},onchange:e=>S(m,e,!0)})}};r(k,e=>{t(f).organizations.length&&e(A)});var M=l(k,2);Y(M,21,()=>a,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ju(),l=W(c,!0);s(e=>{P(c,`aria-pressed`,t(h)===a()),z(l,e)},[()=>X(`provisioning.lifetimes.${o()}`)]),d(`click`,c,()=>S(h,a(),!0)),e(n,c)}),J(M);var N=l(M,2),F=W(N,!0);J(D);var I=l(D,2),ee=n=>{var r=Mu(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(g).secret)},[()=>X(`provisioning.connect.shown_once`)]),e(n,r)};r(I,e=>{t(g)&&e(ee)}),s((e,n,r,i)=>{z(x,e),z(w,t(f).scimBaseUrl),P(O,`aria-label`,n),P(M,`aria-label`,r),z(F,i)},[()=>X(`provisioning.connect.base_url`),()=>X(`provisioning.connect.label`),()=>X(`provisioning.connect.lifetime`),()=>X(`provisioning.connect.issue`)]),_(`submit`,D,e=>{e.preventDefault(),y()}),B(O,()=>t(p),e=>S(p,e)),e(n,i)};r(C,e=>{t(f)&&e(w)}),e(n,v)},$$slots:{default:!0}})}D()}c([`click`]);var Iu=f(`<div class="grid gap-4"><!> <!></div>`);function Lu(n,r){H(r,!0);{let i=q(()=>X(`directory.title`)),a=q(()=>X(`directory.lede`));zn(n,{get title(){return t(i)},get lede(){return t(a)},children:(t,n)=>{var i=Iu(),a=o(i);Fu(a,{get api(){return r.api}}),Du(l(a,2),{get api(){return r.api}}),J(i),e(t,i)},$$slots:{default:!0}})}D()}var Ru=f(`<img width="24" height="24" alt=""/>`),zu=f(`<div class="settings"><div class="settings-bar"><nav class="settings-tabs"></nav> <div class="settings-me"><a class="settings-who"><!> <span> </span></a> <button type="button" class="settings-tab"> </button> <button type="button" class="settings-tab settings-quiet"> </button></div></div> <div class="min-w-0"><!></div></div>`);function Bu(n,i){H(i,!0);let c=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`];function u(){confirm(X(`settings_shell.forget_confirm`))&&i.onunpair()}var f=zu(),p=o(f),m=o(p);Y(m,20,()=>c,e=>e,(n,r)=>{{let o=q(()=>`/${r}`),c=q(()=>i.current===r?`settings-tab-on`:``);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},children:(t,n)=>{V();var i=a();s(e=>z(i,e),[()=>X(`settings_shell.tabs.${r}`)]),e(t,i)},$$slots:{default:!0}})}}),J(m);var h=l(m,2),g=o(h),y=o(g),b=t=>{var n=Ru();let r;s(()=>{P(n,`src`,`${i.viewer.avatars.photo??i.viewer.avatars.identicon}?size=64`),r=le(n,1,``,null,r,{drawn:!i.viewer.avatars.photo})}),_(`error`,n,e=>e.currentTarget.src=`${i.viewer.avatars.identicon}?size=64`),ue(n),e(t,n)};r(y,e=>{i.viewer&&e(b)});var x=l(y,2),S=W(x,!0);J(g);var C=l(g,2),w=W(C,!0),T=l(C,2),E=W(T,!0);J(h),J(p);var O=l(p,2),k=o(O);v(k,()=>i.children),J(O),J(f),s((e,t,n,r)=>{P(m,`aria-label`,e),P(g,`href`,i.account),P(g,`title`,t),z(S,i.identifier),z(w,n),z(E,r)},[()=>X(`settings_shell.label`),()=>X(`settings_shell.account`),()=>X(`settings_shell.sign_out`),()=>X(`settings_shell.forget`)]),d(`click`,C,function(...e){i.onsignout?.apply(this,e)}),d(`click`,T,u),e(n,f),D()}c([`click`]);var Vu=f(`<div class="grid min-h-screen place-items-center"><!></div>`),Hu=f(`<div class="auth-page"><main class="auth-col surface-terminus"><div class="flow"><span class="state state-bad"> </span> <h1 class="prompt-title"> </h1> <p class="said"> </p> <button type="button" class="action"> </button></div></main></div>`),Uu=f(`<img src="/masks-public/icon.svg" alt="" class="brand-mark"/> `,1),Wu=f(`<span class="nav-count"> </span>`),Gu=f(` <!>`,1),Ku=p(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17.03 8.46 L19.13 8.85 L19.13 11.15 L17.03 11.54 L16.06 13.88 L17.27 15.64 L15.64 17.27 L13.88 16.06 L11.54 17.03 L11.15 19.13 L8.85 19.13 L8.46 17.03 L6.12 16.06 L4.36 17.27 L2.73 15.64 L3.94 13.88 L2.97 11.54 L0.87 11.15 L0.87 8.85 L2.97 8.46 L3.94 6.12 L2.73 4.36 L4.36 2.73 L6.12 3.94 L8.46 2.97 L8.85 0.87 L11.15 0.87 L11.54 2.97 L13.88 3.94 L15.64 2.73 L17.27 4.36 L16.06 6.12 Z"></path><circle cx="10" cy="10" r="2.75"></circle></svg>`),qu=f(`<p class="alert alert-info mb-4 text-sm" role="status"> </p>`),Ju=f(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span> </span>`,1),Yu=f(`<div class="flex min-h-screen flex-col"><header class="console-top sticky top-0 z-20"><div class="console-bar mx-auto flex w-full max-w-6xl items-center gap-x-6 py-2"><!> <nav class="nav md:flex-1"></nav> <!></div></header> <main class="console-main mx-auto w-full max-w-6xl flex-1"><!> <!></main> <nav class="tabbar md:hidden"></nav></div>`);function Xu(i,c){H(c,!0);let f=x(()=>it(c.boot)),p=x(()=>ot(c.boot.root));st(p);let m=w(`starting`),h=w(null),g=w(null),_=w(null),v=q(()=>!t(_)||t(_).includes(`owner`)?null:t(_).includes(`security`)&&t(_).includes(`support`)?X(`app.limited.both`):t(_).includes(`security`)?X(`app.limited.security`):t(_).includes(`support`)?X(`app.limited.support`):X(`app.limited.read`)),y=[[``,`overview`,`<path d="M3.5 10.5 10 4l6.5 6.5"/><path d="M5.5 9v7h9V9"/>`],[`/actors`,`actors`,`<circle cx="10" cy="7" r="3"/><path d="M4 17c.8-3 3.2-4.5 6-4.5s5.2 1.5 6 4.5"/>`],[`/organizations`,`organizations`,`<rect x="3.5" y="7" width="13" height="9.5" rx="1.5"/><path d="M7.5 7V4.5h5V7"/><path d="M3.5 11h13"/>`],[`/clients`,`clients`,`<rect x="3" y="3" width="6" height="6" rx="1.5"/><rect x="11" y="3" width="6" height="6" rx="1.5"/><rect x="3" y="11" width="6" height="6" rx="1.5"/><rect x="11" y="11" width="6" height="6" rx="1.5"/>`]],C=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`],T=`masks:manage:repaired`;function E(e){if(e===`invalid_client`)return!0;if(e!==`invalid_scope`)return!1;try{return!sessionStorage.getItem(T)&&(sessionStorage.setItem(T,`1`),!0)}catch{return!1}}function O(){location.replace(tt(c.boot))}async function k(){let e=new URLSearchParams(location.search);try{if(E(e.get(`error`))){f.unpair(),O();return}if(e.get(`error`)){S(h,e.get(`error_description`)||e.get(`error`),!0),p.replace(``),S(m,`failed`);return}if(e.get(`initial_access_token`)){await nt(c.boot,e.get(`initial_access_token`)),p.replace(``),await f.authorize(``);return}if(!f.paired()){O();return}if(p.segments[0]===`callback`){let{returnTo:e}=await f.callback();p.replace(e||``),F();return}if(!f.signedIn()){await f.authorize(p.state.path.slice(c.boot.root.length)+p.state.search+location.hash);return}F()}catch(e){S(h,e.message,!0),S(m,`failed`)}}let A=w(0);async function j(){try{let e=await f.query(`query Waiting { approvals: actorCount(pendingApproval: true) help: actorCount(recoveryRequested: true) }`);S(A,e.approvals+e.help)}catch{S(A,0)}}let M=q(()=>p.segments[0]??``),N=q(()=>X(`app.waiting`,{count:t(A)}));b(()=>{t(m)===`ready`&&t(M)!==void 0&&j()});function F(){S(m,`ready`),f.query(`query Viewer { viewer { identifier avatars { photo identicon } } manageLevels }`).then(e=>{S(g,e.viewer,!0),S(_,e.manageLevels,!0)}).catch(()=>{})}k();let I=q(()=>p.segments[0]??``),ee=q(()=>C.includes(t(I))),L=q(()=>t(g)?.identifier??f.state.identity?.preferred_username??X(`app.account`));function te(){location.assign(c.boot.root)}function B(){f.unpair(),te()}async function ne(){location.assign(await f.signOut()??c.boot.root)}var re=R(),U=u(re),ae=n=>{var r=Vu(),i=o(r);{let e=q(()=>X(`app.starting`));mt(i,{get label(){return t(e)}})}J(r),e(n,r)},G=n=>{var r=Hu(),i=o(r),a=o(i),u=o(a),f=W(u,!0),p=l(u,2),m=W(p,!0),g=l(p,2),_=W(g,!0),v=l(g,2),y=W(v,!0);J(a),J(i),J(r),s((e,n,r)=>{z(f,e),z(m,n),z(_,t(h)),z(y,r)},[()=>X(`app.stopped`),()=>X(`app.failed`,{tenant:c.boot.tenant.name}),()=>X(`app.retry`)]),d(`click`,v,te),e(n,r)},oe=i=>{var d=Yu(),m=o(d),h=o(m),_=o(h);Z(_,{to:``,class:`brand`,children:(t,n)=>{var r=Uu(),i=l(u(r),1,!0);s(()=>z(i,c.boot.tenant.name)),e(t,r)},$$slots:{default:!0}});var b=l(_,2);Y(b,21,()=>y,([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];{let i=q(()=>t(I)===o().replace(`/`,``)?`nav-item-on`:``);Z(n,{get to(){return o()},get class(){return`nav-item ${t(i)??``}`},children:(n,i)=>{V();var a=Gu(),o=u(a,!0),d=l(o),f=n=>{var r=Wu(),i=W(r,!0);s(()=>{P(r,`title`,t(N)),z(i,t(A))}),e(n,r)};r(d,e=>{c()===`actors`&&t(A)>0&&e(f)}),s(e=>z(o,e),[()=>X(`app.nav.${c()}`)]),e(n,a)},$$slots:{default:!0}})}}),J(b);var x=l(b,2);{let n=q(()=>t(ee)?`console-cog-on`:``),r=q(()=>X(`app.settings`)),i=q(()=>X(`app.settings`));Z(x,{to:`/settings`,get class(){return`console-cog ms-auto ${t(n)??``}`},get"aria-label"(){return t(r)},get title(){return t(i)},children:(t,n)=>{var r=Ku();e(t,r)},$$slots:{default:!0}})}J(h),J(m);var S=l(m,2),C=o(S),w=n=>{var r=qu(),i=W(r,!0);s(()=>z(i,t(v))),e(n,r)};r(C,e=>{t(v)&&e(w)});var T=l(C,2),E=e=>{pc(e,{get api(){return f},get boot(){return c.boot}})},D=t=>{var n=R(),i=u(n),a=e=>{Xi(e,{get api(){return f},get id(){return p.segments[2]}})},o=e=>{Li(e,{get api(){return f},get uuid(){return p.segments[1]},get part(){return p.segments[2]}})},s=e=>{tr(e,{get api(){return f}})};r(i,e=>{p.segments[1]===`devices`&&p.segments[2]?e(a):p.segments[1]?e(o,1):e(s,-1)}),e(t,n)},O=t=>{var n=R(),i=u(n),a=e=>{xs(e,{get api(){return f},get organizationKey(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{Ho(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},k=t=>{var n=R(),i=u(n),a=e=>{Do(e,{get api(){return f},get clientId(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{xa(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},j=n=>{Bu(n,{get current(){return t(I)},get viewer(){return t(g)},get identifier(){return t(L)},get account(){return c.boot.account},onsignout:ne,onunpair:B,children:(n,i)=>{var a=R(),o=u(a),s=e=>{ul(e,{get api(){return f},get providerKey(){return p.segments[1]},get part(){return p.segments[2]}})},l=e=>{Nc(e,{get api(){return f}})},d=e=>{bu(e,{get api(){return f}})},m=e=>{Lu(e,{get api(){return f}})},h=e=>{zl(e,{get api(){return f},get part(){return p.segments[1]}})},g=e=>{Yl(e,{get api(){return f}})},_=e=>{Cc(e,{get api(){return f}})},v=e=>{qs(e,{get api(){return f},get boot(){return c.boot}})};r(o,e=>{t(I)===`providers`&&p.segments[1]?e(s):t(I)===`providers`?e(l,1):t(I)===`policies`?e(d,2):t(I)===`directory`?e(m,3):t(I)===`messages`?e(h,4):t(I)===`activity`&&p.segments[1]===`streams`?e(g,5):t(I)===`activity`?e(_,6):e(v,-1)}),e(n,a)},$$slots:{default:!0}})},M=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`app.missing`)]),e(t,r)},$$slots:{default:!0}})};r(T,e=>{t(I)===``?e(E):t(I)===`actors`?e(D,1):t(I)===`organizations`?e(O,2):t(I)===`clients`?e(k,3):t(ee)?e(j,4):e(M,-1)}),J(S);var F=l(S,2);Y(F,21,()=>y,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let o=()=>t(a)[0],c=()=>t(a)[1],d=()=>t(a)[2];{let i=q(()=>t(I)===o().replace(`/`,``)?`tabbar-item-on`:``);Z(r,{get to(){return o()},get class(){return`tabbar-item ${t(i)??``}`},children:(t,r)=>{var i=Ju(),a=u(i);n(a,d,!0),J(a);var o=l(a,2),f=W(o,!0);s(e=>z(f,e),[()=>X(`app.nav.${c()}`)]),e(t,i)},$$slots:{default:!0}})}}),J(F),J(d),s(e=>P(F,`aria-label`,e),[()=>X(`app.sections`)]),e(i,d)};r(U,e=>{t(m)===`starting`?e(ae):t(m)===`failed`?e(G,1):e(oe,-1)}),e(i,re),D()}c([`click`]);var Zu=document.getElementById(`manage`);if(Zu){let e=JSON.parse(Zu.dataset.boot);Ge(e.copy,document.documentElement.lang||`en`),Zu.replaceChildren(),m(Xu,{target:Zu,props:{boot:e}})}
|
|
576
|
+
//# sourceMappingURL=manage-D4MzaDvM.js.map
|