@providame/vue 0.0.1-alpha.0 → 0.0.2-alpha.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.
- package/dist/composables/useAuth.d.ts +3 -2
- package/dist/providame-vue.cjs +1 -1
- package/dist/providame-vue.js +32 -21
- package/package.json +2 -2
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type Ref } from "vue";
|
|
2
|
+
import type { GetTokenOptions } from "@providame/core";
|
|
2
3
|
export interface UseAuth {
|
|
3
4
|
isLoaded: Ref<boolean>;
|
|
4
5
|
isSignedIn: Ref<boolean>;
|
|
5
6
|
userId: Ref<string | null>;
|
|
6
7
|
/** Decoded access-token claims (display/gating only — never verified client-side). */
|
|
7
8
|
sessionClaims: Ref<Record<string, unknown> | null>;
|
|
8
|
-
getToken()
|
|
9
|
-
signOut()
|
|
9
|
+
getToken: Ref<(options?: GetTokenOptions) => Promise<string | null>>;
|
|
10
|
+
signOut: Ref<() => Promise<void>>;
|
|
10
11
|
}
|
|
11
12
|
/** Clerk-shaped auth-state hook, built on the existing useSession()/client. */
|
|
12
13
|
export declare function useAuth(): UseAuth;
|
package/dist/providame-vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("vue");var t=new TextEncoder,n=new TextDecoder;function r(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function i(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>127)throw TypeError(`non-ASCII string encountered in encode()`);t[n]=r}return t}function a(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:n.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=n.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return a(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}var s=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},c=class extends s{static code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},l=class extends s{static code=`ERR_JWT_EXPIRED`;code=`ERR_JWT_EXPIRED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},u=class extends s{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},d=class extends s{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},f=class extends s{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},p=class extends s{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},m=class extends s{static code=`ERR_JWKS_INVALID`;code=`ERR_JWKS_INVALID`},h=class extends s{static code=`ERR_JWKS_NO_MATCHING_KEY`;code=`ERR_JWKS_NO_MATCHING_KEY`;constructor(e=`no applicable key found in the JSON Web Key Set`,t){super(e,t)}},g=class extends s{[Symbol.asyncIterator];static code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;constructor(e=`multiple matching keys found in the JSON Web Key Set`,t){super(e,t)}},_=class extends s{static code=`ERR_JWKS_TIMEOUT`;code=`ERR_JWKS_TIMEOUT`;constructor(e=`request timed out`,t){super(e,t)}},v=class extends s{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}},y=(e,t=`algorithm.name`)=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),b=(e,t)=>e.name===t;function x(e){return parseInt(e.name.slice(4),10)}function S(e,t){if(x(e.hash)!==t)throw y(`SHA-${t}`,`algorithm.hash`)}function C(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function w(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function T(e,t,n){switch(t){case`HS256`:case`HS384`:case`HS512`:if(!b(e.algorithm,`HMAC`))throw y(`HMAC`);S(e.algorithm,parseInt(t.slice(2),10));break;case`RS256`:case`RS384`:case`RS512`:if(!b(e.algorithm,`RSASSA-PKCS1-v1_5`))throw y(`RSASSA-PKCS1-v1_5`);S(e.algorithm,parseInt(t.slice(2),10));break;case`PS256`:case`PS384`:case`PS512`:if(!b(e.algorithm,`RSA-PSS`))throw y(`RSA-PSS`);S(e.algorithm,parseInt(t.slice(2),10));break;case`Ed25519`:case`EdDSA`:if(!b(e.algorithm,`Ed25519`))throw y(`Ed25519`);break;case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:if(!b(e.algorithm,t))throw y(t);break;case`ES256`:case`ES384`:case`ES512`:{if(!b(e.algorithm,`ECDSA`))throw y(`ECDSA`);let n=C(t);if(e.algorithm.namedCurve!==n)throw y(n,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}w(e,n)}function E(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var D=(e,...t)=>E(`Key must be `,e,...t),O=(e,t,...n)=>E(`Key for the ${e} algorithm must be `,t,...n);function k(e,t){if(e.startsWith(`RS`)||e.startsWith(`PS`)){let{modulusLength:n}=t.algorithm;if(typeof n!=`number`||n<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}function A(e,t){let n=`SHA-${e.slice(-3)}`;switch(e){case`HS256`:case`HS384`:case`HS512`:return{hash:n,name:`HMAC`};case`PS256`:case`PS384`:case`PS512`:return{hash:n,name:`RSA-PSS`,saltLength:parseInt(e.slice(-3),10)>>3};case`RS256`:case`RS384`:case`RS512`:return{hash:n,name:`RSASSA-PKCS1-v1_5`};case`ES256`:case`ES384`:case`ES512`:return{hash:n,name:`ECDSA`,namedCurve:t.namedCurve};case`Ed25519`:case`EdDSA`:return{name:`Ed25519`};case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:return{name:e};default:throw new d(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}async function j(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError(D(t,`CryptoKey`,`KeyObject`,`JSON Web Key`));return crypto.subtle.importKey(`raw`,t,{hash:`SHA-${e.slice(-3)}`,name:`HMAC`},!1,[n])}return T(t,e,n),t}async function M(e,t,n,r){let i=await j(e,t,`verify`);k(e,i);let a=A(e,i.algorithm);try{return await crypto.subtle.verify(a,i,n,r)}catch{return!1}}function N(e,t,n){try{return o(e)}catch{throw new n(`Failed to base64url decode the ${t}`)}}var P=e=>typeof e==`object`&&!!e;function F(e){if(!P(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function I(...e){let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}var ee=e=>F(e)&&typeof e.kty==`string`,te=e=>e.kty!==`oct`&&(e.kty===`AKP`&&typeof e.priv==`string`||typeof e.d==`string`),ne=e=>e.kty!==`oct`&&e.d===void 0&&e.priv===void 0,re=e=>e.kty===`oct`&&typeof e.k==`string`,ie=e=>{if(e?.[Symbol.toStringTag]===`CryptoKey`)return!0;try{return e instanceof CryptoKey}catch{return!1}},ae=e=>e?.[Symbol.toStringTag]===`KeyObject`,L=e=>ie(e)||ae(e),R=e=>e?.[Symbol.toStringTag],oe=(e,t,n)=>{if(t.use!==void 0){let e;switch(n){case`sign`:case`verify`:e=`sig`;break;case`encrypt`:case`decrypt`:e=`enc`;break}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case n===`sign`||n===`verify`:case e===`dir`:case e.includes(`CBC-HS`):r=n;break;case e.startsWith(`PBES2`):r=`deriveBits`;break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes(`GCM`)&&e.endsWith(`KW`)?n===`encrypt`?`wrapKey`:`unwrapKey`:n;break;case n===`encrypt`&&e.startsWith(`RSA`):r=`wrapKey`;break;case n===`decrypt`:r=e.startsWith(`RSA`)?`unwrapKey`:`deriveBits`;break}if(r&&t.key_ops?.includes?.(r)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0},se=(e,t,n)=>{if(!(t instanceof Uint8Array)){if(ee(t)){if(re(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!L(t))throw TypeError(O(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`,`Uint8Array`));if(t.type!==`secret`)throw TypeError(`${R(t)} instances for symmetric algorithms must be of type "secret"`)}},ce=(e,t,n)=>{if(ee(t))switch(n){case`decrypt`:case`sign`:if(te(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a private JWK`);case`encrypt`:case`verify`:if(ne(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a public JWK`)}if(!L(t))throw TypeError(O(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`));if(t.type===`secret`)throw TypeError(`${R(t)} instances for asymmetric algorithms must not be of type "secret"`);if(t.type===`public`)switch(n){case`sign`:throw TypeError(`${R(t)} instances for asymmetric algorithm signing must be of type "private"`);case`decrypt`:throw TypeError(`${R(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if(t.type===`private`)switch(n){case`verify`:throw TypeError(`${R(t)} instances for asymmetric algorithm verifying must be of type "public"`);case`encrypt`:throw TypeError(`${R(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function le(e,t,n){switch(e.substring(0,2)){case`A1`:case`A2`:case`di`:case`HS`:case`PB`:se(e,t,n);break;default:ce(e,t,n)}}function ue(e,t,n,r,i){if(i.crit!==void 0&&r?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!r||r.crit===void 0)return new Set;if(!Array.isArray(r.crit)||r.crit.length===0||r.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let a;a=n===void 0?t:new Map([...Object.entries(n),...t.entries()]);for(let t of r.crit){if(!a.has(t))throw new d(`Extension Header Parameter "${t}" is not recognized`);if(i[t]===void 0)throw new e(`Extension Header Parameter "${t}" is missing`);if(a.get(t)&&r[t]===void 0)throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)}function de(e,t){if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}var z=`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`;function fe(e){let t,n;switch(e.kty){case`AKP`:switch(e.alg){case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:t={name:e.alg},n=e.priv?[`sign`]:[`verify`];break;default:throw new d(z)}break;case`RSA`:switch(e.alg){case`PS256`:case`PS384`:case`PS512`:t={name:`RSA-PSS`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RS256`:case`RS384`:case`RS512`:t={name:`RSASSA-PKCS1-v1_5`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:t={name:`RSA-OAEP`,hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?[`decrypt`,`unwrapKey`]:[`encrypt`,`wrapKey`];break;default:throw new d(z)}break;case`EC`:switch(e.alg){case`ES256`:case`ES384`:case`ES512`:t={name:`ECDSA`,namedCurve:{ES256:`P-256`,ES384:`P-384`,ES512:`P-521`}[e.alg]},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:`ECDH`,namedCurve:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new d(z)}break;case`OKP`:switch(e.alg){case`Ed25519`:case`EdDSA`:t={name:`Ed25519`},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new d(z)}break;default:throw new d(`Invalid or unsupported JWK "kty" (Key Type) Parameter value`)}return{algorithm:t,keyUsages:n}}async function B(e){if(!e.alg)throw TypeError(`"alg" argument is required when "jwk.alg" is not present`);let{algorithm:t,keyUsages:n}=fe(e),r={...e};return r.kty!==`AKP`&&delete r.alg,delete r.use,crypto.subtle.importKey(`jwk`,r,t,e.ext??!(e.d||e.priv),e.key_ops??n)}var V=`given KeyObject instance cannot be used for this algorithm`,H,pe=async(e,t,n,r=!1)=>{H||=new WeakMap;let i=H.get(e);if(i?.[n])return i[n];let a=await B({...t,alg:n});return r&&Object.freeze(e),i?i[n]=a:H.set(e,{[n]:a}),a},me=(e,t)=>{H||=new WeakMap;let n=H.get(e);if(n?.[t])return n[t];let r=e.type===`public`,i=!!r,a;if(e.asymmetricKeyType===`x25519`){switch(t){case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:break;default:throw TypeError(V)}a=e.toCryptoKey(e.asymmetricKeyType,i,r?[]:[`deriveBits`])}if(e.asymmetricKeyType===`ed25519`){if(t!==`EdDSA`&&t!==`Ed25519`)throw TypeError(V);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}switch(e.asymmetricKeyType){case`ml-dsa-44`:case`ml-dsa-65`:case`ml-dsa-87`:if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError(V);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`rsa`){let n;switch(t){case`RSA-OAEP`:n=`SHA-1`;break;case`RS256`:case`PS256`:case`RSA-OAEP-256`:n=`SHA-256`;break;case`RS384`:case`PS384`:case`RSA-OAEP-384`:n=`SHA-384`;break;case`RS512`:case`PS512`:case`RSA-OAEP-512`:n=`SHA-512`;break;default:throw TypeError(V)}if(t.startsWith(`RSA-OAEP`))return e.toCryptoKey({name:`RSA-OAEP`,hash:n},i,r?[`encrypt`]:[`decrypt`]);a=e.toCryptoKey({name:t.startsWith(`PS`)?`RSA-PSS`:`RSASSA-PKCS1-v1_5`,hash:n},i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`ec`){let n=new Map([[`prime256v1`,`P-256`],[`secp384r1`,`P-384`],[`secp521r1`,`P-521`]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError(V);let o={ES256:`P-256`,ES384:`P-384`,ES512:`P-521`};o[t]&&n===o[t]&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t.startsWith(`ECDH-ES`)&&(a=e.toCryptoKey({name:`ECDH`,namedCurve:n},i,r?[]:[`deriveBits`]))}if(!a)throw TypeError(V);return n?n[t]=a:H.set(e,{[t]:a}),a};async function he(e,t){if(e instanceof Uint8Array||ie(e))return e;if(ae(e)){if(e.type===`secret`)return e.export();if(`toCryptoKey`in e&&typeof e.toCryptoKey==`function`)try{return me(e,t)}catch(e){if(e instanceof TypeError)throw e}return pe(e,e.export({format:`jwk`}),t)}if(ee(e))return e.k?o(e.k):pe(e,e,t,!0);throw Error(`unreachable`)}async function ge(e,a,s){if(!F(e))throw new f(`Flattened JWS must be an object`);if(e.protected===void 0&&e.header===void 0)throw new f(`Flattened JWS must have either of the "protected" or "header" members`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new f(`JWS Protected Header incorrect type`);if(e.payload===void 0)throw new f(`JWS Payload missing`);if(typeof e.signature!=`string`)throw new f(`JWS Signature missing or incorrect type`);if(e.header!==void 0&&!F(e.header))throw new f(`JWS Unprotected Header incorrect type`);let c={};if(e.protected)try{let t=o(e.protected);c=JSON.parse(n.decode(t))}catch{throw new f(`JWS Protected Header is invalid`)}if(!I(c,e.header))throw new f(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let l={...c,...e.header},d=ue(f,new Map([[`b64`,!0]]),s?.crit,c,l),p=!0;if(d.has(`b64`)&&(p=c.b64,typeof p!=`boolean`))throw new f(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:m}=l;if(typeof m!=`string`||!m)throw new f(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);let h=s&&de(`algorithms`,s.algorithms);if(h&&!h.has(m))throw new u(`"alg" (Algorithm) Header Parameter value not allowed`);if(p){if(typeof e.payload!=`string`)throw new f(`JWS Payload must be a string`)}else if(typeof e.payload!=`string`&&!(e.payload instanceof Uint8Array))throw new f(`JWS Payload must be a string or an Uint8Array instance`);let g=!1;typeof a==`function`&&(a=await a(c,e),g=!0),le(m,a,`verify`);let _=r(e.protected===void 0?new Uint8Array:i(e.protected),i(`.`),typeof e.payload==`string`?p?i(e.payload):t.encode(e.payload):e.payload),y=N(e.signature,`signature`,f),b=await he(a,m);if(!await M(m,b,y,_))throw new v;let x;x=p?N(e.payload,`payload`,f):typeof e.payload==`string`?t.encode(e.payload):e.payload;let S={payload:x};return e.protected!==void 0&&(S.protectedHeader=c),e.header!==void 0&&(S.unprotectedHeader=e.header),g?{...S,key:b}:S}async function _e(e,t,r){if(e instanceof Uint8Array&&(e=n.decode(e)),typeof e!=`string`)throw new f(`Compact JWS must be a string or Uint8Array`);let{0:i,1:a,2:o,length:s}=e.split(`.`);if(s!==3)throw new f(`Invalid Compact JWS`);let c=await ge({payload:a,protected:i,signature:o},t,r),l={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t==`function`?{...l,key:c.key}:l}var ve=e=>Math.floor(e.getTime()/1e3),ye=60,be=ye*60,xe=be*24,Se=xe*7,Ce=xe*365.25,we=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Te(e){let t=we.exec(e);if(!t||t[4]&&t[1])throw TypeError(`Invalid time period format`);let n=parseFloat(t[2]),r=t[3].toLowerCase(),i;switch(r){case`sec`:case`secs`:case`second`:case`seconds`:case`s`:i=Math.round(n);break;case`minute`:case`minutes`:case`min`:case`mins`:case`m`:i=Math.round(n*ye);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:i=Math.round(n*be);break;case`day`:case`days`:case`d`:i=Math.round(n*xe);break;case`week`:case`weeks`:case`w`:i=Math.round(n*Se);break;default:i=Math.round(n*Ce);break}return t[1]===`-`||t[4]===`ago`?-i:i}var Ee=e=>e.includes(`/`)?e.toLowerCase():`application/${e.toLowerCase()}`,De=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;function Oe(e,t,r={}){let i;try{i=JSON.parse(n.decode(t))}catch{}if(!F(i))throw new p(`JWT Claims Set must be a top-level JSON object`);let{typ:a}=r;if(a&&(typeof e.typ!=`string`||Ee(e.typ)!==Ee(a)))throw new c(`unexpected "typ" JWT header value`,i,`typ`,`check_failed`);let{requiredClaims:o=[],issuer:s,subject:u,audience:d,maxTokenAge:f}=r,m=[...o];f!==void 0&&m.push(`iat`),d!==void 0&&m.push(`aud`),u!==void 0&&m.push(`sub`),s!==void 0&&m.push(`iss`);for(let e of new Set(m.reverse()))if(!(e in i))throw new c(`missing required "${e}" claim`,i,e,`missing`);if(s&&!(Array.isArray(s)?s:[s]).includes(i.iss))throw new c(`unexpected "iss" claim value`,i,`iss`,`check_failed`);if(u&&i.sub!==u)throw new c(`unexpected "sub" claim value`,i,`sub`,`check_failed`);if(d&&!De(i.aud,typeof d==`string`?[d]:d))throw new c(`unexpected "aud" claim value`,i,`aud`,`check_failed`);let h;switch(typeof r.clockTolerance){case`string`:h=Te(r.clockTolerance);break;case`number`:h=r.clockTolerance;break;case`undefined`:h=0;break;default:throw TypeError(`Invalid clockTolerance option type`)}let{currentDate:g}=r,_=ve(g||new Date);if((i.iat!==void 0||f)&&typeof i.iat!=`number`)throw new c(`"iat" claim must be a number`,i,`iat`,`invalid`);if(i.nbf!==void 0){if(typeof i.nbf!=`number`)throw new c(`"nbf" claim must be a number`,i,`nbf`,`invalid`);if(i.nbf>_+h)throw new c(`"nbf" claim timestamp check failed`,i,`nbf`,`check_failed`)}if(i.exp!==void 0){if(typeof i.exp!=`number`)throw new c(`"exp" claim must be a number`,i,`exp`,`invalid`);if(i.exp<=_-h)throw new l(`"exp" claim timestamp check failed`,i,`exp`,`check_failed`)}if(f){let e=_-i.iat,t=typeof f==`number`?f:Te(f);if(e-h>t)throw new l(`"iat" claim timestamp check failed (too far in the past)`,i,`iat`,`check_failed`);if(e<0-h)throw new c(`"iat" claim timestamp check failed (it should be in the past)`,i,`iat`,`check_failed`)}return i}async function ke(e,t,n){let r=await _e(e,t,n);if(r.protectedHeader.crit?.includes(`b64`)&&r.protectedHeader.b64===!1)throw new p(`JWTs MUST NOT use unencoded payload`);let i={payload:Oe(r.protectedHeader,r.payload,n),protectedHeader:r.protectedHeader};return typeof t==`function`?{...i,key:r.key}:i}async function Ae(e,t,n){if(!F(e))throw TypeError(`JWK must be an object`);let r;switch(t??=e.alg,r??=n?.extractable??e.ext,e.kty){case`oct`:if(typeof e.k!=`string`||!e.k)throw TypeError(`missing "k" (Key Value) Parameter value`);return o(e.k);case`RSA`:if(`oth`in e&&e.oth!==void 0)throw new d(`RSA JWK "oth" (Other Primes Info) Parameter value is not supported`);return B({...e,alg:t,ext:r});case`AKP`:if(typeof e.alg!=`string`||!e.alg)throw TypeError(`missing "alg" (Algorithm) Parameter value`);if(t!==void 0&&t!==e.alg)throw TypeError(`JWK alg and alg option value mismatch`);return B({...e,ext:r});case`EC`:case`OKP`:return B({...e,alg:t,ext:r});default:throw new d(`Unsupported "kty" (Key Type) Parameter value`)}}function je(e){switch(typeof e==`string`&&e.slice(0,2)){case`RS`:case`PS`:return`RSA`;case`ES`:return`EC`;case`Ed`:return`OKP`;case`ML`:return`AKP`;default:throw new d(`Unsupported "alg" value for a JSON Web Key Set`)}}function Me(e){return e&&typeof e==`object`&&Array.isArray(e.keys)&&e.keys.every(Ne)}function Ne(e){return F(e)}var Pe=class{#e;#t=new WeakMap;constructor(e){if(!Me(e))throw new m(`JSON Web Key Set malformed`);this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:n,kid:r}={...e,...t?.header},i=je(n),a=this.#e.keys.filter(e=>{let t=i===e.kty;if(t&&typeof r==`string`&&(t=r===e.kid),t&&(typeof e.alg==`string`||i===`AKP`)&&(t=n===e.alg),t&&typeof e.use==`string`&&(t=e.use===`sig`),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(`verify`)),t)switch(n){case`ES256`:t=e.crv===`P-256`;break;case`ES384`:t=e.crv===`P-384`;break;case`ES512`:t=e.crv===`P-521`;break;case`Ed25519`:case`EdDSA`:t=e.crv===`Ed25519`;break}return t}),{0:o,length:s}=a;if(s===0)throw new h;if(s!==1){let e=new g,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of a)try{yield await Fe(t,e,n)}catch{}},e}return Fe(this.#t,o,n)}};async function Fe(e,t,n){let r=e.get(t)||e.set(t,{}).get(t);if(r[n]===void 0){let e=await Ae({...t,ext:!0},n);if(e instanceof Uint8Array||e.type!==`public`)throw new m(`JSON Web Key Set members must be public keys`);r[n]=e}return r[n]}function Ie(e){let t=new Pe(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),n}function Le(){return typeof WebSocketPair<`u`||typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`||typeof EdgeRuntime<`u`&&EdgeRuntime===`vercel`}var Re;(typeof navigator>`u`||!navigator.userAgent?.startsWith?.(`Mozilla/5.0 `))&&(Re=`jose/v6.2.3`);var ze=Symbol();async function Be(e,t,n,r=fetch){let i=await r(e,{method:`GET`,signal:n,redirect:`manual`,headers:t}).catch(e=>{throw e.name===`TimeoutError`?new _:e});if(i.status!==200)throw new s(`Expected 200 OK from the JSON Web Key Set HTTP response`);try{return await i.json()}catch{throw new s(`Failed to parse the JSON Web Key Set HTTP response as JSON`)}}var Ve=Symbol();function He(e,t){return!(typeof e!=`object`||!e||!(`uat`in e)||typeof e.uat!=`number`||Date.now()-e.uat>=t||!(`jwks`in e)||!F(e.jwks)||!Array.isArray(e.jwks.keys)||!Array.prototype.every.call(e.jwks.keys,F))}var Ue=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;constructor(e,t){if(!(e instanceof URL))throw TypeError(`url must be an instance of URL`);this.#e=new URL(e.href),this.#t=typeof t?.timeoutDuration==`number`?t?.timeoutDuration:5e3,this.#n=typeof t?.cooldownDuration==`number`?t?.cooldownDuration:3e4,this.#r=typeof t?.cacheMaxAge==`number`?t?.cacheMaxAge:6e5,this.#o=new Headers(t?.headers),Re&&!this.#o.has(`User-Agent`)&&this.#o.set(`User-Agent`,Re),this.#o.has(`accept`)||(this.#o.set(`accept`,`application/json`),this.#o.append(`accept`,`application/jwk-set+json`)),this.#s=t?.[ze],t?.[Ve]!==void 0&&(this.#l=t?.[Ve],He(t?.[Ve],this.#r)&&(this.#i=this.#l.uat,this.#c=Ie(this.#l.jwks)))}pendingFetch(){return!!this.#a}coolingDown(){return typeof this.#i==`number`?Date.now()<this.#i+this.#n:!1}fresh(){return typeof this.#i==`number`?Date.now()<this.#i+this.#r:!1}jwks(){return this.#c?.jwks()}async getKey(e,t){(!this.#c||!this.fresh())&&await this.reload();try{return await this.#c(e,t)}catch(n){if(n instanceof h&&this.coolingDown()===!1)return await this.reload(),this.#c(e,t);throw n}}async reload(){this.#a&&Le()&&(this.#a=void 0),this.#a||=Be(this.#e.href,this.#o,AbortSignal.timeout(this.#t),this.#s).then(e=>{this.#c=Ie(e),this.#l&&(this.#l.uat=Date.now(),this.#l.jwks=e),this.#i=Date.now(),this.#a=void 0}).catch(e=>{throw this.#a=void 0,e}),await this.#a}};function We(e,t){let n=new Ue(e,t),r=async(e,t)=>n.getKey(e,t);return Object.defineProperties(r,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>n.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>n.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r}var U=class e extends Error{code;status;fields;constructor(t,n,r,i){super(t),this.name=`ProvidameError`,this.code=n,this.status=r,this.fields=i,Object.setPrototypeOf(this,e.prototype)}get isInvalidCredentials(){return this.code===`invalid_credentials`||this.status===401}get isValidationError(){return this.code===`validation_failed`}};function Ge(e){return e instanceof U?e:new U(String(e),`unknown`,0)}async function Ke(e,t,n){e(!0),t(null);try{await n()}catch(e){throw t(Ge(e)),e}finally{e(!1)}}var qe={idp_denied:`Sign-in was cancelled.`,idp_intent_expired:`That sign-in link expired — try again.`};function Je(e){return qe[e]??`Something went wrong signing in — try again.`}var Ye=class{base;publishableKey;fetchImpl;constructor(e){if(!e.publishableKey)throw new U(`a publishable key is required`,`missing_publishable_key`,0);if(!e.publishableKey.startsWith(`pk_`))throw new U(`publishableKey must start with pk_ — a secret key (sk_...) must never be used in browser code`,`invalid_publishable_key`,0);this.publishableKey=e.publishableKey,this.base=(e.apiBase??``).replace(/\/+$/,``);let t=e.fetchImpl??globalThis.fetch;if(!t)throw new U(`no fetch implementation available; pass one via options`,`no_fetch`,0);this.fetchImpl=t.bind(globalThis)}url(e){return`${this.base}/fapi/v1${e}`}async post(e,t,n){return this.request(`POST`,e,t,n)}async get(e){return this.request(`GET`,e)}async patch(e,t){return this.request(`PATCH`,e,t)}async del(e,t){return this.request(`DELETE`,e,void 0,t)}async postForm(e,t){let n={"X-Publishable-Key":this.publishableKey},r=await this.fetchImpl(this.url(e),{method:`POST`,headers:n,credentials:`include`,body:t}),i=await r.text(),a=i?JSON.parse(i):null;if(!r.ok)throw Xe(a,r.status);return a}async request(e,t,n,r){let i={"X-Publishable-Key":this.publishableKey,...r};n!==void 0&&(i[`Content-Type`]=`application/json`);let a=await this.fetchImpl(this.url(t),{method:e,headers:i,credentials:`include`,body:n===void 0?void 0:JSON.stringify(n)}),o=await a.text(),s=o?JSON.parse(o):null;if(!a.ok)throw Xe(s,a.status);return s}};function Xe(e,t){let n=e?.error;return new U(n?.message??`request failed`,n?.code??`request_failed`,t,n?.fields)}function W(e){return{flowId:e.flow_id,status:e.status,supportedFirstFactors:e.supported_first_factors??[],supportedSecondFactors:e.supported_second_factors??[],session:e.session?{userId:e.session.user_id,accessToken:e.session.access_token,tokenType:e.session.token_type,expiresAt:e.session.expires_at,recoveryCodes:e.session.recovery_codes}:null}}function Ze(e){return{issuer:e.issuer,jwksUri:e.jwks_uri,authorizationEndpoint:e.authorization_endpoint,tokenEndpoint:e.token_endpoint,userinfoEndpoint:e.userinfo_endpoint,projectId:e.project_id,clientId:e.client_id,environment:e.environment,turnstileSiteKey:e.turnstile_site_key,tosUrl:e.op_tos_uri,privacyUrl:e.op_policy_uri,helpUrl:e.help_uri,supportEmail:e.support_email}}function Qe(e){return{provider:e.provider,displayName:e.display_name}}function $e(e){return{logoUrl:e.logo_url,primaryColor:e.primary_color,backgroundColor:e.background_color,fontColor:e.font_color}}function et(e){return{secret:e.secret,otpauthUri:e.otpauth_uri}}var tt=class{status=`idle`;flowId=null;session=null;transport;onChange;constructor(e,t){this.transport=e,this.onChange=t}get isComplete(){return this.status===`complete`}assertFlow(e){if(!this.flowId)throw Error(e)}applyCommon(e){this.flowId=e.flowId,this.status=e.status,this.session=e.session}notify(){return this.onChange?.(this),this}},nt=class extends tt{recoveryCodes=null;async create(e){let t=await this.transport.post(`/reset_password`,{email:e.email}).then(e=>W(e));return this.apply(t)}async attempt(e){this.assertFlow(`call create() before attempting a reset`);let t=await this.transport.post(`/reset_password/${this.flowId}/attempt`,{code:e.code,new_password:e.password}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/reset_password/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before attempting a factor`),et(await this.transport.post(`/reset_password/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/reset_password/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}async resend(){this.assertFlow(`call create() before attempting a reset`);let e=await this.transport.post(`/reset_password/${this.flowId}/resend`).then(e=>W(e));return this.apply(e)}apply(e){return this.applyCommon(e),this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}};function rt(){return typeof window<`u`&&window.PublicKeyCredential!==void 0&&typeof navigator<`u`&&navigator.credentials!==void 0}function it(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4==0?``:`=`.repeat(4-t.length%4),r=atob(t+n),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return i.buffer}function at(e){let t=new Uint8Array(e),n=``;for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function ot(e){return e?.map(e=>({id:it(e.id),type:`public-key`,transports:e.transports}))}function st(e){let t=e.publicKey,n=t.user;return{publicKey:{...t,challenge:it(t.challenge),user:{...n,id:it(n.id)},excludeCredentials:ot(t.excludeCredentials)}}}function ct(e){let t=e.publicKey;return{publicKey:{...t,challenge:it(t.challenge),allowCredentials:ot(t.allowCredentials)}}}function lt(e){let t=e,n=t.response,r={id:t.id,rawId:at(t.rawId),type:t.type,clientExtensionResults:t.getClientExtensionResults?.()??{}};return n.attestationObject===void 0?r.response={clientDataJSON:at(n.clientDataJSON),authenticatorData:at(n.authenticatorData),signature:at(n.signature),userHandle:n.userHandle?at(n.userHandle):null}:r.response={clientDataJSON:at(n.clientDataJSON),attestationObject:at(n.attestationObject)},r}var ut={NotAllowedError:`Passkey action was cancelled or timed out.`,InvalidStateError:`This device is already registered as a passkey for this account.`,SecurityError:`Passkeys aren't available on this connection — use HTTPS.`,NotSupportedError:`This device or browser doesn't support passkeys.`};function dt(e){return ut[e instanceof Error?e.name:``]??`Something went wrong with the passkey action — try again.`}var ft=class extends tt{supportedFirstFactors=[];supportedSecondFactors=[];recoveryCodes=null;passkeyRequestOptions=null;async create(e){let t=await this.transport.post(`/sign_in`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async createWithPasskey(e){let t=await this.transport.post(`/sign_in/passkey`,{identifier:e.identifier,domain:e.domain});return this.passkeyRequestOptions=t.credential_request_options??null,this.apply(W(t))}async completeWithPasskey(){if(this.assertFlow(`call createWithPasskey() first`),!this.passkeyRequestOptions)throw Error(`no passkey challenge on this flow — call createWithPasskey() first`);let e=await navigator.credentials.get(ct(this.passkeyRequestOptions));if(!e)throw Error(`no passkey credential was returned`);return this.attemptFirstFactor({strategy:`webauthn`,credential:lt(e)})}async createWithOTPEmail(e){let t=await this.transport.post(`/sign_in/otp_email`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async resendOTPEmail(){this.assertFlow(`call createWithOTPEmail() first`),await this.transport.post(`/sign_in/otp_email/${this.flowId}/resend`)}async createWithOTPSMS(e){let t=await this.transport.post(`/sign_in/otp_sms`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async resendOTPSMS(){this.assertFlow(`call createWithOTPSMS() first`),await this.transport.post(`/sign_in/otp_sms/${this.flowId}/resend`)}async createWithMagicLink(e){let t=await this.transport.post(`/sign_in/magic_link`,{identifier:e.identifier,return_url:e.returnUrl}).then(e=>W(e));return this.apply(t)}async attemptFirstFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_first_factor`,{strategy:e.strategy,password:e.password,credential:e.credential,code:e.code}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before attempting a factor`),et(await this.transport.post(`/sign_in/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}apply(e){return this.applyCommon(e),this.supportedFirstFactors=e.supportedFirstFactors,this.supportedSecondFactors=e.supportedSecondFactors,this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}},pt=class extends tt{supportedSecondFactors=[];recoveryCodes=null;password=null;async create(e){this.password=e.password;let t=await this.transport.post(`/sign_up`,{email:e.email,password:e.password,username:e.username,first_name:e.firstName??``,last_name:e.lastName??``,invite_token:e.inviteToken,turnstile_token:e.turnstileToken}).then(e=>W(e));return this.apply(t)}async attemptVerification(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_up/${this.flowId}/attempt_verification`,{code:e.code,password:this.password??``}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before verifying`),et(await this.transport.post(`/sign_in/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_in/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}apply(e){return this.applyCommon(e),this.supportedSecondFactors=e.supportedSecondFactors,this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}};function mt(e){return{id:e.id,email:e.email,givenName:e.given_name,familyName:e.family_name,emailVerified:e.email_verified,avatarUrl:e.avatar_url,createdAt:e.created_at}}var ht=class{totp;sessions;passkeys;transport;constructor(e){this.transport=e,this.totp=new vt(e),this.sessions=new gt(e),this.passkeys=new _t(e)}async update(e){return mt(await this.transport.patch(`/me`,{given_name:e.givenName??``,family_name:e.familyName??``}))}async changePassword(e){await this.transport.post(`/me/password`,{current_password:e.currentPassword,new_password:e.newPassword})}async reauth(e){let t=await this.transport.post(`/me/reauth`,{password:e});return{stepUpToken:t.step_up_token,expiresAt:t.expires_at}}async deleteAccount(e){let{stepUpToken:t}=await this.reauth(e);await this.transport.del(`/me`,{"X-Step-Up-Token":t})}async changeEmail(e){await this.transport.post(`/me/email`,{email:e})}async verifyEmailChange(e){await this.transport.post(`/me/email/verify`,{code:e})}async setPhone(e){await this.transport.post(`/me/phone`,{phone:e})}async uploadAvatar(e){let t=new FormData;return t.append(`file`,e),{avatarUrl:(await this.transport.postForm(`/me/avatar`,t)).avatar_url}}async removeAvatar(){await this.transport.del(`/me/avatar`)}async exportData(){return this.transport.get(`/me/export`)}},gt=class{transport;constructor(e){this.transport=e}async list(){return(await this.transport.get(`/me/sessions`)).sessions.map(e=>({id:e.id,createdAt:e.created_at}))}async revoke(e){await this.transport.del(`/me/sessions/${e}`)}},_t=class{transport;constructor(e){this.transport=e}async list(){return(await this.transport.get(`/me/passkeys`)).passkeys.map(e=>({id:e.id,name:e.name}))}async register(e){let t=await this.transport.post(`/me/passkeys`,{domain:e});return{passkeyId:t.passkey_id,creationOptions:t.creation_options}}async verify(e,t,n){await this.transport.post(`/me/passkeys/${e}/verify`,{credential:t,name:n})}async remove(e){await this.transport.del(`/me/passkeys/${e}`)}async registerWithBrowser(e,t){let{passkeyId:n,creationOptions:r}=await this.register(e),i=await navigator.credentials.create(st(r));if(!i)throw Error(`no passkey credential was created`);await this.verify(n,lt(i),t)}async registerWithCode(e,t,n,r){let i=await this.transport.post(`/passkeys/register_with_code`,{identifier:e,code_id:t,code:n,domain:r});return{passkeyId:i.passkey_id,creationOptions:i.creation_options}}async verifyWithCode(e,t,n,r){await this.transport.post(`/passkeys/${e}/verify_with_code`,{identifier:t,credential:n,name:r})}},vt=class{transport;constructor(e){this.transport=e}async isEnrolled(){return(await this.transport.get(`/me/mfa`)).has_totp}async enroll(){return et(await this.transport.post(`/me/totp`))}async verify(e){return(await this.transport.post(`/me/totp/verify`,{code:e})).recovery_codes}async remove(){await this.transport.del(`/me/totp`)}};function yt(e){let t={authenticated:e.authenticated,accessToken:e.access_token};return e.id&&(t.user={id:e.id,email:e.email??``,givenName:e.given_name??``,familyName:e.family_name??``,emailVerified:e.email_verified??!1,avatarUrl:e.avatar_url,createdAt:e.created_at??``,publicMetadata:e.public_metadata??{},unsafeMetadata:e.unsafe_metadata??{}}),t}var bt=class{user;transport;listeners=new Set;refreshTimer=null;refreshEpoch=0;_pendingSocialLoginError=null;_brandingPromise=null;_tabChannel=null;constructor(e){this.transport=new Ye({apiBase:e.apiBase,publishableKey:e.publishableKey,fetchImpl:e.fetch}),this.user=new ht(this.transport),this._pendingSocialLoginError=this._consumeIdpError(),this._pendingSocialLoginError&&queueMicrotask(()=>{this._pendingSocialLoginError=null}),typeof BroadcastChannel<`u`&&(this._tabChannel=new BroadcastChannel(`providame:${e.publishableKey}`),this._tabChannel.onmessage=e=>{e.data?.type===`signed-out`&&(this._stopRefreshLoop(),this._emit(`signed-out`,{session:null,reason:`cross-tab`}))})}createSignIn(e){return new ft(this.transport,t=>{t.isComplete&&this._notifySignedIn(t.session),e?.(t)})}createSignUp(e){return new pt(this.transport,t=>{t.isComplete&&this._notifySignedIn(t.session),e?.(t)})}async resetPassword(e){return new nt(this.transport,e=>{e.isComplete&&this._notifySignedIn(e.session)}).create(e)}onAuthStateChange(e){return this.listeners.add(e),this._pendingSocialLoginError&&e(`social-login-error`,{session:null,socialLoginError:this._pendingSocialLoginError}),()=>this.listeners.delete(e)}async session(){let e=await this._tryMe();if(e)return this._startRefreshLoop(),e;try{let e=await this.transport.post(`/refresh`);this._startRefreshLoop(e.expires_at)}catch{return null}return this._tryMe()}async _tryMe(){try{return yt(await this.transport.get(`/me`))}catch{return null}}async getClaims(){let e=await this.session();if(!e?.accessToken)return null;try{let t=e.accessToken.split(`.`)[1];return t?JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`))):null}catch{return null}}async signOut(){this._stopRefreshLoop(),await this.transport.post(`/sign_out`),this._emit(`signed-out`,{session:null,reason:`explicit`}),this._tabChannel?.postMessage({type:`signed-out`})}async configuration(){return Ze(await this.transport.get(`/.well-known/providame-configuration`))}async signInWithIdp(e,t){let n=t?.returnUrl??(typeof window>`u`?void 0:window.location.href);if(!n)throw new U(`returnUrl is required when window is unavailable (SSR/non-browser)`,`missing_return_url`,0);let r=await this.transport.post(`/sign_in/idp/${e}`,{return_url:n});typeof window<`u`&&(window.location.href=r.authorize_url)}async branding(){return this._brandingPromise||=this.transport.get(`/branding`).then(e=>$e(e)).catch(()=>({})),this._brandingPromise}async listEnabledIdps(){return(await this.transport.get(`/idps`)).idps.map(Qe)}_consumeIdpError(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t=e.get(`providame_error`);if(!t)return null;e.delete(`providame_error`);let n=e.toString(),r=window.location.pathname+(n?`?${n}`:``)+window.location.hash;return window.history.replaceState(window.history.state,``,r),t}_notifySignedIn(e){this._startRefreshLoop(e?.expiresAt),this._emit(`signed-in`,{session:e})}_emit(e,t){for(let n of this.listeners)try{n(e,t)}catch{}}_startRefreshLoop(e){if(this.refreshTimer!==null)return;let t=this.refreshEpoch,n=this._nextRefreshDelayMs(e);this.refreshTimer=setTimeout(async()=>{this.refreshTimer=null;try{let e=await this.transport.post(`/refresh`);if(t!==this.refreshEpoch)return;this._startRefreshLoop(e.expires_at)}catch{if(t!==this.refreshEpoch)return;this._stopRefreshLoop(),this._emit(`signed-out`,{session:null,reason:`expired`}),this._tabChannel?.postMessage({type:`signed-out`})}},n)}_nextRefreshDelayMs(e){if(!e)return 72e4;let t=new Date(e).getTime()-Date.now();return!Number.isFinite(t)||t<=0?1e3:Math.max(1e3,Math.floor(t*.85))}_stopRefreshLoop(){this.refreshEpoch++,this.refreshTimer!==null&&(clearTimeout(this.refreshTimer),this.refreshTimer=null)}};function xt(e){return new bt(e)}var St=new Map;function Ct(e){let t=St.get(e);return t||(t=We(new URL(e)),St.set(e,t)),t}async function wt(e,t){let{payload:n}=await ke(e,Ct(t.jwksUri),{issuer:t.issuer,audience:t.audience,clockTolerance:t.clockToleranceSeconds??5});return{userId:typeof n.sub==`string`?n.sub:``,claims:n}}var Tt={colorPrimary:`--mrd-color-primary`,colorDanger:`--mrd-color-danger`,colorSuccess:`--mrd-color-success`,colorBackground:`--mrd-color-background`,colorText:`--mrd-color-text`,colorTextSecondary:`--mrd-color-text-secondary`,colorInputBackground:`--mrd-color-input-background`,colorInputText:`--mrd-color-input-text`,borderRadius:`--mrd-border-radius`,fontFamily:`--mrd-font-family`,fontSize:`--mrd-font-size`,spacingUnit:`--mrd-spacing-unit`};function Et(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let e=Tt[n];e&&(t[e]=r)}return t}function Dt(e,t){return e?.[t]}function Ot(e,t,n){let r=e?.[t],i={...Et(e?.variables),...Et(r?.variables),...Et(n?.variables)};function a(t){let i=Dt(n?.elements,t)??Dt(r?.elements,t)??Dt(e?.elements,t);return i===void 0?{class:``,style:{}}:typeof i==`string`?{class:i,style:{}}:{class:``,style:i}}return{rootStyle:i,elementProps:a}}var kt={1:{totalCodewords:26,ecPerBlock:10,groups:[[1,16]],alignmentPositions:[]},2:{totalCodewords:44,ecPerBlock:16,groups:[[1,28]],alignmentPositions:[6,18]},3:{totalCodewords:70,ecPerBlock:26,groups:[[1,44]],alignmentPositions:[6,22]},4:{totalCodewords:100,ecPerBlock:18,groups:[[2,32]],alignmentPositions:[6,26]},5:{totalCodewords:134,ecPerBlock:24,groups:[[2,43]],alignmentPositions:[6,30]},6:{totalCodewords:172,ecPerBlock:16,groups:[[4,27]],alignmentPositions:[6,34]},7:{totalCodewords:196,ecPerBlock:18,groups:[[4,31]],alignmentPositions:[6,22,38]},8:{totalCodewords:242,ecPerBlock:22,groups:[[2,38],[2,39]],alignmentPositions:[6,24,42]},9:{totalCodewords:292,ecPerBlock:22,groups:[[3,36],[2,37]],alignmentPositions:[6,26,46]},10:{totalCodewords:346,ecPerBlock:26,groups:[[4,43],[1,44]],alignmentPositions:[6,28,50]}};function At(e){return e===1?0:e>=2&&e<=6?7:0}function jt(e){return e.groups.reduce((e,[t,n])=>e+t*n,0)}function Mt(e){return e<=9?8:16}function Nt(e){for(let t=1;t<=10;t++){let n=kt[t],r=jt(n),i=4+Mt(t),a=r*8-i;if(e<=Math.floor(a/8))return t}throw Error(`generateQRMatrix: input too long (${e} bytes) for supported versions 1-10 at level M`)}var Pt=class{bits=[];pushBits(e,t){for(let n=t-1;n>=0;n--)this.bits.push(e>>>n&1)}get length(){return this.bits.length}toCodewords(e){let t=e*8,n=Math.min(4,t-this.bits.length);for(let e=0;e<n;e++)this.bits.push(0);for(;this.bits.length%8!=0;)this.bits.push(0);let r=[];for(let e=0;e<this.bits.length;e+=8){let t=0;for(let n=0;n<8;n++)t=t<<1|this.bits[e+n];r.push(t)}let i=[236,17],a=0;for(;r.length<e;)r.push(i[a%2]),a++;return r}};function Ft(e,t,n){let r=Array.from(new TextEncoder().encode(e)),i=new Pt;i.pushBits(4,4),i.pushBits(r.length,Mt(t));for(let e of r)i.pushBits(e,8);return i.toCodewords(jt(n))}var It=Array(512),Lt=Array(256);(function(){let e=1;for(let t=0;t<255;t++)It[t]=e,Lt[e]=t,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)It[e]=It[e-255]})();function Rt(e,t){return e===0||t===0?0:It[Lt[e]+Lt[t]]}function zt(e){let t=[1];for(let n=0;n<e;n++){let e=Array(t.length+1).fill(0);for(let r=0;r<t.length;r++)e[r]^=Rt(t[r],It[n]),e[r+1]^=t[r];t=e}return t}function Bt(e,t){let n=zt(t),r=Array(t).fill(0);for(let i of e){let e=i^r[0];r.shift(),r.push(0);for(let i=0;i<t;i++)r[i]^=Rt(n[t-1-i],e)}return r}function Vt(e,t){let n=[],r=0;for(let[i,a]of e.groups)for(let e=0;e<i;e++)n.push(t.slice(r,r+a)),r+=a;let i=n.map(t=>Bt(t,e.ecPerBlock)),a=[],o=Math.max(...n.map(e=>e.length));for(let e=0;e<o;e++)for(let t of n)e<t.length&&a.push(t[e]);for(let t=0;t<e.ecPerBlock;t++)for(let e of i)a.push(e[t]);return a}function Ht(e){let t=e<<10;for(let e=14;e>=10;e--)t&1<<e&&(t^=1335<<e-10);return(e<<10|t)^21522}function Ut(e){let t=e<<12;for(let e=17;e>=12;e--)t&1<<e&&(t^=7973<<e-12);return e<<12|t}function Wt(e){return Array.from({length:e},()=>Array(e).fill(null))}function Gt(e){return Array.from({length:e},()=>Array(e).fill(!1))}function Kt(e,t,n,r){for(let i=-1;i<=7;i++)for(let a=-1;a<=7;a++){let o=n+i,s=r+a;if(o<0||s<0||o>=e.length||s>=e.length)continue;if(t[o][s]=!0,!(i>=0&&i<=6&&a>=0&&a<=6)){e[o][s]=!1;continue}let c=i===0||i===6||a===0||a===6,l=i>=2&&i<=4&&a>=2&&a<=4;e[o][s]=c||l}}function qt(e,t,n,r){for(let i=-2;i<=2;i++)for(let a=-2;a<=2;a++){let o=n+i,s=r+a;t[o][s]=!0;let c=Math.max(Math.abs(i),Math.abs(a));e[o][s]=c!==1}}function Jt(e,t,n){for(let r=8;r<n-8;r++)t[6][r]||(e[6][r]=r%2==0,t[6][r]=!0),t[r][6]||(e[r][6]=r%2==0,t[r][6]=!0)}function Yt(e,t){for(let t=0;t<=8;t++)e[8][t]=!0,e[t][8]=!0;for(let n=0;n<8;n++)e[8][t-1-n]=!0,e[t-1-n][8]=!0}function Xt(e,t,n){if(!(n<7))for(let n=0;n<6;n++)for(let r=0;r<3;r++)e[t-11+r][n]=!0,e[n][t-11+r]=!0}function Zt(e,t){let n=e.alignmentPositions;if(n.length===0)return[];let r=[];for(let e of n)for(let i of n){let n=e<=7&&i<=7,a=e<=7&&i>=t-8,o=e>=t-8&&i<=7;n||a||o||r.push([e,i])}return r}function Qt(e,t,n,r){let i=0,a=!0,o=n-1;for(;o>0;){o===6&&o--;for(let s=0;s<n;s++){let c=a?n-1-s:s;for(let n of[o,o-1]){if(t[c][n])continue;let a=i<r.length?r[i]:0;e[c][n]=a===1,i++}}a=!a,o-=2}}function $t(e){let t=[];for(let n of e)for(let e=7;e>=0;e--)t.push(n>>>e&1);return t}function en(e){switch(e){case 0:return(e,t)=>(e+t)%2==0;case 1:return e=>e%2==0;case 2:return(e,t)=>t%3==0;case 3:return(e,t)=>(e+t)%3==0;case 4:return(e,t)=>(Math.floor(e/2)+Math.floor(t/3))%2==0;case 5:return(e,t)=>e*t%2+e*t%3==0;case 6:return(e,t)=>(e*t%2+e*t%3)%2==0;default:return(e,t)=>((e+t)%2+e*t%3)%2==0}}function tn(e,t,n,r){let i=en(r),a=Array.from({length:n},()=>Array(n).fill(!1));for(let r=0;r<n;r++)for(let o=0;o<n;o++){let n=e[r][o]??!1;a[r][o]=t[r][o]?n:n!==i(r,o)}return a}function nn(e,t){let n=0,r=e=>{for(let r=0;r<t;r++){let i=1,a=e(r,0);for(let o=1;o<t;o++){let t=e(r,o);t===a?i++:(i>=5&&(n+=3+(i-5)),i=1,a=t)}i>=5&&(n+=3+(i-5))}};r((t,n)=>e[t][n]),r((t,n)=>e[n][t]);for(let r=0;r<t-1;r++)for(let i=0;i<t-1;i++){let t=e[r][i];e[r][i+1]===t&&e[r+1][i]===t&&e[r+1][i+1]===t&&(n+=3)}let i=[!0,!1,!0,!0,!0,!1,!0,!1,!1,!1,!1],a=[!1,!1,!1,!1,!0,!1,!0,!0,!0,!1,!0],o=(e,t,n)=>{for(let r=0;r<n.length;r++)if(e[t+r]!==n[r])return!1;return!0},s=e=>{for(let r=0;r<t;r++){let s=Array.from({length:t},(t,n)=>e(r,n));for(let e=0;e<=t-11;e++)(o(s,e,i)||o(s,e,a))&&(n+=40)}};s((t,n)=>e[t][n]),s((t,n)=>e[n][t]);let c=0;for(let n=0;n<t;n++)for(let r=0;r<t;r++)e[n][r]&&c++;let l=c*100/(t*t),u=Math.abs(Math.floor(l/5)*5-50)/5;return n+=u*10,n}function rn(e,t,n){let r=Ht(0|n),i=[];for(let e=14;e>=0;e--)i.push((r>>>e&1)==1);let a=[0,1,2,3,4,5,7,8];for(let t=0;t<8;t++)e[8][a[t]]=i[t];let o=[7,5,4,3,2,1,0];for(let t=0;t<7;t++)e[o[t]][8]=i[8+t];for(let n=0;n<8;n++)e[t-1-n][8]=i[n];for(let n=0;n<7;n++)e[8][t-7+n]=i[8+n];e[t-8][8]=!0}function an(e,t,n){if(n<7)return;let r=Ut(n);for(let n=0;n<18;n++){let i=(r>>>n&1)==1,a=n%3,o=Math.floor(n/3);e[t-11+a][o]=i,e[o][t-11+a]=i}}function on(e){let t=new TextEncoder().encode(e).length,n=Nt(t),r=kt[n],i=4*n+17,a=$t(Vt(r,Ft(e,n,r))),o=At(n);for(let e=0;e<o;e++)a.push(0);let s=Wt(i),c=Gt(i);Kt(s,c,0,0),Kt(s,c,0,i-7),Kt(s,c,i-7,0);for(let[e,t]of Zt(r,i))qt(s,c,e,t);Jt(s,c,i),Yt(c,i),Xt(c,i,n),s[i-8][8]=!0,c[i-8][8]=!0,Qt(s,c,i,a);let l=null;for(let e=0;e<8;e++){let t=tn(s,c,i,e),n=nn(t,i);(!l||n<l.score)&&(l={mask:e,matrix:t,score:n})}let u=l.matrix;return rn(u,i,l.mask),an(u,i,n),u}function sn(e){let t=[];return e.forEach((e,n)=>{e.forEach((e,r)=>{e&&t.push({x:r,y:n})})}),t}var cn=`<svg viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M10 3.5c-4.14 0-7.59 2.61-9 6.5 1.41 3.89 4.86 6.5 9 6.5s7.59-2.61 9-6.5c-1.41-3.89-4.86-6.5-9-6.5zm0 10.5a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"/></svg>`,ln=`<svg viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l2.2 2.2C2.86 6.87 1.6 8.51 1 10c1.41 3.89 4.86 6.5 9 6.5 1.6 0 3.09-.4 4.38-1.09l2.34 2.34a.75.75 0 1 0 1.06-1.06L3.28 2.22zM10 14.5a4.47 4.47 0 0 1-2.6-.83l1.2-1.2a2.5 2.5 0 0 0 3.07-3.07l1.2-1.2c.44.62.63 1.4.63 2.3a4.5 4.5 0 0 1-4.5 4.5zm.06-9L14.9 10.3c.42-.4.8-.86 1.1-1.3-1.41-3.89-4.86-6.5-9-6.5-.55 0-1.09.05-1.62.13l1.8 1.8c.35-.06.71-.1 1.08-.1z"/></svg>`,un={google:`<svg viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path fill="#4285F4" d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.874 2.684-6.615z"/><path fill="#34A853" d="M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18z"/><path fill="#FBBC05" d="M3.964 10.706A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.706V4.962H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.038l3.007-2.332z"/><path fill="#EA4335" d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.962L3.964 7.294C4.672 5.167 6.656 3.58 9 3.58z"/></svg>`,github:`<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>`,apple:`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"/></svg>`,facebook:`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#1877F2" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>`};function dn(e){return un[e]??null}function fn(e){let t=[e.givenName,e.familyName].filter(Boolean);return{displayName:t.join(` `)||e.email,initials:t.length>0?t.map(e=>e[0]).join(``).slice(0,2).toUpperCase():(e.email[0]??`?`).toUpperCase()}}var pn=`urn:zitadel:iam:org:project:roles`;function mn(e,t){if(!t)return!0;let n=e?.[pn];return!!(n&&t in n)}var hn=`https://challenges.cloudflare.com/turnstile/v0/api.js`,gn=null;function _n(){return window.turnstile?Promise.resolve(window.turnstile):(gn??=new Promise((e,t)=>{let n=document.createElement(`script`);n.src=hn,n.async=!0,n.defer=!0,n.onload=()=>{window.turnstile?e(window.turnstile):t(Error(`Turnstile script loaded but window.turnstile is missing`))},n.onerror=()=>t(Error(`Failed to load the Turnstile script`)),document.head.appendChild(n)}),gn)}async function vn(e,t,n){let r=await _n(),i=r.render(e,{sitekey:t,callback:n,"error-callback":()=>r.reset(i),"expired-callback":()=>r.reset(i)});return()=>r.remove(i)}function yn(e){let t=e.replace(/[\t\n\r]/g,``),n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t)?.[1];return n?n.toLowerCase()+`:`:void 0}function bn(e){if(!e)return;let t=yn(e);return t===`http:`||t===`https:`?e:void 0}var xn=new Set([`javascript:`,`vbscript:`,`data:`,`file:`]);function Sn(e){if(!e)return;let t=yn(e);if(!(t&&xn.has(t)))return e}function Cn(e){if(!e)return;let t=e.replace(/[\t\n\r]/g,``);if(!/[?&]/.test(t)&&/^[^\s@?&]+@[^\s@?&]+\.[^\s@?&]+$/.test(t))return`mailto:${t}`}var wn=Symbol(`providame`),Tn={install(e,t){let n=xt(t);e.provide(wn,n),e.config.globalProperties.$providame=n}};function G(){let t=(0,e.inject)(wn);if(!t)throw Error(`[@providame/vue] no client found — did you app.use(ProvidamePlugin, { publishableKey })?`);return t}function En(){let t=G(),n=(0,e.reactive)({status:`idle`,firstFactors:[],secondFactors:[],session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=t.createSignIn(s);function s(e){n.status=e.status,n.firstFactors=e.supportedFirstFactors,n.secondFactors=e.supportedSecondFactors,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,firstFactors:(0,e.computed)(()=>n.firstFactors),secondFactors:(0,e.computed)(()=>n.secondFactors),session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await c(()=>o.create({identifier:e}))},async signInWithPassword(e,n){await c(async()=>{try{await o.create({identifier:e}),await o.attemptFirstFactor({strategy:`password`,password:n})}catch(e){throw o=t.createSignIn(s),s(o),e}})},async signInWithPasskey(e,t){await c(async()=>{await o.createWithPasskey({identifier:e,domain:t}),await o.completeWithPasskey()})},async signInWithOTPEmail(e){await c(()=>o.createWithOTPEmail({identifier:e}))},async resendOTPEmail(){await c(()=>o.resendOTPEmail())},async signInWithOTPSMS(e){await c(()=>o.createWithOTPSMS({identifier:e}))},async resendOTPSMS(){await c(()=>o.resendOTPSMS())},async signInWithMagicLink(e,t){await c(()=>o.createWithMagicLink({identifier:e,returnUrl:t}))},async attemptFirstFactor(e){await c(()=>o.attemptFirstFactor(e))},async attemptSecondFactor(e){await c(()=>o.attemptSecondFactor(e))},async enrollTotp(){await c(async()=>{a.value=await o.enrollTotp()})},async verifyTotpEnrollment(e){await c(()=>o.verifyTotpEnrollment(e))},reset(){o=t.createSignIn(s),n.status=`idle`,n.firstFactors=[],n.secondFactors=[],n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function Dn(){let t=G(),n=(0,e.ref)([]),r=(0,e.ref)(!1),i=(0,e.ref)(null);(0,e.onMounted)(()=>{(0,e.onUnmounted)(t.onAuthStateChange((e,t)=>{e===`social-login-error`&&t.socialLoginError&&(i.value=new U(Je(t.socialLoginError),t.socialLoginError,0))})),(async()=>{try{n.value=await t.listEnabledIdps()}catch{}})()});async function a(e,n){r.value=!0,i.value=null;try{await t.signInWithIdp(e,n?{returnUrl:n}:void 0)}catch(e){throw i.value=Ge(e),r.value=!1,e}}return{providers:n,loading:r,error:i,signIn:a}}function On(){let t=G(),n=(0,e.reactive)({status:`idle`,secondFactors:[],session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=t.createSignUp(s);function s(e){n.status=e.status,n.secondFactors=e.supportedSecondFactors,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,secondFactors:(0,e.computed)(()=>n.secondFactors),session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),needsVerification:(0,e.computed)(()=>n.status===`needs_verification`),isWaitlisted:(0,e.computed)(()=>n.status===`waitlisted`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await c(()=>o.create(e))},async attemptVerification(e){await c(()=>o.attemptVerification(e))},async attemptSecondFactor(e){await c(()=>o.attemptSecondFactor(e))},async enrollTotp(){await c(async()=>{a.value=await o.enrollTotp()})},async verifyTotpEnrollment(e){await c(()=>o.verifyTotpEnrollment(e))},reset(){o=t.createSignUp(s),n.status=`idle`,n.secondFactors=[],n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function kn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!0),i=(0,e.ref)(null),a=(0,e.ref)(null),o=0;async function s(){let e=++o;r.value=!0;try{let r=await t.session();if(e!==o)return;n.value=!!r?.authenticated,i.value=r?.accessToken??null,a.value=r?.user??null}finally{e===o&&(r.value=!1)}}async function c(){o++,await t.signOut(),n.value=!1,i.value=null,a.value=null}return(0,e.onMounted)(()=>{s(),(0,e.onUnmounted)(t.onAuthStateChange((e,{session:r})=>{if(e===`signed-in`){let e=++o;n.value=!0,i.value=r?.accessToken??null,t.session().then(t=>{e===o&&(a.value=t?.user??null)})}else e===`signed-out`&&(o++,n.value=!1,i.value=null,a.value=null)}))}),{isSignedIn:n,loading:r,accessToken:i,user:a,refresh:s,signOut:c}}function An(){let t=G(),n=(0,e.reactive)({status:`idle`,session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=null;function s(e){n.status=e.status,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(){if(!o)throw Error(`call create() before attempting a reset`);return o}function l(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await l(async()=>{o=await t.resetPassword(e),s(o)})},async attempt(e){let t=c();await l(async()=>{await t.attempt(e),s(t)})},async attemptSecondFactor(e){let t=c();await l(async()=>{await t.attemptSecondFactor(e),s(t)})},async enrollTotp(){let e=c();await l(async()=>{a.value=await e.enrollTotp()})},async verifyTotpEnrollment(e){let t=c();await l(async()=>{await t.verifyTotpEnrollment(e),s(t)})},async resend(){let e=c();await l(async()=>{await e.resend(),s(e)})},reset(){o=null,n.status=`idle`,n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function jn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=(0,e.ref)(null);async function s(){let[e,s]=await Promise.all([t.session(),t.getClaims()]);r.value=!!e?.authenticated,o.value=e?.accessToken??null,a.value=s,i.value=s?.sub??null,n.value=!0}async function c(){return o.value}async function l(){await t.signOut(),r.value=!1,i.value=null,a.value=null,o.value=null}let u;return(0,e.onMounted)(()=>{s(),u=t.onAuthStateChange(()=>{s()})}),(0,e.onUnmounted)(()=>u?.()),{isLoaded:n,isSignedIn:r,userId:i,sessionClaims:a,getToken:c,signOut:l}}function Mn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(null);async function a(){let e=await t.session();r.value=!!e?.authenticated,i.value=e?.user??null,n.value=!0}let o;return(0,e.onMounted)(()=>{a(),o=t.onAuthStateChange(()=>{a()})}),(0,e.onUnmounted)(()=>o?.()),{isLoaded:n,isSignedIn:r,user:i,reload:a}}function Nn(e){let t=e.trim().replace(/^#/,``),n=t.length===3?t.split(``).map(e=>e+e).join(``):t;if(!/^[0-9a-fA-F]{6}$/.test(n))return null;let r=parseInt(n,16);return[r>>16&255,r>>8&255,r&255]}function Pn(e){let t=Nn(e);if(!t)return`#ffffff`;let[n,r,i]=t;return(.299*n+.587*r+.114*i)/255>.6?`#000000`:`#ffffff`}function Fn(e){if(typeof document>`u`)return;let t=document.documentElement.style;e.primaryColor&&(t.setProperty(`--providame-accent`,e.primaryColor),t.setProperty(`--providame-on-accent`,Pn(e.primaryColor))),e.backgroundColor&&t.setProperty(`--providame-bg`,e.backgroundColor),e.fontColor&&t.setProperty(`--providame-fg`,e.fontColor)}function In(){let t=G(),n=(0,e.ref)({});return(0,e.onMounted)(()=>{t.branding().then(e=>{Fn(e),n.value=e})}),n}function Ln(){let e=G();return{registerWithCode:(t,n,r,i)=>e.user.passkeys.registerWithCode(t,n,r,i),verifyWithCode:(t,n,r,i)=>e.user.passkeys.verifyWithCode(t,n,r,i)}}var Rn={class:`mrd-header`},zn=[`src`],Bn={key:1,class:`mrd-subtitle`},Vn={key:2,class:`mrd-subtitle`},Hn={key:0,class:`mrd-idp-buttons`},Un={class:`mrd-idp-button-row`},Wn=[`title`,`aria-label`,`disabled`,`onClick`],Gn=[`innerHTML`],Kn={key:1,class:`mrd-idp-fallback`},qn={class:`mrd-sr-only`},Jn=[`aria-invalid`,`aria-describedby`],Yn={class:`mrd-password-wrap`},Xn=[`type`,`aria-invalid`,`aria-describedby`],Zn=[`aria-label`,`innerHTML`],Qn=[`disabled`],$n=[`disabled`],er=[`disabled`],tr=[`aria-invalid`,`aria-describedby`],nr=[`aria-invalid`,`aria-describedby`],rr=[`disabled`],ir=[`disabled`],ar={id:`mrd-enroll-secret`,class:`mrd-secret`},or=[`aria-invalid`,`aria-describedby`],sr=[`disabled`],cr={key:4},lr={key:0,class:`mrd-recovery-codes`},ur={key:5,class:`mrd-foot`},dr=[`href`],fr={key:0,class:`mrd-hint`},pr=[`aria-invalid`,`aria-describedby`],mr=[`disabled`],hr={class:`mrd-hint`},gr=[`aria-invalid`,`aria-describedby`],_r={class:`mrd-password-wrap`},vr=[`type`,`aria-invalid`,`aria-describedby`],yr=[`aria-label`,`innerHTML`],br=[`disabled`],xr={class:`mrd-action-row`},Sr=[`disabled`],Cr=[`aria-invalid`,`aria-describedby`],wr=[`aria-invalid`,`aria-describedby`],Tr=[`disabled`],Er=[`disabled`],Dr={id:`mrd-reset-enroll-secret`,class:`mrd-secret`},Or=[`aria-invalid`,`aria-describedby`],kr=[`disabled`],Ar={key:5},jr={key:0,class:`mrd-recovery-codes`},Mr={key:4,class:`mrd-help`},Nr=[`href`],Pr=[`href`],Fr=45,Ir=(0,e.defineComponent)({__name:`SignIn`,props:{title:{default:`Sign in`},subtitle:{},logo:{},signUpUrl:{default:``},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`signIn`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signUpUrl)),c=n,l=En(),u=Dn(),d=An(),f=G(),p=(0,e.ref)(``),m=(0,e.ref)(``);(0,e.onMounted)(async()=>{try{let e=await f.configuration();p.value=bn(e.helpUrl)??``,m.value=Cn(e.supportEmail)??``}catch{}});let h=(0,e.ref)(null);function g(){(0,e.nextTick)(()=>{let e=h.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}let _=(0,e.ref)(``),v=(0,e.ref)(``),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(!1),S=(0,e.ref)(``),C=(0,e.ref)(!1),w=rt(),T=(0,e.ref)(!1),E=(0,e.ref)(``),D=(0,e.ref)(``),O=(0,e.ref)(``),k=(0,e.ref)(!1),A=(0,e.ref)(``),j=(0,e.ref)(``),M=(0,e.ref)(!1),N=(0,e.ref)(``);(0,e.watch)(()=>[l.status.value,T.value],g),(0,e.watch)(()=>d.status.value,g);let P=(0,e.ref)(0),F;function I(){clearInterval(F),P.value=Fr,F=setInterval(()=>{--P.value,P.value<=0&&clearInterval(F)},1e3)}(0,e.onUnmounted)(()=>clearInterval(F)),(0,e.watch)(()=>l.isComplete.value,e=>{e&&l.session.value&&c(`complete`,l.session.value)}),(0,e.watch)(()=>d.isComplete.value,e=>{e&&d.session.value&&c(`complete`,d.session.value)});async function ee(){try{await l.signInWithPasskey(_.value,window.location.hostname),l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp()}catch{}}async function te(){try{await l.signInWithPassword(_.value,v.value),l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp()}catch{}}async function ne(){try{x.value?await l.attemptSecondFactor({strategy:`backup_code`,code:b.value}):await l.attemptSecondFactor({strategy:`totp`,code:y.value})}catch{}}async function re(){try{await l.verifyTotpEnrollment(S.value)}catch{}}async function ie(){T.value=!0,E.value=_.value;try{await d.create({email:_.value}),I()}catch{}}function ae(){T.value=!1,d.reset(),E.value=``,D.value=``,O.value=``,A.value=``,j.value=``,M.value=!1,N.value=``,clearInterval(F),P.value=0}async function L(){try{await d.resend(),I()}catch{}}async function R(){try{await d.create({email:E.value}),I()}catch{}}async function oe(){try{await d.attempt({code:D.value,password:O.value}),d.status.value===`needs_mfa_enrollment`&&!d.enrollment.value&&await d.enrollTotp()}catch{}}async function se(){try{M.value?await d.attemptSecondFactor({strategy:`backup_code`,code:j.value}):await d.attemptSecondFactor({strategy:`totp`,code:A.value})}catch{}}async function ce(){try{await d.verifyTotpEnrollment(N.value)}catch{}}async function le(e){try{await u.signIn(e)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:h,class:(0,e.normalizeClass)([`mrd-card mrd-card-sm`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Rn,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,zn)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(T.value?`Reset your password`:r.title),3),!T.value&&r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Bn,(0,e.toDisplayString)(r.subtitle),1)):T.value&&(0,e.unref)(d).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Vn,` Enter your email and we'll send you a reset code. `)):(0,e.createCommentVNode)(``,!0)]),!T.value&&(0,e.unref)(l).status.value!==`complete`&&((0,e.unref)(l).error.value||(0,e.unref)(u).error.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-signin-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)(((0,e.unref)(l).error.value??(0,e.unref)(u).error.value)?.message),3)):(0,e.createCommentVNode)(``,!0),T.value&&(0,e.unref)(d).error.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:1,id:`mrd-signin-reset-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)((0,e.unref)(d).error.value.message),3)):(0,e.createCommentVNode)(``,!0),T.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:3},[(0,e.unref)(d).status.value===`idle`&&(0,e.unref)(d).loading.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,fr,`Sending reset code…`)):(0,e.unref)(d).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(R,[`prevent`])},[n[25]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-email`,"onUpdate:modelValue":n[7]||=e=>E.value=e,type:`email`,autocomplete:`email`,class:`mrd-input`,placeholder:`you@example.com`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,pr),[[e.vModelText,E.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Send reset code`),9,mr)],32)):(0,e.unref)(d).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(oe,[`prevent`])},[(0,e.createElementVNode)(`p`,hr,`If an account exists for `+(0,e.toDisplayString)(E.value)+`, we sent a reset code.`,1),n[26]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-code`},`Reset code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-code`,"onUpdate:modelValue":n[8]||=e=>D.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,gr),[[e.vModelText,D.value]]),n[27]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-password`},`New password`,-1),(0,e.createElementVNode)(`div`,_r,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-password`,"onUpdate:modelValue":n[9]||=e=>O.value=e,type:k.value?`text`:`password`,autocomplete:`new-password`,class:`mrd-input`,minlength:`8`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,vr),[[e.vModelDynamic,O.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":k.value?`Hide password`:`Show password`,onClick:n[10]||=e=>k.value=!k.value,innerHTML:k.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,yr)]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Set new password`),9,br),(0,e.createElementVNode)(`div`,xr,[(0,e.createElementVNode)(`button`,{id:`mrd-reset-resend`,type:`button`,class:`mrd-link-button`,disabled:P.value>0,onClick:L},(0,e.toDisplayString)(P.value>0?`Resend code (${P.value}s)`:`Resend code`),9,Sr),(0,e.createElementVNode)(`button`,{id:`mrd-back-to-sign-in-inline`,type:`button`,class:`mrd-link-button`,onClick:ae},` Back to sign in `)])],32)):(0,e.unref)(d).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(se,[`prevent`])},[M.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[29]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-backup-code`,"onUpdate:modelValue":n[12]||=e=>j.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,wr),[[e.vModelText,j.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[28]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-2fa-code`,"onUpdate:modelValue":n[11]||=e=>A.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,Cr),[[e.vModelText,A.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Verify`),9,Tr),(0,e.createElementVNode)(`button`,{id:`mrd-reset-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(d).loading.value,onClick:n[13]||=e=>M.value=!M.value},(0,e.toDisplayString)(M.value?`Use authenticator code instead`:`Use a backup code instead`),9,Er)],32)):(0,e.unref)(d).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(ce,[`prevent`])},[n[31]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(d).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[30]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,Dr,(0,e.toDisplayString)((0,e.unref)(d).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[32]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-enroll-code`,"onUpdate:modelValue":n[14]||=e=>N.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,Or),[[e.vModelText,N.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Verify and continue`),9,kr)],32)):(0,e.unref)(d).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ar,[n[34]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your password has been reset and you're signed in.`,-1),(0,e.unref)(d).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,jr,[n[33]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(d).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(d).status.value!==`complete`&&(0,e.unref)(d).status.value!==`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:6,id:`mrd-back-to-sign-in`,type:`button`,class:`mrd-link-button`,onClick:ae},` Back to sign in `)):(0,e.createCommentVNode)(``,!0)],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:2},[(0,e.unref)(l).status.value===`idle`&&(0,e.unref)(u).providers.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Hn,[(0,e.createElementVNode)(`div`,Un,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(u).providers.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.provider,type:`button`,class:`mrd-idp-button`,title:`Continue with ${t.displayName}`,"aria-label":`Continue with ${t.displayName}`,disabled:(0,e.unref)(u).loading.value||(0,e.unref)(l).loading.value,onClick:e=>le(t.provider)},[(0,e.unref)(dn)(t.provider)?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:0,class:`mrd-idp-icon`,innerHTML:(0,e.unref)(dn)(t.provider)},null,8,Gn)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Kn,(0,e.toDisplayString)(t.displayName.charAt(0)),1)),(0,e.createElementVNode)(`span`,qn,`Continue with `+(0,e.toDisplayString)(t.displayName),1)],8,Wn))),128))]),n[15]||=(0,e.createElementVNode)(`div`,{class:`mrd-divider`},[(0,e.createElementVNode)(`span`,null,`or continue with email`)],-1)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(te,[`prevent`])},[(0,e.createElementVNode)(`label`,{class:(0,e.normalizeClass)([`mrd-label`,(0,e.unref)(i).elementProps(`formFieldLabel`).class]),for:`mrd-identifier`},`Email`,2),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-identifier`,"onUpdate:modelValue":n[0]||=e=>_.value=e,type:`email`,autocomplete:`email`,class:(0,e.normalizeClass)([`mrd-input`,(0,e.unref)(i).elementProps(`formFieldInput`).class]),placeholder:`you@example.com`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,10,Jn),[[e.vModelText,_.value]]),n[16]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-password`},`Password`,-1),(0,e.createElementVNode)(`div`,Yn,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-password`,"onUpdate:modelValue":n[1]||=e=>v.value=e,type:C.value?`text`:`password`,autocomplete:`current-password`,class:`mrd-input`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,Xn),[[e.vModelDynamic,v.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":C.value?`Hide password`:`Show password`,onClick:n[2]||=e=>C.value=!C.value,innerHTML:C.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,Zn)]),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(l).loading.value||!_.value||!v.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Sign in`),11,Qn),(0,e.unref)(w)?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-button-secondary`,"data-mrd-action":`sign-in-with-passkey`,disabled:(0,e.unref)(l).loading.value||!_.value,onClick:ee},` Sign in with a passkey `,8,$n)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`button`,{id:`mrd-forgot-password`,type:`button`,class:(0,e.normalizeClass)([`mrd-link-button`,(0,e.unref)(i).elementProps(`footerActionLink`).class]),disabled:(0,e.unref)(l).loading.value,onClick:ie},` Forgot password? `,10,er)],32)):(0,e.unref)(l).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(ne,[`prevent`])},[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[18]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-backup-code`,"onUpdate:modelValue":n[4]||=e=>b.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,nr),[[e.vModelText,b.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-code`,"onUpdate:modelValue":n[3]||=e=>y.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,tr),[[e.vModelText,y.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify`),9,rr),(0,e.createElementVNode)(`button`,{id:`mrd-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(l).loading.value,onClick:n[5]||=e=>x.value=!x.value},(0,e.toDisplayString)(x.value?`Use authenticator code instead`:`Use a backup code instead`),9,ir)],32)):(0,e.unref)(l).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(re,[`prevent`])},[n[20]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(l).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[19]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,ar,(0,e.toDisplayString)((0,e.unref)(l).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[21]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-enroll-code`,"onUpdate:modelValue":n[6]||=e=>S.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,or),[[e.vModelText,S.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify and continue`),9,sr)],32)):(0,e.unref)(l).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,cr,[n[23]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`You're signed in.`,-1),(0,e.unref)(l).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,lr,[n[22]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(l).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ur,[n[24]||=(0,e.createTextVNode)(` Don't have an account? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Create one`,10,dr)])):(0,e.createCommentVNode)(``,!0)],64)),p.value||m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Mr,[n[35]||=(0,e.createTextVNode)(` Need help? `,-1),p.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:p.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,Nr)):(0,e.createCommentVNode)(``,!0),p.value&&m.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:m.value,class:`mrd-link`},`Contact support`,8,Pr)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),Lr=(0,e.defineComponent)({__name:`TurnstileWidget`,props:{siteKey:{}},emits:[`token`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=null;return(0,e.onMounted)(async()=>{if(!(!a.value||!r.siteKey))try{o=await vn(a.value,r.siteKey,e=>i(`token`,e))}catch{}}),(0,e.onUnmounted)(()=>o?.()),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`container`,ref:a},null,512))}}),Rr={class:`mrd-header`},zr=[`src`],Br={key:1,class:`mrd-subtitle`},Vr={key:1,class:`mrd-idp-buttons`},Hr={class:`mrd-idp-button-row`},Ur=[`title`,`aria-label`,`disabled`,`onClick`],Wr=[`innerHTML`],Gr={key:1,class:`mrd-idp-fallback`},Kr={class:`mrd-sr-only`},qr={key:0,class:`mrd-row`},Jr={class:`mrd-col`},Yr={class:`mrd-col`},Xr=[`aria-invalid`,`aria-describedby`],Zr={class:`mrd-password-wrap`},Qr=[`type`,`aria-invalid`,`aria-describedby`],$r=[`aria-label`,`innerHTML`],ei={key:2,class:`mrd-hint`},ti=[`href`],ni=[`href`],ri=[`disabled`],ii={class:`mrd-hint`},ai=[`aria-invalid`,`aria-describedby`],oi=[`disabled`],si=[`aria-invalid`,`aria-describedby`],ci=[`aria-invalid`,`aria-describedby`],li=[`disabled`],ui=[`disabled`],di={id:`mrd-signup-enroll-secret`,class:`mrd-secret`},fi=[`aria-invalid`,`aria-describedby`],pi=[`disabled`],mi={key:6},hi={key:0,class:`mrd-recovery-codes`},gi={key:7,class:`mrd-hint`,"data-mrd":`waitlisted`},_i={key:8,class:`mrd-foot`},vi=[`href`],yi={key:9,class:`mrd-help`},bi=[`href`],xi=[`href`],Si=(0,e.defineComponent)({__name:`SignUp`,props:{title:{default:`Create your account`},subtitle:{},logo:{},signInUrl:{default:``},collectName:{type:Boolean,default:!0},inviteToken:{},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`signUp`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signInUrl)),c=n,l=On(),u=Dn(),d=G(),f=(0,e.ref)(``),p=(0,e.ref)(``),m=(0,e.ref)(!1),h=(0,e.ref)(``),g=(0,e.ref)(``),_=(0,e.ref)(``),v=(0,e.ref)(``),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(``),S=(0,e.ref)(``),C=(0,e.ref)(``),w=(0,e.ref)(``),T=(0,e.ref)(``),E=(0,e.ref)(!1),D=(0,e.ref)(``),O=(0,e.ref)(null);function k(){(0,e.nextTick)(()=>{let e=O.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}(0,e.watch)(()=>l.status.value,k),(0,e.onMounted)(async()=>{try{let e=await d.configuration();v.value=e.turnstileSiteKey??``,b.value=bn(e.tosUrl)??``,x.value=bn(e.privacyUrl)??``,S.value=bn(e.helpUrl)??``,C.value=Cn(e.supportEmail)??``}catch{}});async function A(){try{await l.create({email:f.value,password:p.value,firstName:h.value||void 0,lastName:g.value||void 0,turnstileToken:y.value||void 0,inviteToken:r.inviteToken||void 0}),await M()}catch{}}async function j(){try{await l.attemptVerification({code:_.value}),await M()}catch{}}async function M(){l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp(),l.isComplete.value&&l.session.value&&c(`complete`,l.session.value)}async function N(){try{E.value?await l.attemptSecondFactor({strategy:`backup_code`,code:T.value}):await l.attemptSecondFactor({strategy:`totp`,code:w.value}),await M()}catch{}}async function P(){try{await l.verifyTotpEnrollment(D.value),await M()}catch{}}async function F(e){try{await u.signIn(e)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:O,class:(0,e.normalizeClass)([`mrd-card mrd-card-md`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Rr,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,zr)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(r.title),3),r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Br,(0,e.toDisplayString)(r.subtitle),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.unref)(l).status.value!==`complete`&&((0,e.unref)(l).error.value||(0,e.unref)(u).error.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-signup-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)(((0,e.unref)(l).error.value??(0,e.unref)(u).error.value)?.message),3)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`&&(0,e.unref)(u).providers.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Vr,[(0,e.createElementVNode)(`div`,Hr,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(u).providers.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.provider,type:`button`,class:`mrd-idp-button`,title:`Continue with ${t.displayName}`,"aria-label":`Continue with ${t.displayName}`,disabled:(0,e.unref)(u).loading.value||(0,e.unref)(l).loading.value,onClick:e=>F(t.provider)},[(0,e.unref)(dn)(t.provider)?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:0,class:`mrd-idp-icon`,innerHTML:(0,e.unref)(dn)(t.provider)},null,8,Wr)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Gr,(0,e.toDisplayString)(t.displayName.charAt(0)),1)),(0,e.createElementVNode)(`span`,Kr,`Continue with `+(0,e.toDisplayString)(t.displayName),1)],8,Ur))),128))]),n[11]||=(0,e.createElementVNode)(`div`,{class:`mrd-divider`},[(0,e.createElementVNode)(`span`,null,`or continue with email`)],-1)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(A,[`prevent`])},[r.collectName?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,qr,[(0,e.createElementVNode)(`div`,Jr,[n[12]||=(0,e.createElementVNode)(`div`,{class:`mrd-label-row`},[(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-first`},`First name`),(0,e.createElementVNode)(`span`,{class:`mrd-optional-label`},`Optional`)],-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-first`,"onUpdate:modelValue":n[0]||=e=>h.value=e,class:`mrd-input`,autocomplete:`given-name`},null,512),[[e.vModelText,h.value]])]),(0,e.createElementVNode)(`div`,Yr,[n[13]||=(0,e.createElementVNode)(`div`,{class:`mrd-label-row`},[(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-last`},`Last name`),(0,e.createElementVNode)(`span`,{class:`mrd-optional-label`},`Optional`)],-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-last`,"onUpdate:modelValue":n[1]||=e=>g.value=e,class:`mrd-input`,autocomplete:`family-name`},null,512),[[e.vModelText,g.value]])])])):(0,e.createCommentVNode)(``,!0),n[16]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-email`,"onUpdate:modelValue":n[2]||=e=>f.value=e,type:`email`,class:`mrd-input`,autocomplete:`email`,placeholder:`you@example.com`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,Xr),[[e.vModelText,f.value]]),n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-password`},`Password`,-1),(0,e.createElementVNode)(`div`,Zr,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-password`,"onUpdate:modelValue":n[3]||=e=>p.value=e,type:m.value?`text`:`password`,class:`mrd-input`,autocomplete:`new-password`,minlength:`8`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,Qr),[[e.vModelDynamic,p.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":m.value?`Hide password`:`Show password`,onClick:n[4]||=e=>m.value=!m.value,innerHTML:m.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,$r)]),v.value?((0,e.openBlock)(),(0,e.createBlock)(Lr,{key:1,"site-key":v.value,onToken:n[5]||=e=>y.value=e},null,8,[`site-key`])):(0,e.createCommentVNode)(``,!0),b.value||x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ei,[n[14]||=(0,e.createTextVNode)(` By creating an account, you agree to the `,-1),b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:b.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Terms of Service`,8,ti)):(0,e.createCommentVNode)(``,!0),b.value&&x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` and `)],64)):(0,e.createCommentVNode)(``,!0),x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:x.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Privacy Policy`,8,ni)):(0,e.createCommentVNode)(``,!0),n[15]||=(0,e.createTextVNode)(`. `,-1)])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Create account`),11,ri)],32)):(0,e.unref)(l).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(j,[`prevent`])},[(0,e.createElementVNode)(`p`,ii,`We sent a verification code to `+(0,e.toDisplayString)(f.value)+`.`,1),n[18]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-vcode`},`Verification code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-vcode`,"onUpdate:modelValue":n[6]||=e=>_.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,ai),[[e.vModelText,_.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify email`),9,oi)],32)):(0,e.unref)(l).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(N,[`prevent`])},[E.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[20]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-backup-code`,"onUpdate:modelValue":n[8]||=e=>T.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,ci),[[e.vModelText,T.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[19]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-2fa-code`,"onUpdate:modelValue":n[7]||=e=>w.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,si),[[e.vModelText,w.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify`),9,li),(0,e.createElementVNode)(`button`,{id:`mrd-signup-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(l).loading.value,onClick:n[9]||=e=>E.value=!E.value},(0,e.toDisplayString)(E.value?`Use authenticator code instead`:`Use a backup code instead`),9,ui)],32)):(0,e.unref)(l).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:5,class:`mrd-form`,onSubmit:(0,e.withModifiers)(P,[`prevent`])},[n[22]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(l).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[21]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,di,(0,e.toDisplayString)((0,e.unref)(l).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[23]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-enroll-code`,"onUpdate:modelValue":n[10]||=e=>D.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,fi),[[e.vModelText,D.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify and continue`),9,pi)],32)):(0,e.unref)(l).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,mi,[n[25]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your account is ready.`,-1),(0,e.unref)(l).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,hi,[n[24]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(l).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.unref)(l).isWaitlisted.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,gi,` You're on the waitlist. We'll let you know as soon as your account is approved. `)):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,_i,[n[26]||=(0,e.createTextVNode)(` Already have an account? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Sign in`,10,vi)])):(0,e.createCommentVNode)(``,!0),S.value||C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,yi,[n[27]||=(0,e.createTextVNode)(` Need help? `,-1),S.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:S.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,bi)):(0,e.createCommentVNode)(``,!0),S.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:C.value,class:`mrd-link`},`Contact support`,8,xi)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),Ci={class:`mrd-header`},wi=[`src`],Ti={key:1,class:`mrd-subtitle`},Ei=[`aria-invalid`,`aria-describedby`],Di=[`disabled`],Oi={class:`mrd-hint`},ki=[`aria-invalid`,`aria-describedby`],Ai={class:`mrd-password-wrap`},ji=[`type`,`aria-invalid`,`aria-describedby`],Mi=[`aria-label`,`innerHTML`],Ni=[`disabled`],Pi={class:`mrd-action-row`},Fi=[`disabled`],Ii=[`href`],Li=[`aria-invalid`,`aria-describedby`],Ri=[`aria-invalid`,`aria-describedby`],zi=[`disabled`],Bi=[`disabled`],Vi={id:`mrd-reset-enroll-secret`,class:`mrd-secret`},Hi=[`aria-invalid`,`aria-describedby`],Ui=[`disabled`],Wi={key:5},Gi={key:0,class:`mrd-recovery-codes`},Ki={key:6,class:`mrd-foot`},qi=[`href`],Ji={key:7,class:`mrd-help`},Yi=[`href`],Xi=[`href`],Zi=45,Qi=(0,e.defineComponent)({__name:`ResetPassword`,props:{title:{default:`Reset your password`},subtitle:{},logo:{},signInUrl:{default:``},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`resetPassword`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signInUrl)),c=G(),l=(0,e.ref)(``),u=(0,e.ref)(``);(0,e.onMounted)(async()=>{try{let e=await c.configuration();l.value=bn(e.helpUrl)??``,u.value=Cn(e.supportEmail)??``}catch{}});let d=n,f=An(),p=(0,e.ref)(null);function m(){(0,e.nextTick)(()=>{let e=p.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}(0,e.watch)(()=>f.status.value,m);let h=(0,e.ref)(``),g=(0,e.ref)(``),_=(0,e.ref)(``),v=(0,e.ref)(!1),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(!1),S=(0,e.ref)(``),C=(0,e.ref)(0),w;function T(){clearInterval(w),C.value=Zi,w=setInterval(()=>{--C.value,C.value<=0&&clearInterval(w)},1e3)}(0,e.onUnmounted)(()=>clearInterval(w)),(0,e.watch)(()=>f.isComplete.value,e=>{e&&f.session.value&&d(`complete`,f.session.value)});async function E(){try{await f.create({email:h.value}),T()}catch{}}async function D(){try{await f.resend(),T()}catch{}}async function O(){try{await f.attempt({code:g.value,password:_.value}),f.status.value===`needs_mfa_enrollment`&&!f.enrollment.value&&await f.enrollTotp()}catch{}}async function k(){try{x.value?await f.attemptSecondFactor({strategy:`backup_code`,code:b.value}):await f.attemptSecondFactor({strategy:`totp`,code:y.value})}catch{}}async function A(){try{await f.verifyTotpEnrollment(S.value)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:p,class:(0,e.normalizeClass)([`mrd-card mrd-card-sm`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Ci,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,wi)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(r.title),3),r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ti,(0,e.toDisplayString)(r.subtitle),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.unref)(f).error.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-reset-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)((0,e.unref)(f).error.value.message),3)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(f).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(E,[`prevent`])},[n[8]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-email`,"onUpdate:modelValue":n[0]||=e=>h.value=e,type:`email`,autocomplete:`email`,class:(0,e.normalizeClass)([`mrd-input`,(0,e.unref)(i).elementProps(`formFieldInput`).class]),placeholder:`you@example.com`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,10,Ei),[[e.vModelText,h.value]]),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Send reset code`),11,Di)],32)):(0,e.unref)(f).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(O,[`prevent`])},[(0,e.createElementVNode)(`p`,Oi,`If an account exists for `+(0,e.toDisplayString)(h.value)+`, we sent a reset code.`,1),n[9]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-code`},`Reset code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-code`,"onUpdate:modelValue":n[1]||=e=>g.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,ki),[[e.vModelText,g.value]]),n[10]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-password`},`New password`,-1),(0,e.createElementVNode)(`div`,Ai,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-password`,"onUpdate:modelValue":n[2]||=e=>_.value=e,type:v.value?`text`:`password`,autocomplete:`new-password`,class:`mrd-input`,minlength:`8`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,ji),[[e.vModelDynamic,_.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":v.value?`Hide password`:`Show password`,onClick:n[3]||=e=>v.value=!v.value,innerHTML:v.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,Mi)]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Set new password`),9,Ni),(0,e.createElementVNode)(`div`,Pi,[(0,e.createElementVNode)(`button`,{id:`mrd-reset-resend`,type:`button`,class:`mrd-link-button`,disabled:C.value>0,onClick:D},(0,e.toDisplayString)(C.value>0?`Resend code (${C.value}s)`:`Resend code`),9,Fi),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:s.value,class:(0,e.normalizeClass)([`mrd-link-button`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},` Back to sign in `,10,Ii)):(0,e.createCommentVNode)(``,!0)])],32)):(0,e.unref)(f).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(k,[`prevent`])},[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[12]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-backup-code`,"onUpdate:modelValue":n[5]||=e=>b.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Ri),[[e.vModelText,b.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[11]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-2fa-code`,"onUpdate:modelValue":n[4]||=e=>y.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Li),[[e.vModelText,y.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Verify`),9,zi),(0,e.createElementVNode)(`button`,{id:`mrd-reset-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(f).loading.value,onClick:n[6]||=e=>x.value=!x.value},(0,e.toDisplayString)(x.value?`Use authenticator code instead`:`Use a backup code instead`),9,Bi)],32)):(0,e.unref)(f).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(A,[`prevent`])},[n[14]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(f).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[13]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,Vi,(0,e.toDisplayString)((0,e.unref)(f).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[15]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-enroll-code`,"onUpdate:modelValue":n[7]||=e=>S.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Hi),[[e.vModelText,S.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Verify and continue`),9,Ui)],32)):(0,e.unref)(f).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Wi,[n[17]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your password has been reset and you're signed in.`,-1),(0,e.unref)(f).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Gi,[n[16]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(f).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),s.value&&(0,e.unref)(f).status.value!==`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ki,[n[18]||=(0,e.createTextVNode)(` Remembered it after all? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Sign in`,10,qi)])):(0,e.createCommentVNode)(``,!0),l.value||u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ji,[n[19]||=(0,e.createTextVNode)(` Need help? `,-1),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:l.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,Yi)):(0,e.createCommentVNode)(``,!0),l.value&&u.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:u.value,class:`mrd-link`},`Contact support`,8,Xi)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),$i=Math.min,ea=Math.max,ta=Math.round,na=Math.floor,K=e=>({x:e,y:e}),ra={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ia(e,t,n){return ea(e,$i(t,n))}function aa(e,t){return typeof e==`function`?e(t):e}function oa(e){return e.split(`-`)[0]}function sa(e){return e.split(`-`)[1]}function ca(e){return e===`x`?`y`:`x`}function la(e){return e===`y`?`height`:`width`}function q(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ua(e){return ca(q(e))}function da(e,t,n){n===void 0&&(n=!1);let r=sa(e),i=ua(e),a=la(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ba(o)),[o,ba(o)]}function fa(e){let t=ba(e);return[pa(e),t,pa(t)]}function pa(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ma=[`left`,`right`],ha=[`right`,`left`],ga=[`top`,`bottom`],_a=[`bottom`,`top`];function va(e,t,n){switch(e){case`top`:case`bottom`:return n?t?ha:ma:t?ma:ha;case`left`:case`right`:return t?ga:_a;default:return[]}}function ya(e,t,n,r){let i=sa(e),a=va(oa(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(pa)))),a}function ba(e){let t=oa(e);return ra[t]+e.slice(t.length)}function xa(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Sa(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:xa(e)}function Ca(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function wa(e,t,n){let{reference:r,floating:i}=e,a=q(t),o=ua(t),s=la(o),c=oa(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=sa(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ta(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=aa(t,e),p=Sa(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ca(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ca(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ea=50,Da=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ta},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=wa(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ea&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=wa(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Oa=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=aa(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=oa(r),_=q(o),v=oa(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ba(o)]:fa(o)),x=p!==`none`;!d&&x&&b.push(...ya(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=da(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==q(t))||T.every(e=>q(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=q(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},ka=new Set([`left`,`top`]);async function Aa(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=oa(n),s=sa(n),c=q(n)===`y`,l=ka.has(o)?-1:1,u=a&&c?-1:1,d=aa(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ja=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Aa(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Ma=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=aa(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=q(i),p=ca(f),m=u[p],h=u[f],g=(e,t)=>ia(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Na(){return typeof window<`u`}function Pa(e){return Fa(e)?(e.nodeName||``).toLowerCase():`#document`}function J(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Y(e){return((Fa(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Fa(e){return Na()?e instanceof Node||e instanceof J(e).Node:!1}function X(e){return Na()?e instanceof Element||e instanceof J(e).Element:!1}function Z(e){return Na()?e instanceof HTMLElement||e instanceof J(e).HTMLElement:!1}function Ia(e){return!Na()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof J(e).ShadowRoot}function La(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ra(e){return/^(table|td|th)$/.test(Pa(e))}function za(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ba=/transform|translate|scale|rotate|perspective|filter/,Va=/paint|layout|strict|content/,Q=e=>!!e&&e!==`none`,Ha;function Ua(e){let t=X(e)?$(e):e;return Q(t.transform)||Q(t.translate)||Q(t.scale)||Q(t.rotate)||Q(t.perspective)||!Ga()&&(Q(t.backdropFilter)||Q(t.filter))||Ba.test(t.willChange||``)||Va.test(t.contain||``)}function Wa(e){let t=Ja(e);for(;Z(t)&&!Ka(t);){if(Ua(t))return t;if(za(t))return null;t=Ja(t)}return null}function Ga(){return Ha??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ha}function Ka(e){return/^(html|body|#document)$/.test(Pa(e))}function $(e){return J(e).getComputedStyle(e)}function qa(e){return X(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ja(e){if(Pa(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ia(e)&&e.host||Y(e);return Ia(t)?t.host:t}function Ya(e){let t=Ja(e);return Ka(t)?(e.ownerDocument||e).body:Z(t)&&La(t)?t:Ya(t)}function Xa(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ya(e),i=r===e.ownerDocument?.body,a=J(r);if(i){let e=Za(a);return t.concat(a,a.visualViewport||[],La(r)?r:[],e&&n?Xa(e):[])}else return t.concat(r,Xa(r,[],n))}function Za(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Qa(e){let t=$(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Z(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ta(n)!==a||ta(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function $a(e){return X(e)?e:e.contextElement}function eo(e){let t=$a(e);if(!Z(t))return K(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Qa(t),o=(a?ta(n.width):n.width)/r,s=(a?ta(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var to=K(0);function no(e){let t=J(e);return!Ga()||!t.visualViewport?to:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ro(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===J(e)}function io(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=$a(e),o=K(1);t&&(r?X(r)&&(o=eo(r)):o=eo(e));let s=ro(a,n,r)?no(a):K(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=J(a),t=X(r)?J(r):r,n=e,i=Za(n);for(;i&&t!==n;){let e=eo(i),t=i.getBoundingClientRect(),r=$(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=J(i),i=Za(n)}}return Ca({width:u,height:d,x:c,y:l})}function ao(e,t){let n=qa(e).scrollLeft;return t?t.left+n:io(Y(e)).left+n}function oo(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ao(e,n),y:n.top+t.scrollTop}}function so(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Y(r),s=t?za(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=K(1),u=K(0),d=Z(r);if((d||!a)&&((Pa(r)!==`body`||La(o))&&(c=qa(r)),d)){let e=io(r);l=eo(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?oo(o,c):K(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function co(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function lo(e){let t=qa(e),n=e.ownerDocument.body,r=ea(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=ea(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+ao(e),o=-t.scrollTop;return $(n).direction===`rtl`&&(a+=ea(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var uo=25;function fo(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=J(e),a=Y(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Ga()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(ao(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=uo&&(s-=o)}return{width:s,height:c,x:l,y:u}}function po(e,t){let n=io(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=eo(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function mo(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=fo(e,n,t);else if(t===`document`)r=lo(Y(e));else if(X(t))r=po(t,n);else{let n=no(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ca(r)}function ho(e,t){let n=t.get(e);if(n)return n;let r=Xa(e,[],!1).filter(e=>X(e)&&Pa(e)!==`body`),i=null,a=$(e).position===`fixed`,o=a?Ja(e):e;for(;X(o)&&!Ka(o);){let e=$(o),t=Ua(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Ja(o)}return t.set(e,r),r}function go(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?za(t)?[]:ho(t,this._c):[].concat(n),r],o=mo(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=mo(t,a[e],i);s=ea(n.top,s),c=$i(n.right,c),l=$i(n.bottom,l),u=ea(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function _o(e){let{width:t,height:n}=Qa(e);return{width:t,height:n}}function vo(e,t,n){let r=Z(t),i=Y(t),a=n===`fixed`,o=io(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=K(0);if((r||!a)&&((Pa(t)!==`body`||La(i))&&(s=qa(t)),r)){let e=io(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=ao(i));let l=i&&!r&&!a?oo(i,s):K(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function yo(e){return $(e).position===`static`}function bo(e,t){if(!Z(e)||$(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Y(e)===n&&(n=n.ownerDocument.body),n}function xo(e,t){let n=J(e);if(za(e))return n;if(!Z(e)){let t=Ja(e);for(;t&&!Ka(t);){if(X(t)&&!yo(t))return t;t=Ja(t)}return n}let r=bo(e,t);for(;r&&Ra(r)&&yo(r);)r=bo(r,t);return r&&Ka(r)&&yo(r)&&!Ua(r)?n:r||Wa(e)||n}var So=async function(e){let t=this.getOffsetParent||xo,n=this.getDimensions,r=await n(e.floating);return{reference:vo(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Co(e){return $(e).direction===`rtl`}var wo={convertOffsetParentRelativeRectToViewportRelativeRect:so,getDocumentElement:Y,getClippingRect:go,getOffsetParent:xo,getElementRects:So,getClientRects:co,getDimensions:_o,getScale:eo,isElement:X,isRTL:Co};function To(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Eo(e,t,n){let r=null,i,a=Y(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=na(d),h=na(a.clientWidth-(u+f)),g=na(a.clientHeight-(d+p)),_=na(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ea(0,$i(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!To(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=J(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function Do(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=$a(e),u=i||a?[...l?Xa(l):[],...t?Xa(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?Eo(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?io(e):null;c&&g();function g(){let t=io(e);h&&!To(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Oo=ja,ko=Ma,Ao=Oa,jo=(e,t,n)=>{let r=new Map,i=n??{},a={...wo,...i.platform,_c:r};return Da(e,t,{...i,platform:a})};function Mo(e){return typeof e==`object`&&!!e&&`$el`in e}function No(e){if(Mo(e)){let t=e.$el;return Fa(t)&&Pa(t)===`#comment`?null:t}return e}function Po(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Fo(e,t){let n=Po(e);return Math.round(t*n)/n}function Io(t,n,r){r===void 0&&(r={});let i=r.whileElementsMounted,a=(0,e.computed)(()=>(0,e.toValue)(r.open)??!0),o=(0,e.computed)(()=>(0,e.toValue)(r.middleware)),s=(0,e.computed)(()=>(0,e.toValue)(r.placement)??`bottom`),c=(0,e.computed)(()=>(0,e.toValue)(r.strategy)??`absolute`),l=(0,e.computed)(()=>(0,e.toValue)(r.transform)??!0),u=(0,e.computed)(()=>No(t.value)),d=(0,e.computed)(()=>No(n.value)),f=(0,e.ref)(0),p=(0,e.ref)(0),m=(0,e.ref)(c.value),h=(0,e.ref)(s.value),g=(0,e.shallowRef)({}),_=(0,e.ref)(!1),v=(0,e.computed)(()=>{let e={position:m.value,left:`0`,top:`0`};if(!d.value)return e;let t=Fo(d.value,f.value),n=Fo(d.value,p.value);return l.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Po(d.value)>=1.5&&{willChange:`transform`}}:{position:m.value,left:t+`px`,top:n+`px`}}),y;function b(){if(u.value==null||d.value==null)return;let e=a.value;jo(u.value,d.value,{middleware:o.value,placement:s.value,strategy:c.value}).then(t=>{f.value=t.x,p.value=t.y,m.value=t.strategy,h.value=t.placement,g.value=t.middlewareData,_.value=e!==!1})}function x(){typeof y==`function`&&(y(),y=void 0)}function S(){if(x(),i===void 0){b();return}if(u.value!=null&&d.value!=null){y=i(u.value,d.value,b);return}}function C(){a.value||(_.value=!1)}return(0,e.watch)([o,s,c,a],b,{flush:`sync`}),(0,e.watch)([u,d],S,{flush:`sync`}),(0,e.watch)(a,C,{flush:`sync`}),(0,e.getCurrentScope)()&&(0,e.onScopeDispose)(x),{x:(0,e.shallowReadonly)(f),y:(0,e.shallowReadonly)(p),strategy:(0,e.shallowReadonly)(m),placement:(0,e.shallowReadonly)(h),middlewareData:(0,e.shallowReadonly)(g),isPositioned:(0,e.shallowReadonly)(_),floatingStyles:v,update:b}}var Lo=[`aria-label`],Ro=(0,e.defineComponent)({__name:`Overlay`,props:{open:{type:Boolean},closeOnEscape:{type:Boolean},closeOnBackdrop:{type:Boolean},ariaLabel:{},restoreFocusTo:{}},emits:[`close`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=null;function s(e){if(r.open){if(e.key===`Escape`&&(r.closeOnEscape??!0)){i(`close`);return}e.key===`Tab`&&l(e)}}function c(){let e=a.value;return e?Array.from(e.querySelectorAll(`a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])`)):[]}function l(e){let t=c();if(!t.length)return;let n=t[0],r=t[t.length-1],i=document.activeElement;e.shiftKey?(i===n||!t.includes(i))&&(e.preventDefault(),r.focus()):(i===r||!t.includes(i))&&(e.preventDefault(),n.focus())}(0,e.onMounted)(()=>document.addEventListener(`keydown`,s)),(0,e.onUnmounted)(()=>{document.removeEventListener(`keydown`,s),document.documentElement.style.removeProperty(`overflow`),document.body.style.removeProperty(`overflow`)}),(0,e.watch)(()=>r.open,t=>{if(document.documentElement.style.overflow=t?`hidden`:``,document.body.style.overflow=t?`hidden`:``,t)o=document.activeElement,(0,e.nextTick)(()=>{(c()[0]??a.value)?.focus()});else{let e=r.restoreFocusTo??o;e&&document.contains(e)&&e.focus(),o=null}},{immediate:!0});function u(){(r.closeOnBackdrop??!0)&&i(`close`)}return(n,r)=>((0,e.openBlock)(),(0,e.createBlock)(e.Teleport,{to:`body`},[t.open?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`mrd-modal-backdrop`,"data-mrd":`modal-backdrop`,onClick:(0,e.withModifiers)(u,[`self`])},[(0,e.createElementVNode)(`div`,{ref_key:`contentRef`,ref:a,class:`mrd-modal-content`,"data-mrd":`modal-content`,role:`dialog`,"aria-modal":`true`,"aria-label":t.ariaLabel,tabindex:`-1`},[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-modal-close`,"data-mrd":`modal-close`,"aria-label":`Close`,onClick:r[0]||=e=>i(`close`)},` × `),(0,e.renderSlot)(n.$slots,`default`)],8,Lo)])):(0,e.createCommentVNode)(``,!0)]))}}),zo={class:`mrd-profile-section`,"data-mrd":`profile-section`},Bo={class:`mrd-prow`},Vo={class:`mrd-prow-main`},Ho=[`src`],Uo={key:1,class:`mrd-avatar mrd-avatar-lg`},Wo={class:`mrd-prow-value`},Go={key:0,class:`mrd-inline-edit`},Ko={class:`mrd-prow`,style:{"border-bottom":`none`,"padding-top":`0`}},qo={class:`mrd-prow-main`},Jo=[`aria-label`,`disabled`],Yo=[`src`],Xo={key:1,class:`mrd-avatar mrd-avatar-lg`},Zo={class:`mrd-prow-sub`},Qo=[`disabled`],$o={key:0,class:`mrd-error`,role:`alert`},es={class:`mrd-row`},ts={class:`mrd-col`},ns={class:`mrd-col`},rs={key:1,class:`mrd-error`,role:`alert`},is={class:`mrd-inline-actions`},as=[`disabled`],os=[`disabled`],ss=(0,e.defineComponent)({__name:`ProfileSection`,props:{user:{}},setup(t){let n=t,r=G(),i=n.user,a=(0,e.ref)(!1),o=(0,e.ref)(``),s=(0,e.ref)(``);(0,e.watch)(()=>i.user.value,e=>{o.value=e?.givenName??``,s.value=e?.familyName??``},{immediate:!0});let c=(0,e.computed)(()=>i.user.value?fn(i.user.value).displayName:``);function l(){if(u.value)return;let e=i.user.value;o.value=e?.givenName??``,s.value=e?.familyName??``,d.value=``,a.value=!1}let u=(0,e.ref)(!1),d=(0,e.ref)(``);async function f(){u.value=!0,d.value=``;try{await r.user.update({givenName:o.value,familyName:s.value}),await i.reload(),a.value=!1}catch(e){d.value=e instanceof Error?e.message:`Couldn't save your profile — try again.`}finally{u.value=!1}}let p=(0,e.ref)(null),m=(0,e.ref)(!1),h=(0,e.ref)(``),g=(0,e.computed)(()=>i.user.value?.avatarUrl),_=(0,e.computed)(()=>i.user.value?fn(i.user.value).initials:`?`);function v(){p.value?.click()}async function y(e){let t=e.target,n=t.files?.[0];if(n){m.value=!0,h.value=``;try{await r.user.uploadAvatar(n),await i.reload()}catch(e){h.value=e instanceof Error?e.message:`Couldn't upload that photo — try again.`}finally{m.value=!1,t.value=``}}}async function b(){m.value=!0,h.value=``;try{await r.user.removeAvatar(),await i.reload()}catch(e){h.value=e instanceof Error?e.message:`Couldn't remove that photo — try again.`}finally{m.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,zo,[n[6]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Profile`,-1),(0,e.createElementVNode)(`div`,Bo,[(0,e.createElementVNode)(`span`,Vo,[g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:g.value,alt:``},null,8,Ho)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Uo,(0,e.toDisplayString)(_.value),1)),(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,Wo,(0,e.toDisplayString)(c.value),1),n[3]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Photo & name`,-1)])]),a.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`edit-profile`,onClick:n[0]||=e=>a.value=!0},` Edit `))]),a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Go,[(0,e.createElementVNode)(`div`,Ko,[(0,e.createElementVNode)(`span`,qo,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-avatar-button`,"data-mrd-action":`pick-avatar`,"aria-label":g.value?`Change profile photo`:`Add profile photo`,disabled:m.value,onClick:v},[g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:g.value,alt:``},null,8,Yo)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Xo,(0,e.toDisplayString)(_.value),1))],8,Jo),(0,e.createElementVNode)(`span`,Zo,(0,e.toDisplayString)(m.value?`Uploading…`:g.value?`Click the photo to replace it`:`Click to add a photo`),1)]),g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`remove-avatar`,disabled:m.value,onClick:b},` Remove photo `,8,Qo)):(0,e.createCommentVNode)(``,!0)]),h.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,$o,(0,e.toDisplayString)(h.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`input`,{ref_key:`avatarInputRef`,ref:p,type:`file`,accept:`image/*`,"data-mrd-field":`avatar-file`,style:{display:`none`},onChange:y},null,544),(0,e.createElementVNode)(`div`,es,[(0,e.createElementVNode)(`div`,ts,[n[4]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-profile-given-name`},`First name`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-profile-given-name`,class:`mrd-input`,"data-mrd-field":`given-name`,"onUpdate:modelValue":n[1]||=e=>o.value=e},null,512),[[e.vModelText,o.value]])]),(0,e.createElementVNode)(`div`,ns,[n[5]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-profile-family-name`},`Last name`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-profile-family-name`,class:`mrd-input`,"data-mrd-field":`family-name`,"onUpdate:modelValue":n[2]||=e=>s.value=e},null,512),[[e.vModelText,s.value]])])]),d.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,rs,(0,e.toDisplayString)(d.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,is,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-profile`,disabled:u.value,onClick:l},` Cancel `,8,as),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-profile`,disabled:u.value,onClick:f},(0,e.toDisplayString)(u.value?`…`:`Save`),9,os)])])):(0,e.createCommentVNode)(``,!0)]))}}),cs={class:`mrd-profile-section`,"data-mrd":`profile-section`},ls={class:`mrd-prow`},us={class:`mrd-prow-value`},ds={key:0,class:`mrd-inline-edit`},fs={key:0,class:`mrd-col`},ps={key:1,class:`mrd-col`},ms={key:2,class:`mrd-error`,"data-mrd":`alert`,role:`alert`},hs={class:`mrd-inline-actions`},gs=[`disabled`],_s=[`disabled`],vs=(0,e.defineComponent)({__name:`EmailSection`,props:{user:{}},setup(t){let n=t,r=G(),i=n.user,a=(0,e.ref)(!1),o=(0,e.ref)(``),s=(0,e.ref)(``),c=(0,e.ref)(!1),l=(0,e.ref)(null),u=(0,e.ref)(!1);function d(){a.value=!1,c.value=!1,o.value=``,s.value=``,l.value=null}async function f(){l.value=null,u.value=!0;try{await r.user.changeEmail(o.value),c.value=!0}catch(e){l.value=e instanceof U?e.message:`Failed to start email change`}finally{u.value=!1}}async function p(){l.value=null,u.value=!0;try{await r.user.verifyEmailChange(s.value),d(),await i.reload()}catch(e){l.value=e instanceof U?e.message:`Invalid code`}finally{u.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,cs,[n[6]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Email address`,-1),(0,e.createElementVNode)(`div`,ls,[(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,us,(0,e.toDisplayString)((0,e.unref)(i).user.value?.email),1),n[3]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Verified`,-1)]),a.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`start-email-change`,onClick:n[0]||=e=>a.value=!0},` Change `))]),a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ds,[c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ps,[n[5]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-email-code`},`Verification code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-email-code`,class:`mrd-input`,"data-mrd-field":`email-code`,"onUpdate:modelValue":n[2]||=e=>s.value=e},null,512),[[e.vModelText,s.value]])])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fs,[n[4]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-new-email`},`New email address`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-new-email`,class:`mrd-input`,"data-mrd-field":`new-email`,"onUpdate:modelValue":n[1]||=e=>o.value=e},null,512),[[e.vModelText,o.value]])])),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ms,(0,e.toDisplayString)(l.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,hs,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-email-change`,onClick:d},` Cancel `),c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`verify-email-code`,disabled:u.value,onClick:p},(0,e.toDisplayString)(u.value?`…`:`Verify`),9,_s)):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`send-email-code`,disabled:u.value,onClick:f},(0,e.toDisplayString)(u.value?`…`:`Send code`),9,gs))])])):(0,e.createCommentVNode)(``,!0)]))}}),ys={class:`mrd-profile-section`,"data-mrd":`profile-section`},bs={class:`mrd-prow`},xs={key:0,class:`mrd-prow-value`},Ss={class:`mrd-prow-sub`},Cs={key:0,class:`mrd-inline-edit`},ws={class:`mrd-col`},Ts={key:0,class:`mrd-error`,role:`alert`},Es={class:`mrd-inline-actions`},Ds=[`disabled`],Os=(0,e.defineComponent)({__name:`PhoneSection`,setup(t){let n=G(),r=(0,e.ref)(!1),i=(0,e.ref)(``),a=(0,e.ref)(``),o=(0,e.ref)(!1),s=(0,e.ref)(``);function c(){i.value=a.value,s.value=``,r.value=!1}async function l(){o.value=!0,s.value=``;try{await n.user.setPhone(i.value),a.value=i.value,r.value=!1}catch(e){s.value=e instanceof Error?e.message:`Couldn't save that phone number — try again.`}finally{o.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,ys,[n[3]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Phone number`,-1),(0,e.createElementVNode)(`div`,bs,[(0,e.createElementVNode)(`span`,null,[a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,xs,(0,e.toDisplayString)(a.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`span`,Ss,(0,e.toDisplayString)(a.value?`Used for SMS sign-in codes`:`Not set — used for SMS sign-in codes`),1)]),r.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`edit-phone`,onClick:n[0]||=e=>r.value=!0},(0,e.toDisplayString)(a.value?`Change`:`Add`),1))]),r.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Cs,[(0,e.createElementVNode)(`div`,ws,[n[2]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-phone`},`Phone number`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-phone`,class:`mrd-input`,"data-mrd-field":`phone`,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:`+15551234567`},null,512),[[e.vModelText,i.value]])]),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ts,(0,e.toDisplayString)(s.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Es,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-phone`,onClick:c},`Cancel`),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-phone`,disabled:o.value,onClick:l},(0,e.toDisplayString)(o.value?`…`:`Save`),9,Ds)])])):(0,e.createCommentVNode)(``,!0)]))}}),ks={class:`mrd-profile-sections`},As={class:`mrd-profile-section`,"data-mrd":`profile-section`},js={class:`mrd-prow`},Ms={key:0,class:`mrd-inline-edit`},Ns={class:`mrd-row`},Ps={class:`mrd-col`},Fs={class:`mrd-col`},Is={key:0,class:`mrd-error`,role:`alert`},Ls={class:`mrd-inline-actions`},Rs=[`disabled`],zs={class:`mrd-prow`},Bs=[`disabled`],Vs=[`disabled`],Hs={key:1,class:`mrd-error`,role:`alert`},Us={key:2,class:`mrd-inline-edit`},Ws=[`viewBox`],Gs=[`x`,`y`],Ks={class:`mrd-secret`},qs={class:`mrd-col`},Js=[`disabled`],Ys={key:0,class:`mrd-hint`,"data-mrd":`totp-confirm-hint`},Xs={class:`mrd-inline-actions`},Zs=[`disabled`],Qs=[`disabled`],$s={key:3,class:`mrd-inline-edit`},ec={class:`mrd-recovery-codes`},tc={class:`mrd-profile-section`,"data-mrd":`profile-section`},nc={key:0,class:`mrd-error`,role:`alert`},rc={key:1,class:`mrd-error`,role:`alert`},ic={key:2,class:`mrd-hint`},ac={class:`mrd-prow-value`},oc=[`data-mrd-action`,`aria-label`,`disabled`,`onClick`],sc={class:`mrd-prow`},cc={key:1,class:`mrd-prow-sub`},lc={key:3,class:`mrd-inline-edit`},uc={class:`mrd-col`},dc={key:0,class:`mrd-error`,role:`alert`},fc={class:`mrd-inline-actions`},pc=[`disabled`],mc={class:`mrd-profile-section`,"data-mrd":`profile-section`},hc={key:0,class:`mrd-error`,role:`alert`},gc={key:1,class:`mrd-error`,role:`alert`},_c={key:2,class:`mrd-hint`},vc={key:3,class:`mrd-empty`},yc={class:`mrd-prow-sub`},bc=[`data-mrd-action`,`aria-label`,`disabled`,`onClick`],xc={class:`mrd-profile-section`,"data-mrd":`profile-section`},Sc={class:`mrd-prow`},Cc=[`disabled`],wc={key:0,class:`mrd-error`,role:`alert`},Tc={class:`mrd-profile-section`,"data-mrd":`profile-section`},Ec={class:`mrd-prow`},Dc={key:0,class:`mrd-inline-edit`},Oc={class:`mrd-col`},kc={class:`mrd-col`},Ac=[`disabled`],jc={key:0,class:`mrd-error`,role:`alert`},Mc={class:`mrd-inline-actions`},Nc=[`disabled`],Pc=[`disabled`],Fc=(0,e.defineComponent)({__name:`SecuritySection`,setup(t){let n=G(),r=(0,e.ref)(!1),i=(0,e.ref)(``),a=(0,e.ref)(``),o=(0,e.ref)(!1),s=(0,e.ref)(``);function c(){r.value=!1,i.value=``,a.value=``,s.value=``}async function l(){o.value=!0,s.value=``;try{await n.user.changePassword({currentPassword:i.value,newPassword:a.value}),c()}catch(e){s.value=e instanceof Error?e.message:`Couldn't update your password — try again.`}finally{o.value=!1}}let u=(0,e.ref)(!1),d=(0,e.ref)(``),f=(0,e.ref)([]),p=(0,e.computed)(()=>sn(f.value)),m=(0,e.ref)(``),h=(0,e.ref)(``),g=(0,e.ref)(!1),_=(0,e.ref)(!1),v=(0,e.ref)(!1),y=(0,e.ref)(!1),b=(0,e.ref)(null);async function x(){try{g.value=await n.user.totp.isEnrolled()}catch{}}async function S(){_.value=!0,h.value=``;try{await n.user.totp.remove(),g.value=!1}catch(e){h.value=e instanceof Error?e.message:`Couldn't remove the authenticator app — try again.`}finally{_.value=!1}}let C=(0,e.ref)(null),w=(0,e.ref)(null);async function T(){h.value=``,v.value=!0;try{let t=await n.user.totp.enroll();d.value=t.secret,f.value=on(t.otpauthUri),u.value=!0,(0,e.nextTick)(()=>C.value?.focus())}catch(e){h.value=e instanceof Error?e.message:`Couldn't start authenticator app setup — try again.`,await x()}finally{v.value=!1}}function E(){u.value=!1,m.value=``,h.value=``}async function D(){h.value=``,y.value=!0;try{b.value=await n.user.totp.verify(m.value),g.value=!0,(0,e.nextTick)(()=>w.value?.focus())}catch(e){h.value=e instanceof Error?e.message:`Couldn't confirm that code — try again.`}finally{y.value=!1}}function O(){u.value=!1,m.value=``,b.value=null}let k=(0,e.ref)([]),A=rt(),j=(0,e.ref)(!1),M=(0,e.ref)(!1),N=(0,e.ref)(``),P=(0,e.ref)(``),F=(0,e.ref)(``),I=(0,e.ref)(``),ee=(0,e.ref)(!1),te=(0,e.ref)(null);async function ne(){I.value=``,ee.value=!0;try{k.value=await n.user.passkeys.list()}catch(e){I.value=e instanceof Error?e.message:`Couldn't load your passkeys.`}finally{ee.value=!1}}async function re(e){F.value=``,te.value=e;try{await n.user.passkeys.remove(e),k.value=k.value.filter(t=>t.id!==e)}catch(e){F.value=e instanceof Error?e.message:`Couldn't remove that passkey — try again.`}finally{te.value=null}}function ie(){j.value=!1,N.value=``,P.value=``}async function ae(){P.value=``,M.value=!0;try{await n.user.passkeys.registerWithBrowser(window.location.hostname,N.value||`Passkey`),ie(),await ne()}catch(e){P.value=dt(e)}finally{M.value=!1}}let L=(0,e.ref)([]),R=(0,e.ref)(``),oe=(0,e.ref)(!1),se=(0,e.ref)(``),ce=(0,e.ref)(null);async function le(){R.value=``,oe.value=!0;try{L.value=await n.user.sessions.list()}catch(e){R.value=e instanceof Error?e.message:`Couldn't load your sessions.`}finally{oe.value=!1}}async function ue(e){se.value=``,ce.value=e;try{await n.user.sessions.revoke(e),L.value=L.value.filter(t=>t.id!==e)}catch(e){se.value=e instanceof Error?e.message:`Couldn't revoke that session — try again.`}finally{ce.value=null}}function de(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}let z=(0,e.ref)(!1),fe=(0,e.ref)(``),B=(0,e.ref)(``),V=(0,e.ref)(``),H=(0,e.ref)(!1);function pe(){z.value=!1,fe.value=``,B.value=``,V.value=``}async function me(){V.value=``,H.value=!0;try{await n.user.deleteAccount(B.value),await n.signOut()}catch(e){V.value=e instanceof Error?e.message:`Couldn't delete your account — try again.`}finally{H.value=!1}}let he=(0,e.ref)(!1),ge=(0,e.ref)(``);async function _e(){ge.value=``,he.value=!0;try{let e=await n.user.exportData(),t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(t),i=document.createElement(`a`);i.href=r,i.download=`my-data.json`,i.click(),URL.revokeObjectURL(r)}catch(e){ge.value=e instanceof Error?e.message:`Couldn't export your data — try again.`}finally{he.value=!1}}return(0,e.onMounted)(()=>{x(),ne(),le()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ks,[(0,e.createElementVNode)(`section`,As,[n[15]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Sign-in methods`,-1),(0,e.createElementVNode)(`div`,js,[n[9]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Password`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`••••••••`)],-1),r.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`change-password-open`,onClick:n[0]||=e=>r.value=!0},` Change `))]),r.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ms,[(0,e.createElementVNode)(`div`,Ns,[(0,e.createElementVNode)(`div`,Ps,[n[10]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-current-password`},`Current password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-current-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`current-password`,"onUpdate:modelValue":n[1]||=e=>i.value=e},null,512),[[e.vModelText,i.value]])]),(0,e.createElementVNode)(`div`,Fs,[n[11]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-new-password`},`New password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-new-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`new-password`,"onUpdate:modelValue":n[2]||=e=>a.value=e},null,512),[[e.vModelText,a.value]])])]),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Is,(0,e.toDisplayString)(s.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Ls,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-password`,onClick:c},` Cancel `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-password`,disabled:o.value,onClick:l},(0,e.toDisplayString)(o.value?`…`:`Update`),9,Rs)])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,zs,[n[12]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Authenticator app`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Two-factor codes from an authenticator app`)],-1),!u.value&&!g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`start-totp-enroll`,disabled:v.value,onClick:T},(0,e.toDisplayString)(v.value?`…`:`Set up`),9,Bs)):(0,e.createCommentVNode)(``,!0),!u.value&&g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`remove-totp`,disabled:_.value,onClick:S},(0,e.toDisplayString)(_.value?`…`:`Remove`),9,Vs)):(0,e.createCommentVNode)(``,!0)]),h.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Hs,(0,e.toDisplayString)(h.value),1)):(0,e.createCommentVNode)(``,!0),u.value&&!b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Us,[((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{viewBox:`0 0 ${f.value.length+(0,e.unref)(4)*2} ${f.value.length+(0,e.unref)(4)*2}`,width:`180`,height:`180`},[n[13]||=(0,e.createElementVNode)(`rect`,{width:`100%`,height:`100%`,fill:`white`},null,-1),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(p.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`rect`,{key:`${t.x}-${t.y}`,x:t.x+(0,e.unref)(4),y:t.y+(0,e.unref)(4),width:`1`,height:`1`,fill:`black`},null,8,Gs))),128))],8,Ws)),(0,e.createElementVNode)(`p`,Ks,`Or enter this code manually: `+(0,e.toDisplayString)(d.value),1),(0,e.createElementVNode)(`div`,qs,[n[14]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-totp-code`},`6-digit code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-totp-code`,ref_key:`totpCodeInputRef`,ref:C,class:`mrd-input`,"data-mrd-field":`totp-code`,"onUpdate:modelValue":n[3]||=e=>m.value=e,disabled:y.value},null,8,Js),[[e.vModelText,m.value]])]),y.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ys,` Confirming your code and generating backup codes — this can take a few seconds… `)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Xs,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-totp`,disabled:y.value,onClick:E},` Cancel `,8,Zs),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`confirm-totp`,disabled:y.value,onClick:D},(0,e.toDisplayString)(y.value?`…`:`Confirm`),9,Qs)])])):(0,e.createCommentVNode)(``,!0),b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,$s,[(0,e.createElementVNode)(`p`,{ref_key:`totpRecoveryHeadingRef`,ref:w,class:`mrd-label`,tabindex:`-1`},`Save these backup codes — they won't be shown again:`,512),(0,e.createElementVNode)(`div`,ec,[(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(b.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])]),(0,e.createElementVNode)(`div`,{class:`mrd-inline-actions`},[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`totp-recovery-codes-done`,onClick:O},` Done `)])])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,tc,[n[18]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Passkeys`,-1),I.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,nc,[(0,e.createTextVNode)((0,e.toDisplayString)(I.value)+` `,1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-link-button`,"data-mrd-action":`retry-load-passkeys`,onClick:ne},` Retry `)])):F.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,rc,(0,e.toDisplayString)(F.value),1)):(0,e.createCommentVNode)(``,!0),ee.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ic,`Loading passkeys…`)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(k.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`mrd-prow`,key:t.id},[(0,e.createElementVNode)(`span`,ac,(0,e.toDisplayString)(t.name),1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`remove-passkey-${t.id}`,"aria-label":`Remove passkey ${t.name}`,disabled:te.value===t.id,onClick:e=>re(t.id)},(0,e.toDisplayString)(te.value===t.id?`…`:`Remove`),9,oc)]))),128)),(0,e.createElementVNode)(`div`,sc,[n[16]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Sign in without a password using Face ID, Touch ID, or a security key`,-1),(0,e.unref)(A)&&!j.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`open-add-passkey`,onClick:n[4]||=e=>j.value=!0},` Add passkey `)):(0,e.unref)(A)?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,cc,`Not supported in this browser`))]),j.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,lc,[(0,e.createElementVNode)(`div`,uc,[n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-passkey-name`},`Passkey name (optional)`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-passkey-name`,class:`mrd-input`,"data-mrd-field":`passkey-name`,"onUpdate:modelValue":n[5]||=e=>N.value=e},null,512),[[e.vModelText,N.value]])]),P.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,dc,(0,e.toDisplayString)(P.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,fc,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-add-passkey`,onClick:ie},` Cancel `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`add-passkey`,disabled:M.value,onClick:ae},(0,e.toDisplayString)(M.value?`…`:`Add passkey`),9,pc)])])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,mc,[n[20]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Active sessions`,-1),R.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,hc,[(0,e.createTextVNode)((0,e.toDisplayString)(R.value)+` `,1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-link-button`,"data-mrd-action":`retry-load-sessions`,onClick:le},` Retry `)])):se.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,gc,(0,e.toDisplayString)(se.value),1)):(0,e.createCommentVNode)(``,!0),oe.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,_c,`Loading sessions…`)):!L.value.length&&!R.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,vc,`No active sessions.`)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(L.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`mrd-prow`,key:t.id},[(0,e.createElementVNode)(`span`,null,[n[19]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Session`,-1),(0,e.createElementVNode)(`span`,yc,`Started `+(0,e.toDisplayString)(de(t.createdAt)),1)]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`revoke-session-${t.id}`,"aria-label":`Revoke session started ${de(t.createdAt)}`,disabled:ce.value===t.id,onClick:e=>ue(t.id)},(0,e.toDisplayString)(ce.value===t.id?`…`:`Revoke`),9,bc)]))),128))]),(0,e.createElementVNode)(`section`,xc,[n[22]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Your data`,-1),(0,e.createElementVNode)(`div`,Sc,[n[21]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Export my data`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Download a copy of everything we have on your account`)],-1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action`,"data-mrd-action":`export-my-data`,disabled:he.value,onClick:_e},(0,e.toDisplayString)(he.value?`Preparing…`:`Download`),9,Cc)]),ge.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,wc,(0,e.toDisplayString)(ge.value),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,Tc,[n[26]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title mrd-psection-title--danger`},`Danger zone`,-1),(0,e.createElementVNode)(`div`,Ec,[n[23]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Delete account`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Permanently removes your account and data`)],-1),z.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action mrd-prow-action--danger`,"data-mrd-action":`open-delete-account`,onClick:n[6]||=e=>z.value=!0},` Delete… `))]),z.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Dc,[(0,e.createElementVNode)(`div`,Oc,[n[24]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-delete-confirm`},`Type "delete my account" to confirm. This cannot be undone.`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-delete-confirm`,class:`mrd-input`,"data-mrd-field":`delete-confirm`,"onUpdate:modelValue":n[7]||=e=>fe.value=e},null,512),[[e.vModelText,fe.value]])]),(0,e.createElementVNode)(`div`,kc,[n[25]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-delete-password`},`Confirm your password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-delete-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`delete-password`,"onUpdate:modelValue":n[8]||=e=>B.value=e,disabled:H.value},null,8,Ac),[[e.vModelText,B.value]])]),V.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,jc,(0,e.toDisplayString)(V.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Mc,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-delete-account`,disabled:H.value,onClick:pe},` Cancel `,8,Nc),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm mrd-btn-sm--danger`,"data-mrd-action":`confirm-delete-account`,disabled:fe.value!==`delete my account`||!B.value||H.value,onClick:me},(0,e.toDisplayString)(H.value?`…`:`Permanently delete`),9,Pc)])])):(0,e.createCommentVNode)(``,!0)])]))}}),Ic={key:0,class:`mrd-error`,role:`alert`,"data-mrd":`session-expired`},Lc={class:`mrd-profile-tabs`},Rc={class:`mrd-profile-body`},zc={key:0,class:`mrd-profile-sections`},Bc=(0,e.defineComponent)({__name:`UserProfile`,props:{appearance:{}},emits:[`close`],setup(t){let n=Ot(void 0,`userProfile`,t.appearance);In();let r=(0,e.ref)(`account`),i=Mn(),a=G(),o=(0,e.ref)(!1),s;return(0,e.onMounted)(()=>{s=a.onAuthStateChange((e,t)=>{e===`signed-out`&&(t.reason===`expired`||t.reason===`cross-tab`)?o.value=!0:e===`signed-in`&&(o.value=!1)})}),(0,e.onUnmounted)(()=>s?.()),(t,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`mrd-card mrd-card-lg mrd-profile-card`,(0,e.unref)(n).elementProps(`rootBox`).class]),style:(0,e.normalizeStyle)((0,e.unref)(n).rootStyle),"data-mrd":`user-profile`},[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ic,` Your session has expired — please sign in again. `)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createElementVNode)(`nav`,Lc,[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`mrd-profile-tab`,{active:r.value===`account`}]),onClick:a[0]||=e=>r.value=`account`},` Account `,2),(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`mrd-profile-tab`,{active:r.value===`security`}]),onClick:a[1]||=e=>r.value=`security`},` Security `,2)]),(0,e.createElementVNode)(`div`,Rc,[r.value===`account`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,zc,[(0,e.createVNode)(ss,{user:(0,e.unref)(i)},null,8,[`user`]),(0,e.createVNode)(vs,{user:(0,e.unref)(i)},null,8,[`user`]),(0,e.createVNode)(Os)])):((0,e.openBlock)(),(0,e.createBlock)(Fc,{key:1}))])],64))],6))}}),Vc=[`aria-expanded`,`aria-label`],Hc=[`src`],Uc={key:1,class:`mrd-avatar`},Wc={class:`mrd-userbutton-header`},Gc=[`src`],Kc={key:1,class:`mrd-avatar mrd-avatar-lg`},qc={class:`mrd-userbutton-identity`},Jc={class:`mrd-userbutton-name`},Yc={key:0,class:`mrd-userbutton-email`},Xc=[`disabled`],Zc=(0,e.defineComponent)({__name:`UserButton`,props:{appearance:{}},emits:[`signOut`],setup(t,{emit:n}){let r=t,i=n,a=Ot(void 0,`userButton`,r.appearance);In();let o=kn(),s=(0,e.ref)(!1),c=(0,e.ref)(!1),l=(0,e.ref)(!1),u=(0,e.ref)(null),d=(0,e.ref)(null),{floatingStyles:f}=Io(u,d,{placement:`bottom-end`,middleware:[Oo(8),Ao(),ko({padding:8})],whileElementsMounted:Do}),p=(0,e.computed)(()=>o.user.value?fn(o.user.value):null),m=(0,e.computed)(()=>p.value?.displayName??``),h=(0,e.computed)(()=>p.value?.initials??`?`);function g(){return Array.from(d.value?.querySelectorAll(`[role="menuitem"]`)??[])}function _(){s.value=!s.value,s.value&&(0,e.nextTick)(()=>g()[0]?.focus())}function v(){s.value=!1,(0,e.nextTick)(()=>u.value?.focus())}function y(e){let t=g();if(!t.length)return;let n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1+t.length)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Escape`&&(e.preventDefault(),v())}let b=(0,e.ref)(!1);async function x(){if(!b.value){b.value=!0;try{await o.signOut(),s.value=!1,i(`signOut`)}catch{}finally{b.value=!1}}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.unref)(o).isSignedIn.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:(0,e.normalizeClass)([`mrd-userbutton`,(0,e.unref)(a).elementProps(`avatarBox`).class]),style:(0,e.normalizeStyle)((0,e.unref)(a).rootStyle)},[(0,e.createElementVNode)(`button`,{ref_key:`avatarButtonRef`,ref:u,type:`button`,class:`mrd-avatar-button`,"aria-expanded":s.value,"aria-haspopup":`true`,"aria-label":m.value?`Account menu for ${m.value}`:`Account menu`,onClick:_},[(0,e.unref)(o).user.value?.avatarUrl&&!l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar`,src:(0,e.unref)(o).user.value.avatarUrl,alt:``,onError:n[0]||=e=>l.value=!0},null,40,Hc)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Uc,(0,e.toDisplayString)(h.value),1))],8,Vc),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`mrd-userbutton-backdrop`,onClick:v})):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:d,class:`mrd-userbutton-menu`,role:`menu`,style:(0,e.normalizeStyle)((0,e.unref)(f)),onKeydown:y},[(0,e.createElementVNode)(`div`,Wc,[(0,e.unref)(o).user.value?.avatarUrl&&!l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:(0,e.unref)(o).user.value.avatarUrl,alt:``,onError:n[1]||=e=>l.value=!0},null,40,Gc)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Kc,(0,e.toDisplayString)(h.value),1)),(0,e.createElementVNode)(`div`,qc,[(0,e.createElementVNode)(`p`,Jc,(0,e.toDisplayString)(m.value),1),(0,e.unref)(o).user.value?.email===m.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Yc,(0,e.toDisplayString)((0,e.unref)(o).user.value?.email),1))])]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-userbutton-menuitem`,"data-mrd-action":`manage-account`,role:`menuitem`,tabindex:`-1`,onClick:n[2]||=e=>{c.value=!0,s.value=!1}},` Manage account `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-userbutton-signout`,role:`menuitem`,tabindex:`-1`,disabled:b.value,onClick:x},(0,e.toDisplayString)(b.value?`Signing out…`:`Sign out`),9,Xc)],36)):(0,e.createCommentVNode)(``,!0)],6)):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)(Ro,{open:c.value,"aria-label":`Manage account`,"restore-focus-to":u.value,onClose:n[4]||=e=>c.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Bc,{onClose:n[3]||=e=>c.value=!1})]),_:1},8,[`open`,`restore-focus-to`])],64))}}),Qc=(0,e.defineComponent)({__name:`SignedIn`,setup(t){let n=jn();return(t,r)=>(0,e.unref)(n).isLoaded.value&&(0,e.unref)(n).isSignedIn.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.createCommentVNode)(``,!0)}}),$c=(0,e.defineComponent)({__name:`SignedOut`,setup(t){let n=jn();return(t,r)=>(0,e.unref)(n).isLoaded.value&&!(0,e.unref)(n).isSignedIn.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.createCommentVNode)(``,!0)}}),el=(0,e.defineComponent)({__name:`Protect`,props:{role:{}},setup(t){let n=t,r=jn(),i=(0,e.computed)(()=>r.isLoaded.value&&r.isSignedIn.value&&mn(r.sessionClaims.value,n.role));return(t,n)=>(0,e.unref)(r).isLoaded.value&&i.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.unref)(r).isLoaded.value?(0,e.renderSlot)(t.$slots,`fallback`,{key:1}):(0,e.createCommentVNode)(``,!0)}}),tl=(0,e.defineComponent)({__name:`RedirectToSignIn`,props:{signInUrl:{}},setup(t){let n=t,r=jn();return(0,e.watch)(()=>r.isLoaded.value,e=>{if(e&&!r.isSignedIn.value){let e=Sn(n.signInUrl);e&&(window.location.href=e)}},{immediate:!0}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`))}}),nl=(0,e.defineComponent)({__name:`SignInButton`,props:{mode:{default:`modal`},signInUrl:{default:`/sign-in`},signUpUrl:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);function o(){if(r.mode===`redirect`){let e=Sn(r.signInUrl);e&&(window.location.href=e);return}a.value=!0}function s(e){a.value=!1,i(`complete`,e)}return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`span`,{onClick:o},[(0,e.renderSlot)(n.$slots,`default`,{},()=>[r[1]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-primary`},`Sign in`,-1)])]),(0,e.createVNode)(Ro,{open:a.value,onClose:r[0]||=e=>a.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Ir,{"sign-up-url":t.signUpUrl,onComplete:s},null,8,[`sign-up-url`])]),_:1},8,[`open`])],64))}}),rl=(0,e.defineComponent)({__name:`SignUpButton`,props:{mode:{default:`modal`},signUpUrl:{default:`/sign-up`},signInUrl:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);function o(){if(r.mode===`redirect`){let e=Sn(r.signUpUrl);e&&(window.location.href=e);return}a.value=!0}function s(e){a.value=!1,i(`complete`,e)}return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`span`,{onClick:o},[(0,e.renderSlot)(n.$slots,`default`,{},()=>[r[1]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-primary`},`Sign up`,-1)])]),(0,e.createVNode)(Ro,{open:a.value,onClose:r[0]||=e=>a.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Si,{"sign-in-url":t.signInUrl,onComplete:s},null,8,[`sign-in-url`])]),_:1},8,[`open`])],64))}}),il=(0,e.defineComponent)({__name:`SignOutButton`,props:{redirectUrl:{}},setup(t){let n=t,r=jn();async function i(){await r.signOut();let e=Sn(n.redirectUrl);e&&(window.location.href=e)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{onClick:i},[(0,e.renderSlot)(t.$slots,`default`,{},()=>[n[0]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-ghost`},`Sign out`,-1)])]))}});exports.Protect=el,exports.ProvidameError=U,exports.ProvidameKey=wn,exports.ProvidamePlugin=Tn,exports.RedirectToSignIn=tl,exports.ResetPassword=Qi,exports.SignIn=Ir,exports.SignInButton=nl,exports.SignOutButton=il,exports.SignUp=Si,exports.SignUpButton=rl,exports.SignedIn=Qc,exports.SignedOut=$c,exports.UserButton=Zc,exports.UserProfile=Bc,exports.useAuth=jn,exports.useBranding=In,exports.usePasskeyRegistrationLink=Ln,exports.useProvidame=G,exports.useResetPassword=An,exports.useSession=kn,exports.useSignIn=En,exports.useSignInIdp=Dn,exports.useSignUp=On,exports.useUser=Mn,exports.verifyToken=wt;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("vue");var t=new TextEncoder,n=new TextDecoder;function r(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function i(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>127)throw TypeError(`non-ASCII string encountered in encode()`);t[n]=r}return t}function a(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:n.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=n.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return a(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}var s=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},c=class extends s{static code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},l=class extends s{static code=`ERR_JWT_EXPIRED`;code=`ERR_JWT_EXPIRED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},u=class extends s{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},d=class extends s{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},f=class extends s{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},p=class extends s{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},m=class extends s{static code=`ERR_JWKS_INVALID`;code=`ERR_JWKS_INVALID`},h=class extends s{static code=`ERR_JWKS_NO_MATCHING_KEY`;code=`ERR_JWKS_NO_MATCHING_KEY`;constructor(e=`no applicable key found in the JSON Web Key Set`,t){super(e,t)}},g=class extends s{[Symbol.asyncIterator];static code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;constructor(e=`multiple matching keys found in the JSON Web Key Set`,t){super(e,t)}},_=class extends s{static code=`ERR_JWKS_TIMEOUT`;code=`ERR_JWKS_TIMEOUT`;constructor(e=`request timed out`,t){super(e,t)}},v=class extends s{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}},y=(e,t=`algorithm.name`)=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),b=(e,t)=>e.name===t;function x(e){return parseInt(e.name.slice(4),10)}function S(e,t){if(x(e.hash)!==t)throw y(`SHA-${t}`,`algorithm.hash`)}function C(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function w(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function T(e,t,n){switch(t){case`HS256`:case`HS384`:case`HS512`:if(!b(e.algorithm,`HMAC`))throw y(`HMAC`);S(e.algorithm,parseInt(t.slice(2),10));break;case`RS256`:case`RS384`:case`RS512`:if(!b(e.algorithm,`RSASSA-PKCS1-v1_5`))throw y(`RSASSA-PKCS1-v1_5`);S(e.algorithm,parseInt(t.slice(2),10));break;case`PS256`:case`PS384`:case`PS512`:if(!b(e.algorithm,`RSA-PSS`))throw y(`RSA-PSS`);S(e.algorithm,parseInt(t.slice(2),10));break;case`Ed25519`:case`EdDSA`:if(!b(e.algorithm,`Ed25519`))throw y(`Ed25519`);break;case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:if(!b(e.algorithm,t))throw y(t);break;case`ES256`:case`ES384`:case`ES512`:{if(!b(e.algorithm,`ECDSA`))throw y(`ECDSA`);let n=C(t);if(e.algorithm.namedCurve!==n)throw y(n,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}w(e,n)}function E(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var D=(e,...t)=>E(`Key must be `,e,...t),O=(e,t,...n)=>E(`Key for the ${e} algorithm must be `,t,...n);function k(e,t){if(e.startsWith(`RS`)||e.startsWith(`PS`)){let{modulusLength:n}=t.algorithm;if(typeof n!=`number`||n<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}function A(e,t){let n=`SHA-${e.slice(-3)}`;switch(e){case`HS256`:case`HS384`:case`HS512`:return{hash:n,name:`HMAC`};case`PS256`:case`PS384`:case`PS512`:return{hash:n,name:`RSA-PSS`,saltLength:parseInt(e.slice(-3),10)>>3};case`RS256`:case`RS384`:case`RS512`:return{hash:n,name:`RSASSA-PKCS1-v1_5`};case`ES256`:case`ES384`:case`ES512`:return{hash:n,name:`ECDSA`,namedCurve:t.namedCurve};case`Ed25519`:case`EdDSA`:return{name:`Ed25519`};case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:return{name:e};default:throw new d(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}async function j(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError(D(t,`CryptoKey`,`KeyObject`,`JSON Web Key`));return crypto.subtle.importKey(`raw`,t,{hash:`SHA-${e.slice(-3)}`,name:`HMAC`},!1,[n])}return T(t,e,n),t}async function M(e,t,n,r){let i=await j(e,t,`verify`);k(e,i);let a=A(e,i.algorithm);try{return await crypto.subtle.verify(a,i,n,r)}catch{return!1}}function N(e,t,n){try{return o(e)}catch{throw new n(`Failed to base64url decode the ${t}`)}}var P=e=>typeof e==`object`&&!!e;function F(e){if(!P(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function I(...e){let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}var ee=e=>F(e)&&typeof e.kty==`string`,te=e=>e.kty!==`oct`&&(e.kty===`AKP`&&typeof e.priv==`string`||typeof e.d==`string`),ne=e=>e.kty!==`oct`&&e.d===void 0&&e.priv===void 0,re=e=>e.kty===`oct`&&typeof e.k==`string`,ie=e=>{if(e?.[Symbol.toStringTag]===`CryptoKey`)return!0;try{return e instanceof CryptoKey}catch{return!1}},ae=e=>e?.[Symbol.toStringTag]===`KeyObject`,L=e=>ie(e)||ae(e),R=e=>e?.[Symbol.toStringTag],oe=(e,t,n)=>{if(t.use!==void 0){let e;switch(n){case`sign`:case`verify`:e=`sig`;break;case`encrypt`:case`decrypt`:e=`enc`;break}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case n===`sign`||n===`verify`:case e===`dir`:case e.includes(`CBC-HS`):r=n;break;case e.startsWith(`PBES2`):r=`deriveBits`;break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes(`GCM`)&&e.endsWith(`KW`)?n===`encrypt`?`wrapKey`:`unwrapKey`:n;break;case n===`encrypt`&&e.startsWith(`RSA`):r=`wrapKey`;break;case n===`decrypt`:r=e.startsWith(`RSA`)?`unwrapKey`:`deriveBits`;break}if(r&&t.key_ops?.includes?.(r)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0},se=(e,t,n)=>{if(!(t instanceof Uint8Array)){if(ee(t)){if(re(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!L(t))throw TypeError(O(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`,`Uint8Array`));if(t.type!==`secret`)throw TypeError(`${R(t)} instances for symmetric algorithms must be of type "secret"`)}},ce=(e,t,n)=>{if(ee(t))switch(n){case`decrypt`:case`sign`:if(te(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a private JWK`);case`encrypt`:case`verify`:if(ne(t)&&oe(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a public JWK`)}if(!L(t))throw TypeError(O(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`));if(t.type===`secret`)throw TypeError(`${R(t)} instances for asymmetric algorithms must not be of type "secret"`);if(t.type===`public`)switch(n){case`sign`:throw TypeError(`${R(t)} instances for asymmetric algorithm signing must be of type "private"`);case`decrypt`:throw TypeError(`${R(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if(t.type===`private`)switch(n){case`verify`:throw TypeError(`${R(t)} instances for asymmetric algorithm verifying must be of type "public"`);case`encrypt`:throw TypeError(`${R(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function le(e,t,n){switch(e.substring(0,2)){case`A1`:case`A2`:case`di`:case`HS`:case`PB`:se(e,t,n);break;default:ce(e,t,n)}}function ue(e,t,n,r,i){if(i.crit!==void 0&&r?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!r||r.crit===void 0)return new Set;if(!Array.isArray(r.crit)||r.crit.length===0||r.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let a;a=n===void 0?t:new Map([...Object.entries(n),...t.entries()]);for(let t of r.crit){if(!a.has(t))throw new d(`Extension Header Parameter "${t}" is not recognized`);if(i[t]===void 0)throw new e(`Extension Header Parameter "${t}" is missing`);if(a.get(t)&&r[t]===void 0)throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)}function de(e,t){if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}var z=`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`;function fe(e){let t,n;switch(e.kty){case`AKP`:switch(e.alg){case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:t={name:e.alg},n=e.priv?[`sign`]:[`verify`];break;default:throw new d(z)}break;case`RSA`:switch(e.alg){case`PS256`:case`PS384`:case`PS512`:t={name:`RSA-PSS`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RS256`:case`RS384`:case`RS512`:t={name:`RSASSA-PKCS1-v1_5`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:t={name:`RSA-OAEP`,hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?[`decrypt`,`unwrapKey`]:[`encrypt`,`wrapKey`];break;default:throw new d(z)}break;case`EC`:switch(e.alg){case`ES256`:case`ES384`:case`ES512`:t={name:`ECDSA`,namedCurve:{ES256:`P-256`,ES384:`P-384`,ES512:`P-521`}[e.alg]},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:`ECDH`,namedCurve:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new d(z)}break;case`OKP`:switch(e.alg){case`Ed25519`:case`EdDSA`:t={name:`Ed25519`},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new d(z)}break;default:throw new d(`Invalid or unsupported JWK "kty" (Key Type) Parameter value`)}return{algorithm:t,keyUsages:n}}async function B(e){if(!e.alg)throw TypeError(`"alg" argument is required when "jwk.alg" is not present`);let{algorithm:t,keyUsages:n}=fe(e),r={...e};return r.kty!==`AKP`&&delete r.alg,delete r.use,crypto.subtle.importKey(`jwk`,r,t,e.ext??!(e.d||e.priv),e.key_ops??n)}var V=`given KeyObject instance cannot be used for this algorithm`,H,pe=async(e,t,n,r=!1)=>{H||=new WeakMap;let i=H.get(e);if(i?.[n])return i[n];let a=await B({...t,alg:n});return r&&Object.freeze(e),i?i[n]=a:H.set(e,{[n]:a}),a},me=(e,t)=>{H||=new WeakMap;let n=H.get(e);if(n?.[t])return n[t];let r=e.type===`public`,i=!!r,a;if(e.asymmetricKeyType===`x25519`){switch(t){case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:break;default:throw TypeError(V)}a=e.toCryptoKey(e.asymmetricKeyType,i,r?[]:[`deriveBits`])}if(e.asymmetricKeyType===`ed25519`){if(t!==`EdDSA`&&t!==`Ed25519`)throw TypeError(V);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}switch(e.asymmetricKeyType){case`ml-dsa-44`:case`ml-dsa-65`:case`ml-dsa-87`:if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError(V);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`rsa`){let n;switch(t){case`RSA-OAEP`:n=`SHA-1`;break;case`RS256`:case`PS256`:case`RSA-OAEP-256`:n=`SHA-256`;break;case`RS384`:case`PS384`:case`RSA-OAEP-384`:n=`SHA-384`;break;case`RS512`:case`PS512`:case`RSA-OAEP-512`:n=`SHA-512`;break;default:throw TypeError(V)}if(t.startsWith(`RSA-OAEP`))return e.toCryptoKey({name:`RSA-OAEP`,hash:n},i,r?[`encrypt`]:[`decrypt`]);a=e.toCryptoKey({name:t.startsWith(`PS`)?`RSA-PSS`:`RSASSA-PKCS1-v1_5`,hash:n},i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`ec`){let n=new Map([[`prime256v1`,`P-256`],[`secp384r1`,`P-384`],[`secp521r1`,`P-521`]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError(V);let o={ES256:`P-256`,ES384:`P-384`,ES512:`P-521`};o[t]&&n===o[t]&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t.startsWith(`ECDH-ES`)&&(a=e.toCryptoKey({name:`ECDH`,namedCurve:n},i,r?[]:[`deriveBits`]))}if(!a)throw TypeError(V);return n?n[t]=a:H.set(e,{[t]:a}),a};async function he(e,t){if(e instanceof Uint8Array||ie(e))return e;if(ae(e)){if(e.type===`secret`)return e.export();if(`toCryptoKey`in e&&typeof e.toCryptoKey==`function`)try{return me(e,t)}catch(e){if(e instanceof TypeError)throw e}return pe(e,e.export({format:`jwk`}),t)}if(ee(e))return e.k?o(e.k):pe(e,e,t,!0);throw Error(`unreachable`)}async function ge(e,a,s){if(!F(e))throw new f(`Flattened JWS must be an object`);if(e.protected===void 0&&e.header===void 0)throw new f(`Flattened JWS must have either of the "protected" or "header" members`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new f(`JWS Protected Header incorrect type`);if(e.payload===void 0)throw new f(`JWS Payload missing`);if(typeof e.signature!=`string`)throw new f(`JWS Signature missing or incorrect type`);if(e.header!==void 0&&!F(e.header))throw new f(`JWS Unprotected Header incorrect type`);let c={};if(e.protected)try{let t=o(e.protected);c=JSON.parse(n.decode(t))}catch{throw new f(`JWS Protected Header is invalid`)}if(!I(c,e.header))throw new f(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let l={...c,...e.header},d=ue(f,new Map([[`b64`,!0]]),s?.crit,c,l),p=!0;if(d.has(`b64`)&&(p=c.b64,typeof p!=`boolean`))throw new f(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:m}=l;if(typeof m!=`string`||!m)throw new f(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);let h=s&&de(`algorithms`,s.algorithms);if(h&&!h.has(m))throw new u(`"alg" (Algorithm) Header Parameter value not allowed`);if(p){if(typeof e.payload!=`string`)throw new f(`JWS Payload must be a string`)}else if(typeof e.payload!=`string`&&!(e.payload instanceof Uint8Array))throw new f(`JWS Payload must be a string or an Uint8Array instance`);let g=!1;typeof a==`function`&&(a=await a(c,e),g=!0),le(m,a,`verify`);let _=r(e.protected===void 0?new Uint8Array:i(e.protected),i(`.`),typeof e.payload==`string`?p?i(e.payload):t.encode(e.payload):e.payload),y=N(e.signature,`signature`,f),b=await he(a,m);if(!await M(m,b,y,_))throw new v;let x;x=p?N(e.payload,`payload`,f):typeof e.payload==`string`?t.encode(e.payload):e.payload;let S={payload:x};return e.protected!==void 0&&(S.protectedHeader=c),e.header!==void 0&&(S.unprotectedHeader=e.header),g?{...S,key:b}:S}async function _e(e,t,r){if(e instanceof Uint8Array&&(e=n.decode(e)),typeof e!=`string`)throw new f(`Compact JWS must be a string or Uint8Array`);let{0:i,1:a,2:o,length:s}=e.split(`.`);if(s!==3)throw new f(`Invalid Compact JWS`);let c=await ge({payload:a,protected:i,signature:o},t,r),l={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t==`function`?{...l,key:c.key}:l}var ve=e=>Math.floor(e.getTime()/1e3),ye=60,be=ye*60,xe=be*24,Se=xe*7,Ce=xe*365.25,we=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Te(e){let t=we.exec(e);if(!t||t[4]&&t[1])throw TypeError(`Invalid time period format`);let n=parseFloat(t[2]),r=t[3].toLowerCase(),i;switch(r){case`sec`:case`secs`:case`second`:case`seconds`:case`s`:i=Math.round(n);break;case`minute`:case`minutes`:case`min`:case`mins`:case`m`:i=Math.round(n*ye);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:i=Math.round(n*be);break;case`day`:case`days`:case`d`:i=Math.round(n*xe);break;case`week`:case`weeks`:case`w`:i=Math.round(n*Se);break;default:i=Math.round(n*Ce);break}return t[1]===`-`||t[4]===`ago`?-i:i}var Ee=e=>e.includes(`/`)?e.toLowerCase():`application/${e.toLowerCase()}`,De=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;function Oe(e,t,r={}){let i;try{i=JSON.parse(n.decode(t))}catch{}if(!F(i))throw new p(`JWT Claims Set must be a top-level JSON object`);let{typ:a}=r;if(a&&(typeof e.typ!=`string`||Ee(e.typ)!==Ee(a)))throw new c(`unexpected "typ" JWT header value`,i,`typ`,`check_failed`);let{requiredClaims:o=[],issuer:s,subject:u,audience:d,maxTokenAge:f}=r,m=[...o];f!==void 0&&m.push(`iat`),d!==void 0&&m.push(`aud`),u!==void 0&&m.push(`sub`),s!==void 0&&m.push(`iss`);for(let e of new Set(m.reverse()))if(!(e in i))throw new c(`missing required "${e}" claim`,i,e,`missing`);if(s&&!(Array.isArray(s)?s:[s]).includes(i.iss))throw new c(`unexpected "iss" claim value`,i,`iss`,`check_failed`);if(u&&i.sub!==u)throw new c(`unexpected "sub" claim value`,i,`sub`,`check_failed`);if(d&&!De(i.aud,typeof d==`string`?[d]:d))throw new c(`unexpected "aud" claim value`,i,`aud`,`check_failed`);let h;switch(typeof r.clockTolerance){case`string`:h=Te(r.clockTolerance);break;case`number`:h=r.clockTolerance;break;case`undefined`:h=0;break;default:throw TypeError(`Invalid clockTolerance option type`)}let{currentDate:g}=r,_=ve(g||new Date);if((i.iat!==void 0||f)&&typeof i.iat!=`number`)throw new c(`"iat" claim must be a number`,i,`iat`,`invalid`);if(i.nbf!==void 0){if(typeof i.nbf!=`number`)throw new c(`"nbf" claim must be a number`,i,`nbf`,`invalid`);if(i.nbf>_+h)throw new c(`"nbf" claim timestamp check failed`,i,`nbf`,`check_failed`)}if(i.exp!==void 0){if(typeof i.exp!=`number`)throw new c(`"exp" claim must be a number`,i,`exp`,`invalid`);if(i.exp<=_-h)throw new l(`"exp" claim timestamp check failed`,i,`exp`,`check_failed`)}if(f){let e=_-i.iat,t=typeof f==`number`?f:Te(f);if(e-h>t)throw new l(`"iat" claim timestamp check failed (too far in the past)`,i,`iat`,`check_failed`);if(e<0-h)throw new c(`"iat" claim timestamp check failed (it should be in the past)`,i,`iat`,`check_failed`)}return i}async function ke(e,t,n){let r=await _e(e,t,n);if(r.protectedHeader.crit?.includes(`b64`)&&r.protectedHeader.b64===!1)throw new p(`JWTs MUST NOT use unencoded payload`);let i={payload:Oe(r.protectedHeader,r.payload,n),protectedHeader:r.protectedHeader};return typeof t==`function`?{...i,key:r.key}:i}async function Ae(e,t,n){if(!F(e))throw TypeError(`JWK must be an object`);let r;switch(t??=e.alg,r??=n?.extractable??e.ext,e.kty){case`oct`:if(typeof e.k!=`string`||!e.k)throw TypeError(`missing "k" (Key Value) Parameter value`);return o(e.k);case`RSA`:if(`oth`in e&&e.oth!==void 0)throw new d(`RSA JWK "oth" (Other Primes Info) Parameter value is not supported`);return B({...e,alg:t,ext:r});case`AKP`:if(typeof e.alg!=`string`||!e.alg)throw TypeError(`missing "alg" (Algorithm) Parameter value`);if(t!==void 0&&t!==e.alg)throw TypeError(`JWK alg and alg option value mismatch`);return B({...e,ext:r});case`EC`:case`OKP`:return B({...e,alg:t,ext:r});default:throw new d(`Unsupported "kty" (Key Type) Parameter value`)}}function je(e){switch(typeof e==`string`&&e.slice(0,2)){case`RS`:case`PS`:return`RSA`;case`ES`:return`EC`;case`Ed`:return`OKP`;case`ML`:return`AKP`;default:throw new d(`Unsupported "alg" value for a JSON Web Key Set`)}}function Me(e){return e&&typeof e==`object`&&Array.isArray(e.keys)&&e.keys.every(Ne)}function Ne(e){return F(e)}var Pe=class{#e;#t=new WeakMap;constructor(e){if(!Me(e))throw new m(`JSON Web Key Set malformed`);this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:n,kid:r}={...e,...t?.header},i=je(n),a=this.#e.keys.filter(e=>{let t=i===e.kty;if(t&&typeof r==`string`&&(t=r===e.kid),t&&(typeof e.alg==`string`||i===`AKP`)&&(t=n===e.alg),t&&typeof e.use==`string`&&(t=e.use===`sig`),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(`verify`)),t)switch(n){case`ES256`:t=e.crv===`P-256`;break;case`ES384`:t=e.crv===`P-384`;break;case`ES512`:t=e.crv===`P-521`;break;case`Ed25519`:case`EdDSA`:t=e.crv===`Ed25519`;break}return t}),{0:o,length:s}=a;if(s===0)throw new h;if(s!==1){let e=new g,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of a)try{yield await Fe(t,e,n)}catch{}},e}return Fe(this.#t,o,n)}};async function Fe(e,t,n){let r=e.get(t)||e.set(t,{}).get(t);if(r[n]===void 0){let e=await Ae({...t,ext:!0},n);if(e instanceof Uint8Array||e.type!==`public`)throw new m(`JSON Web Key Set members must be public keys`);r[n]=e}return r[n]}function Ie(e){let t=new Pe(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),n}function Le(){return typeof WebSocketPair<`u`||typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`||typeof EdgeRuntime<`u`&&EdgeRuntime===`vercel`}var Re;(typeof navigator>`u`||!navigator.userAgent?.startsWith?.(`Mozilla/5.0 `))&&(Re=`jose/v6.2.3`);var ze=Symbol();async function Be(e,t,n,r=fetch){let i=await r(e,{method:`GET`,signal:n,redirect:`manual`,headers:t}).catch(e=>{throw e.name===`TimeoutError`?new _:e});if(i.status!==200)throw new s(`Expected 200 OK from the JSON Web Key Set HTTP response`);try{return await i.json()}catch{throw new s(`Failed to parse the JSON Web Key Set HTTP response as JSON`)}}var Ve=Symbol();function He(e,t){return!(typeof e!=`object`||!e||!(`uat`in e)||typeof e.uat!=`number`||Date.now()-e.uat>=t||!(`jwks`in e)||!F(e.jwks)||!Array.isArray(e.jwks.keys)||!Array.prototype.every.call(e.jwks.keys,F))}var Ue=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;constructor(e,t){if(!(e instanceof URL))throw TypeError(`url must be an instance of URL`);this.#e=new URL(e.href),this.#t=typeof t?.timeoutDuration==`number`?t?.timeoutDuration:5e3,this.#n=typeof t?.cooldownDuration==`number`?t?.cooldownDuration:3e4,this.#r=typeof t?.cacheMaxAge==`number`?t?.cacheMaxAge:6e5,this.#o=new Headers(t?.headers),Re&&!this.#o.has(`User-Agent`)&&this.#o.set(`User-Agent`,Re),this.#o.has(`accept`)||(this.#o.set(`accept`,`application/json`),this.#o.append(`accept`,`application/jwk-set+json`)),this.#s=t?.[ze],t?.[Ve]!==void 0&&(this.#l=t?.[Ve],He(t?.[Ve],this.#r)&&(this.#i=this.#l.uat,this.#c=Ie(this.#l.jwks)))}pendingFetch(){return!!this.#a}coolingDown(){return typeof this.#i==`number`?Date.now()<this.#i+this.#n:!1}fresh(){return typeof this.#i==`number`?Date.now()<this.#i+this.#r:!1}jwks(){return this.#c?.jwks()}async getKey(e,t){(!this.#c||!this.fresh())&&await this.reload();try{return await this.#c(e,t)}catch(n){if(n instanceof h&&this.coolingDown()===!1)return await this.reload(),this.#c(e,t);throw n}}async reload(){this.#a&&Le()&&(this.#a=void 0),this.#a||=Be(this.#e.href,this.#o,AbortSignal.timeout(this.#t),this.#s).then(e=>{this.#c=Ie(e),this.#l&&(this.#l.uat=Date.now(),this.#l.jwks=e),this.#i=Date.now(),this.#a=void 0}).catch(e=>{throw this.#a=void 0,e}),await this.#a}};function We(e,t){let n=new Ue(e,t),r=async(e,t)=>n.getKey(e,t);return Object.defineProperties(r,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>n.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>n.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r}var U=class e extends Error{code;status;fields;constructor(t,n,r,i){super(t),this.name=`ProvidameError`,this.code=n,this.status=r,this.fields=i,Object.setPrototypeOf(this,e.prototype)}get isInvalidCredentials(){return this.code===`invalid_credentials`||this.status===401}get isValidationError(){return this.code===`validation_failed`}};function Ge(e){return e instanceof U?e:new U(String(e),`unknown`,0)}async function Ke(e,t,n){e(!0),t(null);try{await n()}catch(e){throw t(Ge(e)),e}finally{e(!1)}}var qe={idp_denied:`Sign-in was cancelled.`,idp_intent_expired:`That sign-in link expired — try again.`};function Je(e){return qe[e]??`Something went wrong signing in — try again.`}var Ye=class{base;publishableKey;fetchImpl;constructor(e){if(!e.publishableKey)throw new U(`a publishable key is required`,`missing_publishable_key`,0);if(!e.publishableKey.startsWith(`pk_`))throw new U(`publishableKey must start with pk_ — a secret key (sk_...) must never be used in browser code`,`invalid_publishable_key`,0);this.publishableKey=e.publishableKey,this.base=(e.apiBase??``).replace(/\/+$/,``);let t=e.fetchImpl??globalThis.fetch;if(!t)throw new U(`no fetch implementation available; pass one via options`,`no_fetch`,0);this.fetchImpl=t.bind(globalThis)}url(e){return`${this.base}/fapi/v1${e}`}async post(e,t,n){return this.request(`POST`,e,t,n)}async get(e){return this.request(`GET`,e)}async patch(e,t){return this.request(`PATCH`,e,t)}async del(e,t){return this.request(`DELETE`,e,void 0,t)}async postForm(e,t){let n={"X-Publishable-Key":this.publishableKey},r=await this.fetchImpl(this.url(e),{method:`POST`,headers:n,credentials:`include`,body:t}),i=await r.text(),a=i?JSON.parse(i):null;if(!r.ok)throw Xe(a,r.status);return a}async request(e,t,n,r){let i={"X-Publishable-Key":this.publishableKey,...r};n!==void 0&&(i[`Content-Type`]=`application/json`);let a=await this.fetchImpl(this.url(t),{method:e,headers:i,credentials:`include`,body:n===void 0?void 0:JSON.stringify(n)}),o=await a.text(),s=o?JSON.parse(o):null;if(!a.ok)throw Xe(s,a.status);return s}};function Xe(e,t){let n=e?.error;return new U(n?.message??`request failed`,n?.code??`request_failed`,t,n?.fields)}function W(e){return{flowId:e.flow_id,status:e.status,supportedFirstFactors:e.supported_first_factors??[],supportedSecondFactors:e.supported_second_factors??[],session:e.session?{userId:e.session.user_id,accessToken:e.session.access_token,tokenType:e.session.token_type,expiresAt:e.session.expires_at,recoveryCodes:e.session.recovery_codes}:null}}function Ze(e){return{issuer:e.issuer,jwksUri:e.jwks_uri,authorizationEndpoint:e.authorization_endpoint,tokenEndpoint:e.token_endpoint,userinfoEndpoint:e.userinfo_endpoint,projectId:e.project_id,clientId:e.client_id,environment:e.environment,turnstileSiteKey:e.turnstile_site_key,tosUrl:e.op_tos_uri,privacyUrl:e.op_policy_uri,helpUrl:e.help_uri,supportEmail:e.support_email}}function Qe(e){return{provider:e.provider,displayName:e.display_name}}function $e(e){return{logoUrl:e.logo_url,primaryColor:e.primary_color,backgroundColor:e.background_color,fontColor:e.font_color}}function et(e){return{secret:e.secret,otpauthUri:e.otpauth_uri}}var tt=class{status=`idle`;flowId=null;session=null;transport;onChange;constructor(e,t){this.transport=e,this.onChange=t}get isComplete(){return this.status===`complete`}assertFlow(e){if(!this.flowId)throw Error(e)}applyCommon(e){this.flowId=e.flowId,this.status=e.status,this.session=e.session}notify(){return this.onChange?.(this),this}},nt=class extends tt{recoveryCodes=null;async create(e){let t=await this.transport.post(`/reset_password`,{email:e.email}).then(e=>W(e));return this.apply(t)}async attempt(e){this.assertFlow(`call create() before attempting a reset`);let t=await this.transport.post(`/reset_password/${this.flowId}/attempt`,{code:e.code,new_password:e.password}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/reset_password/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before attempting a factor`),et(await this.transport.post(`/reset_password/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/reset_password/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}async resend(){this.assertFlow(`call create() before attempting a reset`);let e=await this.transport.post(`/reset_password/${this.flowId}/resend`).then(e=>W(e));return this.apply(e)}apply(e){return this.applyCommon(e),this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}};function rt(){return typeof window<`u`&&window.PublicKeyCredential!==void 0&&typeof navigator<`u`&&navigator.credentials!==void 0}function it(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4==0?``:`=`.repeat(4-t.length%4),r=atob(t+n),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return i.buffer}function at(e){let t=new Uint8Array(e),n=``;for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function ot(e){return e?.map(e=>({id:it(e.id),type:`public-key`,transports:e.transports}))}function st(e){let t=e.publicKey,n=t.user;return{publicKey:{...t,challenge:it(t.challenge),user:{...n,id:it(n.id)},excludeCredentials:ot(t.excludeCredentials)}}}function ct(e){let t=e.publicKey;return{publicKey:{...t,challenge:it(t.challenge),allowCredentials:ot(t.allowCredentials)}}}function lt(e){let t=e,n=t.response,r={id:t.id,rawId:at(t.rawId),type:t.type,clientExtensionResults:t.getClientExtensionResults?.()??{}};return n.attestationObject===void 0?r.response={clientDataJSON:at(n.clientDataJSON),authenticatorData:at(n.authenticatorData),signature:at(n.signature),userHandle:n.userHandle?at(n.userHandle):null}:r.response={clientDataJSON:at(n.clientDataJSON),attestationObject:at(n.attestationObject)},r}var ut={NotAllowedError:`Passkey action was cancelled or timed out.`,InvalidStateError:`This device is already registered as a passkey for this account.`,SecurityError:`Passkeys aren't available on this connection — use HTTPS.`,NotSupportedError:`This device or browser doesn't support passkeys.`};function dt(e){return ut[e instanceof Error?e.name:``]??`Something went wrong with the passkey action — try again.`}var ft=class extends tt{supportedFirstFactors=[];supportedSecondFactors=[];recoveryCodes=null;passkeyRequestOptions=null;async create(e){let t=await this.transport.post(`/sign_in`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async createWithPasskey(e){let t=await this.transport.post(`/sign_in/passkey`,{identifier:e.identifier,domain:e.domain});return this.passkeyRequestOptions=t.credential_request_options??null,this.apply(W(t))}async completeWithPasskey(){if(this.assertFlow(`call createWithPasskey() first`),!this.passkeyRequestOptions)throw Error(`no passkey challenge on this flow — call createWithPasskey() first`);let e=await navigator.credentials.get(ct(this.passkeyRequestOptions));if(!e)throw Error(`no passkey credential was returned`);return this.attemptFirstFactor({strategy:`webauthn`,credential:lt(e)})}async createWithOTPEmail(e){let t=await this.transport.post(`/sign_in/otp_email`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async resendOTPEmail(){this.assertFlow(`call createWithOTPEmail() first`),await this.transport.post(`/sign_in/otp_email/${this.flowId}/resend`)}async createWithOTPSMS(e){let t=await this.transport.post(`/sign_in/otp_sms`,{identifier:e.identifier}).then(e=>W(e));return this.apply(t)}async resendOTPSMS(){this.assertFlow(`call createWithOTPSMS() first`),await this.transport.post(`/sign_in/otp_sms/${this.flowId}/resend`)}async createWithMagicLink(e){let t=await this.transport.post(`/sign_in/magic_link`,{identifier:e.identifier,return_url:e.returnUrl}).then(e=>W(e));return this.apply(t)}async attemptFirstFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_first_factor`,{strategy:e.strategy,password:e.password,credential:e.credential,code:e.code}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before attempting a factor`),et(await this.transport.post(`/sign_in/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before attempting a factor`);let t=await this.transport.post(`/sign_in/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}apply(e){return this.applyCommon(e),this.supportedFirstFactors=e.supportedFirstFactors,this.supportedSecondFactors=e.supportedSecondFactors,this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}},pt=class extends tt{supportedSecondFactors=[];recoveryCodes=null;password=null;async create(e){this.password=e.password;let t=await this.transport.post(`/sign_up`,{email:e.email,password:e.password,username:e.username,first_name:e.firstName??``,last_name:e.lastName??``,invite_token:e.inviteToken,turnstile_token:e.turnstileToken}).then(e=>W(e));return this.apply(t)}async attemptVerification(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_up/${this.flowId}/attempt_verification`,{code:e.code,password:this.password??``}).then(e=>W(e));return this.apply(t)}async attemptSecondFactor(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_in/${this.flowId}/attempt_second_factor`,{strategy:e.strategy,code:e.code}).then(e=>W(e));return this.apply(t)}async enrollTotp(){return this.assertFlow(`call create() before verifying`),et(await this.transport.post(`/sign_in/${this.flowId}/enroll_totp`))}async verifyTotpEnrollment(e){this.assertFlow(`call create() before verifying`);let t=await this.transport.post(`/sign_in/${this.flowId}/enroll_totp/verify`,{code:e}).then(e=>W(e));return this.apply(t)}apply(e){return this.applyCommon(e),this.supportedSecondFactors=e.supportedSecondFactors,this.recoveryCodes=e.session?.recoveryCodes??null,this.notify()}};function mt(e){return{id:e.id,email:e.email,givenName:e.given_name,familyName:e.family_name,emailVerified:e.email_verified,avatarUrl:e.avatar_url,createdAt:e.created_at}}var ht=class{totp;sessions;passkeys;transport;constructor(e){this.transport=e,this.totp=new vt(e),this.sessions=new gt(e),this.passkeys=new _t(e)}async update(e){return mt(await this.transport.patch(`/me`,{given_name:e.givenName??``,family_name:e.familyName??``}))}async changePassword(e){await this.transport.post(`/me/password`,{current_password:e.currentPassword,new_password:e.newPassword})}async reauth(e){let t=await this.transport.post(`/me/reauth`,{password:e});return{stepUpToken:t.step_up_token,expiresAt:t.expires_at}}async deleteAccount(e){let{stepUpToken:t}=await this.reauth(e);await this.transport.del(`/me`,{"X-Step-Up-Token":t})}async changeEmail(e){await this.transport.post(`/me/email`,{email:e})}async verifyEmailChange(e){await this.transport.post(`/me/email/verify`,{code:e})}async setPhone(e){await this.transport.post(`/me/phone`,{phone:e})}async uploadAvatar(e){let t=new FormData;return t.append(`file`,e),{avatarUrl:(await this.transport.postForm(`/me/avatar`,t)).avatar_url}}async removeAvatar(){await this.transport.del(`/me/avatar`)}async exportData(){return this.transport.get(`/me/export`)}},gt=class{transport;constructor(e){this.transport=e}async list(){return(await this.transport.get(`/me/sessions`)).sessions.map(e=>({id:e.id,createdAt:e.created_at}))}async revoke(e){await this.transport.del(`/me/sessions/${e}`)}},_t=class{transport;constructor(e){this.transport=e}async list(){return(await this.transport.get(`/me/passkeys`)).passkeys.map(e=>({id:e.id,name:e.name}))}async register(e){let t=await this.transport.post(`/me/passkeys`,{domain:e});return{passkeyId:t.passkey_id,creationOptions:t.creation_options}}async verify(e,t,n){await this.transport.post(`/me/passkeys/${e}/verify`,{credential:t,name:n})}async remove(e){await this.transport.del(`/me/passkeys/${e}`)}async registerWithBrowser(e,t){let{passkeyId:n,creationOptions:r}=await this.register(e),i=await navigator.credentials.create(st(r));if(!i)throw Error(`no passkey credential was created`);await this.verify(n,lt(i),t)}async registerWithCode(e,t,n,r){let i=await this.transport.post(`/passkeys/register_with_code`,{identifier:e,code_id:t,code:n,domain:r});return{passkeyId:i.passkey_id,creationOptions:i.creation_options}}async verifyWithCode(e,t,n,r){await this.transport.post(`/passkeys/${e}/verify_with_code`,{identifier:t,credential:n,name:r})}},vt=class{transport;constructor(e){this.transport=e}async isEnrolled(){return(await this.transport.get(`/me/mfa`)).has_totp}async enroll(){return et(await this.transport.post(`/me/totp`))}async verify(e){return(await this.transport.post(`/me/totp/verify`,{code:e})).recovery_codes}async remove(){await this.transport.del(`/me/totp`)}};function yt(e){let t={authenticated:e.authenticated,accessToken:e.access_token};return e.id&&(t.user={id:e.id,email:e.email??``,givenName:e.given_name??``,familyName:e.family_name??``,emailVerified:e.email_verified??!1,avatarUrl:e.avatar_url,createdAt:e.created_at??``,publicMetadata:e.public_metadata??{},unsafeMetadata:e.unsafe_metadata??{}}),t}var bt=class{user;transport;listeners=new Set;refreshTimer=null;refreshEpoch=0;_pendingSocialLoginError=null;_brandingPromise=null;_tabChannel=null;_cachedAccessToken=null;constructor(e){this.transport=new Ye({apiBase:e.apiBase,publishableKey:e.publishableKey,fetchImpl:e.fetch}),this.user=new ht(this.transport),this._pendingSocialLoginError=this._consumeIdpError(),this._pendingSocialLoginError&&queueMicrotask(()=>{this._pendingSocialLoginError=null}),typeof BroadcastChannel<`u`&&(this._tabChannel=new BroadcastChannel(`providame:${e.publishableKey}`),this._tabChannel.onmessage=e=>{e.data?.type===`signed-out`&&(this._stopRefreshLoop(),this._emit(`signed-out`,{session:null,reason:`cross-tab`}))})}createSignIn(e){return new ft(this.transport,t=>{t.isComplete&&this._notifySignedIn(t.session),e?.(t)})}createSignUp(e){return new pt(this.transport,t=>{t.isComplete&&this._notifySignedIn(t.session),e?.(t)})}async resetPassword(e){return new nt(this.transport,e=>{e.isComplete&&this._notifySignedIn(e.session)}).create(e)}onAuthStateChange(e){return this.listeners.add(e),this._pendingSocialLoginError&&e(`social-login-error`,{session:null,socialLoginError:this._pendingSocialLoginError}),()=>this.listeners.delete(e)}async session(){let e=await this._tryMe();if(e)return this._startRefreshLoop(),e;try{let e=await this.transport.post(`/refresh`);this._startRefreshLoop(e.expires_at)}catch{return null}return this._tryMe()}async _tryMe(){try{let e=yt(await this.transport.get(`/me`));return this._cachedAccessToken=e.accessToken??null,e}catch{return null}}async getClaims(){let e=await this.session();if(!e?.accessToken)return null;try{let t=e.accessToken.split(`.`)[1];return t?JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`))):null}catch{return null}}async signOut(){this._stopRefreshLoop(),this._cachedAccessToken=null,await this.transport.post(`/sign_out`),this._emit(`signed-out`,{session:null,reason:`explicit`}),this._tabChannel?.postMessage({type:`signed-out`})}async getToken(e){return!e?.skipCache&&this._cachedAccessToken&&!this._isTokenExpired(this._cachedAccessToken)?this._cachedAccessToken:(await this.session())?.accessToken??null}_isTokenExpired(e){try{let t=e.split(`.`)[1];if(!t)return!0;let n=JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`)));return typeof n.exp==`number`?Date.now()>=n.exp*1e3-5e3:!0}catch{return!0}}async configuration(){return Ze(await this.transport.get(`/.well-known/providame-configuration`))}async signInWithIdp(e,t){let n=t?.returnUrl??(typeof window>`u`?void 0:window.location.href);if(!n)throw new U(`returnUrl is required when window is unavailable (SSR/non-browser)`,`missing_return_url`,0);let r=await this.transport.post(`/sign_in/idp/${e}`,{return_url:n});typeof window<`u`&&(window.location.href=r.authorize_url)}async branding(){return this._brandingPromise||=this.transport.get(`/branding`).then(e=>$e(e)).catch(()=>({})),this._brandingPromise}async listEnabledIdps(){return(await this.transport.get(`/idps`)).idps.map(Qe)}_consumeIdpError(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t=e.get(`providame_error`);if(!t)return null;e.delete(`providame_error`);let n=e.toString(),r=window.location.pathname+(n?`?${n}`:``)+window.location.hash;return window.history.replaceState(window.history.state,``,r),t}_notifySignedIn(e){this._cachedAccessToken=e?.accessToken??null,this._startRefreshLoop(e?.expiresAt),this._emit(`signed-in`,{session:e})}_emit(e,t){for(let n of this.listeners)try{n(e,t)}catch{}}_startRefreshLoop(e){if(this.refreshTimer!==null)return;let t=this.refreshEpoch,n=this._nextRefreshDelayMs(e);this.refreshTimer=setTimeout(async()=>{this.refreshTimer=null;try{let e=await this.transport.post(`/refresh`);if(t!==this.refreshEpoch)return;this._startRefreshLoop(e.expires_at)}catch{if(t!==this.refreshEpoch)return;this._stopRefreshLoop(),this._emit(`signed-out`,{session:null,reason:`expired`}),this._tabChannel?.postMessage({type:`signed-out`})}},n)}_nextRefreshDelayMs(e){if(!e)return 72e4;let t=new Date(e).getTime()-Date.now();return!Number.isFinite(t)||t<=0?1e3:Math.max(1e3,Math.floor(t*.85))}_stopRefreshLoop(){this.refreshEpoch++,this.refreshTimer!==null&&(clearTimeout(this.refreshTimer),this.refreshTimer=null)}};function xt(e){return new bt(e)}var St=new Map;function Ct(e){let t=St.get(e);return t||(t=We(new URL(e)),St.set(e,t)),t}async function wt(e,t){let{payload:n}=await ke(e,Ct(t.jwksUri),{issuer:t.issuer,audience:t.audience,clockTolerance:t.clockToleranceSeconds??5});return{userId:typeof n.sub==`string`?n.sub:``,claims:n}}var Tt={colorPrimary:`--mrd-color-primary`,colorDanger:`--mrd-color-danger`,colorSuccess:`--mrd-color-success`,colorBackground:`--mrd-color-background`,colorText:`--mrd-color-text`,colorTextSecondary:`--mrd-color-text-secondary`,colorInputBackground:`--mrd-color-input-background`,colorInputText:`--mrd-color-input-text`,borderRadius:`--mrd-border-radius`,fontFamily:`--mrd-font-family`,fontSize:`--mrd-font-size`,spacingUnit:`--mrd-spacing-unit`};function Et(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let e=Tt[n];e&&(t[e]=r)}return t}function Dt(e,t){return e?.[t]}function Ot(e,t,n){let r=e?.[t],i={...Et(e?.variables),...Et(r?.variables),...Et(n?.variables)};function a(t){let i=Dt(n?.elements,t)??Dt(r?.elements,t)??Dt(e?.elements,t);return i===void 0?{class:``,style:{}}:typeof i==`string`?{class:i,style:{}}:{class:``,style:i}}return{rootStyle:i,elementProps:a}}var kt={1:{totalCodewords:26,ecPerBlock:10,groups:[[1,16]],alignmentPositions:[]},2:{totalCodewords:44,ecPerBlock:16,groups:[[1,28]],alignmentPositions:[6,18]},3:{totalCodewords:70,ecPerBlock:26,groups:[[1,44]],alignmentPositions:[6,22]},4:{totalCodewords:100,ecPerBlock:18,groups:[[2,32]],alignmentPositions:[6,26]},5:{totalCodewords:134,ecPerBlock:24,groups:[[2,43]],alignmentPositions:[6,30]},6:{totalCodewords:172,ecPerBlock:16,groups:[[4,27]],alignmentPositions:[6,34]},7:{totalCodewords:196,ecPerBlock:18,groups:[[4,31]],alignmentPositions:[6,22,38]},8:{totalCodewords:242,ecPerBlock:22,groups:[[2,38],[2,39]],alignmentPositions:[6,24,42]},9:{totalCodewords:292,ecPerBlock:22,groups:[[3,36],[2,37]],alignmentPositions:[6,26,46]},10:{totalCodewords:346,ecPerBlock:26,groups:[[4,43],[1,44]],alignmentPositions:[6,28,50]}};function At(e){return e===1?0:e>=2&&e<=6?7:0}function jt(e){return e.groups.reduce((e,[t,n])=>e+t*n,0)}function Mt(e){return e<=9?8:16}function Nt(e){for(let t=1;t<=10;t++){let n=kt[t],r=jt(n),i=4+Mt(t),a=r*8-i;if(e<=Math.floor(a/8))return t}throw Error(`generateQRMatrix: input too long (${e} bytes) for supported versions 1-10 at level M`)}var Pt=class{bits=[];pushBits(e,t){for(let n=t-1;n>=0;n--)this.bits.push(e>>>n&1)}get length(){return this.bits.length}toCodewords(e){let t=e*8,n=Math.min(4,t-this.bits.length);for(let e=0;e<n;e++)this.bits.push(0);for(;this.bits.length%8!=0;)this.bits.push(0);let r=[];for(let e=0;e<this.bits.length;e+=8){let t=0;for(let n=0;n<8;n++)t=t<<1|this.bits[e+n];r.push(t)}let i=[236,17],a=0;for(;r.length<e;)r.push(i[a%2]),a++;return r}};function Ft(e,t,n){let r=Array.from(new TextEncoder().encode(e)),i=new Pt;i.pushBits(4,4),i.pushBits(r.length,Mt(t));for(let e of r)i.pushBits(e,8);return i.toCodewords(jt(n))}var It=Array(512),Lt=Array(256);(function(){let e=1;for(let t=0;t<255;t++)It[t]=e,Lt[e]=t,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)It[e]=It[e-255]})();function Rt(e,t){return e===0||t===0?0:It[Lt[e]+Lt[t]]}function zt(e){let t=[1];for(let n=0;n<e;n++){let e=Array(t.length+1).fill(0);for(let r=0;r<t.length;r++)e[r]^=Rt(t[r],It[n]),e[r+1]^=t[r];t=e}return t}function Bt(e,t){let n=zt(t),r=Array(t).fill(0);for(let i of e){let e=i^r[0];r.shift(),r.push(0);for(let i=0;i<t;i++)r[i]^=Rt(n[t-1-i],e)}return r}function Vt(e,t){let n=[],r=0;for(let[i,a]of e.groups)for(let e=0;e<i;e++)n.push(t.slice(r,r+a)),r+=a;let i=n.map(t=>Bt(t,e.ecPerBlock)),a=[],o=Math.max(...n.map(e=>e.length));for(let e=0;e<o;e++)for(let t of n)e<t.length&&a.push(t[e]);for(let t=0;t<e.ecPerBlock;t++)for(let e of i)a.push(e[t]);return a}function Ht(e){let t=e<<10;for(let e=14;e>=10;e--)t&1<<e&&(t^=1335<<e-10);return(e<<10|t)^21522}function Ut(e){let t=e<<12;for(let e=17;e>=12;e--)t&1<<e&&(t^=7973<<e-12);return e<<12|t}function Wt(e){return Array.from({length:e},()=>Array(e).fill(null))}function Gt(e){return Array.from({length:e},()=>Array(e).fill(!1))}function Kt(e,t,n,r){for(let i=-1;i<=7;i++)for(let a=-1;a<=7;a++){let o=n+i,s=r+a;if(o<0||s<0||o>=e.length||s>=e.length)continue;if(t[o][s]=!0,!(i>=0&&i<=6&&a>=0&&a<=6)){e[o][s]=!1;continue}let c=i===0||i===6||a===0||a===6,l=i>=2&&i<=4&&a>=2&&a<=4;e[o][s]=c||l}}function qt(e,t,n,r){for(let i=-2;i<=2;i++)for(let a=-2;a<=2;a++){let o=n+i,s=r+a;t[o][s]=!0;let c=Math.max(Math.abs(i),Math.abs(a));e[o][s]=c!==1}}function Jt(e,t,n){for(let r=8;r<n-8;r++)t[6][r]||(e[6][r]=r%2==0,t[6][r]=!0),t[r][6]||(e[r][6]=r%2==0,t[r][6]=!0)}function Yt(e,t){for(let t=0;t<=8;t++)e[8][t]=!0,e[t][8]=!0;for(let n=0;n<8;n++)e[8][t-1-n]=!0,e[t-1-n][8]=!0}function Xt(e,t,n){if(!(n<7))for(let n=0;n<6;n++)for(let r=0;r<3;r++)e[t-11+r][n]=!0,e[n][t-11+r]=!0}function Zt(e,t){let n=e.alignmentPositions;if(n.length===0)return[];let r=[];for(let e of n)for(let i of n){let n=e<=7&&i<=7,a=e<=7&&i>=t-8,o=e>=t-8&&i<=7;n||a||o||r.push([e,i])}return r}function Qt(e,t,n,r){let i=0,a=!0,o=n-1;for(;o>0;){o===6&&o--;for(let s=0;s<n;s++){let c=a?n-1-s:s;for(let n of[o,o-1]){if(t[c][n])continue;let a=i<r.length?r[i]:0;e[c][n]=a===1,i++}}a=!a,o-=2}}function $t(e){let t=[];for(let n of e)for(let e=7;e>=0;e--)t.push(n>>>e&1);return t}function en(e){switch(e){case 0:return(e,t)=>(e+t)%2==0;case 1:return e=>e%2==0;case 2:return(e,t)=>t%3==0;case 3:return(e,t)=>(e+t)%3==0;case 4:return(e,t)=>(Math.floor(e/2)+Math.floor(t/3))%2==0;case 5:return(e,t)=>e*t%2+e*t%3==0;case 6:return(e,t)=>(e*t%2+e*t%3)%2==0;default:return(e,t)=>((e+t)%2+e*t%3)%2==0}}function tn(e,t,n,r){let i=en(r),a=Array.from({length:n},()=>Array(n).fill(!1));for(let r=0;r<n;r++)for(let o=0;o<n;o++){let n=e[r][o]??!1;a[r][o]=t[r][o]?n:n!==i(r,o)}return a}function nn(e,t){let n=0,r=e=>{for(let r=0;r<t;r++){let i=1,a=e(r,0);for(let o=1;o<t;o++){let t=e(r,o);t===a?i++:(i>=5&&(n+=3+(i-5)),i=1,a=t)}i>=5&&(n+=3+(i-5))}};r((t,n)=>e[t][n]),r((t,n)=>e[n][t]);for(let r=0;r<t-1;r++)for(let i=0;i<t-1;i++){let t=e[r][i];e[r][i+1]===t&&e[r+1][i]===t&&e[r+1][i+1]===t&&(n+=3)}let i=[!0,!1,!0,!0,!0,!1,!0,!1,!1,!1,!1],a=[!1,!1,!1,!1,!0,!1,!0,!0,!0,!1,!0],o=(e,t,n)=>{for(let r=0;r<n.length;r++)if(e[t+r]!==n[r])return!1;return!0},s=e=>{for(let r=0;r<t;r++){let s=Array.from({length:t},(t,n)=>e(r,n));for(let e=0;e<=t-11;e++)(o(s,e,i)||o(s,e,a))&&(n+=40)}};s((t,n)=>e[t][n]),s((t,n)=>e[n][t]);let c=0;for(let n=0;n<t;n++)for(let r=0;r<t;r++)e[n][r]&&c++;let l=c*100/(t*t),u=Math.abs(Math.floor(l/5)*5-50)/5;return n+=u*10,n}function rn(e,t,n){let r=Ht(0|n),i=[];for(let e=14;e>=0;e--)i.push((r>>>e&1)==1);let a=[0,1,2,3,4,5,7,8];for(let t=0;t<8;t++)e[8][a[t]]=i[t];let o=[7,5,4,3,2,1,0];for(let t=0;t<7;t++)e[o[t]][8]=i[8+t];for(let n=0;n<8;n++)e[t-1-n][8]=i[n];for(let n=0;n<7;n++)e[8][t-7+n]=i[8+n];e[t-8][8]=!0}function an(e,t,n){if(n<7)return;let r=Ut(n);for(let n=0;n<18;n++){let i=(r>>>n&1)==1,a=n%3,o=Math.floor(n/3);e[t-11+a][o]=i,e[o][t-11+a]=i}}function on(e){let t=new TextEncoder().encode(e).length,n=Nt(t),r=kt[n],i=4*n+17,a=$t(Vt(r,Ft(e,n,r))),o=At(n);for(let e=0;e<o;e++)a.push(0);let s=Wt(i),c=Gt(i);Kt(s,c,0,0),Kt(s,c,0,i-7),Kt(s,c,i-7,0);for(let[e,t]of Zt(r,i))qt(s,c,e,t);Jt(s,c,i),Yt(c,i),Xt(c,i,n),s[i-8][8]=!0,c[i-8][8]=!0,Qt(s,c,i,a);let l=null;for(let e=0;e<8;e++){let t=tn(s,c,i,e),n=nn(t,i);(!l||n<l.score)&&(l={mask:e,matrix:t,score:n})}let u=l.matrix;return rn(u,i,l.mask),an(u,i,n),u}function sn(e){let t=[];return e.forEach((e,n)=>{e.forEach((e,r)=>{e&&t.push({x:r,y:n})})}),t}var cn=`<svg viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M10 3.5c-4.14 0-7.59 2.61-9 6.5 1.41 3.89 4.86 6.5 9 6.5s7.59-2.61 9-6.5c-1.41-3.89-4.86-6.5-9-6.5zm0 10.5a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"/></svg>`,ln=`<svg viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l2.2 2.2C2.86 6.87 1.6 8.51 1 10c1.41 3.89 4.86 6.5 9 6.5 1.6 0 3.09-.4 4.38-1.09l2.34 2.34a.75.75 0 1 0 1.06-1.06L3.28 2.22zM10 14.5a4.47 4.47 0 0 1-2.6-.83l1.2-1.2a2.5 2.5 0 0 0 3.07-3.07l1.2-1.2c.44.62.63 1.4.63 2.3a4.5 4.5 0 0 1-4.5 4.5zm.06-9L14.9 10.3c.42-.4.8-.86 1.1-1.3-1.41-3.89-4.86-6.5-9-6.5-.55 0-1.09.05-1.62.13l1.8 1.8c.35-.06.71-.1 1.08-.1z"/></svg>`,un={google:`<svg viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path fill="#4285F4" d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.874 2.684-6.615z"/><path fill="#34A853" d="M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18z"/><path fill="#FBBC05" d="M3.964 10.706A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.706V4.962H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.038l3.007-2.332z"/><path fill="#EA4335" d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.962L3.964 7.294C4.672 5.167 6.656 3.58 9 3.58z"/></svg>`,github:`<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>`,apple:`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"/></svg>`,facebook:`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#1877F2" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>`};function dn(e){return un[e]??null}function fn(e){let t=[e.givenName,e.familyName].filter(Boolean);return{displayName:t.join(` `)||e.email,initials:t.length>0?t.map(e=>e[0]).join(``).slice(0,2).toUpperCase():(e.email[0]??`?`).toUpperCase()}}var pn=`urn:zitadel:iam:org:project:roles`;function mn(e,t){if(!t)return!0;let n=e?.[pn];return!!(n&&t in n)}var hn=`https://challenges.cloudflare.com/turnstile/v0/api.js`,gn=null;function _n(){return window.turnstile?Promise.resolve(window.turnstile):(gn??=new Promise((e,t)=>{let n=document.createElement(`script`);n.src=hn,n.async=!0,n.defer=!0,n.onload=()=>{window.turnstile?e(window.turnstile):t(Error(`Turnstile script loaded but window.turnstile is missing`))},n.onerror=()=>t(Error(`Failed to load the Turnstile script`)),document.head.appendChild(n)}),gn)}async function vn(e,t,n){let r=await _n(),i=r.render(e,{sitekey:t,callback:n,"error-callback":()=>r.reset(i),"expired-callback":()=>r.reset(i)});return()=>r.remove(i)}function yn(e){let t=e.replace(/[\t\n\r]/g,``),n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t)?.[1];return n?n.toLowerCase()+`:`:void 0}function bn(e){if(!e)return;let t=yn(e);return t===`http:`||t===`https:`?e:void 0}var xn=new Set([`javascript:`,`vbscript:`,`data:`,`file:`]);function Sn(e){if(!e)return;let t=yn(e);if(!(t&&xn.has(t)))return e}function Cn(e){if(!e)return;let t=e.replace(/[\t\n\r]/g,``);if(!/[?&]/.test(t)&&/^[^\s@?&]+@[^\s@?&]+\.[^\s@?&]+$/.test(t))return`mailto:${t}`}var wn=Symbol(`providame`),Tn={install(e,t){let n=xt(t);e.provide(wn,n),e.config.globalProperties.$providame=n}};function G(){let t=(0,e.inject)(wn);if(!t)throw Error(`[@providame/vue] no client found — did you app.use(ProvidamePlugin, { publishableKey })?`);return t}function En(){let t=G(),n=(0,e.reactive)({status:`idle`,firstFactors:[],secondFactors:[],session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=t.createSignIn(s);function s(e){n.status=e.status,n.firstFactors=e.supportedFirstFactors,n.secondFactors=e.supportedSecondFactors,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,firstFactors:(0,e.computed)(()=>n.firstFactors),secondFactors:(0,e.computed)(()=>n.secondFactors),session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await c(()=>o.create({identifier:e}))},async signInWithPassword(e,n){await c(async()=>{try{await o.create({identifier:e}),await o.attemptFirstFactor({strategy:`password`,password:n})}catch(e){throw o=t.createSignIn(s),s(o),e}})},async signInWithPasskey(e,t){await c(async()=>{await o.createWithPasskey({identifier:e,domain:t}),await o.completeWithPasskey()})},async signInWithOTPEmail(e){await c(()=>o.createWithOTPEmail({identifier:e}))},async resendOTPEmail(){await c(()=>o.resendOTPEmail())},async signInWithOTPSMS(e){await c(()=>o.createWithOTPSMS({identifier:e}))},async resendOTPSMS(){await c(()=>o.resendOTPSMS())},async signInWithMagicLink(e,t){await c(()=>o.createWithMagicLink({identifier:e,returnUrl:t}))},async attemptFirstFactor(e){await c(()=>o.attemptFirstFactor(e))},async attemptSecondFactor(e){await c(()=>o.attemptSecondFactor(e))},async enrollTotp(){await c(async()=>{a.value=await o.enrollTotp()})},async verifyTotpEnrollment(e){await c(()=>o.verifyTotpEnrollment(e))},reset(){o=t.createSignIn(s),n.status=`idle`,n.firstFactors=[],n.secondFactors=[],n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function Dn(){let t=G(),n=(0,e.ref)([]),r=(0,e.ref)(!1),i=(0,e.ref)(null);(0,e.onMounted)(()=>{(0,e.onUnmounted)(t.onAuthStateChange((e,t)=>{e===`social-login-error`&&t.socialLoginError&&(i.value=new U(Je(t.socialLoginError),t.socialLoginError,0))})),(async()=>{try{n.value=await t.listEnabledIdps()}catch{}})()});async function a(e,n){r.value=!0,i.value=null;try{await t.signInWithIdp(e,n?{returnUrl:n}:void 0)}catch(e){throw i.value=Ge(e),r.value=!1,e}}return{providers:n,loading:r,error:i,signIn:a}}function On(){let t=G(),n=(0,e.reactive)({status:`idle`,secondFactors:[],session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=t.createSignUp(s);function s(e){n.status=e.status,n.secondFactors=e.supportedSecondFactors,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,secondFactors:(0,e.computed)(()=>n.secondFactors),session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),needsVerification:(0,e.computed)(()=>n.status===`needs_verification`),isWaitlisted:(0,e.computed)(()=>n.status===`waitlisted`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await c(()=>o.create(e))},async attemptVerification(e){await c(()=>o.attemptVerification(e))},async attemptSecondFactor(e){await c(()=>o.attemptSecondFactor(e))},async enrollTotp(){await c(async()=>{a.value=await o.enrollTotp()})},async verifyTotpEnrollment(e){await c(()=>o.verifyTotpEnrollment(e))},reset(){o=t.createSignUp(s),n.status=`idle`,n.secondFactors=[],n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function kn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!0),i=(0,e.ref)(null),a=(0,e.ref)(null),o=0;async function s(){let e=++o;r.value=!0;try{let r=await t.session();if(e!==o)return;n.value=!!r?.authenticated,i.value=r?.accessToken??null,a.value=r?.user??null}finally{e===o&&(r.value=!1)}}async function c(){o++,await t.signOut(),n.value=!1,i.value=null,a.value=null}return(0,e.onMounted)(()=>{s(),(0,e.onUnmounted)(t.onAuthStateChange((e,{session:r})=>{if(e===`signed-in`){let e=++o;n.value=!0,i.value=r?.accessToken??null,t.session().then(t=>{e===o&&(a.value=t?.user??null)})}else e===`signed-out`&&(o++,n.value=!1,i.value=null,a.value=null)}))}),{isSignedIn:n,loading:r,accessToken:i,user:a,refresh:s,signOut:c}}function An(){let t=G(),n=(0,e.reactive)({status:`idle`,session:null,recoveryCodes:null}),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null),o=null;function s(e){n.status=e.status,n.session=e.session,n.recoveryCodes=e.recoveryCodes}function c(){if(!o)throw Error(`call create() before attempting a reset`);return o}function l(e){return Ke(e=>r.value=e,e=>i.value=e,e)}return{status:(0,e.computed)(()=>n.status),loading:r,error:i,session:(0,e.computed)(()=>n.session),isComplete:(0,e.computed)(()=>n.status===`complete`),enrollment:a,recoveryCodes:(0,e.computed)(()=>n.recoveryCodes),async create(e){await l(async()=>{o=await t.resetPassword(e),s(o)})},async attempt(e){let t=c();await l(async()=>{await t.attempt(e),s(t)})},async attemptSecondFactor(e){let t=c();await l(async()=>{await t.attemptSecondFactor(e),s(t)})},async enrollTotp(){let e=c();await l(async()=>{a.value=await e.enrollTotp()})},async verifyTotpEnrollment(e){let t=c();await l(async()=>{await t.verifyTotpEnrollment(e),s(t)})},async resend(){let e=c();await l(async()=>{await e.resend(),s(e)})},reset(){o=null,n.status=`idle`,n.session=null,n.recoveryCodes=null,a.value=null,i.value=null}}}function jn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(null),a=(0,e.ref)(null);async function o(){let[e,o]=await Promise.all([t.session(),t.getClaims()]);r.value=!!e?.authenticated,a.value=o,i.value=o?.sub??null,n.value=!0}let s=(0,e.ref)(e=>t.getToken(e)),c=(0,e.ref)(async()=>{await t.signOut(),r.value=!1,i.value=null,a.value=null}),l;return(0,e.onMounted)(()=>{o(),l=t.onAuthStateChange(()=>{o()})}),(0,e.onUnmounted)(()=>l?.()),{isLoaded:n,isSignedIn:r,userId:i,sessionClaims:a,getToken:s,signOut:c}}function Mn(){let t=G(),n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(null);async function a(){let e=await t.session();r.value=!!e?.authenticated,i.value=e?.user??null,n.value=!0}let o;return(0,e.onMounted)(()=>{a(),o=t.onAuthStateChange(()=>{a()})}),(0,e.onUnmounted)(()=>o?.()),{isLoaded:n,isSignedIn:r,user:i,reload:a}}function Nn(e){let t=e.trim().replace(/^#/,``),n=t.length===3?t.split(``).map(e=>e+e).join(``):t;if(!/^[0-9a-fA-F]{6}$/.test(n))return null;let r=parseInt(n,16);return[r>>16&255,r>>8&255,r&255]}function Pn(e){let t=Nn(e);if(!t)return`#ffffff`;let[n,r,i]=t;return(.299*n+.587*r+.114*i)/255>.6?`#000000`:`#ffffff`}function Fn(e){if(typeof document>`u`)return;let t=document.documentElement.style;e.primaryColor&&(t.setProperty(`--providame-accent`,e.primaryColor),t.setProperty(`--providame-on-accent`,Pn(e.primaryColor))),e.backgroundColor&&t.setProperty(`--providame-bg`,e.backgroundColor),e.fontColor&&t.setProperty(`--providame-fg`,e.fontColor)}function In(){let t=G(),n=(0,e.ref)({});return(0,e.onMounted)(()=>{t.branding().then(e=>{Fn(e),n.value=e})}),n}function Ln(){let e=G();return{registerWithCode:(t,n,r,i)=>e.user.passkeys.registerWithCode(t,n,r,i),verifyWithCode:(t,n,r,i)=>e.user.passkeys.verifyWithCode(t,n,r,i)}}var Rn={class:`mrd-header`},zn=[`src`],Bn={key:1,class:`mrd-subtitle`},Vn={key:2,class:`mrd-subtitle`},Hn={key:0,class:`mrd-idp-buttons`},Un={class:`mrd-idp-button-row`},Wn=[`title`,`aria-label`,`disabled`,`onClick`],Gn=[`innerHTML`],Kn={key:1,class:`mrd-idp-fallback`},qn={class:`mrd-sr-only`},Jn=[`aria-invalid`,`aria-describedby`],Yn={class:`mrd-password-wrap`},Xn=[`type`,`aria-invalid`,`aria-describedby`],Zn=[`aria-label`,`innerHTML`],Qn=[`disabled`],$n=[`disabled`],er=[`disabled`],tr=[`aria-invalid`,`aria-describedby`],nr=[`aria-invalid`,`aria-describedby`],rr=[`disabled`],ir=[`disabled`],ar={id:`mrd-enroll-secret`,class:`mrd-secret`},or=[`aria-invalid`,`aria-describedby`],sr=[`disabled`],cr={key:4},lr={key:0,class:`mrd-recovery-codes`},ur={key:5,class:`mrd-foot`},dr=[`href`],fr={key:0,class:`mrd-hint`},pr=[`aria-invalid`,`aria-describedby`],mr=[`disabled`],hr={class:`mrd-hint`},gr=[`aria-invalid`,`aria-describedby`],_r={class:`mrd-password-wrap`},vr=[`type`,`aria-invalid`,`aria-describedby`],yr=[`aria-label`,`innerHTML`],br=[`disabled`],xr={class:`mrd-action-row`},Sr=[`disabled`],Cr=[`aria-invalid`,`aria-describedby`],wr=[`aria-invalid`,`aria-describedby`],Tr=[`disabled`],Er=[`disabled`],Dr={id:`mrd-reset-enroll-secret`,class:`mrd-secret`},Or=[`aria-invalid`,`aria-describedby`],kr=[`disabled`],Ar={key:5},jr={key:0,class:`mrd-recovery-codes`},Mr={key:4,class:`mrd-help`},Nr=[`href`],Pr=[`href`],Fr=45,Ir=(0,e.defineComponent)({__name:`SignIn`,props:{title:{default:`Sign in`},subtitle:{},logo:{},signUpUrl:{default:``},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`signIn`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signUpUrl)),c=n,l=En(),u=Dn(),d=An(),f=G(),p=(0,e.ref)(``),m=(0,e.ref)(``);(0,e.onMounted)(async()=>{try{let e=await f.configuration();p.value=bn(e.helpUrl)??``,m.value=Cn(e.supportEmail)??``}catch{}});let h=(0,e.ref)(null);function g(){(0,e.nextTick)(()=>{let e=h.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}let _=(0,e.ref)(``),v=(0,e.ref)(``),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(!1),S=(0,e.ref)(``),C=(0,e.ref)(!1),w=rt(),T=(0,e.ref)(!1),E=(0,e.ref)(``),D=(0,e.ref)(``),O=(0,e.ref)(``),k=(0,e.ref)(!1),A=(0,e.ref)(``),j=(0,e.ref)(``),M=(0,e.ref)(!1),N=(0,e.ref)(``);(0,e.watch)(()=>[l.status.value,T.value],g),(0,e.watch)(()=>d.status.value,g);let P=(0,e.ref)(0),F;function I(){clearInterval(F),P.value=Fr,F=setInterval(()=>{--P.value,P.value<=0&&clearInterval(F)},1e3)}(0,e.onUnmounted)(()=>clearInterval(F)),(0,e.watch)(()=>l.isComplete.value,e=>{e&&l.session.value&&c(`complete`,l.session.value)}),(0,e.watch)(()=>d.isComplete.value,e=>{e&&d.session.value&&c(`complete`,d.session.value)});async function ee(){try{await l.signInWithPasskey(_.value,window.location.hostname),l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp()}catch{}}async function te(){try{await l.signInWithPassword(_.value,v.value),l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp()}catch{}}async function ne(){try{x.value?await l.attemptSecondFactor({strategy:`backup_code`,code:b.value}):await l.attemptSecondFactor({strategy:`totp`,code:y.value})}catch{}}async function re(){try{await l.verifyTotpEnrollment(S.value)}catch{}}async function ie(){T.value=!0,E.value=_.value;try{await d.create({email:_.value}),I()}catch{}}function ae(){T.value=!1,d.reset(),E.value=``,D.value=``,O.value=``,A.value=``,j.value=``,M.value=!1,N.value=``,clearInterval(F),P.value=0}async function L(){try{await d.resend(),I()}catch{}}async function R(){try{await d.create({email:E.value}),I()}catch{}}async function oe(){try{await d.attempt({code:D.value,password:O.value}),d.status.value===`needs_mfa_enrollment`&&!d.enrollment.value&&await d.enrollTotp()}catch{}}async function se(){try{M.value?await d.attemptSecondFactor({strategy:`backup_code`,code:j.value}):await d.attemptSecondFactor({strategy:`totp`,code:A.value})}catch{}}async function ce(){try{await d.verifyTotpEnrollment(N.value)}catch{}}async function le(e){try{await u.signIn(e)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:h,class:(0,e.normalizeClass)([`mrd-card mrd-card-sm`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Rn,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,zn)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(T.value?`Reset your password`:r.title),3),!T.value&&r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Bn,(0,e.toDisplayString)(r.subtitle),1)):T.value&&(0,e.unref)(d).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Vn,` Enter your email and we'll send you a reset code. `)):(0,e.createCommentVNode)(``,!0)]),!T.value&&(0,e.unref)(l).status.value!==`complete`&&((0,e.unref)(l).error.value||(0,e.unref)(u).error.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-signin-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)(((0,e.unref)(l).error.value??(0,e.unref)(u).error.value)?.message),3)):(0,e.createCommentVNode)(``,!0),T.value&&(0,e.unref)(d).error.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:1,id:`mrd-signin-reset-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)((0,e.unref)(d).error.value.message),3)):(0,e.createCommentVNode)(``,!0),T.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:3},[(0,e.unref)(d).status.value===`idle`&&(0,e.unref)(d).loading.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,fr,`Sending reset code…`)):(0,e.unref)(d).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(R,[`prevent`])},[n[25]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-email`,"onUpdate:modelValue":n[7]||=e=>E.value=e,type:`email`,autocomplete:`email`,class:`mrd-input`,placeholder:`you@example.com`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,pr),[[e.vModelText,E.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Send reset code`),9,mr)],32)):(0,e.unref)(d).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(oe,[`prevent`])},[(0,e.createElementVNode)(`p`,hr,`If an account exists for `+(0,e.toDisplayString)(E.value)+`, we sent a reset code.`,1),n[26]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-code`},`Reset code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-code`,"onUpdate:modelValue":n[8]||=e=>D.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,gr),[[e.vModelText,D.value]]),n[27]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-password`},`New password`,-1),(0,e.createElementVNode)(`div`,_r,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-password`,"onUpdate:modelValue":n[9]||=e=>O.value=e,type:k.value?`text`:`password`,autocomplete:`new-password`,class:`mrd-input`,minlength:`8`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,vr),[[e.vModelDynamic,O.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":k.value?`Hide password`:`Show password`,onClick:n[10]||=e=>k.value=!k.value,innerHTML:k.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,yr)]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Set new password`),9,br),(0,e.createElementVNode)(`div`,xr,[(0,e.createElementVNode)(`button`,{id:`mrd-reset-resend`,type:`button`,class:`mrd-link-button`,disabled:P.value>0,onClick:L},(0,e.toDisplayString)(P.value>0?`Resend code (${P.value}s)`:`Resend code`),9,Sr),(0,e.createElementVNode)(`button`,{id:`mrd-back-to-sign-in-inline`,type:`button`,class:`mrd-link-button`,onClick:ae},` Back to sign in `)])],32)):(0,e.unref)(d).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(se,[`prevent`])},[M.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[29]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-backup-code`,"onUpdate:modelValue":n[12]||=e=>j.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,wr),[[e.vModelText,j.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[28]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-2fa-code`,"onUpdate:modelValue":n[11]||=e=>A.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,Cr),[[e.vModelText,A.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Verify`),9,Tr),(0,e.createElementVNode)(`button`,{id:`mrd-reset-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(d).loading.value,onClick:n[13]||=e=>M.value=!M.value},(0,e.toDisplayString)(M.value?`Use authenticator code instead`:`Use a backup code instead`),9,Er)],32)):(0,e.unref)(d).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(ce,[`prevent`])},[n[31]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(d).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[30]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,Dr,(0,e.toDisplayString)((0,e.unref)(d).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[32]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-enroll-code`,"onUpdate:modelValue":n[14]||=e=>N.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(d).error.value,"aria-describedby":(0,e.unref)(d).error.value?`mrd-signin-reset-error`:void 0},null,8,Or),[[e.vModelText,N.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(d).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(d).loading.value?`…`:`Verify and continue`),9,kr)],32)):(0,e.unref)(d).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ar,[n[34]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your password has been reset and you're signed in.`,-1),(0,e.unref)(d).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,jr,[n[33]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(d).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(d).status.value!==`complete`&&(0,e.unref)(d).status.value!==`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:6,id:`mrd-back-to-sign-in`,type:`button`,class:`mrd-link-button`,onClick:ae},` Back to sign in `)):(0,e.createCommentVNode)(``,!0)],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:2},[(0,e.unref)(l).status.value===`idle`&&(0,e.unref)(u).providers.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Hn,[(0,e.createElementVNode)(`div`,Un,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(u).providers.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.provider,type:`button`,class:`mrd-idp-button`,title:`Continue with ${t.displayName}`,"aria-label":`Continue with ${t.displayName}`,disabled:(0,e.unref)(u).loading.value||(0,e.unref)(l).loading.value,onClick:e=>le(t.provider)},[(0,e.unref)(dn)(t.provider)?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:0,class:`mrd-idp-icon`,innerHTML:(0,e.unref)(dn)(t.provider)},null,8,Gn)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Kn,(0,e.toDisplayString)(t.displayName.charAt(0)),1)),(0,e.createElementVNode)(`span`,qn,`Continue with `+(0,e.toDisplayString)(t.displayName),1)],8,Wn))),128))]),n[15]||=(0,e.createElementVNode)(`div`,{class:`mrd-divider`},[(0,e.createElementVNode)(`span`,null,`or continue with email`)],-1)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(te,[`prevent`])},[(0,e.createElementVNode)(`label`,{class:(0,e.normalizeClass)([`mrd-label`,(0,e.unref)(i).elementProps(`formFieldLabel`).class]),for:`mrd-identifier`},`Email`,2),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-identifier`,"onUpdate:modelValue":n[0]||=e=>_.value=e,type:`email`,autocomplete:`email`,class:(0,e.normalizeClass)([`mrd-input`,(0,e.unref)(i).elementProps(`formFieldInput`).class]),placeholder:`you@example.com`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,10,Jn),[[e.vModelText,_.value]]),n[16]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-password`},`Password`,-1),(0,e.createElementVNode)(`div`,Yn,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-password`,"onUpdate:modelValue":n[1]||=e=>v.value=e,type:C.value?`text`:`password`,autocomplete:`current-password`,class:`mrd-input`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,Xn),[[e.vModelDynamic,v.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":C.value?`Hide password`:`Show password`,onClick:n[2]||=e=>C.value=!C.value,innerHTML:C.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,Zn)]),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(l).loading.value||!_.value||!v.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Sign in`),11,Qn),(0,e.unref)(w)?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-button-secondary`,"data-mrd-action":`sign-in-with-passkey`,disabled:(0,e.unref)(l).loading.value||!_.value,onClick:ee},` Sign in with a passkey `,8,$n)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`button`,{id:`mrd-forgot-password`,type:`button`,class:(0,e.normalizeClass)([`mrd-link-button`,(0,e.unref)(i).elementProps(`footerActionLink`).class]),disabled:(0,e.unref)(l).loading.value,onClick:ie},` Forgot password? `,10,er)],32)):(0,e.unref)(l).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(ne,[`prevent`])},[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[18]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-backup-code`,"onUpdate:modelValue":n[4]||=e=>b.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,nr),[[e.vModelText,b.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-code`,"onUpdate:modelValue":n[3]||=e=>y.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,tr),[[e.vModelText,y.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify`),9,rr),(0,e.createElementVNode)(`button`,{id:`mrd-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(l).loading.value,onClick:n[5]||=e=>x.value=!x.value},(0,e.toDisplayString)(x.value?`Use authenticator code instead`:`Use a backup code instead`),9,ir)],32)):(0,e.unref)(l).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(re,[`prevent`])},[n[20]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(l).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[19]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,ar,(0,e.toDisplayString)((0,e.unref)(l).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[21]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-enroll-code`,"onUpdate:modelValue":n[6]||=e=>S.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signin-error`:void 0},null,8,or),[[e.vModelText,S.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify and continue`),9,sr)],32)):(0,e.unref)(l).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,cr,[n[23]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`You're signed in.`,-1),(0,e.unref)(l).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,lr,[n[22]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(l).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ur,[n[24]||=(0,e.createTextVNode)(` Don't have an account? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Create one`,10,dr)])):(0,e.createCommentVNode)(``,!0)],64)),p.value||m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Mr,[n[35]||=(0,e.createTextVNode)(` Need help? `,-1),p.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:p.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,Nr)):(0,e.createCommentVNode)(``,!0),p.value&&m.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:m.value,class:`mrd-link`},`Contact support`,8,Pr)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),Lr=(0,e.defineComponent)({__name:`TurnstileWidget`,props:{siteKey:{}},emits:[`token`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=null;return(0,e.onMounted)(async()=>{if(!(!a.value||!r.siteKey))try{o=await vn(a.value,r.siteKey,e=>i(`token`,e))}catch{}}),(0,e.onUnmounted)(()=>o?.()),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`container`,ref:a},null,512))}}),Rr={class:`mrd-header`},zr=[`src`],Br={key:1,class:`mrd-subtitle`},Vr={key:1,class:`mrd-idp-buttons`},Hr={class:`mrd-idp-button-row`},Ur=[`title`,`aria-label`,`disabled`,`onClick`],Wr=[`innerHTML`],Gr={key:1,class:`mrd-idp-fallback`},Kr={class:`mrd-sr-only`},qr={key:0,class:`mrd-row`},Jr={class:`mrd-col`},Yr={class:`mrd-col`},Xr=[`aria-invalid`,`aria-describedby`],Zr={class:`mrd-password-wrap`},Qr=[`type`,`aria-invalid`,`aria-describedby`],$r=[`aria-label`,`innerHTML`],ei={key:2,class:`mrd-hint`},ti=[`href`],ni=[`href`],ri=[`disabled`],ii={class:`mrd-hint`},ai=[`aria-invalid`,`aria-describedby`],oi=[`disabled`],si=[`aria-invalid`,`aria-describedby`],ci=[`aria-invalid`,`aria-describedby`],li=[`disabled`],ui=[`disabled`],di={id:`mrd-signup-enroll-secret`,class:`mrd-secret`},fi=[`aria-invalid`,`aria-describedby`],pi=[`disabled`],mi={key:6},hi={key:0,class:`mrd-recovery-codes`},gi={key:7,class:`mrd-hint`,"data-mrd":`waitlisted`},_i={key:8,class:`mrd-foot`},vi=[`href`],yi={key:9,class:`mrd-help`},bi=[`href`],xi=[`href`],Si=(0,e.defineComponent)({__name:`SignUp`,props:{title:{default:`Create your account`},subtitle:{},logo:{},signInUrl:{default:``},collectName:{type:Boolean,default:!0},inviteToken:{},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`signUp`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signInUrl)),c=n,l=On(),u=Dn(),d=G(),f=(0,e.ref)(``),p=(0,e.ref)(``),m=(0,e.ref)(!1),h=(0,e.ref)(``),g=(0,e.ref)(``),_=(0,e.ref)(``),v=(0,e.ref)(``),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(``),S=(0,e.ref)(``),C=(0,e.ref)(``),w=(0,e.ref)(``),T=(0,e.ref)(``),E=(0,e.ref)(!1),D=(0,e.ref)(``),O=(0,e.ref)(null);function k(){(0,e.nextTick)(()=>{let e=O.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}(0,e.watch)(()=>l.status.value,k),(0,e.onMounted)(async()=>{try{let e=await d.configuration();v.value=e.turnstileSiteKey??``,b.value=bn(e.tosUrl)??``,x.value=bn(e.privacyUrl)??``,S.value=bn(e.helpUrl)??``,C.value=Cn(e.supportEmail)??``}catch{}});async function A(){try{await l.create({email:f.value,password:p.value,firstName:h.value||void 0,lastName:g.value||void 0,turnstileToken:y.value||void 0,inviteToken:r.inviteToken||void 0}),await M()}catch{}}async function j(){try{await l.attemptVerification({code:_.value}),await M()}catch{}}async function M(){l.status.value===`needs_mfa_enrollment`&&!l.enrollment.value&&await l.enrollTotp(),l.isComplete.value&&l.session.value&&c(`complete`,l.session.value)}async function N(){try{E.value?await l.attemptSecondFactor({strategy:`backup_code`,code:T.value}):await l.attemptSecondFactor({strategy:`totp`,code:w.value}),await M()}catch{}}async function P(){try{await l.verifyTotpEnrollment(D.value),await M()}catch{}}async function F(e){try{await u.signIn(e)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:O,class:(0,e.normalizeClass)([`mrd-card mrd-card-md`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Rr,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,zr)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(r.title),3),r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Br,(0,e.toDisplayString)(r.subtitle),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.unref)(l).status.value!==`complete`&&((0,e.unref)(l).error.value||(0,e.unref)(u).error.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-signup-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)(((0,e.unref)(l).error.value??(0,e.unref)(u).error.value)?.message),3)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`&&(0,e.unref)(u).providers.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Vr,[(0,e.createElementVNode)(`div`,Hr,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(u).providers.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.provider,type:`button`,class:`mrd-idp-button`,title:`Continue with ${t.displayName}`,"aria-label":`Continue with ${t.displayName}`,disabled:(0,e.unref)(u).loading.value||(0,e.unref)(l).loading.value,onClick:e=>F(t.provider)},[(0,e.unref)(dn)(t.provider)?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:0,class:`mrd-idp-icon`,innerHTML:(0,e.unref)(dn)(t.provider)},null,8,Wr)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Gr,(0,e.toDisplayString)(t.displayName.charAt(0)),1)),(0,e.createElementVNode)(`span`,Kr,`Continue with `+(0,e.toDisplayString)(t.displayName),1)],8,Ur))),128))]),n[11]||=(0,e.createElementVNode)(`div`,{class:`mrd-divider`},[(0,e.createElementVNode)(`span`,null,`or continue with email`)],-1)])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(l).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(A,[`prevent`])},[r.collectName?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,qr,[(0,e.createElementVNode)(`div`,Jr,[n[12]||=(0,e.createElementVNode)(`div`,{class:`mrd-label-row`},[(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-first`},`First name`),(0,e.createElementVNode)(`span`,{class:`mrd-optional-label`},`Optional`)],-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-first`,"onUpdate:modelValue":n[0]||=e=>h.value=e,class:`mrd-input`,autocomplete:`given-name`},null,512),[[e.vModelText,h.value]])]),(0,e.createElementVNode)(`div`,Yr,[n[13]||=(0,e.createElementVNode)(`div`,{class:`mrd-label-row`},[(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-last`},`Last name`),(0,e.createElementVNode)(`span`,{class:`mrd-optional-label`},`Optional`)],-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-last`,"onUpdate:modelValue":n[1]||=e=>g.value=e,class:`mrd-input`,autocomplete:`family-name`},null,512),[[e.vModelText,g.value]])])])):(0,e.createCommentVNode)(``,!0),n[16]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-email`,"onUpdate:modelValue":n[2]||=e=>f.value=e,type:`email`,class:`mrd-input`,autocomplete:`email`,placeholder:`you@example.com`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,Xr),[[e.vModelText,f.value]]),n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-password`},`Password`,-1),(0,e.createElementVNode)(`div`,Zr,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-password`,"onUpdate:modelValue":n[3]||=e=>p.value=e,type:m.value?`text`:`password`,class:`mrd-input`,autocomplete:`new-password`,minlength:`8`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,Qr),[[e.vModelDynamic,p.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":m.value?`Hide password`:`Show password`,onClick:n[4]||=e=>m.value=!m.value,innerHTML:m.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,$r)]),v.value?((0,e.openBlock)(),(0,e.createBlock)(Lr,{key:1,"site-key":v.value,onToken:n[5]||=e=>y.value=e},null,8,[`site-key`])):(0,e.createCommentVNode)(``,!0),b.value||x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ei,[n[14]||=(0,e.createTextVNode)(` By creating an account, you agree to the `,-1),b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:b.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Terms of Service`,8,ti)):(0,e.createCommentVNode)(``,!0),b.value&&x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` and `)],64)):(0,e.createCommentVNode)(``,!0),x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:x.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Privacy Policy`,8,ni)):(0,e.createCommentVNode)(``,!0),n[15]||=(0,e.createTextVNode)(`. `,-1)])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Create account`),11,ri)],32)):(0,e.unref)(l).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(j,[`prevent`])},[(0,e.createElementVNode)(`p`,ii,`We sent a verification code to `+(0,e.toDisplayString)(f.value)+`.`,1),n[18]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-vcode`},`Verification code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-vcode`,"onUpdate:modelValue":n[6]||=e=>_.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,ai),[[e.vModelText,_.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify email`),9,oi)],32)):(0,e.unref)(l).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(N,[`prevent`])},[E.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[20]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-backup-code`,"onUpdate:modelValue":n[8]||=e=>T.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,ci),[[e.vModelText,T.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[19]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-2fa-code`,"onUpdate:modelValue":n[7]||=e=>w.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,si),[[e.vModelText,w.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify`),9,li),(0,e.createElementVNode)(`button`,{id:`mrd-signup-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(l).loading.value,onClick:n[9]||=e=>E.value=!E.value},(0,e.toDisplayString)(E.value?`Use authenticator code instead`:`Use a backup code instead`),9,ui)],32)):(0,e.unref)(l).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:5,class:`mrd-form`,onSubmit:(0,e.withModifiers)(P,[`prevent`])},[n[22]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(l).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[21]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,di,(0,e.toDisplayString)((0,e.unref)(l).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[23]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-signup-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-signup-enroll-code`,"onUpdate:modelValue":n[10]||=e=>D.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!((0,e.unref)(l).error.value||(0,e.unref)(u).error.value),"aria-describedby":(0,e.unref)(l).error.value||(0,e.unref)(u).error.value?`mrd-signup-error`:void 0},null,8,fi),[[e.vModelText,D.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(l).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(l).loading.value?`…`:`Verify and continue`),9,pi)],32)):(0,e.unref)(l).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,mi,[n[25]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your account is ready.`,-1),(0,e.unref)(l).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,hi,[n[24]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(l).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.unref)(l).isWaitlisted.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,gi,` You're on the waitlist. We'll let you know as soon as your account is approved. `)):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,_i,[n[26]||=(0,e.createTextVNode)(` Already have an account? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Sign in`,10,vi)])):(0,e.createCommentVNode)(``,!0),S.value||C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,yi,[n[27]||=(0,e.createTextVNode)(` Need help? `,-1),S.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:S.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,bi)):(0,e.createCommentVNode)(``,!0),S.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:C.value,class:`mrd-link`},`Contact support`,8,xi)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),Ci={class:`mrd-header`},wi=[`src`],Ti={key:1,class:`mrd-subtitle`},Ei=[`aria-invalid`,`aria-describedby`],Di=[`disabled`],Oi={class:`mrd-hint`},ki=[`aria-invalid`,`aria-describedby`],Ai={class:`mrd-password-wrap`},ji=[`type`,`aria-invalid`,`aria-describedby`],Mi=[`aria-label`,`innerHTML`],Ni=[`disabled`],Pi={class:`mrd-action-row`},Fi=[`disabled`],Ii=[`href`],Li=[`aria-invalid`,`aria-describedby`],Ri=[`aria-invalid`,`aria-describedby`],zi=[`disabled`],Bi=[`disabled`],Vi={id:`mrd-reset-enroll-secret`,class:`mrd-secret`},Hi=[`aria-invalid`,`aria-describedby`],Ui=[`disabled`],Wi={key:5},Gi={key:0,class:`mrd-recovery-codes`},Ki={key:6,class:`mrd-foot`},qi=[`href`],Ji={key:7,class:`mrd-help`},Yi=[`href`],Xi=[`href`],Zi=45,Qi=(0,e.defineComponent)({__name:`ResetPassword`,props:{title:{default:`Reset your password`},subtitle:{},logo:{},signInUrl:{default:``},appearance:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=Ot(void 0,`resetPassword`,r.appearance),a=In(),o=(0,e.computed)(()=>r.logo??a.value.logoUrl),s=(0,e.computed)(()=>Sn(r.signInUrl)),c=G(),l=(0,e.ref)(``),u=(0,e.ref)(``);(0,e.onMounted)(async()=>{try{let e=await c.configuration();l.value=bn(e.helpUrl)??``,u.value=Cn(e.supportEmail)??``}catch{}});let d=n,f=An(),p=(0,e.ref)(null);function m(){(0,e.nextTick)(()=>{let e=p.value;e&&(e.querySelector(`input:not([disabled])`)??e.querySelector(`button:not([disabled])`))?.focus()})}(0,e.watch)(()=>f.status.value,m);let h=(0,e.ref)(``),g=(0,e.ref)(``),_=(0,e.ref)(``),v=(0,e.ref)(!1),y=(0,e.ref)(``),b=(0,e.ref)(``),x=(0,e.ref)(!1),S=(0,e.ref)(``),C=(0,e.ref)(0),w;function T(){clearInterval(w),C.value=Zi,w=setInterval(()=>{--C.value,C.value<=0&&clearInterval(w)},1e3)}(0,e.onUnmounted)(()=>clearInterval(w)),(0,e.watch)(()=>f.isComplete.value,e=>{e&&f.session.value&&d(`complete`,f.session.value)});async function E(){try{await f.create({email:h.value}),T()}catch{}}async function D(){try{await f.resend(),T()}catch{}}async function O(){try{await f.attempt({code:g.value,password:_.value}),f.status.value===`needs_mfa_enrollment`&&!f.enrollment.value&&await f.enrollTotp()}catch{}}async function k(){try{x.value?await f.attemptSecondFactor({strategy:`backup_code`,code:b.value}):await f.attemptSecondFactor({strategy:`totp`,code:y.value})}catch{}}async function A(){try{await f.verifyTotpEnrollment(S.value)}catch{}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`cardRef`,ref:p,class:(0,e.normalizeClass)([`mrd-card mrd-card-sm`,(0,e.unref)(i).elementProps(`card`).class]),style:(0,e.normalizeStyle)((0,e.unref)(i).rootStyle)},[(0,e.createElementVNode)(`div`,Ci,[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-logo`,src:o.value,alt:``},null,8,wi)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`h1`,{class:(0,e.normalizeClass)([`mrd-title`,(0,e.unref)(i).elementProps(`headerTitle`).class]),role:`status`,"aria-live":`polite`},(0,e.toDisplayString)(r.title),3),r.subtitle?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ti,(0,e.toDisplayString)(r.subtitle),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.unref)(f).error.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:0,id:`mrd-reset-error`,class:(0,e.normalizeClass)([`mrd-error`,(0,e.unref)(i).elementProps(`alert`).class]),role:`alert`},(0,e.toDisplayString)((0,e.unref)(f).error.value.message),3)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(f).status.value===`idle`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:1,class:`mrd-form`,onSubmit:(0,e.withModifiers)(E,[`prevent`])},[n[8]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-email`},`Email`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-email`,"onUpdate:modelValue":n[0]||=e=>h.value=e,type:`email`,autocomplete:`email`,class:(0,e.normalizeClass)([`mrd-input`,(0,e.unref)(i).elementProps(`formFieldInput`).class]),placeholder:`you@example.com`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,10,Ei),[[e.vModelText,h.value]]),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`mrd-button`,(0,e.unref)(i).elementProps(`formButtonPrimary`).class]),disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Send reset code`),11,Di)],32)):(0,e.unref)(f).status.value===`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:2,class:`mrd-form`,onSubmit:(0,e.withModifiers)(O,[`prevent`])},[(0,e.createElementVNode)(`p`,Oi,`If an account exists for `+(0,e.toDisplayString)(h.value)+`, we sent a reset code.`,1),n[9]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-code`},`Reset code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-code`,"onUpdate:modelValue":n[1]||=e=>g.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,ki),[[e.vModelText,g.value]]),n[10]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-password`},`New password`,-1),(0,e.createElementVNode)(`div`,Ai,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-password`,"onUpdate:modelValue":n[2]||=e=>_.value=e,type:v.value?`text`:`password`,autocomplete:`new-password`,class:`mrd-input`,minlength:`8`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,ji),[[e.vModelDynamic,_.value]]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-password-toggle`,"aria-label":v.value?`Hide password`:`Show password`,onClick:n[3]||=e=>v.value=!v.value,innerHTML:v.value?(0,e.unref)(ln):(0,e.unref)(cn)},null,8,Mi)]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Set new password`),9,Ni),(0,e.createElementVNode)(`div`,Pi,[(0,e.createElementVNode)(`button`,{id:`mrd-reset-resend`,type:`button`,class:`mrd-link-button`,disabled:C.value>0,onClick:D},(0,e.toDisplayString)(C.value>0?`Resend code (${C.value}s)`:`Resend code`),9,Fi),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:s.value,class:(0,e.normalizeClass)([`mrd-link-button`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},` Back to sign in `,10,Ii)):(0,e.createCommentVNode)(``,!0)])],32)):(0,e.unref)(f).status.value===`needs_second_factor`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:3,class:`mrd-form`,onSubmit:(0,e.withModifiers)(k,[`prevent`])},[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[12]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-backup-code`},`Backup code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-backup-code`,"onUpdate:modelValue":n[5]||=e=>b.value=e,autocomplete:`off`,class:`mrd-input`,placeholder:`xxxx-xxxx`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Ri),[[e.vModelText,b.value]])],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[11]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-2fa-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-2fa-code`,"onUpdate:modelValue":n[4]||=e=>y.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Li),[[e.vModelText,y.value]])],64)),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Verify`),9,zi),(0,e.createElementVNode)(`button`,{id:`mrd-reset-use-backup-code`,type:`button`,class:`mrd-link-button`,disabled:(0,e.unref)(f).loading.value,onClick:n[6]||=e=>x.value=!x.value},(0,e.toDisplayString)(x.value?`Use authenticator code instead`:`Use a backup code instead`),9,Bi)],32)):(0,e.unref)(f).status.value===`needs_mfa_enrollment`?((0,e.openBlock)(),(0,e.createElementBlock)(`form`,{key:4,class:`mrd-form`,onSubmit:(0,e.withModifiers)(A,[`prevent`])},[n[14]||=(0,e.createElementVNode)(`p`,{class:`mrd-hint`},` This account requires a second factor. Add it to your authenticator app, then enter the code it generates. `,-1),(0,e.unref)(f).enrollment.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[n[13]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Secret key`,-1),(0,e.createElementVNode)(`p`,Vi,(0,e.toDisplayString)((0,e.unref)(f).enrollment.value.secret),1)],64)):(0,e.createCommentVNode)(``,!0),n[15]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-reset-enroll-code`},`Authentication code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-reset-enroll-code`,"onUpdate:modelValue":n[7]||=e=>S.value=e,inputmode:`numeric`,autocomplete:`one-time-code`,class:`mrd-input`,placeholder:`123456`,required:``,"aria-invalid":!!(0,e.unref)(f).error.value,"aria-describedby":(0,e.unref)(f).error.value?`mrd-reset-error`:void 0},null,8,Hi),[[e.vModelText,S.value]]),(0,e.createElementVNode)(`button`,{class:`mrd-button`,disabled:(0,e.unref)(f).loading.value,type:`submit`},(0,e.toDisplayString)((0,e.unref)(f).loading.value?`…`:`Verify and continue`),9,Ui)],32)):(0,e.unref)(f).status.value===`complete`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Wi,[n[17]||=(0,e.createElementVNode)(`p`,{class:`mrd-success`},`Your password has been reset and you're signed in.`,-1),(0,e.unref)(f).recoveryCodes.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Gi,[n[16]||=(0,e.createElementVNode)(`p`,{class:`mrd-label`},`Save these backup codes — they won't be shown again:`,-1),(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(f).recoveryCodes.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0),s.value&&(0,e.unref)(f).status.value!==`needs_verification`?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ki,[n[18]||=(0,e.createTextVNode)(` Remembered it after all? `,-1),(0,e.createElementVNode)(`a`,{href:s.value,class:(0,e.normalizeClass)([`mrd-link`,(0,e.unref)(i).elementProps(`footerActionLink`).class])},`Sign in`,10,qi)])):(0,e.createCommentVNode)(``,!0),l.value||u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ji,[n[19]||=(0,e.createTextVNode)(` Need help? `,-1),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:l.value,target:`_blank`,rel:`noopener noreferrer`,class:`mrd-link`},`Help center`,8,Yi)):(0,e.createCommentVNode)(``,!0),l.value&&u.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)(` · `)],64)):(0,e.createCommentVNode)(``,!0),u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:2,href:u.value,class:`mrd-link`},`Contact support`,8,Xi)):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)],6))}}),$i=Math.min,ea=Math.max,ta=Math.round,na=Math.floor,K=e=>({x:e,y:e}),ra={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ia(e,t,n){return ea(e,$i(t,n))}function aa(e,t){return typeof e==`function`?e(t):e}function oa(e){return e.split(`-`)[0]}function sa(e){return e.split(`-`)[1]}function ca(e){return e===`x`?`y`:`x`}function la(e){return e===`y`?`height`:`width`}function q(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ua(e){return ca(q(e))}function da(e,t,n){n===void 0&&(n=!1);let r=sa(e),i=ua(e),a=la(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ba(o)),[o,ba(o)]}function fa(e){let t=ba(e);return[pa(e),t,pa(t)]}function pa(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ma=[`left`,`right`],ha=[`right`,`left`],ga=[`top`,`bottom`],_a=[`bottom`,`top`];function va(e,t,n){switch(e){case`top`:case`bottom`:return n?t?ha:ma:t?ma:ha;case`left`:case`right`:return t?ga:_a;default:return[]}}function ya(e,t,n,r){let i=sa(e),a=va(oa(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(pa)))),a}function ba(e){let t=oa(e);return ra[t]+e.slice(t.length)}function xa(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Sa(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:xa(e)}function Ca(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function wa(e,t,n){let{reference:r,floating:i}=e,a=q(t),o=ua(t),s=la(o),c=oa(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=sa(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ta(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=aa(t,e),p=Sa(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ca(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ca(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ea=50,Da=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ta},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=wa(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ea&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=wa(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Oa=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=aa(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=oa(r),_=q(o),v=oa(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ba(o)]:fa(o)),x=p!==`none`;!d&&x&&b.push(...ya(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=da(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==q(t))||T.every(e=>q(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=q(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},ka=new Set([`left`,`top`]);async function Aa(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=oa(n),s=sa(n),c=q(n)===`y`,l=ka.has(o)?-1:1,u=a&&c?-1:1,d=aa(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ja=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Aa(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Ma=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=aa(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=q(i),p=ca(f),m=u[p],h=u[f],g=(e,t)=>ia(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Na(){return typeof window<`u`}function Pa(e){return Fa(e)?(e.nodeName||``).toLowerCase():`#document`}function J(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Y(e){return((Fa(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Fa(e){return Na()?e instanceof Node||e instanceof J(e).Node:!1}function X(e){return Na()?e instanceof Element||e instanceof J(e).Element:!1}function Z(e){return Na()?e instanceof HTMLElement||e instanceof J(e).HTMLElement:!1}function Ia(e){return!Na()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof J(e).ShadowRoot}function La(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ra(e){return/^(table|td|th)$/.test(Pa(e))}function za(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ba=/transform|translate|scale|rotate|perspective|filter/,Va=/paint|layout|strict|content/,Q=e=>!!e&&e!==`none`,Ha;function Ua(e){let t=X(e)?$(e):e;return Q(t.transform)||Q(t.translate)||Q(t.scale)||Q(t.rotate)||Q(t.perspective)||!Ga()&&(Q(t.backdropFilter)||Q(t.filter))||Ba.test(t.willChange||``)||Va.test(t.contain||``)}function Wa(e){let t=Ja(e);for(;Z(t)&&!Ka(t);){if(Ua(t))return t;if(za(t))return null;t=Ja(t)}return null}function Ga(){return Ha??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ha}function Ka(e){return/^(html|body|#document)$/.test(Pa(e))}function $(e){return J(e).getComputedStyle(e)}function qa(e){return X(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ja(e){if(Pa(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ia(e)&&e.host||Y(e);return Ia(t)?t.host:t}function Ya(e){let t=Ja(e);return Ka(t)?(e.ownerDocument||e).body:Z(t)&&La(t)?t:Ya(t)}function Xa(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ya(e),i=r===e.ownerDocument?.body,a=J(r);if(i){let e=Za(a);return t.concat(a,a.visualViewport||[],La(r)?r:[],e&&n?Xa(e):[])}else return t.concat(r,Xa(r,[],n))}function Za(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Qa(e){let t=$(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Z(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ta(n)!==a||ta(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function $a(e){return X(e)?e:e.contextElement}function eo(e){let t=$a(e);if(!Z(t))return K(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Qa(t),o=(a?ta(n.width):n.width)/r,s=(a?ta(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var to=K(0);function no(e){let t=J(e);return!Ga()||!t.visualViewport?to:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ro(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===J(e)}function io(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=$a(e),o=K(1);t&&(r?X(r)&&(o=eo(r)):o=eo(e));let s=ro(a,n,r)?no(a):K(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=J(a),t=X(r)?J(r):r,n=e,i=Za(n);for(;i&&t!==n;){let e=eo(i),t=i.getBoundingClientRect(),r=$(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=J(i),i=Za(n)}}return Ca({width:u,height:d,x:c,y:l})}function ao(e,t){let n=qa(e).scrollLeft;return t?t.left+n:io(Y(e)).left+n}function oo(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ao(e,n),y:n.top+t.scrollTop}}function so(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Y(r),s=t?za(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=K(1),u=K(0),d=Z(r);if((d||!a)&&((Pa(r)!==`body`||La(o))&&(c=qa(r)),d)){let e=io(r);l=eo(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?oo(o,c):K(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function co(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function lo(e){let t=qa(e),n=e.ownerDocument.body,r=ea(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=ea(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+ao(e),o=-t.scrollTop;return $(n).direction===`rtl`&&(a+=ea(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var uo=25;function fo(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=J(e),a=Y(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Ga()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(ao(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=uo&&(s-=o)}return{width:s,height:c,x:l,y:u}}function po(e,t){let n=io(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=eo(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function mo(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=fo(e,n,t);else if(t===`document`)r=lo(Y(e));else if(X(t))r=po(t,n);else{let n=no(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ca(r)}function ho(e,t){let n=t.get(e);if(n)return n;let r=Xa(e,[],!1).filter(e=>X(e)&&Pa(e)!==`body`),i=null,a=$(e).position===`fixed`,o=a?Ja(e):e;for(;X(o)&&!Ka(o);){let e=$(o),t=Ua(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Ja(o)}return t.set(e,r),r}function go(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?za(t)?[]:ho(t,this._c):[].concat(n),r],o=mo(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=mo(t,a[e],i);s=ea(n.top,s),c=$i(n.right,c),l=$i(n.bottom,l),u=ea(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function _o(e){let{width:t,height:n}=Qa(e);return{width:t,height:n}}function vo(e,t,n){let r=Z(t),i=Y(t),a=n===`fixed`,o=io(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=K(0);if((r||!a)&&((Pa(t)!==`body`||La(i))&&(s=qa(t)),r)){let e=io(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=ao(i));let l=i&&!r&&!a?oo(i,s):K(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function yo(e){return $(e).position===`static`}function bo(e,t){if(!Z(e)||$(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Y(e)===n&&(n=n.ownerDocument.body),n}function xo(e,t){let n=J(e);if(za(e))return n;if(!Z(e)){let t=Ja(e);for(;t&&!Ka(t);){if(X(t)&&!yo(t))return t;t=Ja(t)}return n}let r=bo(e,t);for(;r&&Ra(r)&&yo(r);)r=bo(r,t);return r&&Ka(r)&&yo(r)&&!Ua(r)?n:r||Wa(e)||n}var So=async function(e){let t=this.getOffsetParent||xo,n=this.getDimensions,r=await n(e.floating);return{reference:vo(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Co(e){return $(e).direction===`rtl`}var wo={convertOffsetParentRelativeRectToViewportRelativeRect:so,getDocumentElement:Y,getClippingRect:go,getOffsetParent:xo,getElementRects:So,getClientRects:co,getDimensions:_o,getScale:eo,isElement:X,isRTL:Co};function To(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Eo(e,t,n){let r=null,i,a=Y(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=na(d),h=na(a.clientWidth-(u+f)),g=na(a.clientHeight-(d+p)),_=na(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ea(0,$i(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!To(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=J(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function Do(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=$a(e),u=i||a?[...l?Xa(l):[],...t?Xa(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?Eo(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?io(e):null;c&&g();function g(){let t=io(e);h&&!To(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Oo=ja,ko=Ma,Ao=Oa,jo=(e,t,n)=>{let r=new Map,i=n??{},a={...wo,...i.platform,_c:r};return Da(e,t,{...i,platform:a})};function Mo(e){return typeof e==`object`&&!!e&&`$el`in e}function No(e){if(Mo(e)){let t=e.$el;return Fa(t)&&Pa(t)===`#comment`?null:t}return e}function Po(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Fo(e,t){let n=Po(e);return Math.round(t*n)/n}function Io(t,n,r){r===void 0&&(r={});let i=r.whileElementsMounted,a=(0,e.computed)(()=>(0,e.toValue)(r.open)??!0),o=(0,e.computed)(()=>(0,e.toValue)(r.middleware)),s=(0,e.computed)(()=>(0,e.toValue)(r.placement)??`bottom`),c=(0,e.computed)(()=>(0,e.toValue)(r.strategy)??`absolute`),l=(0,e.computed)(()=>(0,e.toValue)(r.transform)??!0),u=(0,e.computed)(()=>No(t.value)),d=(0,e.computed)(()=>No(n.value)),f=(0,e.ref)(0),p=(0,e.ref)(0),m=(0,e.ref)(c.value),h=(0,e.ref)(s.value),g=(0,e.shallowRef)({}),_=(0,e.ref)(!1),v=(0,e.computed)(()=>{let e={position:m.value,left:`0`,top:`0`};if(!d.value)return e;let t=Fo(d.value,f.value),n=Fo(d.value,p.value);return l.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Po(d.value)>=1.5&&{willChange:`transform`}}:{position:m.value,left:t+`px`,top:n+`px`}}),y;function b(){if(u.value==null||d.value==null)return;let e=a.value;jo(u.value,d.value,{middleware:o.value,placement:s.value,strategy:c.value}).then(t=>{f.value=t.x,p.value=t.y,m.value=t.strategy,h.value=t.placement,g.value=t.middlewareData,_.value=e!==!1})}function x(){typeof y==`function`&&(y(),y=void 0)}function S(){if(x(),i===void 0){b();return}if(u.value!=null&&d.value!=null){y=i(u.value,d.value,b);return}}function C(){a.value||(_.value=!1)}return(0,e.watch)([o,s,c,a],b,{flush:`sync`}),(0,e.watch)([u,d],S,{flush:`sync`}),(0,e.watch)(a,C,{flush:`sync`}),(0,e.getCurrentScope)()&&(0,e.onScopeDispose)(x),{x:(0,e.shallowReadonly)(f),y:(0,e.shallowReadonly)(p),strategy:(0,e.shallowReadonly)(m),placement:(0,e.shallowReadonly)(h),middlewareData:(0,e.shallowReadonly)(g),isPositioned:(0,e.shallowReadonly)(_),floatingStyles:v,update:b}}var Lo=[`aria-label`],Ro=(0,e.defineComponent)({__name:`Overlay`,props:{open:{type:Boolean},closeOnEscape:{type:Boolean},closeOnBackdrop:{type:Boolean},ariaLabel:{},restoreFocusTo:{}},emits:[`close`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=null;function s(e){if(r.open){if(e.key===`Escape`&&(r.closeOnEscape??!0)){i(`close`);return}e.key===`Tab`&&l(e)}}function c(){let e=a.value;return e?Array.from(e.querySelectorAll(`a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])`)):[]}function l(e){let t=c();if(!t.length)return;let n=t[0],r=t[t.length-1],i=document.activeElement;e.shiftKey?(i===n||!t.includes(i))&&(e.preventDefault(),r.focus()):(i===r||!t.includes(i))&&(e.preventDefault(),n.focus())}(0,e.onMounted)(()=>document.addEventListener(`keydown`,s)),(0,e.onUnmounted)(()=>{document.removeEventListener(`keydown`,s),document.documentElement.style.removeProperty(`overflow`),document.body.style.removeProperty(`overflow`)}),(0,e.watch)(()=>r.open,t=>{if(document.documentElement.style.overflow=t?`hidden`:``,document.body.style.overflow=t?`hidden`:``,t)o=document.activeElement,(0,e.nextTick)(()=>{(c()[0]??a.value)?.focus()});else{let e=r.restoreFocusTo??o;e&&document.contains(e)&&e.focus(),o=null}},{immediate:!0});function u(){(r.closeOnBackdrop??!0)&&i(`close`)}return(n,r)=>((0,e.openBlock)(),(0,e.createBlock)(e.Teleport,{to:`body`},[t.open?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`mrd-modal-backdrop`,"data-mrd":`modal-backdrop`,onClick:(0,e.withModifiers)(u,[`self`])},[(0,e.createElementVNode)(`div`,{ref_key:`contentRef`,ref:a,class:`mrd-modal-content`,"data-mrd":`modal-content`,role:`dialog`,"aria-modal":`true`,"aria-label":t.ariaLabel,tabindex:`-1`},[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-modal-close`,"data-mrd":`modal-close`,"aria-label":`Close`,onClick:r[0]||=e=>i(`close`)},` × `),(0,e.renderSlot)(n.$slots,`default`)],8,Lo)])):(0,e.createCommentVNode)(``,!0)]))}}),zo={class:`mrd-profile-section`,"data-mrd":`profile-section`},Bo={class:`mrd-prow`},Vo={class:`mrd-prow-main`},Ho=[`src`],Uo={key:1,class:`mrd-avatar mrd-avatar-lg`},Wo={class:`mrd-prow-value`},Go={key:0,class:`mrd-inline-edit`},Ko={class:`mrd-prow`,style:{"border-bottom":`none`,"padding-top":`0`}},qo={class:`mrd-prow-main`},Jo=[`aria-label`,`disabled`],Yo=[`src`],Xo={key:1,class:`mrd-avatar mrd-avatar-lg`},Zo={class:`mrd-prow-sub`},Qo=[`disabled`],$o={key:0,class:`mrd-error`,role:`alert`},es={class:`mrd-row`},ts={class:`mrd-col`},ns={class:`mrd-col`},rs={key:1,class:`mrd-error`,role:`alert`},is={class:`mrd-inline-actions`},as=[`disabled`],os=[`disabled`],ss=(0,e.defineComponent)({__name:`ProfileSection`,props:{user:{}},setup(t){let n=t,r=G(),i=n.user,a=(0,e.ref)(!1),o=(0,e.ref)(``),s=(0,e.ref)(``);(0,e.watch)(()=>i.user.value,e=>{o.value=e?.givenName??``,s.value=e?.familyName??``},{immediate:!0});let c=(0,e.computed)(()=>i.user.value?fn(i.user.value).displayName:``);function l(){if(u.value)return;let e=i.user.value;o.value=e?.givenName??``,s.value=e?.familyName??``,d.value=``,a.value=!1}let u=(0,e.ref)(!1),d=(0,e.ref)(``);async function f(){u.value=!0,d.value=``;try{await r.user.update({givenName:o.value,familyName:s.value}),await i.reload(),a.value=!1}catch(e){d.value=e instanceof Error?e.message:`Couldn't save your profile — try again.`}finally{u.value=!1}}let p=(0,e.ref)(null),m=(0,e.ref)(!1),h=(0,e.ref)(``),g=(0,e.computed)(()=>i.user.value?.avatarUrl),_=(0,e.computed)(()=>i.user.value?fn(i.user.value).initials:`?`);function v(){p.value?.click()}async function y(e){let t=e.target,n=t.files?.[0];if(n){m.value=!0,h.value=``;try{await r.user.uploadAvatar(n),await i.reload()}catch(e){h.value=e instanceof Error?e.message:`Couldn't upload that photo — try again.`}finally{m.value=!1,t.value=``}}}async function b(){m.value=!0,h.value=``;try{await r.user.removeAvatar(),await i.reload()}catch(e){h.value=e instanceof Error?e.message:`Couldn't remove that photo — try again.`}finally{m.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,zo,[n[6]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Profile`,-1),(0,e.createElementVNode)(`div`,Bo,[(0,e.createElementVNode)(`span`,Vo,[g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:g.value,alt:``},null,8,Ho)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Uo,(0,e.toDisplayString)(_.value),1)),(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,Wo,(0,e.toDisplayString)(c.value),1),n[3]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Photo & name`,-1)])]),a.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`edit-profile`,onClick:n[0]||=e=>a.value=!0},` Edit `))]),a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Go,[(0,e.createElementVNode)(`div`,Ko,[(0,e.createElementVNode)(`span`,qo,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-avatar-button`,"data-mrd-action":`pick-avatar`,"aria-label":g.value?`Change profile photo`:`Add profile photo`,disabled:m.value,onClick:v},[g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:g.value,alt:``},null,8,Yo)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Xo,(0,e.toDisplayString)(_.value),1))],8,Jo),(0,e.createElementVNode)(`span`,Zo,(0,e.toDisplayString)(m.value?`Uploading…`:g.value?`Click the photo to replace it`:`Click to add a photo`),1)]),g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`remove-avatar`,disabled:m.value,onClick:b},` Remove photo `,8,Qo)):(0,e.createCommentVNode)(``,!0)]),h.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,$o,(0,e.toDisplayString)(h.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`input`,{ref_key:`avatarInputRef`,ref:p,type:`file`,accept:`image/*`,"data-mrd-field":`avatar-file`,style:{display:`none`},onChange:y},null,544),(0,e.createElementVNode)(`div`,es,[(0,e.createElementVNode)(`div`,ts,[n[4]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-profile-given-name`},`First name`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-profile-given-name`,class:`mrd-input`,"data-mrd-field":`given-name`,"onUpdate:modelValue":n[1]||=e=>o.value=e},null,512),[[e.vModelText,o.value]])]),(0,e.createElementVNode)(`div`,ns,[n[5]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-profile-family-name`},`Last name`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-profile-family-name`,class:`mrd-input`,"data-mrd-field":`family-name`,"onUpdate:modelValue":n[2]||=e=>s.value=e},null,512),[[e.vModelText,s.value]])])]),d.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,rs,(0,e.toDisplayString)(d.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,is,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-profile`,disabled:u.value,onClick:l},` Cancel `,8,as),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-profile`,disabled:u.value,onClick:f},(0,e.toDisplayString)(u.value?`…`:`Save`),9,os)])])):(0,e.createCommentVNode)(``,!0)]))}}),cs={class:`mrd-profile-section`,"data-mrd":`profile-section`},ls={class:`mrd-prow`},us={class:`mrd-prow-value`},ds={key:0,class:`mrd-inline-edit`},fs={key:0,class:`mrd-col`},ps={key:1,class:`mrd-col`},ms={key:2,class:`mrd-error`,"data-mrd":`alert`,role:`alert`},hs={class:`mrd-inline-actions`},gs=[`disabled`],_s=[`disabled`],vs=(0,e.defineComponent)({__name:`EmailSection`,props:{user:{}},setup(t){let n=t,r=G(),i=n.user,a=(0,e.ref)(!1),o=(0,e.ref)(``),s=(0,e.ref)(``),c=(0,e.ref)(!1),l=(0,e.ref)(null),u=(0,e.ref)(!1);function d(){a.value=!1,c.value=!1,o.value=``,s.value=``,l.value=null}async function f(){l.value=null,u.value=!0;try{await r.user.changeEmail(o.value),c.value=!0}catch(e){l.value=e instanceof U?e.message:`Failed to start email change`}finally{u.value=!1}}async function p(){l.value=null,u.value=!0;try{await r.user.verifyEmailChange(s.value),d(),await i.reload()}catch(e){l.value=e instanceof U?e.message:`Invalid code`}finally{u.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,cs,[n[6]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Email address`,-1),(0,e.createElementVNode)(`div`,ls,[(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,us,(0,e.toDisplayString)((0,e.unref)(i).user.value?.email),1),n[3]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Verified`,-1)]),a.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`start-email-change`,onClick:n[0]||=e=>a.value=!0},` Change `))]),a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ds,[c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ps,[n[5]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-email-code`},`Verification code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-email-code`,class:`mrd-input`,"data-mrd-field":`email-code`,"onUpdate:modelValue":n[2]||=e=>s.value=e},null,512),[[e.vModelText,s.value]])])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fs,[n[4]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-new-email`},`New email address`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-new-email`,class:`mrd-input`,"data-mrd-field":`new-email`,"onUpdate:modelValue":n[1]||=e=>o.value=e},null,512),[[e.vModelText,o.value]])])),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ms,(0,e.toDisplayString)(l.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,hs,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-email-change`,onClick:d},` Cancel `),c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`verify-email-code`,disabled:u.value,onClick:p},(0,e.toDisplayString)(u.value?`…`:`Verify`),9,_s)):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`send-email-code`,disabled:u.value,onClick:f},(0,e.toDisplayString)(u.value?`…`:`Send code`),9,gs))])])):(0,e.createCommentVNode)(``,!0)]))}}),ys={class:`mrd-profile-section`,"data-mrd":`profile-section`},bs={class:`mrd-prow`},xs={key:0,class:`mrd-prow-value`},Ss={class:`mrd-prow-sub`},Cs={key:0,class:`mrd-inline-edit`},ws={class:`mrd-col`},Ts={key:0,class:`mrd-error`,role:`alert`},Es={class:`mrd-inline-actions`},Ds=[`disabled`],Os=(0,e.defineComponent)({__name:`PhoneSection`,setup(t){let n=G(),r=(0,e.ref)(!1),i=(0,e.ref)(``),a=(0,e.ref)(``),o=(0,e.ref)(!1),s=(0,e.ref)(``);function c(){i.value=a.value,s.value=``,r.value=!1}async function l(){o.value=!0,s.value=``;try{await n.user.setPhone(i.value),a.value=i.value,r.value=!1}catch(e){s.value=e instanceof Error?e.message:`Couldn't save that phone number — try again.`}finally{o.value=!1}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,ys,[n[3]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Phone number`,-1),(0,e.createElementVNode)(`div`,bs,[(0,e.createElementVNode)(`span`,null,[a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,xs,(0,e.toDisplayString)(a.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`span`,Ss,(0,e.toDisplayString)(a.value?`Used for SMS sign-in codes`:`Not set — used for SMS sign-in codes`),1)]),r.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`edit-phone`,onClick:n[0]||=e=>r.value=!0},(0,e.toDisplayString)(a.value?`Change`:`Add`),1))]),r.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Cs,[(0,e.createElementVNode)(`div`,ws,[n[2]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-phone`},`Phone number`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-phone`,class:`mrd-input`,"data-mrd-field":`phone`,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:`+15551234567`},null,512),[[e.vModelText,i.value]])]),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ts,(0,e.toDisplayString)(s.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Es,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-phone`,onClick:c},`Cancel`),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-phone`,disabled:o.value,onClick:l},(0,e.toDisplayString)(o.value?`…`:`Save`),9,Ds)])])):(0,e.createCommentVNode)(``,!0)]))}}),ks={class:`mrd-profile-sections`},As={class:`mrd-profile-section`,"data-mrd":`profile-section`},js={class:`mrd-prow`},Ms={key:0,class:`mrd-inline-edit`},Ns={class:`mrd-row`},Ps={class:`mrd-col`},Fs={class:`mrd-col`},Is={key:0,class:`mrd-error`,role:`alert`},Ls={class:`mrd-inline-actions`},Rs=[`disabled`],zs={class:`mrd-prow`},Bs=[`disabled`],Vs=[`disabled`],Hs={key:1,class:`mrd-error`,role:`alert`},Us={key:2,class:`mrd-inline-edit`},Ws=[`viewBox`],Gs=[`x`,`y`],Ks={class:`mrd-secret`},qs={class:`mrd-col`},Js=[`disabled`],Ys={key:0,class:`mrd-hint`,"data-mrd":`totp-confirm-hint`},Xs={class:`mrd-inline-actions`},Zs=[`disabled`],Qs=[`disabled`],$s={key:3,class:`mrd-inline-edit`},ec={class:`mrd-recovery-codes`},tc={class:`mrd-profile-section`,"data-mrd":`profile-section`},nc={key:0,class:`mrd-error`,role:`alert`},rc={key:1,class:`mrd-error`,role:`alert`},ic={key:2,class:`mrd-hint`},ac={class:`mrd-prow-value`},oc=[`data-mrd-action`,`aria-label`,`disabled`,`onClick`],sc={class:`mrd-prow`},cc={key:1,class:`mrd-prow-sub`},lc={key:3,class:`mrd-inline-edit`},uc={class:`mrd-col`},dc={key:0,class:`mrd-error`,role:`alert`},fc={class:`mrd-inline-actions`},pc=[`disabled`],mc={class:`mrd-profile-section`,"data-mrd":`profile-section`},hc={key:0,class:`mrd-error`,role:`alert`},gc={key:1,class:`mrd-error`,role:`alert`},_c={key:2,class:`mrd-hint`},vc={key:3,class:`mrd-empty`},yc={class:`mrd-prow-sub`},bc=[`data-mrd-action`,`aria-label`,`disabled`,`onClick`],xc={class:`mrd-profile-section`,"data-mrd":`profile-section`},Sc={class:`mrd-prow`},Cc=[`disabled`],wc={key:0,class:`mrd-error`,role:`alert`},Tc={class:`mrd-profile-section`,"data-mrd":`profile-section`},Ec={class:`mrd-prow`},Dc={key:0,class:`mrd-inline-edit`},Oc={class:`mrd-col`},kc={class:`mrd-col`},Ac=[`disabled`],jc={key:0,class:`mrd-error`,role:`alert`},Mc={class:`mrd-inline-actions`},Nc=[`disabled`],Pc=[`disabled`],Fc=(0,e.defineComponent)({__name:`SecuritySection`,setup(t){let n=G(),r=(0,e.ref)(!1),i=(0,e.ref)(``),a=(0,e.ref)(``),o=(0,e.ref)(!1),s=(0,e.ref)(``);function c(){r.value=!1,i.value=``,a.value=``,s.value=``}async function l(){o.value=!0,s.value=``;try{await n.user.changePassword({currentPassword:i.value,newPassword:a.value}),c()}catch(e){s.value=e instanceof Error?e.message:`Couldn't update your password — try again.`}finally{o.value=!1}}let u=(0,e.ref)(!1),d=(0,e.ref)(``),f=(0,e.ref)([]),p=(0,e.computed)(()=>sn(f.value)),m=(0,e.ref)(``),h=(0,e.ref)(``),g=(0,e.ref)(!1),_=(0,e.ref)(!1),v=(0,e.ref)(!1),y=(0,e.ref)(!1),b=(0,e.ref)(null);async function x(){try{g.value=await n.user.totp.isEnrolled()}catch{}}async function S(){_.value=!0,h.value=``;try{await n.user.totp.remove(),g.value=!1}catch(e){h.value=e instanceof Error?e.message:`Couldn't remove the authenticator app — try again.`}finally{_.value=!1}}let C=(0,e.ref)(null),w=(0,e.ref)(null);async function T(){h.value=``,v.value=!0;try{let t=await n.user.totp.enroll();d.value=t.secret,f.value=on(t.otpauthUri),u.value=!0,(0,e.nextTick)(()=>C.value?.focus())}catch(e){h.value=e instanceof Error?e.message:`Couldn't start authenticator app setup — try again.`,await x()}finally{v.value=!1}}function E(){u.value=!1,m.value=``,h.value=``}async function D(){h.value=``,y.value=!0;try{b.value=await n.user.totp.verify(m.value),g.value=!0,(0,e.nextTick)(()=>w.value?.focus())}catch(e){h.value=e instanceof Error?e.message:`Couldn't confirm that code — try again.`}finally{y.value=!1}}function O(){u.value=!1,m.value=``,b.value=null}let k=(0,e.ref)([]),A=rt(),j=(0,e.ref)(!1),M=(0,e.ref)(!1),N=(0,e.ref)(``),P=(0,e.ref)(``),F=(0,e.ref)(``),I=(0,e.ref)(``),ee=(0,e.ref)(!1),te=(0,e.ref)(null);async function ne(){I.value=``,ee.value=!0;try{k.value=await n.user.passkeys.list()}catch(e){I.value=e instanceof Error?e.message:`Couldn't load your passkeys.`}finally{ee.value=!1}}async function re(e){F.value=``,te.value=e;try{await n.user.passkeys.remove(e),k.value=k.value.filter(t=>t.id!==e)}catch(e){F.value=e instanceof Error?e.message:`Couldn't remove that passkey — try again.`}finally{te.value=null}}function ie(){j.value=!1,N.value=``,P.value=``}async function ae(){P.value=``,M.value=!0;try{await n.user.passkeys.registerWithBrowser(window.location.hostname,N.value||`Passkey`),ie(),await ne()}catch(e){P.value=dt(e)}finally{M.value=!1}}let L=(0,e.ref)([]),R=(0,e.ref)(``),oe=(0,e.ref)(!1),se=(0,e.ref)(``),ce=(0,e.ref)(null);async function le(){R.value=``,oe.value=!0;try{L.value=await n.user.sessions.list()}catch(e){R.value=e instanceof Error?e.message:`Couldn't load your sessions.`}finally{oe.value=!1}}async function ue(e){se.value=``,ce.value=e;try{await n.user.sessions.revoke(e),L.value=L.value.filter(t=>t.id!==e)}catch(e){se.value=e instanceof Error?e.message:`Couldn't revoke that session — try again.`}finally{ce.value=null}}function de(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}let z=(0,e.ref)(!1),fe=(0,e.ref)(``),B=(0,e.ref)(``),V=(0,e.ref)(``),H=(0,e.ref)(!1);function pe(){z.value=!1,fe.value=``,B.value=``,V.value=``}async function me(){V.value=``,H.value=!0;try{await n.user.deleteAccount(B.value),await n.signOut()}catch(e){V.value=e instanceof Error?e.message:`Couldn't delete your account — try again.`}finally{H.value=!1}}let he=(0,e.ref)(!1),ge=(0,e.ref)(``);async function _e(){ge.value=``,he.value=!0;try{let e=await n.user.exportData(),t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(t),i=document.createElement(`a`);i.href=r,i.download=`my-data.json`,i.click(),URL.revokeObjectURL(r)}catch(e){ge.value=e instanceof Error?e.message:`Couldn't export your data — try again.`}finally{he.value=!1}}return(0,e.onMounted)(()=>{x(),ne(),le()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ks,[(0,e.createElementVNode)(`section`,As,[n[15]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Sign-in methods`,-1),(0,e.createElementVNode)(`div`,js,[n[9]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Password`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`••••••••`)],-1),r.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`change-password-open`,onClick:n[0]||=e=>r.value=!0},` Change `))]),r.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ms,[(0,e.createElementVNode)(`div`,Ns,[(0,e.createElementVNode)(`div`,Ps,[n[10]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-current-password`},`Current password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-current-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`current-password`,"onUpdate:modelValue":n[1]||=e=>i.value=e},null,512),[[e.vModelText,i.value]])]),(0,e.createElementVNode)(`div`,Fs,[n[11]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-new-password`},`New password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-new-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`new-password`,"onUpdate:modelValue":n[2]||=e=>a.value=e},null,512),[[e.vModelText,a.value]])])]),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Is,(0,e.toDisplayString)(s.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Ls,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-password`,onClick:c},` Cancel `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`save-password`,disabled:o.value,onClick:l},(0,e.toDisplayString)(o.value?`…`:`Update`),9,Rs)])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,zs,[n[12]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Authenticator app`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Two-factor codes from an authenticator app`)],-1),!u.value&&!g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`start-totp-enroll`,disabled:v.value,onClick:T},(0,e.toDisplayString)(v.value?`…`:`Set up`),9,Bs)):(0,e.createCommentVNode)(``,!0),!u.value&&g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`remove-totp`,disabled:_.value,onClick:S},(0,e.toDisplayString)(_.value?`…`:`Remove`),9,Vs)):(0,e.createCommentVNode)(``,!0)]),h.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Hs,(0,e.toDisplayString)(h.value),1)):(0,e.createCommentVNode)(``,!0),u.value&&!b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Us,[((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{viewBox:`0 0 ${f.value.length+(0,e.unref)(4)*2} ${f.value.length+(0,e.unref)(4)*2}`,width:`180`,height:`180`},[n[13]||=(0,e.createElementVNode)(`rect`,{width:`100%`,height:`100%`,fill:`white`},null,-1),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(p.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`rect`,{key:`${t.x}-${t.y}`,x:t.x+(0,e.unref)(4),y:t.y+(0,e.unref)(4),width:`1`,height:`1`,fill:`black`},null,8,Gs))),128))],8,Ws)),(0,e.createElementVNode)(`p`,Ks,`Or enter this code manually: `+(0,e.toDisplayString)(d.value),1),(0,e.createElementVNode)(`div`,qs,[n[14]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-totp-code`},`6-digit code`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-totp-code`,ref_key:`totpCodeInputRef`,ref:C,class:`mrd-input`,"data-mrd-field":`totp-code`,"onUpdate:modelValue":n[3]||=e=>m.value=e,disabled:y.value},null,8,Js),[[e.vModelText,m.value]])]),y.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ys,` Confirming your code and generating backup codes — this can take a few seconds… `)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Xs,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-totp`,disabled:y.value,onClick:E},` Cancel `,8,Zs),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`confirm-totp`,disabled:y.value,onClick:D},(0,e.toDisplayString)(y.value?`…`:`Confirm`),9,Qs)])])):(0,e.createCommentVNode)(``,!0),b.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,$s,[(0,e.createElementVNode)(`p`,{ref_key:`totpRecoveryHeadingRef`,ref:w,class:`mrd-label`,tabindex:`-1`},`Save these backup codes — they won't be shown again:`,512),(0,e.createElementVNode)(`div`,ec,[(0,e.createElementVNode)(`ul`,null,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(b.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])]),(0,e.createElementVNode)(`div`,{class:`mrd-inline-actions`},[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`totp-recovery-codes-done`,onClick:O},` Done `)])])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,tc,[n[18]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Passkeys`,-1),I.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,nc,[(0,e.createTextVNode)((0,e.toDisplayString)(I.value)+` `,1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-link-button`,"data-mrd-action":`retry-load-passkeys`,onClick:ne},` Retry `)])):F.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,rc,(0,e.toDisplayString)(F.value),1)):(0,e.createCommentVNode)(``,!0),ee.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ic,`Loading passkeys…`)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(k.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`mrd-prow`,key:t.id},[(0,e.createElementVNode)(`span`,ac,(0,e.toDisplayString)(t.name),1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`remove-passkey-${t.id}`,"aria-label":`Remove passkey ${t.name}`,disabled:te.value===t.id,onClick:e=>re(t.id)},(0,e.toDisplayString)(te.value===t.id?`…`:`Remove`),9,oc)]))),128)),(0,e.createElementVNode)(`div`,sc,[n[16]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Sign in without a password using Face ID, Touch ID, or a security key`,-1),(0,e.unref)(A)&&!j.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action`,"data-mrd-action":`open-add-passkey`,onClick:n[4]||=e=>j.value=!0},` Add passkey `)):(0,e.unref)(A)?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,cc,`Not supported in this browser`))]),j.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,lc,[(0,e.createElementVNode)(`div`,uc,[n[17]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-passkey-name`},`Passkey name (optional)`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-passkey-name`,class:`mrd-input`,"data-mrd-field":`passkey-name`,"onUpdate:modelValue":n[5]||=e=>N.value=e},null,512),[[e.vModelText,N.value]])]),P.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,dc,(0,e.toDisplayString)(P.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,fc,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-add-passkey`,onClick:ie},` Cancel `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm`,"data-mrd-action":`add-passkey`,disabled:M.value,onClick:ae},(0,e.toDisplayString)(M.value?`…`:`Add passkey`),9,pc)])])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,mc,[n[20]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Active sessions`,-1),R.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,hc,[(0,e.createTextVNode)((0,e.toDisplayString)(R.value)+` `,1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-link-button`,"data-mrd-action":`retry-load-sessions`,onClick:le},` Retry `)])):se.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,gc,(0,e.toDisplayString)(se.value),1)):(0,e.createCommentVNode)(``,!0),oe.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,_c,`Loading sessions…`)):!L.value.length&&!R.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,vc,`No active sessions.`)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(L.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`mrd-prow`,key:t.id},[(0,e.createElementVNode)(`span`,null,[n[19]||=(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Session`,-1),(0,e.createElementVNode)(`span`,yc,`Started `+(0,e.toDisplayString)(de(t.createdAt)),1)]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action mrd-prow-action--muted`,"data-mrd-action":`revoke-session-${t.id}`,"aria-label":`Revoke session started ${de(t.createdAt)}`,disabled:ce.value===t.id,onClick:e=>ue(t.id)},(0,e.toDisplayString)(ce.value===t.id?`…`:`Revoke`),9,bc)]))),128))]),(0,e.createElementVNode)(`section`,xc,[n[22]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title`},`Your data`,-1),(0,e.createElementVNode)(`div`,Sc,[n[21]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Export my data`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Download a copy of everything we have on your account`)],-1),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-prow-action`,"data-mrd-action":`export-my-data`,disabled:he.value,onClick:_e},(0,e.toDisplayString)(he.value?`Preparing…`:`Download`),9,Cc)]),ge.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,wc,(0,e.toDisplayString)(ge.value),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,Tc,[n[26]||=(0,e.createElementVNode)(`h3`,{class:`mrd-psection-title mrd-psection-title--danger`},`Danger zone`,-1),(0,e.createElementVNode)(`div`,Ec,[n[23]||=(0,e.createElementVNode)(`span`,null,[(0,e.createElementVNode)(`span`,{class:`mrd-prow-value`},`Delete account`),(0,e.createElementVNode)(`span`,{class:`mrd-prow-sub`},`Permanently removes your account and data`)],-1),z.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`mrd-prow-action mrd-prow-action--danger`,"data-mrd-action":`open-delete-account`,onClick:n[6]||=e=>z.value=!0},` Delete… `))]),z.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Dc,[(0,e.createElementVNode)(`div`,Oc,[n[24]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-delete-confirm`},`Type "delete my account" to confirm. This cannot be undone.`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-delete-confirm`,class:`mrd-input`,"data-mrd-field":`delete-confirm`,"onUpdate:modelValue":n[7]||=e=>fe.value=e},null,512),[[e.vModelText,fe.value]])]),(0,e.createElementVNode)(`div`,kc,[n[25]||=(0,e.createElementVNode)(`label`,{class:`mrd-label`,for:`mrd-delete-password`},`Confirm your password`,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`mrd-delete-password`,type:`password`,class:`mrd-input`,"data-mrd-field":`delete-password`,"onUpdate:modelValue":n[8]||=e=>B.value=e,disabled:H.value},null,8,Ac),[[e.vModelText,B.value]])]),V.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,jc,(0,e.toDisplayString)(V.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Mc,[(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-ghost-sm`,"data-mrd-action":`cancel-delete-account`,disabled:H.value,onClick:pe},` Cancel `,8,Nc),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-btn-sm mrd-btn-sm--danger`,"data-mrd-action":`confirm-delete-account`,disabled:fe.value!==`delete my account`||!B.value||H.value,onClick:me},(0,e.toDisplayString)(H.value?`…`:`Permanently delete`),9,Pc)])])):(0,e.createCommentVNode)(``,!0)])]))}}),Ic={key:0,class:`mrd-error`,role:`alert`,"data-mrd":`session-expired`},Lc={class:`mrd-profile-tabs`},Rc={class:`mrd-profile-body`},zc={key:0,class:`mrd-profile-sections`},Bc=(0,e.defineComponent)({__name:`UserProfile`,props:{appearance:{}},emits:[`close`],setup(t){let n=Ot(void 0,`userProfile`,t.appearance);In();let r=(0,e.ref)(`account`),i=Mn(),a=G(),o=(0,e.ref)(!1),s;return(0,e.onMounted)(()=>{s=a.onAuthStateChange((e,t)=>{e===`signed-out`&&(t.reason===`expired`||t.reason===`cross-tab`)?o.value=!0:e===`signed-in`&&(o.value=!1)})}),(0,e.onUnmounted)(()=>s?.()),(t,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`mrd-card mrd-card-lg mrd-profile-card`,(0,e.unref)(n).elementProps(`rootBox`).class]),style:(0,e.normalizeStyle)((0,e.unref)(n).rootStyle),"data-mrd":`user-profile`},[o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ic,` Your session has expired — please sign in again. `)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createElementVNode)(`nav`,Lc,[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`mrd-profile-tab`,{active:r.value===`account`}]),onClick:a[0]||=e=>r.value=`account`},` Account `,2),(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`mrd-profile-tab`,{active:r.value===`security`}]),onClick:a[1]||=e=>r.value=`security`},` Security `,2)]),(0,e.createElementVNode)(`div`,Rc,[r.value===`account`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,zc,[(0,e.createVNode)(ss,{user:(0,e.unref)(i)},null,8,[`user`]),(0,e.createVNode)(vs,{user:(0,e.unref)(i)},null,8,[`user`]),(0,e.createVNode)(Os)])):((0,e.openBlock)(),(0,e.createBlock)(Fc,{key:1}))])],64))],6))}}),Vc=[`aria-expanded`,`aria-label`],Hc=[`src`],Uc={key:1,class:`mrd-avatar`},Wc={class:`mrd-userbutton-header`},Gc=[`src`],Kc={key:1,class:`mrd-avatar mrd-avatar-lg`},qc={class:`mrd-userbutton-identity`},Jc={class:`mrd-userbutton-name`},Yc={key:0,class:`mrd-userbutton-email`},Xc=[`disabled`],Zc=(0,e.defineComponent)({__name:`UserButton`,props:{appearance:{}},emits:[`signOut`],setup(t,{emit:n}){let r=t,i=n,a=Ot(void 0,`userButton`,r.appearance);In();let o=kn(),s=(0,e.ref)(!1),c=(0,e.ref)(!1),l=(0,e.ref)(!1),u=(0,e.ref)(null),d=(0,e.ref)(null),{floatingStyles:f}=Io(u,d,{placement:`bottom-end`,middleware:[Oo(8),Ao(),ko({padding:8})],whileElementsMounted:Do}),p=(0,e.computed)(()=>o.user.value?fn(o.user.value):null),m=(0,e.computed)(()=>p.value?.displayName??``),h=(0,e.computed)(()=>p.value?.initials??`?`);function g(){return Array.from(d.value?.querySelectorAll(`[role="menuitem"]`)??[])}function _(){s.value=!s.value,s.value&&(0,e.nextTick)(()=>g()[0]?.focus())}function v(){s.value=!1,(0,e.nextTick)(()=>u.value?.focus())}function y(e){let t=g();if(!t.length)return;let n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1+t.length)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Escape`&&(e.preventDefault(),v())}let b=(0,e.ref)(!1);async function x(){if(!b.value){b.value=!0;try{await o.signOut(),s.value=!1,i(`signOut`)}catch{}finally{b.value=!1}}}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.unref)(o).isSignedIn.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:(0,e.normalizeClass)([`mrd-userbutton`,(0,e.unref)(a).elementProps(`avatarBox`).class]),style:(0,e.normalizeStyle)((0,e.unref)(a).rootStyle)},[(0,e.createElementVNode)(`button`,{ref_key:`avatarButtonRef`,ref:u,type:`button`,class:`mrd-avatar-button`,"aria-expanded":s.value,"aria-haspopup":`true`,"aria-label":m.value?`Account menu for ${m.value}`:`Account menu`,onClick:_},[(0,e.unref)(o).user.value?.avatarUrl&&!l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar`,src:(0,e.unref)(o).user.value.avatarUrl,alt:``,onError:n[0]||=e=>l.value=!0},null,40,Hc)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Uc,(0,e.toDisplayString)(h.value),1))],8,Vc),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`mrd-userbutton-backdrop`,onClick:v})):(0,e.createCommentVNode)(``,!0),s.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:d,class:`mrd-userbutton-menu`,role:`menu`,style:(0,e.normalizeStyle)((0,e.unref)(f)),onKeydown:y},[(0,e.createElementVNode)(`div`,Wc,[(0,e.unref)(o).user.value?.avatarUrl&&!l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`mrd-avatar mrd-avatar-lg`,src:(0,e.unref)(o).user.value.avatarUrl,alt:``,onError:n[1]||=e=>l.value=!0},null,40,Gc)):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Kc,(0,e.toDisplayString)(h.value),1)),(0,e.createElementVNode)(`div`,qc,[(0,e.createElementVNode)(`p`,Jc,(0,e.toDisplayString)(m.value),1),(0,e.unref)(o).user.value?.email===m.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Yc,(0,e.toDisplayString)((0,e.unref)(o).user.value?.email),1))])]),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-userbutton-menuitem`,"data-mrd-action":`manage-account`,role:`menuitem`,tabindex:`-1`,onClick:n[2]||=e=>{c.value=!0,s.value=!1}},` Manage account `),(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-userbutton-signout`,role:`menuitem`,tabindex:`-1`,disabled:b.value,onClick:x},(0,e.toDisplayString)(b.value?`Signing out…`:`Sign out`),9,Xc)],36)):(0,e.createCommentVNode)(``,!0)],6)):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)(Ro,{open:c.value,"aria-label":`Manage account`,"restore-focus-to":u.value,onClose:n[4]||=e=>c.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Bc,{onClose:n[3]||=e=>c.value=!1})]),_:1},8,[`open`,`restore-focus-to`])],64))}}),Qc=(0,e.defineComponent)({__name:`SignedIn`,setup(t){let n=jn();return(t,r)=>(0,e.unref)(n).isLoaded.value&&(0,e.unref)(n).isSignedIn.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.createCommentVNode)(``,!0)}}),$c=(0,e.defineComponent)({__name:`SignedOut`,setup(t){let n=jn();return(t,r)=>(0,e.unref)(n).isLoaded.value&&!(0,e.unref)(n).isSignedIn.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.createCommentVNode)(``,!0)}}),el=(0,e.defineComponent)({__name:`Protect`,props:{role:{}},setup(t){let n=t,r=jn(),i=(0,e.computed)(()=>r.isLoaded.value&&r.isSignedIn.value&&mn(r.sessionClaims.value,n.role));return(t,n)=>(0,e.unref)(r).isLoaded.value&&i.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.unref)(r).isLoaded.value?(0,e.renderSlot)(t.$slots,`fallback`,{key:1}):(0,e.createCommentVNode)(``,!0)}}),tl=(0,e.defineComponent)({__name:`RedirectToSignIn`,props:{signInUrl:{}},setup(t){let n=t,r=jn();return(0,e.watch)(()=>r.isLoaded.value,e=>{if(e&&!r.isSignedIn.value){let e=Sn(n.signInUrl);e&&(window.location.href=e)}},{immediate:!0}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`))}}),nl=(0,e.defineComponent)({__name:`SignInButton`,props:{mode:{default:`modal`},signInUrl:{default:`/sign-in`},signUpUrl:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);function o(){if(r.mode===`redirect`){let e=Sn(r.signInUrl);e&&(window.location.href=e);return}a.value=!0}function s(e){a.value=!1,i(`complete`,e)}return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`span`,{onClick:o},[(0,e.renderSlot)(n.$slots,`default`,{},()=>[r[1]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-primary`},`Sign in`,-1)])]),(0,e.createVNode)(Ro,{open:a.value,onClose:r[0]||=e=>a.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Ir,{"sign-up-url":t.signUpUrl,onComplete:s},null,8,[`sign-up-url`])]),_:1},8,[`open`])],64))}}),rl=(0,e.defineComponent)({__name:`SignUpButton`,props:{mode:{default:`modal`},signUpUrl:{default:`/sign-up`},signInUrl:{}},emits:[`complete`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);function o(){if(r.mode===`redirect`){let e=Sn(r.signUpUrl);e&&(window.location.href=e);return}a.value=!0}function s(e){a.value=!1,i(`complete`,e)}return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`span`,{onClick:o},[(0,e.renderSlot)(n.$slots,`default`,{},()=>[r[1]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-primary`},`Sign up`,-1)])]),(0,e.createVNode)(Ro,{open:a.value,onClose:r[0]||=e=>a.value=!1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Si,{"sign-in-url":t.signInUrl,onComplete:s},null,8,[`sign-in-url`])]),_:1},8,[`open`])],64))}}),il=(0,e.defineComponent)({__name:`SignOutButton`,props:{redirectUrl:{}},setup(t){let n=t,r=jn();async function i(){await r.signOut.value();let e=Sn(n.redirectUrl);e&&(window.location.href=e)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{onClick:i},[(0,e.renderSlot)(t.$slots,`default`,{},()=>[n[0]||=(0,e.createElementVNode)(`button`,{type:`button`,class:`mrd-button mrd-button-ghost`},`Sign out`,-1)])]))}});exports.Protect=el,exports.ProvidameError=U,exports.ProvidameKey=wn,exports.ProvidamePlugin=Tn,exports.RedirectToSignIn=tl,exports.ResetPassword=Qi,exports.SignIn=Ir,exports.SignInButton=nl,exports.SignOutButton=il,exports.SignUp=Si,exports.SignUpButton=rl,exports.SignedIn=Qc,exports.SignedOut=$c,exports.UserButton=Zc,exports.UserProfile=Bc,exports.useAuth=jn,exports.useBranding=In,exports.usePasskeyRegistrationLink=Ln,exports.useProvidame=G,exports.useResetPassword=An,exports.useSession=kn,exports.useSignIn=En,exports.useSignInIdp=Dn,exports.useSignUp=On,exports.useUser=Mn,exports.verifyToken=wt;
|
package/dist/providame-vue.js
CHANGED
|
@@ -1540,6 +1540,7 @@ var Kt = class {
|
|
|
1540
1540
|
_pendingSocialLoginError = null;
|
|
1541
1541
|
_brandingPromise = null;
|
|
1542
1542
|
_tabChannel = null;
|
|
1543
|
+
_cachedAccessToken = null;
|
|
1543
1544
|
constructor(e) {
|
|
1544
1545
|
this.transport = new xt({
|
|
1545
1546
|
apiBase: e.apiBase,
|
|
@@ -1588,7 +1589,8 @@ var Kt = class {
|
|
|
1588
1589
|
}
|
|
1589
1590
|
async _tryMe() {
|
|
1590
1591
|
try {
|
|
1591
|
-
|
|
1592
|
+
let e = Gt(await this.transport.get("/me"));
|
|
1593
|
+
return this._cachedAccessToken = e.accessToken ?? null, e;
|
|
1592
1594
|
} catch {
|
|
1593
1595
|
return null;
|
|
1594
1596
|
}
|
|
@@ -1604,11 +1606,24 @@ var Kt = class {
|
|
|
1604
1606
|
}
|
|
1605
1607
|
}
|
|
1606
1608
|
async signOut() {
|
|
1607
|
-
this._stopRefreshLoop(), await this.transport.post("/sign_out"), this._emit("signed-out", {
|
|
1609
|
+
this._stopRefreshLoop(), this._cachedAccessToken = null, await this.transport.post("/sign_out"), this._emit("signed-out", {
|
|
1608
1610
|
session: null,
|
|
1609
1611
|
reason: "explicit"
|
|
1610
1612
|
}), this._tabChannel?.postMessage({ type: "signed-out" });
|
|
1611
1613
|
}
|
|
1614
|
+
async getToken(e) {
|
|
1615
|
+
return !e?.skipCache && this._cachedAccessToken && !this._isTokenExpired(this._cachedAccessToken) ? this._cachedAccessToken : (await this.session())?.accessToken ?? null;
|
|
1616
|
+
}
|
|
1617
|
+
_isTokenExpired(e) {
|
|
1618
|
+
try {
|
|
1619
|
+
let t = e.split(".")[1];
|
|
1620
|
+
if (!t) return !0;
|
|
1621
|
+
let n = JSON.parse(atob(t.replace(/-/g, "+").replace(/_/g, "/")));
|
|
1622
|
+
return typeof n.exp == "number" ? Date.now() >= n.exp * 1e3 - 5e3 : !0;
|
|
1623
|
+
} catch {
|
|
1624
|
+
return !0;
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1612
1627
|
async configuration() {
|
|
1613
1628
|
return Ct(await this.transport.get("/.well-known/providame-configuration"));
|
|
1614
1629
|
}
|
|
@@ -1633,7 +1648,7 @@ var Kt = class {
|
|
|
1633
1648
|
return window.history.replaceState(window.history.state, "", r), t;
|
|
1634
1649
|
}
|
|
1635
1650
|
_notifySignedIn(e) {
|
|
1636
|
-
this._startRefreshLoop(e?.expiresAt), this._emit("signed-in", { session: e });
|
|
1651
|
+
this._cachedAccessToken = e?.accessToken ?? null, this._startRefreshLoop(e?.expiresAt), this._emit("signed-in", { session: e });
|
|
1637
1652
|
}
|
|
1638
1653
|
_emit(e, t) {
|
|
1639
1654
|
for (let n of this.listeners) try {
|
|
@@ -2455,29 +2470,25 @@ function nr() {
|
|
|
2455
2470
|
//#endregion
|
|
2456
2471
|
//#region src/composables/useAuth.ts
|
|
2457
2472
|
function rr() {
|
|
2458
|
-
let e = Q(), t = b(!1), n = b(!1), r = b(null), i = b(null)
|
|
2459
|
-
async function
|
|
2460
|
-
let [
|
|
2461
|
-
n.value = !!
|
|
2462
|
-
}
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
}
|
|
2466
|
-
async function c() {
|
|
2467
|
-
await e.signOut(), n.value = !1, r.value = null, i.value = null, a.value = null;
|
|
2468
|
-
}
|
|
2469
|
-
let l;
|
|
2473
|
+
let e = Q(), t = b(!1), n = b(!1), r = b(null), i = b(null);
|
|
2474
|
+
async function a() {
|
|
2475
|
+
let [a, o] = await Promise.all([e.session(), e.getClaims()]);
|
|
2476
|
+
n.value = !!a?.authenticated, i.value = o, r.value = o?.sub ?? null, t.value = !0;
|
|
2477
|
+
}
|
|
2478
|
+
let o = b((t) => e.getToken(t)), s = b(async () => {
|
|
2479
|
+
await e.signOut(), n.value = !1, r.value = null, i.value = null;
|
|
2480
|
+
}), c;
|
|
2470
2481
|
return h(() => {
|
|
2471
|
-
|
|
2472
|
-
|
|
2482
|
+
a(), c = e.onAuthStateChange(() => {
|
|
2483
|
+
a();
|
|
2473
2484
|
});
|
|
2474
|
-
}), _(() =>
|
|
2485
|
+
}), _(() => c?.()), {
|
|
2475
2486
|
isLoaded: t,
|
|
2476
2487
|
isSignedIn: n,
|
|
2477
2488
|
userId: r,
|
|
2478
2489
|
sessionClaims: i,
|
|
2479
|
-
getToken:
|
|
2480
|
-
signOut:
|
|
2490
|
+
getToken: o,
|
|
2491
|
+
signOut: s
|
|
2481
2492
|
};
|
|
2482
2493
|
}
|
|
2483
2494
|
//#endregion
|
|
@@ -5702,7 +5713,7 @@ var gs = ["aria-label"], _s = /* @__PURE__ */ l({
|
|
|
5702
5713
|
setup(e) {
|
|
5703
5714
|
let t = e, n = rr();
|
|
5704
5715
|
async function r() {
|
|
5705
|
-
await n.signOut();
|
|
5716
|
+
await n.signOut.value();
|
|
5706
5717
|
let e = Jn(t.redirectUrl);
|
|
5707
5718
|
e && (window.location.href = e);
|
|
5708
5719
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@providame/vue",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2-alpha.0",
|
|
4
4
|
"description": "Providame Vue 3 bindings — headless composables and prebuilt auth components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@floating-ui/vue": "^2.0.1",
|
|
41
|
-
"@providame/core": "0.0.
|
|
41
|
+
"@providame/core": "0.0.2-alpha.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^26.0.1",
|