@passflow/react 0.9.1 → 0.10.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.es.js +132 -122
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/src/components/provider/index.d.ts +2 -1
  7. package/dist/src/components/provider/index.d.ts.map +1 -1
  8. package/dist/src/components/provider/passflow-provider.d.ts +39 -5
  9. package/dist/src/components/provider/passflow-provider.d.ts.map +1 -1
  10. package/dist/src/components/provider/upgrade-provider.d.ts +49 -0
  11. package/dist/src/components/provider/upgrade-provider.d.ts.map +1 -0
  12. package/dist/src/components/ui/button/index.d.ts +12 -1
  13. package/dist/src/components/ui/button/index.d.ts.map +1 -1
  14. package/dist/src/components/ui/index.d.ts +2 -0
  15. package/dist/src/components/ui/index.d.ts.map +1 -1
  16. package/dist/src/components/ui/spinner/index.d.ts +23 -0
  17. package/dist/src/components/ui/spinner/index.d.ts.map +1 -0
  18. package/dist/src/components/ui/upgrade-dialog/challenge.d.ts +12 -0
  19. package/dist/src/components/ui/upgrade-dialog/challenge.d.ts.map +1 -0
  20. package/dist/src/components/ui/upgrade-dialog/factor-list.d.ts +20 -0
  21. package/dist/src/components/ui/upgrade-dialog/factor-list.d.ts.map +1 -0
  22. package/dist/src/components/ui/upgrade-dialog/index.d.ts +8 -0
  23. package/dist/src/components/ui/upgrade-dialog/index.d.ts.map +1 -0
  24. package/dist/src/components/ui/upgrade-dialog/state-mapping.d.ts +119 -0
  25. package/dist/src/components/ui/upgrade-dialog/state-mapping.d.ts.map +1 -0
  26. package/dist/src/components/ui/upgrade-dialog/status.d.ts +27 -0
  27. package/dist/src/components/ui/upgrade-dialog/status.d.ts.map +1 -0
  28. package/dist/src/components/ui/upgrade-dialog/types.d.ts +188 -0
  29. package/dist/src/components/ui/upgrade-dialog/types.d.ts.map +1 -0
  30. package/dist/src/components/ui/upgrade-dialog/upgrade-dialog.d.ts +13 -0
  31. package/dist/src/components/ui/upgrade-dialog/upgrade-dialog.d.ts.map +1 -0
  32. package/dist/src/context/index.d.ts +1 -0
  33. package/dist/src/context/index.d.ts.map +1 -1
  34. package/dist/src/context/upgrade-context.d.ts +85 -0
  35. package/dist/src/context/upgrade-context.d.ts.map +1 -0
  36. package/dist/src/hooks/index.d.ts +1 -0
  37. package/dist/src/hooks/index.d.ts.map +1 -1
  38. package/dist/src/hooks/use-upgrade.d.ts +43 -0
  39. package/dist/src/hooks/use-upgrade.d.ts.map +1 -0
  40. package/dist/src/index.d.ts +4 -1
  41. package/dist/src/index.d.ts.map +1 -1
  42. package/dist/src/utils/index.d.ts +1 -0
  43. package/dist/src/utils/index.d.ts.map +1 -1
  44. package/dist/src/utils/upgrade-auth.d.ts +38 -0
  45. package/dist/src/utils/upgrade-auth.d.ts.map +1 -0
  46. package/dist/style.css +1 -1
  47. package/package.json +4 -4
  48. package/dist/src/components/flow/upgrade-required-placeholder.d.ts +0 -21
  49. package/dist/src/components/flow/upgrade-required-placeholder.d.ts.map +0 -1
package/dist/index.es.js CHANGED
@@ -1,123 +1,133 @@
1
- import{eq as e,has as t,intersection as a,isEmpty as s,isUndefined as r,size as n,some as o}from"lodash";import*as i from"yup";import"dayjs";import l from"clsx";import{twMerge as c}from"tailwind-merge";import{Passflow as p,PassflowEvent as d,parseToken as u}from"@passflow/core";import{Fragment as h,jsx as m,jsxs as g}from"react/jsx-runtime";import*as f from"react";import w,{createContext as y,forwardRef as v,useCallback as x,useContext as C,useEffect as b,useId as k,useLayoutEffect as M,useMemo as N,useReducer as E,useRef as S,useState as L}from"react";import I from"query-string";import{getCountryForTimezone as A}from"countries-and-timezones";import{defaultCountries as P,parseCountry as T,usePhoneInput as _}from"react-international-phone";import*as F from"@radix-ui/react-popover";import*as R from"@radix-ui/react-dialog";import{phone as U}from"phone";import{Controller as Y,useForm as z}from"react-hook-form";import{Helmet as j,HelmetProvider as B}from"react-helmet-async";import G from"react-otp-input";import{ErrorBoundary as V}from"react-error-boundary";import"react-dom";export*from"@passflow/core";window.passflowReactAppVersion=()=>{console.log("App Version: 0.9.1")};var D=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,H=e=>i.string().required().test({test:t=>{const a=[];if(e){const{min_password_length:s,require_lowercase:r,require_number:o,require_symbol:i,require_uppercase:l}=e;n(t)<s&&a.push("length"),l&&!/[A-Z]/.test(t)&&a.push("uppercase"),r&&!/[a-z]/.test(t)&&a.push("lowercase"),o&&!/\d/.test(t)&&a.push("number"),i&&!/[!@#$%^&*()_+{}[\]:;<>,.?~\\-]/.test(t)&&a.push("symbol")}if(a.length>0){const e={errors:a,inner:!0,path:"password",field:"password",message:a,value:t,name:"ValidationError"};return new i.ValidationError(e,t,"password")}return!0}}),O=e=>{try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},Z=async(e,t,a="hash")=>{const s=await e.getTokens(!1);if(s){s.scopes=void 0;const e=Object.entries(s).filter(([e,t])=>t).map(([e,t])=>`${e}=${encodeURIComponent(t)}`).join("&");return"hash"===a?`${t}#${e}`:`${t}?${e}`}return t},J=(...e)=>c(l(e));function W(e){return t=>{try{return e(t)}catch(a){return}}}var q=t=>{const a={internal:{username:{password:!1},email:{password:!1,otp:!1,magicLink:!1},phone:{password:!1,otp:!1,magicLink:!1}},fim:{providers:[]},passkey:!1,hasEmailMethods:!1,hasSignInEmailMethods:!1,hasPhoneMethods:!1,hasSignInPhoneMethods:!1,hasUsernameMethods:!1,hasSignInUsernameMethods:!1};if(!t)return a;for(const s of t){const{identity:t,challenge:r,fim_type:n}=s.strategy;switch(s.type){case"internal":switch(t){case"email":e(r,"magic_link")?a.internal.email.magicLink=!0:a.internal.email[r]=!0,a.hasEmailMethods=!0,(a.internal.email.magicLink||a.internal.email.otp||a.internal.email.password)&&(a.hasSignInEmailMethods=!0);break;case"phone":e(r,"magic_link")?a.internal.phone.magicLink=!0:a.internal.phone[r]=!0,a.hasPhoneMethods=!0,(a.internal.phone.magicLink||a.internal.phone.otp||a.internal.phone.password)&&(a.hasSignInPhoneMethods=!0);break;case"username":a.internal.username[r]=!0,a.hasUsernameMethods=!0,a.internal.username.password&&(a.hasSignInUsernameMethods=!0);break;default:throw new Error(`Unsupported identity type: ${t}`)}break;case"fim":a.fim.providers.push(n);break;case"passkey":a.passkey=!0;break;default:throw new Error(`Unsupported strategy type: ${s.type}`)}}return a},K=(t,a)=>t.hasSignInEmailMethods&&t.hasSignInUsernameMethods?e(a,"label")?"Email or username":"Use email or username":t.hasSignInEmailMethods?e(a,"label")?"Email":"Use email":t.hasSignInUsernameMethods?e(a,"label")?"Username":"Use username":null,Q=(t,a)=>{if(e(a,"phone")){if(t.internal.phone.otp)return{label:"SMS code",challengeType:"otp"};if(t.internal.phone.magicLink)return{label:"SMS link",challengeType:"magic_link"}}if(e(a,"email_or_username")){if(t.internal.email.otp)return{label:"email code",challengeType:"otp"};if(t.internal.email.magicLink)return{label:"email link",challengeType:"magic_link"}}return null},X=e=>{const t=(a=window.location.search,(new DOMParser).parseFromString(a,"text/html").documentElement.textContent||"");var a;const s=new URLSearchParams(t);if(e){let t=!1;for(const[a,r]of Object.entries(e))s.has(a)||""===r||(s.set(a,r),t=!0);if(t){const e=`${window.location.pathname}${s.toString()?`?${s.toString()}`:""}${window.location.hash}`;window.history.replaceState(null,"",e)}}return{getAll:()=>{const e={};for(const[t,a]of s.entries())e[t]=a;return e},get:e=>{const t=s.get(e);return""===t?null:t},set:e=>{const t=new URLSearchParams(window.location.search);for(const[s,r]of Object.entries(e))null==r||""===r?t.delete(s):t.set(s,r);const a=`${window.location.pathname}${t.toString()?`?${t.toString()}`:""}${window.location.hash}`;window.history.pushState(null,"",a)}}},$=e=>{const t=new URLSearchParams(e?e.split("?")[1]:window.location.search),a=t.get("error"),s=t.get("message");return{error:a,message:s?decodeURIComponent(s):null}},ee={expired:["2FA verification expired or not required","verification expired","session expired","verification not required"],not_enabled:["Two-factor authentication is not enabled for this user","2FA is not enabled","two-factor not enabled"],invalid_code:["invalid code","incorrect code","code mismatch","wrong code","invalid 2fa code"]};function te(e){switch(e.type){case"expired":return"Your session has expired. Redirecting to sign in...";case"not_enabled":return"Two-factor authentication is not enabled for your account. Please contact your administrator to enable 2FA.";case"invalid_code":return"Invalid code. Please check your authenticator app and try again.";default:return e.message}}var ae={code_required:"Enter the code shown on your device to continue.",code_invalid:"That code isn't right. Check the code on your device and enter it again.",code_expired:"This code has expired. Start again on your device to get a new one.",code_declined:"This request was already declined. Start again on your device if you still want to sign in.",code_already_approved:"This device is already signed in. You can close this page and head back to it.",too_many_attempts:"Too many incorrect codes were entered. Wait a few minutes, then try again.",mode_disabled:"This app can't be signed in to this way. Ask whoever set it up to turn on QR sign-in, or sign in from your computer instead.",app_unavailable:"The app that asked you to sign in is no longer available. Start again from your device.",bad_credentials:"That email or password isn't right.",missing_credentials:"Enter your email and password to continue.",account_blocked:"This account has been blocked. Contact whoever manages it for help.",passkey_failed:"We couldn't confirm your passkey. You may have cancelled it, waited too long, or there may be no passkey for this site on this device.",passkey_unsupported:"This device can't use a passkey to sign in here. Use a device you've set up a passkey on, or return to the app that asked you to sign in and start again.",offline:"We couldn't reach the server. Check your connection and try again.",generic:"Something went wrong on our end. Refresh the page and try again."},se=/* @__PURE__ */new Set(["code_required","code_invalid","bad_credentials","missing_credentials","passkey_failed","offline","generic"]),re={code_required:"code_required",invalid_user_code:"code_invalid",unknown_user_code:"code_invalid",expired_user_code:"code_expired",denied:"code_declined",already_approved:"code_already_approved",too_many_attempts:"too_many_attempts",mode_disabled:"mode_disabled",unknown_client:"app_unavailable",passkey_unavailable:"app_unavailable",unavailable:"app_unavailable",bad_credentials:"bad_credentials",missing_credentials:"missing_credentials",blocked:"account_blocked",passkey_failed:"passkey_failed"},ne={NotAllowedError:"passkey_failed",AbortError:"passkey_failed",TimeoutError:"passkey_failed",UnknownError:"passkey_failed",NotSupportedError:"passkey_unsupported",InvalidStateError:"passkey_unsupported",ConstraintError:"passkey_unsupported",SecurityError:"passkey_unsupported"},oe=["resident credentials","allowcredentials","not supported at this time","discoverable credentials","is not supported"],ie=class extends Error{reason;code;status;constructor(e){super(e.description||e.code||`device request failed (${e.status})`),this.name="DeviceApiError",this.reason=e.reason,this.code=e.code,this.status=e.status}},le=(e,t)=>({type:e,message:ae[e],detail:t,isRecoverable:se.has(e)});function ce(e){if(e instanceof ie){const t=re[e.reason]??"generic";return le(t,`${e.code}${e.reason?`/${e.reason}`:""}: ${e.message}`)}if((e=>"object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)(e)){const t=e.name,a="string"==typeof e.message?e.message:"",s=a?`${t}: ${a}`:t,r=a.toLowerCase();if(oe.some(e=>r.includes(e)))return le("passkey_unsupported",s);const n=ne[t];return le(n?n:"TypeError"===t?"offline":"generic",s)}return le("generic","string"==typeof e?e:void 0)}function pe(e,t){return le(e,t)}var de={"sign-in":{password:{message:"We couldn't sign you in. Check your details and try again.",scope:"credentials"},passwordless:{message:"We couldn't start passwordless sign-in. Check your connection and try again.",scope:"form"},passkey:{message:"We couldn't complete passkey sign-in. Try again or use another sign-in method.",scope:"form"}},"sign-up":{password:{message:"We couldn't create your account. Check the information you entered and try again.",scope:"form"},passwordless:{message:"We couldn't start passwordless registration. Check your connection and try again.",scope:"form"},passkey:{message:"We couldn't create your account with a passkey. Try again or choose another method.",scope:"form"}}},ue="We couldn't continue this authentication request. Return to the app and try again.",he="This verification link is invalid or incomplete. Request a new link or code and try again.",me="This verification request is no longer available. Start again to request a new link or code.",ge=(e,t)=>de[e][t],fe={"sign-in":{title:"Sign in",completion:"sign in"},"sign-up":{title:"Create your account",completion:"create your account"}},we=(e,t)=>{if(!e)return null;const a=W(u)(e),s=a?.tenant_name?.trim(),r=a?.inviter_name?.trim(),n=fe[t];return{title:s?`${n.title} to join ${s}.`:`${n.title} to continue your invitation.`,subtitle:r?`${r} invited you. After you ${n.completion}, you'll continue to the invitation.`:`After you ${n.completion}, you'll continue to the invitation.`}},ye="passflow_2fa",ve=`${ye}_redirect_count`,xe=`${ye}_last_error_type`,Ce={canRedirect(){try{return this.getRedirectCount()<3}catch{return!0}},incrementRedirect(){try{const e=this.getRedirectCount();sessionStorage.setItem(ve,String(e+1))}catch{}},getRedirectCount(){try{const e=sessionStorage.getItem(ve);return e?Number.parseInt(e,10):0}catch{return 0}},reset(){try{sessionStorage.removeItem(ve),sessionStorage.removeItem(xe)}catch{}},setLastErrorType(e){try{sessionStorage.setItem(xe,e)}catch{}},getLastErrorType(){try{return sessionStorage.getItem(xe)}catch{return null}},isRepeatingError(e){return this.getLastErrorType()===e&&this.getRedirectCount()>0},getLoopDetectedMessage:()=>"Unable to complete authentication. This may be a configuration issue. Please contact support."},be={ad:"-48px -27px",ae:"-72px -27px",af:"-96px -27px",ag:"-120px -27px",ai:"-144px -27px",al:"-168px -27px",am:"-192px -27px",an:"-216px -27px",ao:"-240px -27px",aq:"-264px -27px",ar:"-288px -27px",as:"-312px -27px",at:"-336px -27px",au:"-360px -27px",aw:"-384px -27px",ax:"-0px -51px",az:"-24px -51px",ba:"-48px -51px",bb:"-72px -51px",bd:"-96px -51px",be:"-120px -51px",bf:"-144px -51px",bg:"-168px -51px",bh:"-192px -51px",bi:"-216px -51px",bj:"-240px -51px",bl:"-264px -51px",bm:"-288px -51px",bn:"-312px -51px",bo:"-336px -51px",br:"-360px -51px",bs:"-384px -51px",bt:"-0px -75px",bw:"-24px -75px",by:"-48px -75px",bz:"-72px -75px",ca:"-96px -75px",cc:"-120px -75px",cd:"-144px -75px",cf:"-168px -75px",cg:"-192px -75px",ch:"-216px -75px",ci:"-240px -75px",ck:"-264px -75px",cl:"-288px -75px",cm:"-312px -75px",cn:"-336px -75px",co:"-360px -75px",cr:"-384px -75px",cu:"-0px -99px",cv:"-24px -99px",cw:"-48px -99px",cx:"-72px -99px",cy:"-96px -99px",cz:"-120px -99px",de:"-144px -99px",dj:"-168px -99px",dk:"-192px -99px",dm:"-216px -99px",do:"-240px -99px",dz:"-264px -99px",ec:"-288px -99px",ee:"-312px -99px",eg:"-336px -99px",eh:"-360px -99px",er:"-384px -99px",es:"-0px -123px",et:"-24px -123px",eu:"-48px -123px",fi:"-72px -123px",fj:"-96px -123px",fk:"-120px -123px",fm:"-144px -123px",fo:"-168px -123px",fr:"-192px -123px",ga:"-216px -123px",gb:"-240px -123px",gd:"-264px -123px",ge:"-288px -123px",gg:"-312px -123px",gh:"-336px -123px",gi:"-360px -123px",gl:"-384px -123px",gm:"-0px -147px",gn:"-24px -147px",gq:"-48px -147px",gr:"-72px -147px",gs:"-96px -147px",gt:"-120px -147px",gu:"-144px -147px",gw:"-168px -147px",gy:"-192px -147px",hk:"-216px -147px",hn:"-240px -147px",hr:"-264px -147px",ht:"-288px -147px",hu:"-312px -147px",ic:"-336px -147px",id:"-360px -147px",ie:"-384px -147px",il:"-0px -171px",im:"-24px -171px",in:"-48px -171px",iq:"-72px -171px",ir:"-96px -171px",is:"-120px -171px",it:"-144px -171px",je:"-168px -171px",jm:"-192px -171px",jo:"-216px -171px",jp:"-240px -171px",ke:"-264px -171px",kg:"-288px -171px",kh:"-312px -171px",ki:"-336px -171px",xk:"-144px 3px",km:"-360px -171px",kn:"-384px -171px",kp:"-0px -195px",kr:"-24px -195px",kw:"-48px -195px",ky:"-72px -195px",kz:"-96px -195px",la:"-120px -195px",lb:"-144px -195px",lc:"-168px -195px",li:"-192px -195px",lk:"-216px -195px",lr:"-240px -195px",ls:"-264px -195px",lt:"-288px -195px",lu:"-312px -195px",lv:"-336px -195px",ly:"-360px -195px",ma:"-384px -195px",mc:"-0px -219px",md:"-24px -219px",me:"-48px -219px",mf:"-72px -219px",mg:"-96px -219px",mh:"-120px -219px",mk:"-144px -219px",ml:"-168px -219px",mm:"-192px -219px",mn:"-216px -219px",mo:"-240px -219px",mp:"-264px -219px",mq:"-288px -219px",mr:"-312px -219px",ms:"-336px -219px",mt:"-360px -219px",mu:"-384px -219px",mv:"-0px -243px",mw:"-24px -243px",mx:"-48px -243px",my:"-72px -243px",mz:"-96px -243px",na:"-120px -243px",nc:"-144px -243px",ne:"-168px -243px",nf:"-192px -243px",ng:"-216px -243px",ni:"-240px -243px",nl:"-264px -243px",no:"-288px -243px",np:"-312px -243px",nr:"-336px -243px",nu:"-360px -243px",nz:"-384px -243px",om:"-0px -267px",pa:"-24px -267px",pe:"-48px -267px",pf:"-72px -267px",pg:"-96px -267px",ph:"-120px -267px",pk:"-192px -267px",pl:"-216px -267px",pn:"-240px -267px",pr:"-264px -267px",ps:"-288px -267px",pt:"-312px -267px",pw:"-336px -267px",py:"-360px -267px",qa:"-384px -267px",ro:"-0px -291px",rs:"-24px -291px",ru:"-48px -291px",rw:"-72px -291px",sa:"-96px -291px",sb:"-120px -291px",sc:"-144px -291px",sd:"-168px -291px",se:"-192px -291px",sg:"-216px -291px",sh:"-240px -291px",si:"-264px -291px",sk:"-288px -291px",sl:"-312px -291px",sm:"-336px -291px",sn:"-360px -291px",so:"-384px -291px",sr:"-0px -315px",ss:"-24px -315px",st:"-48px -315px",sv:"-72px -315px",sy:"-96px -315px",sz:"-120px -315px",tc:"-144px -315px",td:"-168px -315px",tf:"-192px -315px",tg:"-216px -315px",th:"-240px -315px",tj:"-264px -315px",tk:"-288px -315px",tl:"-312px -315px",tm:"-336px -315px",tn:"-360px -315px",to:"-384px -315px",tr:"-0px -339px",tt:"-24px -339px",tv:"-48px -339px",tw:"-72px -339px",tz:"-96px -339px",ua:"-120px -339px",ug:"-144px -339px",us:"-168px -339px",uy:"-192px -339px",uz:"-216px -339px",va:"-240px -339px",vc:"-264px -339px",ve:"-288px -339px",vg:"-312px -339px",vi:"-336px -339px",vn:"-360px -339px",vu:"-384px -339px",wf:"-0px -363px",ws:"-24px -363px",ye:"-48px -363px",za:"-96px -363px",zm:"-120px -363px",zw:"-144px -363px"},ke={bq:"nl",gf:"fr",gp:"fr",io:"gb",pm:"fr",re:"fr",yt:"fr"},Me=({iso2:e,className:t})=>{const a=(e=>{const t=e.trim().toLowerCase(),a=ke[t]??t;return a in be?a:null})(e);if(!a)/* @__PURE__ */return m("span",{"aria-hidden":"true",className:J("passflow-country-flag passflow-country-flag--fallback",t),"data-country-flag":e.toLowerCase(),children:e.slice(0,2).toUpperCase()||"–"});const s={backgroundImage:"url(data:image/png;base64,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)",backgroundPosition:be[a]};/* @__PURE__ */
2
- return m("span",{"aria-hidden":"true",className:J("passflow-country-flag",t),"data-country-flag":e.toLowerCase(),style:s})},Ne="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.9289%2012.9289H10.8545V9.68033C10.8545%208.90563%2010.8407%207.90839%209.77562%207.90839C8.69517%207.90839%208.52983%208.7524%208.52983%209.62391V12.9287H6.45547V6.24817H8.44688V7.16113H8.47481C8.88025%206.46785%209.63695%206.05224%2010.4396%206.08204C12.5421%206.08204%2012.9297%207.46497%2012.9297%209.2641L12.9289%2012.9289ZM4.11485%205.33497C3.45446%205.33497%202.91079%204.79161%202.91079%204.1312C2.91079%203.47081%203.45421%202.92738%204.1146%202.92738C4.77493%202.92738%205.31829%203.47068%205.31841%204.13096C5.31841%204.79123%204.77512%205.33491%204.11485%205.33497ZM5.15203%2012.9289H3.07549V6.24817H5.15203V12.9289ZM13.963%201.00097H2.03305C1.47303%200.994641%201.00683%201.45002%201%202.01004V13.9897C1.00658%2014.55%201.47272%2015.0059%202.03305%2014.9999H13.963C14.5247%2015.007%2014.9925%2014.5511%2015%2013.9897V2.00923C14.9925%201.44802%2014.5241%200.992699%2013.963%201.00009V1.00097Z'%20fill='%230A66C2'/%3e%3c/svg%3e",Ee=({type:e,id:t,size:a,className:s="",decorative:r=!1,matchTextColor:n=!1})=>{const o={"passflow-icon--small":"small"===a,"passflow-icon--medium":"medium"===a,"passflow-icon--big":"big"===a,"passflow-icon--large":"large"===a},i={general:{logo:"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='8'%20fill='%231E1E1E'%20/%3e%3cpath%20d='M21.2532%2031H13.6932V12.52H24.9012C25.9252%2012.52%2026.8612%2012.72%2027.7092%2013.12C28.5732%2013.504%2029.2612%2014.184%2029.7732%2015.16C30.2852%2016.12%2030.5412%2017.456%2030.5412%2019.168C30.5412%2020.848%2030.2772%2022.184%2029.7492%2023.176C29.2212%2024.152%2028.5252%2024.856%2027.6612%2025.288C26.8132%2025.704%2025.8932%2025.912%2024.9012%2025.912H21.2532V31ZM23.1252%2018.592H20.8212V19.888H23.1972C23.3252%2019.888%2023.4612%2019.848%2023.6052%2019.768C23.7652%2019.688%2023.8452%2019.52%2023.8452%2019.264C23.8452%2018.992%2023.7572%2018.816%2023.5812%2018.736C23.4052%2018.64%2023.2532%2018.592%2023.1252%2018.592Z'%20fill='white'%20/%3e%3c/svg%3e","logo-red":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='8'%20fill='%23D85D5D'%20/%3e%3cpath%20d='M21.2532%2031H13.6932V12.52H24.9012C25.9252%2012.52%2026.8612%2012.72%2027.7092%2013.12C28.5732%2013.504%2029.2612%2014.184%2029.7732%2015.16C30.2852%2016.12%2030.5412%2017.456%2030.5412%2019.168C30.5412%2020.848%2030.2772%2022.184%2029.7492%2023.176C29.2212%2024.152%2028.5252%2024.856%2027.6612%2025.288C26.8132%2025.704%2025.8932%2025.912%2024.9012%2025.912H21.2532V31ZM23.1252%2018.592H20.8212V19.888H23.1972C23.3252%2019.888%2023.4612%2019.848%2023.6052%2019.768C23.7652%2019.688%2023.8452%2019.52%2023.8452%2019.264C23.8452%2018.992%2023.7572%2018.816%2023.5812%2018.736C23.4052%2018.64%2023.2532%2018.592%2023.1252%2018.592Z'%20fill='white'%20/%3e%3c/svg%3e",warning:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_823)'%3e%3cpath%20d='M7.99992%205.33334V8M7.99992%2010.6667H8.00659M14.6666%208C14.6666%2011.6819%2011.6818%2014.6667%207.99992%2014.6667C4.31802%2014.6667%201.33325%2011.6819%201.33325%208C1.33325%204.3181%204.31802%201.33334%207.99992%201.33334C11.6818%201.33334%2014.6666%204.3181%2014.6666%208Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_823'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",mail:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.33337%204.66666L6.77665%208.47696C7.21743%208.78551%207.43783%208.93978%207.67755%208.99954C7.8893%209.05232%208.11078%209.05232%208.32253%208.99954C8.56226%208.93978%208.78265%208.78551%209.22343%208.47696L14.6667%204.66666M4.53337%2013.3333H11.4667C12.5868%2013.3333%2013.1469%2013.3333%2013.5747%2013.1153C13.951%2012.9236%2014.257%2012.6176%2014.4487%2012.2413C14.6667%2011.8135%2014.6667%2011.2534%2014.6667%2010.1333V5.86666C14.6667%204.74656%2014.6667%204.18651%2014.4487%203.75868C14.257%203.38236%2013.951%203.0764%2013.5747%202.88465C13.1469%202.66666%2012.5868%202.66666%2011.4667%202.66666H4.53337C3.41327%202.66666%202.85322%202.66666%202.42539%202.88465C2.04907%203.0764%201.74311%203.38236%201.55136%203.75868C1.33337%204.18651%201.33337%204.74656%201.33337%205.86666V10.1333C1.33337%2011.2534%201.33337%2011.8135%201.55136%2012.2413C1.74311%2012.6176%202.04907%2012.9236%202.42539%2013.1153C2.85322%2013.3333%203.41327%2013.3333%204.53337%2013.3333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",edit:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.6231%206.86026L9.13975%204.37687M2%2014L4.10117%2013.7665C4.35789%2013.738%204.48624%2013.7238%204.60622%2013.6849C4.71266%2013.6505%204.81395%2013.6018%204.90735%2013.5402C5.01263%2013.4708%205.10395%2013.3794%205.28659%2013.1968L13.4857%204.99772C14.1714%204.31195%2014.1714%203.2001%2013.4857%202.51433C12.7999%201.82856%2011.6881%201.82856%2011.0023%202.51433L2.80321%2010.7134C2.62056%2010.896%202.52924%2010.9874%202.45982%2011.0926C2.39823%2011.186%202.34955%2011.2873%202.31509%2011.3938C2.27625%2011.5138%202.26199%2011.6421%202.23346%2011.8988L2%2014Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","eye-on":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.61342%208.47545C1.52262%208.33169%201.47723%208.25981%201.45182%208.14895C1.43273%208.06567%201.43273%207.93434%201.45182%207.85106C1.47723%207.74019%201.52262%207.66831%201.61341%207.52455C2.36369%206.33656%204.59693%203.33334%208.00027%203.33334C11.4036%203.33334%2013.6369%206.33656%2014.3871%207.52455C14.4779%207.66831%2014.5233%207.74019%2014.5487%207.85106C14.5678%207.93434%2014.5678%208.06567%2014.5487%208.14895C14.5233%208.25981%2014.4779%208.33169%2014.3871%208.47545C13.6369%209.66344%2011.4036%2012.6667%208.00027%2012.6667C4.59693%2012.6667%202.36369%209.66344%201.61342%208.47545Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00027%2010C9.10484%2010%2010.0003%209.10457%2010.0003%208C10.0003%206.89543%209.10484%206%208.00027%206C6.8957%206%206.00027%206.89543%206.00027%208C6.00027%209.10457%206.8957%2010%208.00027%2010Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","eye-off":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.16196%203.39488C7.4329%203.35482%207.7124%203.33333%208.00028%203.33333C11.4036%203.33333%2013.6369%206.33656%2014.3871%207.52455C14.4779%207.66833%2014.5233%207.74023%2014.5488%207.85112C14.5678%207.93439%2014.5678%208.06578%2014.5487%208.14905C14.5233%208.25993%2014.4776%208.3323%2014.3861%208.47705C14.1862%208.79343%2013.8814%209.23807%2013.4777%209.7203M4.48288%204.47669C3.0415%205.45447%202.06297%206.81292%201.61407%207.52352C1.52286%207.66791%201.47725%207.74011%201.45183%207.85099C1.43273%207.93426%201.43272%208.06563%201.45181%208.14891C1.47722%208.25979%201.52262%208.33168%201.61342%208.47545C2.36369%209.66344%204.59694%2012.6667%208.00028%2012.6667C9.37255%2012.6667%2010.5546%2012.1784%2011.5259%2011.5177M2.00028%202L14.0003%2014M6.58606%206.58579C6.22413%206.94772%206.00028%207.44772%206.00028%208C6.00028%209.10457%206.89571%2010%208.00028%2010C8.55256%2010%209.05256%209.77614%209.41449%209.41421'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",search:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%2014L11.1%2011.1M12.6667%207.33333C12.6667%2010.2789%2010.2789%2012.6667%207.33333%2012.6667C4.38781%2012.6667%202%2010.2789%202%207.33333C2%204.38781%204.38781%202%207.33333%202C10.2789%202%2012.6667%204.38781%2012.6667%207.33333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","caret-down":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%206L8%2010L12%206H4Z'%20fill='%236B6F76'/%3e%3c/svg%3e",label:"data:image/svg+xml,%3csvg%20width='43'%20height='10'%20viewBox='0%200%2043%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.91%209H5.346L5.236%207.988H3.674L3.564%209H0L2.178%200.53H6.732L8.91%209ZM4.158%203.665L4.037%204.721H4.873L4.752%203.665H4.158ZM16.6389%206.712C16.5215%207.482%2016.1145%208.087%2015.4179%208.527C14.7212%208.95967%2013.8082%209.176%2012.6789%209.176C11.5495%209.176%2010.6365%208.95967%209.93988%208.527C9.25054%208.09433%208.84354%207.49667%208.71888%206.734C8.68954%206.52867%208.66388%206.25367%208.64188%205.909C8.62721%205.557%208.61988%205.17933%208.61988%204.776C8.61988%204.38733%208.62721%204.028%208.64188%203.698C8.66388%203.36067%208.68954%203.09667%208.71888%202.906C8.84354%202.09933%209.25421%201.47233%209.95088%201.025C10.6475%200.577666%2011.5569%200.354%2012.6789%200.354C13.8082%200.354%2014.7212%200.577666%2015.4179%201.025C16.1145%201.465%2016.5215%202.07733%2016.6389%202.862C16.6682%203.05267%2016.6902%203.31667%2016.7049%203.654C16.7269%203.984%2016.7379%204.347%2016.7379%204.743C16.7379%205.161%2016.7269%205.54233%2016.7049%205.887C16.6902%206.23167%2016.6682%206.50667%2016.6389%206.712ZM12.9759%206.206V3.324C12.9759%203.126%2012.8769%203.027%2012.6789%203.027C12.4809%203.027%2012.3819%203.126%2012.3819%203.324V6.206C12.3819%206.404%2012.4809%206.503%2012.6789%206.503C12.8769%206.503%2012.9759%206.404%2012.9759%206.206ZM25.1574%206.712C25.0401%207.482%2024.6331%208.087%2023.9364%208.527C23.2398%208.95967%2022.3268%209.176%2021.1974%209.176C20.0681%209.176%2019.1551%208.95967%2018.4584%208.527C17.7691%208.09433%2017.3621%207.49667%2017.2374%206.734C17.2081%206.52867%2017.1824%206.25367%2017.1604%205.909C17.1458%205.557%2017.1384%205.17933%2017.1384%204.776C17.1384%204.38733%2017.1458%204.028%2017.1604%203.698C17.1824%203.36067%2017.2081%203.09667%2017.2374%202.906C17.3621%202.09933%2017.7728%201.47233%2018.4694%201.025C19.1661%200.577666%2020.0754%200.354%2021.1974%200.354C22.3268%200.354%2023.2398%200.577666%2023.9364%201.025C24.6331%201.465%2025.0401%202.07733%2025.1574%202.862C25.1868%203.05267%2025.2088%203.31667%2025.2234%203.654C25.2454%203.984%2025.2564%204.347%2025.2564%204.743C25.2564%205.161%2025.2454%205.54233%2025.2234%205.887C25.2088%206.23167%2025.1868%206.50667%2025.1574%206.712ZM21.4944%206.206V3.324C21.4944%203.126%2021.3954%203.027%2021.1974%203.027C20.9994%203.027%2020.9004%203.126%2020.9004%203.324V6.206C20.9004%206.404%2020.9994%206.503%2021.1974%206.503C21.3954%206.503%2021.4944%206.404%2021.4944%206.206ZM33.555%200.53V3.797H31.432V9H27.769V3.797H25.635V0.53H33.555ZM38.4495%202.906V0.53H42.0135V9H38.4495V6.272H37.5585V9H33.9945V0.53H37.5585V2.906H38.4495Z'%20fill='%236B6F76'/%3e%3c/svg%3e",close:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.6666%2010.6667L7.99993%208.00001M7.99993%208.00001L5.33325%205.33333M7.99993%208.00001L10.6666%205.33333M7.99993%208.00001L5.33325%2010.6667'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",check:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%208L6.82843%2010.8284L12.4847%205.17155'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",key:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.1111%206.1333C11.1111%205.81483%2010.9896%205.49636%2010.7466%205.25338C10.5037%205.01039%2010.1852%204.88889%209.86669%204.88889M9.86669%209.86667C11.9286%209.86667%2013.6%208.1952%2013.6%206.13333C13.6%204.07147%2011.9286%202.4%209.86669%202.4C7.80483%202.4%206.13336%204.07147%206.13336%206.13333C6.13336%206.30362%206.14476%206.47125%206.16684%206.63549C6.20316%206.90562%206.22131%207.04069%206.20909%207.12615C6.19636%207.21516%206.18015%207.26313%206.13627%207.34163C6.09416%207.41698%206.01993%207.4912%205.87148%207.63965L2.69162%2010.8195C2.584%2010.9271%202.53019%2010.9809%202.49171%2011.0437C2.4576%2011.0994%202.43246%2011.1601%202.41722%2011.2236C2.40002%2011.2952%202.40002%2011.3713%202.40002%2011.5235V12.6044C2.40002%2012.9529%202.40002%2013.1272%202.46784%2013.2603C2.5275%2013.3773%202.62269%2013.4725%202.73976%2013.5322C2.87286%2013.6%203.0471%2013.6%203.39558%2013.6H4.88891V12.3556H6.13336V11.1111H7.3778L8.36037%2010.1285C8.50882%209.98009%208.58305%209.90587%208.6584%209.86375C8.73689%209.81988%208.78486%209.80367%208.87388%209.79093C8.95933%209.77871%209.0944%209.79687%209.36453%209.83319C9.52878%209.85527%209.6964%209.86667%209.86669%209.86667Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",phone:"data:image/svg+xml,%3csvg%20width='17'%20height='16'%20viewBox='0%200%2017%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.49998%2011.6666H8.50665M5.96665%2014.6666H11.0333C11.78%2014.6666%2012.1534%2014.6666%2012.4386%2014.5213C12.6895%2014.3934%2012.8935%2014.1895%2013.0213%2013.9386C13.1666%2013.6534%2013.1666%2013.28%2013.1666%2012.5333V3.46659C13.1666%202.71985%2013.1666%202.34648%2013.0213%202.06126C12.8935%201.81038%2012.6895%201.60641%2012.4386%201.47858C12.1534%201.33325%2011.78%201.33325%2011.0333%201.33325H5.96665C5.21991%201.33325%204.84654%201.33325%204.56133%201.47858C4.31044%201.60641%204.10647%201.81038%203.97864%202.06126C3.83331%202.34648%203.83331%202.71985%203.83331%203.46659V12.5333C3.83331%2013.28%203.83331%2013.6534%203.97864%2013.9386C4.10647%2014.1895%204.31044%2014.3934%204.56133%2014.5213C4.84654%2014.6666%205.21991%2014.6666%205.96665%2014.6666ZM8.83331%2011.6666C8.83331%2011.8507%208.68407%2011.9999%208.49998%2011.9999C8.31588%2011.9999%208.16665%2011.8507%208.16665%2011.6666C8.16665%2011.4825%208.31588%2011.3333%208.49998%2011.3333C8.68407%2011.3333%208.83331%2011.4825%208.83331%2011.6666Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","one-password":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cg%20clip-path='url(%23clip0_2691_4730)'%3e%3cpath%20d='M20.8039%2020.4084V18.2344C20.8039%2017.9893%2021.0026%2017.7906%2021.2477%2017.7906H22.7785C23.0236%2017.7906%2023.2222%2017.9893%2023.2222%2018.2344V22.2139C23.2222%2022.2748%2023.1918%2022.3212%2023.1614%2022.3669L22.7785%2022.7498C22.6864%2022.8419%2022.6864%2022.9797%2022.7785%2023.0558L23.1614%2023.4386C23.1819%2023.4582%2023.198%2023.4821%2023.2086%2023.5085C23.2191%2023.5349%2023.2237%2023.5633%2023.2222%2023.5916V25.7648C23.2222%2025.8825%2023.1755%2025.9954%2023.0923%2026.0786C23.009%2026.1618%2022.8962%2026.2086%2022.7785%2026.2086H21.2477C21.13%2026.2086%2021.0171%2026.1618%2020.9339%2026.0786C20.8507%2025.9954%2020.8039%2025.8825%2020.8039%2025.7648V21.7853C20.8039%2021.7244%2020.8344%2021.678%2020.8648%2021.6323L21.2477%2021.2494C21.3398%2021.1573%2021.3398%2021.0195%2021.2477%2020.9434L20.8648%2020.5606C20.8443%2020.5411%2020.8282%2020.5174%2020.8177%2020.4911C20.8072%2020.4649%2020.8025%2020.4366%2020.8039%2020.4084ZM27.7064%2022C27.7064%2021.2503%2027.5587%2020.5079%2027.2718%2019.8153C26.9849%2019.1227%2026.5644%2018.4933%2026.0343%2017.9632C25.5042%2017.4331%2024.8748%2017.0126%2024.1822%2016.7257C23.4895%2016.4388%2022.7472%2016.2911%2021.9975%2016.2911C21.2478%2016.2911%2020.5054%2016.4388%2019.8128%2016.7257C19.1201%2017.0126%2018.4908%2017.4331%2017.9607%2017.9632C17.4305%2018.4933%2017.01%2019.1227%2016.7231%2019.8153C16.4362%2020.5079%2016.2886%2021.2503%2016.2886%2022C16.2886%2023.5141%2016.89%2024.9662%2017.9607%2026.0368C19.0313%2027.1074%2020.4834%2027.7089%2021.9975%2027.7089C23.5116%2027.7089%2024.9637%2027.1074%2026.0343%2026.0368C27.1049%2024.9662%2027.7064%2023.5141%2027.7064%2022ZM29.5127%2022C29.5127%2026.1477%2026.1452%2029.5%2022.0127%2029.5C17.865%2029.5%2014.5127%2026.1325%2014.5127%2022C14.5127%2017.8523%2017.8802%2014.5%2022.0127%2014.5C26.1452%2014.5%2029.5127%2017.8523%2029.5127%2022Z'%20fill='%237F7F7F'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2691_4730'%3e%3crect%20width='16'%20height='16'%20fill='white'%20transform='translate(14%2014)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e","browser-chrome":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cg%20clip-path='url(%23clip0_2691_4741)'%3e%3cpath%20d='M21.9999%2019.3334C20.5272%2019.3334%2019.3333%2020.5273%2019.3333%2022C19.3333%2023.4728%2020.5272%2024.6667%2021.9999%2024.6667C23.4727%2024.6667%2024.6666%2023.4728%2024.6666%2022C24.6666%2020.5273%2023.4727%2019.3334%2021.9999%2019.3334ZM21.9999%2019.3334H28.1133M16.6333%2018.04L19.6933%2023.3334M21.2533%2028.6267L24.3066%2023.3334M28.6666%2022C28.6666%2025.6819%2025.6818%2028.6667%2021.9999%2028.6667C18.318%2028.6667%2015.3333%2025.6819%2015.3333%2022C15.3333%2018.3181%2018.318%2015.3334%2021.9999%2015.3334C25.6818%2015.3334%2028.6666%2018.3181%2028.6666%2022Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2691_4741'%3e%3crect%20width='16'%20height='16'%20fill='white'%20transform='translate(14%2014)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",passkey:"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cpath%20d='M25.3333%2020C25.3333%2019.6587%2025.2031%2019.3175%2024.9428%2019.0572C24.6825%2018.7968%2024.3412%2018.6667%2024%2018.6667M24%2024C26.2091%2024%2028%2022.2091%2028%2020C28%2017.7909%2026.2091%2016%2024%2016C21.7909%2016%2020%2017.7909%2020%2020C20%2020.1825%2020.0122%2020.3621%2020.0359%2020.538C20.0748%2020.8275%2020.0942%2020.9722%2020.0811%2021.0637C20.0675%2021.1591%2020.0501%2021.2105%2020.0031%2021.2946C19.958%2021.3753%2019.8785%2021.4549%2019.7194%2021.6139L16.3124%2025.0209C16.1971%2025.1362%2016.1395%2025.1939%2016.0982%2025.2611C16.0617%2025.3208%2016.0348%2025.3858%2016.0184%2025.4538C16%2025.5306%2016%2025.6121%2016%2025.7752V26.9333C16%2027.3067%2016%2027.4934%2016.0727%2027.636C16.1366%2027.7614%2016.2386%2027.8634%2016.364%2027.9273C16.5066%2028%2016.6933%2028%2017.0667%2028H18.6667V26.6667H20V25.3333H21.3333L22.3861%2024.2806C22.5451%2024.1215%2022.6247%2024.042%2022.7054%2023.9969C22.7895%2023.9499%2022.8409%2023.9325%2022.9363%2023.9189C23.0278%2023.9058%2023.1725%2023.9252%2023.462%2023.9641C23.6379%2023.9878%2023.8175%2024%2024%2024Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","dots-vertical":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.00004%208.66667C8.36823%208.66667%208.66671%208.36819%208.66671%208C8.66671%207.63181%208.36823%207.33333%208.00004%207.33333C7.63185%207.33333%207.33337%207.63181%207.33337%208C7.33337%208.36819%207.63185%208.66667%208.00004%208.66667Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00004%204C8.36823%204%208.66671%203.70152%208.66671%203.33333C8.66671%202.96514%208.36823%202.66667%208.00004%202.66667C7.63185%202.66667%207.33337%202.96514%207.33337%203.33333C7.33337%203.70152%207.63185%204%208.00004%204Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00004%2013.3333C8.36823%2013.3333%208.66671%2013.0349%208.66671%2012.6667C8.66671%2012.2985%208.36823%2012%208.00004%2012C7.63185%2012%207.33337%2012.2985%207.33337%2012.6667C7.33337%2013.0349%207.63185%2013.3333%208.00004%2013.3333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",trash:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6%202H10M2%204H14M12.6667%204L12.1991%2011.0129C12.129%2012.065%2012.0939%2012.5911%2011.8667%2012.99C11.6666%2013.3412%2011.3648%2013.6235%2011.0011%2013.7998C10.588%2014%2010.0607%2014%209.00623%2014H6.99377C5.93927%2014%205.41202%2014%204.99889%2013.7998C4.63517%2013.6235%204.33339%2013.3412%204.13332%2012.99C3.90607%2012.5911%203.871%2012.065%203.80086%2011.0129L3.33333%204M6.66667%207V10.3333M9.33333%207V10.3333'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e"},providers:{google:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M14.7%208.15554C14.7%207.57997%2014.6533%207.15997%2014.5523%206.72443H7.97998V9.32218H11.8377C11.76%209.96777%2011.34%2010.94%2010.4066%2011.5933L10.3936%2011.6803L12.4716%2013.2901L12.6155%2013.3045C13.9378%2012.0834%2014.7%2010.2867%2014.7%208.15554Z'%20fill='%234285F4'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.98022%2015C9.87019%2015%2011.4568%2014.3778%2012.6158%2013.3045L10.4069%2011.5933C9.81576%2012.0055%209.02242%2012.2933%207.98022%2012.2933C6.12911%2012.2933%204.558%2011.0722%203.99793%209.38446L3.91586%209.39143L1.75507%2011.0637L1.72681%2011.1422C2.87791%2013.4289%205.2424%2015%207.98022%2015Z'%20fill='%2334A853'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.9977%209.38448C3.84994%208.94893%203.76439%208.48223%203.76439%208.00002C3.76439%207.51778%203.8499%207.05111%203.98993%206.61557L3.98602%206.52279L1.79819%204.82367L1.72662%204.85773C1.25218%205.80664%200.97998%206.87219%200.97998%207.99998C0.97998%209.12777%201.25223%2010.1933%201.72662%2011.1422L3.99774%209.38443'%20fill='%23FBBC04'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.98022%203.70662C9.29466%203.70662%2010.1813%204.27442%2010.6869%204.7489L12.6625%202.82C11.4492%201.69221%209.87019%201%207.98022%201C5.2424%201%202.87795%202.5711%201.72681%204.85776L3.99016%206.6156C4.558%204.92782%206.12911%203.70666%207.98022%203.70666'%20fill='%23EA4335'/%3e%3c/svg%3e",gitlab:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_834)'%3e%3cpath%20d='M7.99957%2015.3683L10.9471%206.30157H5.05627L7.99957%2015.3683Z'%20fill='%23E24329'/%3e%3cpath%20d='M0.92752%206.30157L0.0299048%209.05617C-0.0513217%209.30625%200.0363974%209.58242%200.25079%209.73834L7.99948%2015.3683L0.92752%206.30157Z'%20fill='%23FCA326'/%3e%3cpath%20d='M0.92749%206.30164H5.05611L3.27927%200.841173C3.18833%200.561813%202.792%200.561813%202.69779%200.841173L0.92749%206.30164Z'%20fill='%23E24329'/%3e%3cpath%20d='M15.0757%206.30157L15.9701%209.05617C16.0513%209.30625%2015.9636%209.58242%2015.7492%209.73834L7.99939%2015.3683L15.0757%206.30157Z'%20fill='%23FCA326'/%3e%3cpath%20d='M15.0757%206.30164H10.947L12.7206%200.841173C12.8116%200.561813%2013.2079%200.561813%2013.3021%200.841173L15.0757%206.30164Z'%20fill='%23E24329'/%3e%3cpath%20d='M7.99939%2015.3683L10.947%206.30157H15.0757L7.99939%2015.3683Z'%20fill='%23FC6D26'/%3e%3cpath%20d='M7.9994%2015.3683L0.92749%206.30157H5.05611L7.9994%2015.3683Z'%20fill='%23FC6D26'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_834'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",apple:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.6167%204.77308C13.5312%204.83608%2012.0218%205.64397%2012.0218%207.44037C12.0218%209.51818%2013.9425%2010.2533%2014%2010.2715C13.9912%2010.3162%2013.6948%2011.2781%2012.9873%2012.2583C12.3564%2013.1207%2011.6976%2013.9818%2010.6952%2013.9818C9.69291%2013.9818%209.43498%2013.4287%208.27784%2013.4287C7.15021%2013.4287%206.74928%2014%205.83245%2014C4.9156%2014%204.27588%2013.2019%203.54034%2012.2218C2.68836%2011.0709%202%209.28291%202%207.58597C2%204.86409%203.86316%203.42054%205.69684%203.42054C6.67116%203.42054%207.48335%204.02821%208.09508%204.02821C8.67726%204.02821%209.58531%203.38414%2010.6937%203.38414C11.1139%203.38414%2012.6233%203.42054%2013.6167%204.77308ZM10.1676%202.23182C10.6259%201.71517%2010.9503%200.998298%2010.9503%200.281428C10.9503%200.182018%2010.9414%200.0812084%2010.9223%200C10.1764%200.0266027%209.28899%200.471848%208.75398%201.0613C8.33385%201.51495%207.94176%202.23182%207.94176%202.95849C7.94176%203.06771%207.96092%203.17691%207.9698%203.21192C8.01697%203.22032%208.09361%203.23012%208.17025%203.23012C8.83946%203.23012%209.68112%202.80448%2010.1676%202.23182Z'%20fill='black'/%3e%3c/svg%3e",atlassian:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.14981%207.46537C4.94085%207.24181%204.61205%207.2541%204.47223%207.54219L1.03899%2014.4048C1.00767%2014.4674%200.992879%2014.5369%200.996019%2014.6068C0.999159%2014.6768%201.02013%2014.7447%201.05693%2014.8042C1.09373%2014.8637%201.14514%2014.9128%201.20627%2014.9469C1.26741%2014.9809%201.33623%2014.9987%201.4062%2014.9987H6.18693C6.26393%2015.0002%206.33969%2014.9792%206.40492%2014.9382C6.47014%2014.8973%206.52201%2014.8382%206.55414%2014.7682C7.58512%2012.641%206.96054%209.39978%205.14981%207.46537Z'%20fill='url(%23paint0_linear_2502_832)'/%3e%3cpath%20d='M7.66883%201.22039C5.74824%204.2626%205.875%207.63208%207.14029%2010.1611L9.44499%2014.7705C9.47857%2014.8394%209.53076%2014.8975%209.59567%2014.9382C9.66057%2014.979%209.73558%2015.0007%209.81221%2015.001H14.5929C14.6629%2015.001%2014.7317%2014.9832%2014.7929%2014.9492C14.854%2014.9151%2014.9054%2014.866%2014.9422%2014.8065C14.979%2014.747%2015%2014.6791%2015.0031%2014.6092C15.0063%2014.5393%2014.9915%2014.4697%2014.9601%2014.4071C14.9601%2014.4071%208.52849%201.53844%208.37023%201.21808C8.22196%200.929997%207.85474%200.923851%207.66883%201.22039Z'%20fill='%232681FF'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_832'%20x1='7.03199'%20y1='8.52553'%20x2='3.40822'%20y2='14.802'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230052CC'/%3e%3cstop%20offset='0.92'%20stop-color='%232684FF'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",bitbucket:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_831)'%3e%3cpath%20d='M0.519254%200.768994C0.44444%200.768029%200.370321%200.783452%200.302102%200.814182C0.233882%200.84491%200.173216%200.890198%200.124362%200.94687C0.0755086%201.00354%200.0396522%201.07021%200.0193102%201.14222C-0.00103186%201.21422%20-0.00536625%201.28981%200.00661131%201.36366L2.18278%2014.5745C2.2099%2014.7362%202.2931%2014.883%202.41779%2014.9894C2.54249%2015.0959%202.70068%2015.155%202.8646%2015.1563H13.3046C13.4274%2015.1579%2013.5468%2015.1153%2013.6409%2015.0362C13.735%2014.9572%2013.7976%2014.847%2013.8172%2014.7257L15.9934%201.36622C16.0054%201.29237%2016.001%201.21678%2015.9807%201.14478C15.9603%201.07278%2015.9245%201.0061%2015.8756%200.94943C15.8268%200.892766%2015.7661%200.84747%2015.6979%200.816742C15.6297%200.786016%2015.5556%200.770592%2015.4807%200.771557L0.519254%200.768994ZM9.68272%2010.317H6.35057L5.44832%205.60322H10.4902L9.68272%2010.317Z'%20fill='%232684FF'/%3e%3cpath%20d='M15.3013%205.60321H10.4902L9.68272%2010.3169H6.35055L2.41602%2014.9871C2.54072%2015.0949%202.69972%2015.1549%202.86458%2015.1563H13.3071C13.43%2015.1579%2013.5494%2015.1153%2013.6434%2015.0362C13.7375%2014.9572%2013.8001%2014.847%2013.8198%2014.7257L15.3013%205.60321Z'%20fill='url(%23paint0_linear_2502_831)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_831'%20x1='16.4138'%20y1='6.92327'%20x2='8.46264'%20y2='13.1288'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='%230052CC'/%3e%3cstop%20offset='1'%20stop-color='%232684FF'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_2502_831'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",discord:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_836)'%3e%3cpath%20d='M13.5535%202.79193C12.5178%202.30734%2011.4104%201.95517%2010.2526%201.75464C10.1104%202.01171%209.94432%202.35748%209.82976%202.63254C8.59904%202.44745%207.37956%202.44745%206.17144%202.63254C6.05693%202.35748%205.88704%202.01171%205.74358%201.75464C4.58454%201.95517%203.47584%202.30864%202.44013%202.79449C0.351095%205.95129%20-0.215207%209.02968%200.0679444%2012.0644C1.4535%2013.099%202.79627%2013.7276%204.11638%2014.139C4.44233%2013.6903%204.73302%2013.2134%204.98345%2012.7109C4.5065%2012.5297%204.04969%2012.306%203.61805%2012.0464C3.73256%2011.9615%203.84457%2011.8729%203.95278%2011.7816C6.58546%2013.013%209.44592%2013.013%2012.0471%2011.7816C12.1566%2011.8729%2012.2686%2011.9615%2012.3819%2012.0464C11.949%2012.3073%2011.491%2012.531%2011.014%2012.7122C11.2644%2013.2134%2011.5538%2013.6916%2011.881%2014.1402C13.2024%2013.7289%2014.5464%2013.1004%2015.932%2012.0644C16.2642%208.5464%2015.3645%205.49628%2013.5535%202.79193ZM5.34212%2010.1981C4.55182%2010.1981%203.9037%209.46024%203.9037%208.56184C3.9037%207.66337%204.53798%206.92429%205.34212%206.92429C6.14628%206.92429%206.79438%207.66207%206.78054%208.56184C6.78178%209.46024%206.14628%2010.1981%205.34212%2010.1981ZM10.6578%2010.1981C9.86752%2010.1981%209.21944%209.46024%209.21944%208.56184C9.21944%207.66337%209.85368%206.92429%2010.6578%206.92429C11.462%206.92429%2012.1101%207.66207%2012.0962%208.56184C12.0962%209.46024%2011.462%2010.1981%2010.6578%2010.1981Z'%20fill='%235865F2'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_836'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",dropbox:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.01032%204.15504L4.00518%206.71006L8.01032%209.26513L4.00518%2011.8201L0%209.25129L4.00518%206.69625L0%204.15504L4.00518%201.60001L8.01032%204.15504ZM3.98446%2012.6418L7.98964%2010.0868L11.9948%2012.6418L7.98964%2015.1969L3.98446%2012.6418ZM8.01032%209.25129L12.0155%206.69625L8.01032%204.15504L11.9948%201.60001L16%204.15504L11.9948%206.71006L16%209.26513L11.9948%2011.8201L8.01032%209.25129Z'%20fill='%230061FF'/%3e%3c/svg%3e",facebook:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2015C11.866%2015%2015%2011.866%2015%207.99997C15%204.13401%2011.866%201%208%201C4.134%201%201%204.13401%201%207.99997C1%2011.866%204.134%2015%208%2015Z'%20fill='%231977F3'/%3e%3cpath%20d='M10.6065%2010.1416L10.9172%208.16548H8.97241V6.88336C8.97241%206.34321%209.24363%205.81556%2010.1154%205.81556H11V4.1336C11%204.1336%2010.1973%204%209.43%204C7.82844%204%206.78107%204.94574%206.78107%206.65942V8.16548H5V10.1416H6.78107V14.9174C7.13809%2014.9721%207.50398%2015%207.87671%2015C8.24951%2015%208.6154%2014.9712%208.97241%2014.9174V10.1416H10.6065Z'%20fill='white'/%3e%3c/svg%3e",github:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.97914%201C4.11986%201%201%204.20833%201%208.17748C1%2011.3502%202.999%2014.0359%205.77214%2014.9864C6.11886%2015.0579%206.24586%2014.832%206.24586%2014.642C6.24586%2014.4756%206.23443%2013.9052%206.23443%2013.311C4.293%2013.7388%203.88871%2012.4554%203.88871%2012.4554C3.57671%2011.6235%203.11443%2011.4097%203.11443%2011.4097C2.479%2010.97%203.16071%2010.97%203.16071%2010.97C3.86557%2011.0176%204.23543%2011.7068%204.23543%2011.7068C4.85929%2012.8%205.86457%2012.4911%206.269%2012.3009C6.32671%2011.8375%206.51171%2011.5166%206.70814%2011.3384C5.15971%2011.172%203.53057%2010.5541%203.53057%207.79715C3.53057%207.01285%203.80771%206.37119%204.24686%205.87215C4.17757%205.69394%203.93486%204.95704%204.31629%203.97077C4.31629%203.97077%204.90557%203.7806%206.23429%204.70752C6.80316%204.55041%207.38982%204.47049%207.97914%204.46981C8.56843%204.46981%209.16914%204.55308%209.72386%204.70752C11.0527%203.7806%2011.642%203.97077%2011.642%203.97077C12.0234%204.95704%2011.7806%205.69394%2011.7113%205.87215C12.162%206.37119%2012.4277%207.01285%2012.4277%207.79715C12.4277%2010.5541%2010.7986%2011.1601%209.23857%2011.3384C9.49286%2011.5642%209.71229%2011.9919%209.71229%2012.6693C9.71229%2013.6318%209.70086%2014.4043%209.70086%2014.6418C9.70086%2014.832%209.828%2015.0579%2010.1746%2014.9866C12.9477%2014.0358%2014.9467%2011.3502%2014.9467%208.17748C14.9581%204.20833%2011.8269%201%207.97914%201Z'%20fill='%2324292F'/%3e%3c/svg%3e",hubspot:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.013%205.51301V3.9479C11.4349%203.74999%2011.7057%203.32811%2011.7083%202.86197V2.82551C11.7083%202.15884%2011.1667%201.61978%2010.5026%201.61978H10.4661C9.79948%201.61978%209.26042%202.15884%209.26042%202.82551V2.86197C9.26302%203.32811%209.53385%203.74999%209.95573%203.9479V5.51301C9.35937%205.60415%208.79948%205.85155%208.33073%206.22915L4.03646%202.8828C4.06771%202.77343%204.08333%202.65884%204.08594%202.54426C4.08594%201.79426%203.47917%201.18488%202.72917%201.18488C1.97917%201.18228%201.36979%201.78905%201.36719%202.53905C1.36719%203.29165%201.97396%203.90103%202.72396%203.90103C2.96094%203.90103%203.1901%203.83593%203.39323%203.71874L7.6224%207.0104C6.84635%208.18488%206.86719%209.71353%207.67448%2010.8672L6.38802%2012.1536C6.28646%2012.1198%206.17708%2012.1042%206.06771%2012.1016C5.45313%2012.1016%204.95313%2012.6016%204.95313%2013.2187C4.95313%2013.8333%205.45313%2014.3333%206.06771%2014.3333C6.6849%2014.3333%207.1849%2013.8333%207.1849%2013.2187C7.18229%2013.1094%207.16406%2013%207.13281%2012.8958L8.40365%2011.625C9.54167%2012.5%2011.1016%2012.5755%2012.3177%2011.8125C13.5339%2011.0521%2014.1484%209.61457%2013.8568%208.20832C13.5651%206.80468%2012.4297%205.72915%2011.013%205.51301ZM10.4844%2010.6641C9.84375%2010.6797%209.24479%2010.3489%208.92187%209.79686C8.59635%209.24478%208.59635%208.56249%208.92187%208.0104C9.24479%207.45832%209.84375%207.12759%2010.4844%207.14322C11.4323%207.17707%2012.1823%207.95572%2012.1823%208.90363C12.1849%209.84895%2011.4349%2010.6276%2010.487%2010.6614'%20fill='%23FF7A59'/%3e%3c/svg%3e",linear:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_2502_833'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='1'%20y='1'%20width='14'%20height='14'%3e%3cpath%20d='M15%201H1V15H15V1Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_2502_833)'%3e%3cpath%20d='M1.17156%209.61322C1.14041%209.48043%201.2986%209.39678%201.39505%209.49324L6.50679%2014.6049C6.60323%2014.7014%206.5196%2014.8596%206.38681%2014.8284C3.80721%2014.2233%201.77669%2012.1928%201.17156%209.61322ZM1.00026%207.56447C0.997795%207.60414%201.01271%207.64286%201.0408%207.67096L8.32907%2014.9592C8.35714%2014.9873%208.39585%2015.0022%208.43554%2014.9997C8.7672%2014.9791%209.09263%2014.9353%209.41029%2014.8701C9.51732%2014.8481%209.55449%2014.7166%209.47721%2014.6394L1.36063%206.52279C1.28337%206.44552%201.15187%206.48271%201.12989%206.58974C1.06466%206.90734%201.02092%207.23279%201.00026%207.56447ZM1.58953%205.15876C1.56622%205.21109%201.57809%205.27224%201.6186%205.31276L10.6872%2014.3814C10.7278%2014.4219%2010.7889%2014.4338%2010.8412%2014.4105C11.0913%2014.2991%2011.3336%2014.1735%2011.5672%2014.0347C11.6445%2013.9888%2011.6565%2013.8826%2011.5929%2013.819L2.18099%204.40714C2.11742%204.34356%202.01121%204.35549%201.96529%204.43279C1.8265%204.66636%201.70091%204.9087%201.58953%205.15876ZM2.77222%203.53036C2.7204%203.47855%202.7172%203.39544%202.76602%203.34079C4.04913%201.9043%205.9156%201%207.99327%201C11.863%201%2015%204.13702%2015%208.00672C15%2010.0844%2014.0957%2011.9509%2012.6592%2013.234C12.6046%2013.2828%2012.5214%2013.2796%2012.4696%2013.2278L2.77222%203.53036Z'%20fill='url(%23paint0_linear_2502_833)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_833'%20x1='8'%20y1='1'%20x2='8'%20y2='15'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%235C6BF1'/%3e%3cstop%20offset='1'%20stop-color='%23283188'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",linkedin:Ne,linledin:Ne,microsoft:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H15V15H1V1Z'%20fill='%23F3F3F3'/%3e%3cpath%20d='M2%202H8V8H2V2Z'%20fill='%23F35325'/%3e%3cpath%20d='M8%202H14V8H8V2Z'%20fill='%2381BC06'/%3e%3cpath%20d='M2%208H8V14H2V8Z'%20fill='%2305A6F0'/%3e%3cpath%20d='M8%208H14V14H8V8Z'%20fill='%23FFBA08'/%3e%3c/svg%3e",notion:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.33281%201.60396L10.0795%201.03183C11.031%200.95016%2011.2756%201.00523%2011.8738%201.44016L14.3467%203.18223C14.7546%203.48183%2014.8904%203.5635%2014.8904%203.8897V13.4438C14.8904%2014.0425%2014.6729%2014.3967%2013.9118%2014.4509L4.91582%2014.9955C4.34462%2015.0225%204.07255%2014.9409%203.77341%2014.5596L1.95248%2012.1917C1.62581%2011.7559%201.49048%2011.4297%201.49048%2011.0484V2.55596C1.49048%202.06643%201.70795%201.65809%202.33281%201.60396Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.0795%201.03183L2.33281%201.60396C1.70795%201.65809%201.49048%202.06643%201.49048%202.55596V11.0484C1.49048%2011.4297%201.62581%2011.7559%201.95248%2012.1917L3.77341%2014.5596C4.07255%2014.9409%204.34462%2015.0225%204.91582%2014.9955L13.9118%2014.4509C14.6724%2014.3967%2014.8904%2014.0425%2014.8904%2013.4438V3.8897C14.8904%203.5803%2014.7681%203.49116%2014.4083%203.22703C14.3876%203.21212%2014.3669%203.19718%2014.3462%203.18223L11.8738%201.44016C11.2756%201.00523%2011.031%200.95016%2010.0795%201.03183ZM5.11929%203.73336C4.38475%203.78283%204.21815%203.79403%203.80095%203.45476L2.74021%202.61103C2.63241%202.50183%202.68654%202.36556%202.95814%202.33849L10.4052%201.79436C11.0306%201.73976%2011.3563%201.95769%2011.6008%202.14809L12.8781%203.07349C12.9327%203.10103%2013.0685%203.26389%2012.9052%203.26389L5.21449%203.72683L5.11929%203.73336ZM4.26295%2013.3621V5.25144C4.26295%204.89724%204.37168%204.7339%204.69742%204.70637L13.5305%204.1893C13.8301%204.16223%2013.9654%204.35263%2013.9654%204.70637V12.7629C13.9654%2013.1171%2013.9108%2013.4167%2013.4218%2013.4438L4.96902%2013.9338C4.47995%2013.9609%204.26295%2013.798%204.26295%2013.3621ZM12.607%205.68637C12.6611%205.93137%2012.607%206.17637%2012.362%206.20437L11.9546%206.2851V12.2734C11.6008%2012.4638%2011.2751%2012.5725%2011.003%2012.5725C10.5681%2012.5725%2010.4593%2012.4363%2010.1336%2012.0284L7.46942%207.83677V11.8921L8.31224%2012.083C8.31224%2012.083%208.31224%2012.573%207.63229%2012.573L5.75769%2012.6817C5.70309%2012.5725%205.75769%2012.3005%205.94762%2012.2463L6.43716%2012.1105V6.7485L5.75769%206.69344C5.70309%206.44844%205.83889%206.0947%206.21969%206.06717L8.23104%205.93184L11.003%2010.1776V6.42137L10.2965%206.34017C10.2419%206.0401%2010.4593%205.82217%2010.7309%205.79557L12.607%205.68637Z'%20fill='black'/%3e%3c/svg%3e",slack:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.94137%209.84695C3.94137%2010.6564%203.28013%2011.3176%202.47069%2011.3176C1.66124%2011.3176%201%2010.6564%201%209.84695C1%209.03747%201.66124%208.37625%202.47069%208.37625H3.94137V9.84695Z'%20fill='%23E01E5A'/%3e%3cpath%20d='M4.68237%209.84695C4.68237%209.03747%205.34361%208.37625%206.15306%208.37625C6.9625%208.37625%207.62374%209.03747%207.62374%209.84695V13.5293C7.62374%2014.3388%206.9625%2015%206.15306%2015C5.34361%2015%204.68237%2014.3388%204.68237%2013.5293V9.84695Z'%20fill='%23E01E5A'/%3e%3cpath%20d='M6.15306%203.94137C5.34361%203.94137%204.68237%203.28013%204.68237%202.47069C4.68237%201.66124%205.34361%201%206.15306%201C6.9625%201%207.62374%201.66124%207.62374%202.47069V3.94137H6.15306Z'%20fill='%2336C5F0'/%3e%3cpath%20d='M6.15309%204.68237C6.96254%204.68237%207.62378%205.34361%207.62378%206.15306C7.62378%206.9625%206.96254%207.62374%206.15309%207.62374H2.47069C1.66124%207.62374%201%206.9625%201%206.15306C1%205.34361%201.66124%204.68237%202.47069%204.68237H6.15309Z'%20fill='%2336C5F0'/%3e%3cpath%20d='M12.0585%206.15306C12.0585%205.34361%2012.7197%204.68237%2013.5291%204.68237C14.3386%204.68237%2014.9998%205.34361%2014.9998%206.15306C14.9998%206.9625%2014.3386%207.62374%2013.5291%207.62374H12.0585V6.15306Z'%20fill='%232EB67D'/%3e%3cpath%20d='M11.3176%206.15309C11.3176%206.96254%2010.6563%207.62378%209.84685%207.62378C9.03744%207.62378%208.37622%206.96254%208.37622%206.15309V2.47069C8.37622%201.66124%209.03744%201%209.84685%201C10.6563%201%2011.3176%201.66124%2011.3176%202.47069V6.15309Z'%20fill='%232EB67D'/%3e%3cpath%20d='M9.84685%2012.0586C10.6563%2012.0586%2011.3176%2012.7199%2011.3176%2013.5293C11.3176%2014.3388%2010.6563%2015%209.84685%2015C9.03744%2015%208.37622%2014.3388%208.37622%2013.5293V12.0586H9.84685Z'%20fill='%23ECB22E'/%3e%3cpath%20d='M9.84685%2011.3176C9.03744%2011.3176%208.37622%2010.6564%208.37622%209.84695C8.37622%209.03747%209.03744%208.37625%209.84685%208.37625H13.5293C14.3388%208.37625%2015%209.03747%2015%209.84695C15%2010.6564%2014.3388%2011.3176%2013.5293%2011.3176H9.84685Z'%20fill='%23ECB22E'/%3e%3c/svg%3e",tiktok:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.60974%205.91839V5.33278C6.40646%205.30058%206.20114%205.28293%205.99535%205.27998C4.00296%205.27577%202.23902%206.56688%201.64074%208.46732C1.04245%2010.3678%201.74866%2012.4365%203.38415%2013.5744C2.15905%2012.2633%201.81888%2010.3546%202.51559%208.70096C3.21229%207.0473%204.81576%205.95753%206.60974%205.91839Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M6.72004%2012.552C7.834%2012.5505%208.74966%2011.6729%208.79844%2010.56V0.6288H10.6128C10.5758%200.421288%2010.5581%200.210783%2010.56%200H8.07844V9.9216C8.03716%2011.0402%207.11934%2011.9262%206.00004%2011.928C5.66555%2011.9252%205.33652%2011.8429%205.04004%2011.688C5.42976%2012.2279%206.05416%2012.5491%206.72004%2012.552Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M14.0014%203.9984V3.4464C13.3337%203.44663%2012.6808%203.24959%2012.1246%202.88C12.6122%203.44675%2013.271%203.83934%2014.0014%203.9984Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M12.125%202.87999C11.5772%202.25615%2011.2752%201.45422%2011.2754%200.623993H10.613C10.786%201.55168%2011.3327%202.36746%2012.125%202.87999Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M5.99519%207.7616C5.03925%207.76652%204.20933%208.42142%203.98229%209.34998C3.75525%2010.2786%204.18936%2011.2426%205.03519%2011.688C4.57688%2011.0552%204.51214%2010.219%204.86761%209.5232C5.22308%208.82744%205.9387%208.3898%206.71999%208.3904C6.92831%208.39298%207.13519%208.42532%207.33439%208.4864V5.9616C7.13099%205.93112%206.92567%205.91509%206.71999%205.9136H6.60959V7.8336C6.40937%207.7799%206.20243%207.75566%205.99519%207.7616Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M14.0015%203.99841V5.91841C12.7654%205.91603%2011.5613%205.52475%2010.5599%204.80001V9.84481C10.5546%2012.3621%208.51245%2014.4%205.99511%2014.4C5.06025%2014.4017%204.1479%2014.1132%203.38391%2013.5744C4.6589%2014.9457%206.64315%2015.3971%208.38585%2014.7123C10.1285%2014.0275%2011.2747%2012.346%2011.2751%2010.4736V5.44321C12.2799%206.16321%2013.4854%206.54937%2014.7215%206.54721V4.07521C14.4795%204.07445%2014.2382%204.04871%2014.0015%203.99841Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M10.56%209.8448V4.79999C11.5645%205.52056%2012.7702%205.9068%2014.0064%205.90399V3.98399C13.2761%203.82977%2012.6157%203.4423%2012.1248%202.87999C11.3324%202.36746%2010.7857%201.55168%2010.6128%200.623993H8.7984V10.56C8.7621%2011.4464%208.16834%2012.2126%207.31904%2012.4691C6.46968%2012.7255%205.55115%2012.4159%205.03038%2011.6976C4.18454%2011.2522%203.75043%2010.2882%203.97747%209.35958C4.20452%208.43102%205.03444%207.77612%205.99038%207.7712C6.19878%207.77306%206.40578%207.8054%206.6048%207.8672V5.94719C4.80073%205.97776%203.18515%207.07136%202.48647%208.73486C1.78778%2010.3984%202.13799%2012.3176%203.37918%2013.6272C4.1507%2014.1482%205.06437%2014.4181%205.99518%2014.4C8.5125%2014.4%2010.5547%2012.3621%2010.56%209.8448Z'%20fill='black'/%3e%3c/svg%3e",twitch:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%207.94593L11.75%2010.1081H9.5L7.53124%2012V10.1081H5V2H14V7.94593Z'%20fill='white'/%3e%3cpath%20d='M4.70834%201L2%203.67857V13.3215H5.25V16L7.95833%2013.3215H10.125L15%208.5V1H4.70834ZM13.9166%207.96428L11.75%2010.1072H9.5833L7.6875%2011.9822V10.1072H5.25V2.07143H13.9166V7.96428Z'%20fill='%239146FF'/%3e%3cpath%20d='M12%204H11V7H12V4Z'%20fill='%239146FF'/%3e%3cpath%20d='M9%204H8V7H9V4Z'%20fill='%239146FF'/%3e%3c/svg%3e",twitter:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.14163%206.50461L13.6089%201H12.5503L8.67137%205.77958L5.57328%201H2L6.68492%208.22757L2%2014H3.05866L7.15491%208.9526L10.4267%2014H14L9.14137%206.50461H9.14163ZM7.69165%208.29124L7.21697%207.57154L3.44011%201.84479H5.06615L8.11412%206.46646L8.5888%207.18616L12.5508%2013.1936H10.9248L7.69165%208.29152V8.29124Z'%20fill='black'%20stroke='black'%20stroke-width='0.5'/%3e%3c/svg%3e",xero:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_2502_830'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='1'%20y='1'%20width='14'%20height='14'%3e%3cpath%20d='M15%201H1V15H15V1Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_2502_830)'%3e%3cpath%20d='M7.99994%2014.9733C11.8512%2014.9733%2014.9732%2011.8513%2014.9732%207.99997C14.9732%204.14873%2011.8512%201.02667%207.99994%201.02667C4.14867%201.02667%201.02661%204.14873%201.02661%207.99997C1.02661%2011.8513%204.14867%2014.9733%207.99994%2014.9733Z'%20fill='%231AB4D7'/%3e%3cpath%20d='M4.36467%207.97988L5.55473%206.78688C5.59418%206.74667%205.61619%206.69343%205.61619%206.63697C5.61619%206.5193%205.52054%206.42374%205.40287%206.42374C5.34555%206.42374%205.29181%206.44621%205.2513%206.48723L4.06231%207.67564L2.86801%206.48544C2.82765%206.44566%202.77418%206.42374%202.71748%206.42374C2.59995%206.42374%202.50427%206.51925%202.50427%206.6368C2.50427%206.69415%202.52716%206.74796%202.56825%206.7885L3.75814%207.97822L2.56887%209.16973C2.52707%209.21089%202.50427%209.26479%202.50427%209.3224C2.50427%209.44007%202.59995%209.53548%202.71748%209.53548C2.77428%209.53548%202.8278%209.51343%202.86801%209.47325L4.06046%208.28241L5.24838%209.46891C5.29051%209.51245%205.34487%209.53562%205.40287%209.53562C5.52042%209.53562%205.61608%209.44007%205.61608%209.3224C5.61608%209.26563%205.59409%209.21229%205.55406%209.17211L4.36467%207.97988Z'%20fill='white'/%3e%3cpath%20d='M11.4393%207.97953C11.4393%208.19316%2011.6131%208.36697%2011.827%208.36697C12.0404%208.36697%2012.2142%208.19316%2012.2142%207.97953C12.2142%207.76582%2012.0404%207.59204%2011.827%207.59204C11.6131%207.59204%2011.4393%207.76582%2011.4393%207.97953Z'%20fill='white'/%3e%3cpath%20d='M10.7045%207.97969C10.7045%207.36096%2011.2078%206.85753%2011.8266%206.85753C12.4451%206.85753%2012.9485%207.36096%2012.9485%207.97969C12.9485%208.59828%2012.4451%209.10151%2011.8266%209.10151C11.2078%209.10151%2010.7045%208.59828%2010.7045%207.97969ZM10.2631%207.97969C10.2631%208.84167%2010.9645%209.543%2011.8266%209.543C12.6887%209.543%2013.3905%208.84167%2013.3905%207.97969C13.3905%207.11757%2012.6887%206.41608%2011.8266%206.41608C10.9645%206.41608%2010.2631%207.11757%2010.2631%207.97969Z'%20fill='white'/%3e%3cpath%20d='M10.152%206.44279L10.0864%206.4426C9.88947%206.4426%209.69956%206.50471%209.54094%206.62696C9.52001%206.5313%209.43447%206.45933%209.33269%206.45933C9.21544%206.45933%209.1215%206.55325%209.12122%206.67071L9.12192%209.3041C9.12227%209.42135%209.21789%209.51662%209.33514%209.51662C9.45246%209.51662%209.54808%209.42135%209.54836%209.30382L9.54843%207.68463C9.54843%207.14496%209.59778%206.927%2010.0601%206.86923C10.1028%206.86392%2010.1494%206.86475%2010.1494%206.86475C10.276%206.86041%2010.3659%206.77348%2010.3659%206.656C10.3659%206.53844%2010.2699%206.44279%2010.152%206.44279Z'%20fill='white'/%3e%3cpath%20d='M6.05791%207.72227C6.05791%207.71643%206.05836%207.71035%206.05864%207.70435C6.18243%207.215%206.62563%206.85287%207.15344%206.85287C7.68764%206.85287%208.13489%207.2239%208.25235%207.72227H6.05791ZM8.689%207.682C8.59709%207.24697%208.35895%206.88964%207.99626%206.66016C7.46613%206.32358%206.76607%206.3422%206.25401%206.70635C5.83632%207.00349%205.59521%207.48958%205.59521%207.9903C5.59521%208.11586%205.61035%208.24256%205.64186%208.3673C5.79957%208.98778%206.33294%209.45741%206.96885%209.53525C7.15754%209.55814%207.34122%209.54715%207.53141%209.49794C7.69485%209.45818%207.85299%209.39189%207.99871%209.29851C8.14993%209.20128%208.27628%209.07304%208.39864%208.9196C8.40116%208.9168%208.40361%208.91428%208.40613%208.91134C8.49104%208.80599%208.47529%208.65619%208.38198%208.58465C8.30323%208.52438%208.17107%208.49988%208.06712%208.63309C8.04472%208.66487%208.0198%208.69763%207.99238%208.73039C7.90969%208.82181%207.80712%208.91029%207.6842%208.97896C7.52779%209.06254%207.34955%209.11028%207.16006%209.11133C6.53986%209.1044%206.20799%208.67152%206.08993%208.36254C6.06932%208.30479%206.05342%208.24494%206.04234%208.18334C6.0409%208.17179%206.03983%208.16066%206.0394%208.15044C6.16763%208.15044%208.26501%208.15009%208.26501%208.15009C8.57014%208.14365%208.73436%207.92828%208.689%207.682Z'%20fill='white'/%3e%3c/g%3e%3c/svg%3e"}};if(n&&"general"===e){const e={"--passflow-icon-mask":`url("${i.general[t]}")`};/* @__PURE__ */
3
- return m("span",{className:J("passflow-icon passflow-icon--match-text",o,s),style:e,role:r?void 0:"img","aria-label":r?void 0:t,"aria-hidden":r||void 0})}return"flags"!==e?/* @__PURE__ */m("img",{className:J("passflow-icon",o,s),src:i[e][t],alt:r?"":t}):/* @__PURE__ */m("div",{className:J("passflow-icon",o,s),children:/* @__PURE__ */m(Me,{iso2:t})})},Se=({size:e,x:t,y:a})=>/* @__PURE__ */m("span",{className:"passflow-ripple passflow-ripple-effect",style:{width:e,height:e,left:t,top:a}}),Le=({size:e,variant:t,type:a,onClick:s,withIcon:r=!1,asIcon:n=!1,className:o="",children:i,withRipple:l=!0,...c})=>{const[p,d]=L(),u={"passflow-button passflow-button--big":"big"===e,"passflow-button passflow-button--medium":"medium"===e,"passflow-button passflow-button--small":"small"===e,"passflow-button--primary":"primary"===t,"passflow-button--secondary":"secondary"===t,"passflow-button--outlined":"outlined"===t,"passflow-button--warning":"warning"===t,"passflow-button--clean":"clean"===t,"passflow-button--provider":"provider"===t,"passflow-button--dark":"dark"===t,"passflow-button--with-icon":r,"passflow-button--as-icon":n};return b(()=>{let e;return p&&(e=setTimeout(()=>{d(void 0)},1e3)),()=>clearTimeout(e)},[p]),/* @__PURE__ */g("button",{className:J(u,o),type:a,onClick:e=>{const t=e.currentTarget.getBoundingClientRect(),a=Math.max(t.width,t.height),r=e.clientX-t.left-a/2,n=e.clientY-t.top-a/2,o=/* @__PURE__ */m(Se,{size:a,x:r,y:n},Date.now());d(e=>e?[...e,o]:[o]),s?.(e)},...c,children:[i,l&&/* @__PURE__ */m("div",{"aria-hidden":!0,className:"passflow-ripple-container",children:p})]})},Ie=v(({id:e,isError:t=!1,className:a="",disabled:s=!1,...r},n)=>/* @__PURE__ */m("input",{ref:n,id:e,type:"text",className:J("passflow-field-input passflow-field--focused",{"passflow-field--error":t},a),disabled:s,...r})),Ae=e=>{const t={requireNumber:"number",requireSymbol:"symbol",requireLowerCase:"lowercase letter",requireUpperCase:"uppercase letter"},a=Object.keys(e).filter(t=>e[t]);return`Must contain a ${new Intl.ListFormat("en").format(a.map(e=>t[e]))}`},Pe=v(({id:e,value:t,passwordPolicy:s,withMessages:r=!1,validationErrors:o=[],isError:i=!1,className:l="",disabled:c=!1,...p},d)=>{const[u,f]=L(!1),w={"passflow-field--error":i},y=e=>n(t)>0&&0===n(a(o,e))?"passflow-password-validation-item--success":null,v=e=>n(t)>0&&0===n(a(o,e))?"check":"close",x=()=>f(e=>!e),C=s?.min_password_length??0,b=s?.require_lowercase??!1,k=s?.require_number??!1,M=s?.require_symbol??!1,N=s?.require_uppercase??!1;/* @__PURE__ */
4
- return g(h,{children:[/* @__PURE__ */g("div",{className:"passflow-field-wrapper",children:[/* @__PURE__ */m("input",{ref:d,id:e,value:t,type:u?"text":"password",className:J("passflow-field-input passflow-field--focused passflow-field-input--with-icon",w,l),disabled:c,...p}),/* @__PURE__ */m(Le,u?{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,disabled:c,"aria-label":"Hide password",onClick:x,children:/* @__PURE__ */m(Ee,{size:"small",type:"general",id:"eye-on",decorative:!0})}:{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,disabled:c,"aria-label":"Show password",onClick:x,children:/* @__PURE__ */m(Ee,{size:"small",type:"general",id:"eye-off",decorative:!0})})]}),r&&s&&/* @__PURE__ */g("div",{className:"passflow-password-validation",children:[/* @__PURE__ */g("p",{className:J("passflow-password-validation-item",y(["length"])),children:[
5
- /* @__PURE__ */m(Ee,{size:"small",id:v(["length"]),type:"general",className:J(y(["length"]))}),"At least ",C," characters"]}),/* @__PURE__ */g("p",{className:J("passflow-password-validation-item",y(["uppercase","lowercase","number","symbol"])),children:[/* @__PURE__ */m(Ee,{size:"small",id:v(["uppercase","lowercase","number","symbol"]),type:"general",className:J(y(["uppercase","lowercase","number","symbol"]))}),Ae({requireNumber:k,requireSymbol:M,requireLowerCase:b,requireUpperCase:N})]})]})]})}),Te={appSettings:null,passwordPolicy:null,url:void 0,appId:void 0,scopes:void 0,createTenantForNewUser:void 0,parseQueryParams:!0,isDiscoveringAppId:!1,hasSettingsError:!1},_e=y(void 0),Fe=(e,t)=>"SET_PASSFLOW_STATE"===t.type?{...e,...t.payload}:e,Re={signin:{path:"/signin"},signup:{path:"/signup"},verify_otp:{path:"/verify-challenge-otp"},verify_magic_link:{path:"/verify-challenge-magic-link"},forgot_password:{path:"/forgot-password"},forgot_password_success:{path:"/forgot-password/success"},reset_password:{path:"/password/reset"},invitation:{path:"/invitation"},passkey:{path:"/passkeysss"},two_factor_verify:{path:"/two-factor-verify"},two_factor_recovery:{path:"/two-factor-recovery"},two_factor_setup:{path:"/two-factor-setup"},two_factor_setup_magic_link:{path:"/two-factor-setup-magic-link/:token"}},Ue=({to:e,search:t,replace:a})=>{const s=t?t.startsWith("?")?t:`?${t}`:"";a?window.location.replace(`${e}${s}`):window.location.href=`${e}${s}`},Ye=y({navigate:Ue,setNavigate:()=>{},router:"default"}),ze=y(void 0),je=({children:e,onSessionExpired:t})=>{const a=Be(),[s,r]=L(!1),[n,o]=L(!1);b(()=>{const e={onAuthChange:(e,a)=>{if(e===d.SessionExpired){const e=a?.reason??"refresh_failed";o(!0),t?.(e)}else e!==d.SignIn&&e!==d.Register||o(!1)}};return a.subscribe(e,[d.SessionExpired,d.SignIn,d.Register]),()=>{a.unsubscribe(e)}},[a,t]);const i=x(()=>a.isAuthenticated(),[a]),l=x(async e=>{r(!0);try{const t=await a.getTokens(e);return{tokens:t,parsedTokens:t?a.getParsedTokens():void 0}}catch(t){return{tokens:void 0,parsedTokens:void 0}}finally{r(!1)}},[a]),c={isAuthenticated:i,logout:x(async()=>{await a.logOut()},[a]),isLoading:s,isSessionExpired:n,getTokens:l};/* @__PURE__ */
6
- return m(ze.Provider,{value:c,children:e})},Be=()=>{const e=C(_e);if(!e)throw new Error("useAuth must be used within an PassflowProvider");const{passflow:t}=e;return t},Ge=()=>{const e=Be(),[t,a]=L(null),[s,r]=L(!1),[n,o]=L(!1),i=x(async(s,n)=>{o(!0),r(!1),a(null);try{if("password"===n)await e.signIn(s);else{if("passkey"!==n)return await e.passwordlessSignIn(s);await e.passkeyAuthenticate(s)}return!0}catch(t){return console.error(`[passflow] ${n} sign-in failed`,t),r(!0),a(ge("sign-in",n)),!1}finally{o(!1)}},[e.passkeyAuthenticate,e.passwordlessSignIn,e.signIn]);return{fetch:i,isLoading:n,isError:s,error:t,reset:()=>{r(!1),a(null),o(!1)}}},Ve=e=>e&&O(e)?e:e?`${window.location.origin}${e.startsWith("/")?"":"/"}${e}`:"",De=(e,t)=>{const a=Be(),s=C(_e),r={redirect_url:Ve(e),scopes:s?.state.scopes,create_tenant:t};return{federatedWithPopup:(e,t)=>a.federatedAuthWithPopup({provider:e,invite_token:t,...r}),federatedWithRedirect:(e,t)=>a.federatedAuthWithRedirect({provider:e,invite_token:t,...r})}},He=()=>{const e=Be(),[t,a]=L(!1),[s,r]=L(null),[n,o]=L(!1),i=x(async(t,n)=>{o(!0),a(!1),r(null);const i=()=>o(!1);try{if("password"===n)await e.signUp(t);else{if("passkey"!==n){const a=await e.passwordlessSignIn(t);return i(),a}await e.passkeyRegister(t)}return i(),!0}catch(s){return console.error(`[passflow] ${n} sign-up failed`,s),a(!0),r(ge("sign-up",n)),i(),!1}finally{i()}},[e.signUp,e.passkeyRegister,e.passwordlessSignIn]);return{fetch:i,isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(null),o(!1)}}},Oe=()=>{const e=Be(),[t,a]=L(!1),[s,r]=L(""),[n,o]=L(!1);return{fetch:x(async t=>{try{return o(!0),await e.sendPasswordResetEmail(t),o(!1),!0}catch(s){return a(!0),r(s.message),!1}},[e.sendPasswordResetEmail]),isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(""),o(!1)}}},Ze=()=>{const e=Be(),[t,a]=L(!1),[s,r]=L(""),[n,o]=L(!1);return{fetch:x(async t=>{try{return o(!0),await e.resetPassword(t),o(!1),!0}catch(s){return a(!0),r(s.message),!1}},[e.resetPassword]),isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(""),o(!1)}}},Je=e=>"string"==typeof e&&e.trim()?e.trim():null,We=e=>{if("string"!=typeof e)return null;const t=Je(e);return t?`url(${t})`:"none"},qe=(e,t)=>{for(const[a,s]of Object.entries((e=>({"--passflow-primary-color":Je(e.primary_color),"--passflow-text-color":Je(e.text_color)??Je(e.content_color),"--passflow-secondary-text-color":Je(e.secondary_text_color),"--passflow-background-color":Je(e.background_color),"--passflow-background-image":We(e.background_image),"--passflow-card-color":Je(e.card_color),"--passflow-branding-background-color":Je(e.card_color),"--passflow-input-background-color":Je(e.input_background_color),"--passflow-input-border-color":Je(e.input_border_color),"--passflow-button-text-color":Je(e.button_text_color),"--passflow-passkey-button-text-color":Je(e.passkey_button_text_color),"--passflow-passkey-button-background-color":Je(e.passkey_button_background_color),"--passflow-divider-color":Je(e.divider_color),"--passflow-federated_button_background_color":Je(e.federated_button_background_color),"--passflow-federated_button_text_color":Je(e.federated_button_text_color)}))(t)))null===s?e.style.removeProperty(a):e.style.setProperty(a,s)},Ke=()=>{const e=Be(),t=C(_e),[a,s]=L(!1),[n,i]=L(""),[l,c]=L(!1),p=S(!1);if(!t)throw new Error("useAppSetting must be used within an PassflowProvider");const{state:d,dispatch:u}=t;M(()=>{if(!d.appSettings&&!d.hasSettingsError&&!p.current){(async()=>{p.current=!0,c(!0);try{if(!e.appId&&!d.isDiscoveringAppId){u({type:"SET_PASSFLOW_STATE",payload:{...d,isDiscoveringAppId:!0}});try{const t=["/settings"];e.url&&t.push(`${e.url}/settings`);let a=null;for(const e of t)try{const t=await fetch(e);if(t.ok){a=t;break}}catch{}if(a?.ok){const t=await a.json(),s=t.login_app?.app_id||t.appId;if(s){e.setAppId(s);const a={appId:s};if(!d.scopes){const e=t.login_app?.scopes||t.scopes;e&&(a.scopes=e)}if(r(d.createTenantForNewUser)){const e=t.login_app?.create_tenant_for_new_user??t.createTenantForNewUser;void 0!==e&&(a.createTenantForNewUser=e)}u({type:"SET_PASSFLOW_STATE",payload:{...d,...a,isDiscoveringAppId:!1}})}else u({type:"SET_PASSFLOW_STATE",payload:{...d,isDiscoveringAppId:!1}})}}catch(a){console.warn("Failed to discover appId from /settings:",a),u({type:"SET_PASSFLOW_STATE",payload:{...d,isDiscoveringAppId:!1}})}}let s={};e.appId&&(s=await e.getAppSettings());const n={appSettings:s};d.scopes||(n.scopes=s.defaults?.scopes),r(d.createTenantForNewUser)&&(n.createTenantForNewUser=s.defaults?.create_tenant_for_new_user);let i=null;s.auth_strategies&&(t=s.auth_strategies,o(t,e=>"internal"===e.type&&"password"===e.strategy?.challenge))&&(i=await e.getPasswordPolicySettings()),n.passwordPolicy=i,u({type:"SET_PASSFLOW_STATE",payload:{...d,...n}})}catch(n){s(!0),i(n.message),u({type:"SET_PASSFLOW_STATE",payload:{...d,hasSettingsError:!0}})}finally{c(!1),p.current=!1}var t})()}},[u,d.appSettings,d.hasSettingsError,d.isDiscoveringAppId,e]);const h=(()=>{const e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return"system"===d.appSettings?.login_app_theme?.color_scheme?e:d.appSettings?.login_app_theme?.color_scheme??e})(),m=d.appSettings?.login_app_theme?"dark"===h?d.appSettings?.login_app_theme.dark_style:d.appSettings?.login_app_theme.light_style:null;return m&&(e=>{if(qe(document.documentElement,e),e.custom_css){const t=document.querySelector(".psfw-custom-styles");t&&(t.innerHTML=e.custom_css)}})(m),{appSettings:d.appSettings,scopes:d.scopes??[],createTenantForNewUser:d.createTenantForNewUser??!1,loginAppTheme:d.appSettings?.login_app_theme,passwordPolicy:d.passwordPolicy,currentStyles:m,currentTheme:h,isLoading:l,isError:a,error:n,reset:()=>{s(!1),i(""),c(!1),u({type:"SET_PASSFLOW_STATE",payload:{...d,hasSettingsError:!1}})}}},Qe=()=>{const e=Be(),[t,a]=L(""),[s,r]=L(!1),[n,o]=L(!1);return{fetch:x(async t=>{o(!0),r(!1),a("");try{return await e.passwordlessSignInComplete(t)}catch(s){return console.error("[passflow] passwordless verification failed",s),r(!0),a(me),null}finally{o(!1)}},[e]),isLoading:n,isError:s,error:t,reset:()=>{r(!1),a(""),o(!1)}}},Xe=()=>{const e=C(ze);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},$e=()=>{const e=Be(),[t,a]=L(""),[s,r]=L(!1),[n,o]=L(!1);return{fetch:x(async()=>{try{return o(!0),await e.logOut(),o(!1),!0}catch(t){return r(!0),a(t.message),!1}},[e]),isLoading:n,isError:s,error:t}},et=()=>{const e=Be(),[t,a]=L([]),[s,r]=L(!1),[n,o]=L(""),[i,l]=L(!1);M(()=>{(async()=>{l(!0);try{const t=await e.getUserPasskeys();a(t)}catch(t){r(!0),o(t.message)}finally{l(!1)}})()},[e]);return{data:t,createUserPasskey:async(t,a,s)=>{l(!0);try{await e.addUserPasskey({relyingPartyId:t,passkeyUsername:a,passkeyDisplayName:s})}catch(n){r(!0),o(n.message)}finally{l(!1)}},editUserPasskey:async(t,s)=>{l(!0);try{if(await e.renameUserPasskey(t,s)){const t=await e.getUserPasskeys();a(t)}}catch(n){r(!0),o(n.message)}finally{l(!1)}},deleteUserPasskey:async t=>{l(!0);try{if(await e.deleteUserPasskey(t)){const t=await e.getUserPasskeys();a(t)}}catch(s){r(!0),o(s.message)}finally{l(!1)}},isLoading:i,isError:s,errorMessage:n}},tt=e=>{const t=Be();return()=>t.authRedirect({url:e})},at=()=>{const e=Be(),[t,a]=L(""),[s,r]=L(!1),[n,o]=L(!1);return{fetch:x(async t=>{o(!0),r(!1),a("");try{return await e.joinInvitation(t),!0}catch(s){return console.error("[passflow] accepting invitation failed",s),r(!0),a("We couldn't accept this invitation. Try again."),!1}finally{o(!1)}},[e.joinInvitation]),isLoading:n,isError:s,error:t}},st=(e,t)=>{b(()=>{const a=a=>{e.current&&!e.current.contains(a.target)&&t&&t()};return document.addEventListener("click",a,!0),()=>{document.removeEventListener("click",a,!0)}},[t,e])},rt=e=>{if(!e)return{};const t=I.parse(e.startsWith("?")?e.slice(1):e);return Object.fromEntries(Object.entries(t).map(([e,t])=>[e,String(t)]))},nt=()=>{const{navigate:e,setNavigate:t,router:a}=C(Ye);return{navigate:e,setNavigate:x(e=>{if(!e)return void t(null);t(t=>{const{to:s,search:r="",replace:n=!1}=t;switch(a){case"react-router":e({pathname:s,search:r.startsWith("?")?r:`?${r}`,replace:n});break;case"tanstack-router":e({to:s,search:rt(r),replace:n});break;case"wouter":e({to:`${s}${r?r.startsWith("?")?r:`?${r}`:""}`,replace:n});break;default:{const e=r?r.startsWith("?")?r:`?${r}`:"";n?window.location.replace(`${s}${e}`):window.location.href=`${s}${e}`}}})},[t,a]),router:a}},ot=()=>{const e=Be(),[t,a]=L(null),[s,r]=L(!1),[n,o]=L(!1),[i,l]=L(""),c=x(async()=>{r(!0),o(!1),l("");try{const t=await e.getTwoFactorStatus();return a(t),t}catch(t){return o(!0),l(t.message),null}finally{r(!1)}},[e]);return M(()=>{c()},[c]),{data:t,refetch:c,isLoading:s,isError:n,errorMessage:i}},it=()=>{const e=Be(),[t,a]=L(null),[s,r]=L([]),[n,o]=L(!1),[i,l]=L(!1),[c,p]=L(""),[d,u]=L("idle");return{setupData:t,recoveryCodes:s,step:d,beginSetup:x(async()=>{o(!0),l(!1),p("");try{const t=await e.beginTwoFactorSetup();return a(t),u("setup"),t}catch(t){return l(!0),p(t.message),null}finally{o(!1)}},[e]),confirmSetup:x(async t=>{o(!0),l(!1),p("");try{const a=await e.confirmTwoFactorSetup(t);return r(a.recovery_codes),u("complete"),a}catch(a){return l(!0),p(a.message),null}finally{o(!1)}},[e]),reset:x(()=>{a(null),r([]),l(!1),p(""),u("idle")},[]),isLoading:n,isError:i,error:c}},lt=()=>{const e=Be(),[t,a]=L(!1),[s,r]=L(!1),[n,o]=L(""),[i,l]=L(null),[c,p]=L(null),d=x(()=>e.isTwoFactorVerificationRequired(),[e]),u=x(e=>{const t=e,a=function(e){const t=e.toLowerCase();return ee.expired.some(e=>t.includes(e.toLowerCase()))?{type:"expired",message:e,isRecoverable:!0,shouldAutoRedirect:!0}:ee.not_enabled.some(e=>t.includes(e.toLowerCase()))?{type:"not_enabled",message:e,isRecoverable:!1,shouldAutoRedirect:!1}:ee.invalid_code.some(e=>t.includes(e.toLowerCase()))?{type:"invalid_code",message:e,isRecoverable:!0,shouldAutoRedirect:!1}:{type:"generic",message:e,isRecoverable:!0,shouldAutoRedirect:!1}}(t.message);r(!0),o(t.message),l(a.type),p(a)},[]);return{isVerificationRequired:d,verify:x(async t=>{a(!0),r(!1),o(""),l(null),p(null);try{return await e.verifyTwoFactor(t)}catch(s){return u(s),null}finally{a(!1)}},[e,u]),useRecoveryCode:x(async t=>{a(!0),r(!1),o(""),l(null),p(null);try{return await e.useTwoFactorRecoveryCode(t)}catch(s){return u(s),null}finally{a(!1)}},[e,u]),reset:x(()=>{r(!1),o(""),l(null),p(null)},[]),isLoading:t,isError:s,error:n,errorType:i,errorDetails:c}},ct=()=>{const e=Be(),[t,a]=L([]),[s,r]=L(!1),[n,o]=L(!1),[i,l]=L("");return{recoveryCodes:t,disable:x(async t=>{r(!0),o(!1),l("");try{return await e.disableTwoFactor(t),!0}catch(a){return o(!0),l(a.message),!1}finally{r(!1)}},[e]),regenerateCodes:x(async t=>{r(!0),o(!1),l("");try{const s=await e.regenerateTwoFactorRecoveryCodes(t);return a(s.recovery_codes),s}catch(s){return o(!0),l(s.message),null}finally{r(!1)}},[e]),reset:x(()=>{a([]),o(!1),l("")},[]),isLoading:s,isError:n,error:i}},pt=e=>{const t=Be(),[a,s]=L(!0),[r,n]=L(!1),[o,i]=L(!1),[l,c]=L(null),[p,d]=L(null),[u,h]=L(null),[m,g]=L(null),[f,w]=L(null),[y,v]=L(null),[C,k]=L(null),M=S(!0),N=S(null),E=x(e=>{N.current&&clearInterval(N.current),v(e),N.current=setInterval(()=>{v(e=>null===e||e<=1?(N.current&&(clearInterval(N.current),N.current=null),null):e-1)},1e3)},[]),I=x(async(a=!1)=>{if(a||C!==e||!o){a?n(!0):s(!0),c(null);try{const a=await t.validateTwoFactorSetupMagicLink(e);a.success&&a.sessionToken&&a.userId?(d(a.sessionToken),h(a.userId),g(a.appId??null),w(a.expiresIn??null),i(!0),k(e),v(null),M.current=!1):a.error&&(c(a.error),i(!1),M.current=!0,"RATE_LIMITED"===a.error.code&&a.error.retryAfter&&E(a.error.retryAfter))}catch(r){c({code:"SERVER_ERROR",message:r instanceof Error?r.message:"An unexpected error occurred"}),i(!1),M.current=!0}finally{s(!1),n(!1)}}},[e,C,o,t,E]),A=x(async()=>{null!==y&&y>0||(k(null),await I(!0))},[I,y]);return b(()=>{if(!e)return c({code:"INVALID_TOKEN",message:"No token provided"}),void s(!1);e!==C&&I()},[e,C,I]),b(()=>()=>{N.current&&clearInterval(N.current),M.current&&t.clearMagicLinkSession?.()},[t]),{isLoading:a,isRetrying:r,isValidated:o,error:l,sessionToken:p,userId:u,appId:m,expiresIn:f,retryCountdown:y,retry:A}},dt=()=>{const e=Be(),[t,a]=L(null),[s,r]=L(null),[n,o]=L(!1),[i,l]=L(null);return{challenge:t,isLoading:n,error:i,requestChallenge:x(async t=>{o(!0),l(null);try{const s=await e.twoFactor.requestChallenge({first_factor_method:t});a(s),r(s.method)}catch(s){l(s),a(null)}finally{o(!1)}},[e]),verify:x(async(a,r=!1)=>{if(!t?.challenge_id)return l(/* @__PURE__ */new Error("No active challenge session")),null;o(!0),l(null);try{return await e.twoFactor.verifyV2({challenge_id:t.challenge_id,method:s||t.method,response:a,trust_device:r})}catch(n){return l(n),null}finally{o(!1)}},[e,t,s]),switchMethod:x(async s=>{if(t?.challenge_id){o(!0),l(null);try{const n=await e.twoFactor.switchToAlternative({challenge_id:t.challenge_id,method:s});a(n),r(s)}catch(n){l(n)}finally{o(!1)}}else l(/* @__PURE__ */new Error("No active challenge session"))},[e,t]),selectedMethod:s,reset:x(()=>{a(null),r(null),l(null),o(!1)},[])}},ut=()=>{const e=Be(),[t,a]=L([]),[s,r]=L([]),[n,o]=L(!1),[i,l]=L(null),c=x(async()=>{o(!0),l(null);try{const t=await e.twoFactor.getRegisteredMethods();r(t);const s=t.map(e=>e.method);a(s)}catch(t){l(t),r([]),a([])}finally{o(!1)}},[e]);return{availableMethods:t,registeredMethods:s,isLoading:n,error:i,refresh:c,removeMethod:x(async t=>{o(!0),l(null);try{await(e.twoFactor.removeMethod?.(t)),await c()}catch(a){l(a)}finally{o(!1)}},[e,c])}};function ht(e){const t=Be(),[a,s]=L(!1),[r,n]=L(null);b(()=>{const a={onAuthChange:(t,a)=>{if(t===d.SessionExpired){const t=a?.reason??"refresh_failed";s(!0),n(t),e?.onSessionExpired?.(t)}else t!==d.SignIn&&t!==d.Register||(s(!1),n(null))}};return t.subscribe(a,[d.SessionExpired,d.SignIn,d.Register]),()=>{t.unsubscribe(a)}},[t,e?.onSessionExpired]);return{isSessionExpired:a,expiredReason:r,resetSessionExpired:()=>{s(!1),n(null)}}}var mt="/oidc/device/info",gt="/oidc/device/authenticate",ft="/oidc/device/approve",wt="/oidc/device/passkey/start",yt=async e=>{const t=await e.json().catch(()=>({}))??{};if(!e.ok)throw new ie({reason:"string"==typeof t.reason?t.reason:"",code:"string"==typeof t.error?t.error:"",status:e.status,description:"string"==typeof t.error_description?t.error_description:""});return t},vt=()=>{const[e,t]=L("loading"),[a,s]=L(null),[r,n]=L(null),[o,i]=L(null),[l,c]=L(()=>new URLSearchParams(window.location.search).get("user_code")??""),p=S(null),d=S(!0);b(()=>(d.current=!0,()=>{d.current=!1}),[]);const u=a?.csrf_token??"",h=x(async(e,t)=>{const a=await fetch(e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"application/json","X-Passflow-CSRF":u},body:JSON.stringify({...t,user_code:l})});return yt(a)},[u,l]),m=x((e,a=null)=>{const s=ce(e);s.detail&&console.error("[passflow] device verification:",s.detail,e),d.current&&(n(s),t(a||("mode_disabled"===s.type?"refused":p.current?"signed_in":"ready")))},[]),g=x(async e=>{if(!e)return t("code_entry"),void n(null);t("loading"),n(null);try{const a=await fetch(`${mt}?user_code=${encodeURIComponent(e)}`,{method:"GET",credentials:"same-origin",headers:{Accept:"application/json"}}),r=await yt(a);if(!d.current)return;s(r),t("ready")}catch(a){const e=ce(a);if(e.detail&&console.error("[passflow] device verification:",e.detail,a),!d.current)return;if("code_required"===e.type)return n(null),void t("code_entry");n(e),t("mode_disabled"===e.type?"refused":"failed")}},[]);b(()=>{g(l)},[g,l]);const f=x(e=>{c(e.trim())},[]),w=x(async(e,t)=>{const a=await h(gt,{method:"password",email:e,password:t});p.current=a.approval_ticket,d.current&&i(a.email??e)},[h]),y=x(async()=>{if("undefined"==typeof window||!window.PublicKeyCredential)throw new DOMException("this browser does not implement PublicKeyCredential","NotSupportedError");const e=await h(wt,{}),{startAuthentication:t}=await import("@simplewebauthn/browser"),a=await t({optionsJSON:e.publicKey}),s=await h(gt,{method:"passkey",passkey_challenge_id:e.passkey_challenge_id,passkey_data:a});p.current=s.approval_ticket,d.current&&i(s.email??null)},[h]),v=x(async()=>{await h(ft,{approval_ticket:p.current}),d.current&&t("done")},[h]),C=x(async(e,a)=>{t("working"),n(null);try{if(await w(e,a),!d.current)return;t("signed_in")}catch(s){m(s)}},[w,m]),k=x(async()=>{t("working"),n(null);try{if(await y(),!d.current)return;t("signed_in")}catch(e){m(e)}},[y,m]),M=x(async()=>{t("working"),n(null);try{await v()}catch(e){m(e)}},[v,m]),N=x(async(e,a)=>{t("working"),n(null);try{p.current||await w(e,a),await v()}catch(s){m(s)}},[w,v,m]),E=x(async()=>{t("working"),n(null);try{await y(),await v()}catch(e){m(e)}},[y,v,m]),I=x(()=>n(null),[]);return{status:e,info:a,error:r,email:o,isAuthenticated:null!==p.current,submitCode:f,signInWithPassword:C,signInWithPasskey:k,approve:M,confirmWithPassword:N,confirmWithPasskey:E,clearError:I}},xt=()=>new URLSearchParams(window.location.search).get("parent_challenge_id")??"",Ct=e=>`/oidc/requests/${encodeURIComponent(e)}`,bt=()=>{const e=N(xt,[]),[t,a]=L("loading"),[s,r]=L(null),[n,o]=L(/* @__PURE__ */new Set),[i,l]=L(null);b(()=>{if(!e)return a("invalid"),void l({message:"Invalid consent link",description:"This consent link is missing required information. Please return to the application and try again."});let t=!1;return(async()=>{try{const s=await fetch(Ct(e),{method:"GET",credentials:"same-origin",headers:{Accept:"application/json"}});if(t)return;if(!s.ok){const e=await s.json().catch(()=>({}))??{};return a("invalid"),void l({message:s.status>=500?"Something went wrong":"Consent request unavailable",description:e.error_description||"We could not load this consent request. Please return to the application and try again."})}const n=await s.json();if(t)return;r(n),o(new Set(n.requested_scopes)),a("ready")}catch(s){if(t)return;a("invalid"),l({message:"Connection error",description:s instanceof Error?s.message:"Could not reach the server. Please check your connection."})}})(),()=>{t=!0}},[e]);const c=x(e=>{o(t=>{const a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a}),l(null)},[]),p=x(async t=>{if(!s)return;a("working"),l(null);const r=Ct(e),o="allow"===t?`${r}/consent`:`${r}/reject`,i="allow"===t?{granted_scopes:s.requested_scopes.filter(e=>n.has(e))}:{error:"access_denied",error_description:"User denied consent"};try{const e=await fetch(o,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"application/json","X-Passflow-CSRF":s.csrf_token},body:JSON.stringify(i)});if(!e.ok){const t=await e.json().catch(()=>({}))??{};return a("ready"),void l({message:t.error_description||"Could not submit your decision. Please try again."})}const t=await e.json();if("redirect"===t.kind)return a("redirecting"),void(window.location.href=t.url);if("form_post"===t.kind)return a("redirecting"),void((e,t)=>{const a=document.createElement("form");a.method="POST",a.action=e,a.style.display="none";for(const[s,r]of Object.entries(t)){const e=document.createElement("input");e.type="hidden",e.name=s,e.value=r,a.appendChild(e)}document.body.appendChild(a),a.submit()})(t.action,t.fields);a("ready"),l({message:"Unexpected response from server."})}catch(c){a("ready"),l({message:c instanceof Error?c.message:"Could not reach the server. Please try again."})}},[n,s,e]),d=x(()=>p("allow"),[p]),u=x(()=>p("deny"),[p]),h=N(()=>new Map((s?.scope_metadata??[]).map(e=>[e.scope,e])),[s]),m=x(e=>h.get(e)??{scope:e,label:e,description:""},[h]);return{status:t,info:s,grantedScopes:N(()=>(s?.requested_scopes??[]).filter(e=>n.has(e)),[n,s]),error:i,scopeMetadata:m,toggleScope:c,allow:d,deny:u}},kt=({id:t,name:a,onChange:s,isError:r=!1,className:o="",disabled:i=!1,...l})=>{const[c,p]=L(!1),[d,u]=L(""),[f,w]=L(!1),y=S(null),v=S(null);b(()=>{c&&v.current?.focus()},[c]),st(y,()=>{p(!1),u("")});const x=Intl.DateTimeFormat().resolvedOptions().timeZone,C=A(x),{inputValue:k,country:M,setCountry:E,handlePhoneValueChange:I,inputRef:F}=_({defaultCountry:C?.id.toLocaleLowerCase()||"us"}),R=N(()=>P.filter(e=>{const{name:t}=T(e);return t.toLowerCase().includes(d.toLowerCase())}),[d]),U=N(()=>P.filter(t=>{const{iso2:a}=T(t);return e(a,C?.id.toLocaleLowerCase())}),[C?.id]),Y=N(()=>{if(d)return R;const e=new Set(U.map(e=>T(e).iso2));return R.filter(t=>!e.has(T(t).iso2))},[d,R,U]),z=(e=!1)=>{p(!1),u(""),e&&y.current?.querySelector(".passflow-button-show-country")?.focus()},j=e=>{E(e),z(!0)},B=e=>{const{name:t,dialCode:a,iso2:s}=T(e);/* @__PURE__ */
7
- return g("div",{role:"option","aria-selected":s===M.iso2,tabIndex:0,title:t,onClick:()=>j(s),onKeyDown:e=>((e,t)=>{if("Enter"===e.key||" "===e.key)return e.preventDefault(),void j(t);if("ArrowDown"!==e.key&&"ArrowUp"!==e.key)return;e.preventDefault();const a=Array.from(y.current?.querySelectorAll('[role="option"]')??[]),s=a.indexOf(e.currentTarget);a["ArrowDown"===e.key?Math.min(s+1,a.length-1):Math.max(s-1,0)]?.focus()})(e,s),className:"passflow-country-search-item",children:[
8
- /* @__PURE__ */m(Me,{iso2:s,className:"passflow-country-search-flag"}),
9
- /* @__PURE__ */m("span",{className:"passflow-country-search-name",children:t}),
10
- /* @__PURE__ */g("span",{className:"passflow-country-search-code",children:["+",a]})]},s)};/* @__PURE__ */
11
- return g("div",{ref:y,className:J("passflow-field-phone-wrapper",{"passflow-field-phone-wrapper--focus":f,"passflow-field-phone-wrapper--error":r},o),children:[
12
- /* @__PURE__ */g(Le,{type:"button",variant:"clean",onClick:()=>c?z(!0):p(!0),size:"big",className:"passflow-button-show-country",disabled:i,"aria-label":`Select country, current ${M.iso2.toUpperCase()}`,"aria-haspopup":"listbox","aria-expanded":c,"aria-controls":"passflow-country-options",children:[/* @__PURE__ */m(Me,{iso2:M.iso2}),/* @__PURE__ */m(Ee,{type:"general",id:"caret-down",size:"small"})]}),c?/* @__PURE__ */g("div",{className:"passflow-field-country-search-wrapper",children:[/* @__PURE__ */m("input",{ref:v,role:"combobox","aria-label":"Search countries","aria-expanded":"true","aria-controls":"passflow-country-options","aria-autocomplete":"list",value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Escape"===e.key&&z(!0),"ArrowDown"===e.key&&(e.preventDefault(),y.current?.querySelector('[role="option"]')?.focus())},className:"passflow-field-country-search",onFocus:()=>w(!0),onBlur:()=>w(!1),placeholder:"Search for a country"}),/* @__PURE__ */m("div",{className:"passflow-field-country-search-icon",children:/* @__PURE__ */m(Ee,{type:"general",id:"search",size:"small"})})]}):/* @__PURE__ */m("input",{...l,id:t,name:a,ref:F,type:"tel",value:k,disabled:i,"aria-invalid":r,onChange:e=>{I(e),s(e)},onFocus:()=>w(!0),onBlur:()=>w(!1),className:"passflow-field-phone-input"}),
13
- /* @__PURE__ */m("div",{id:"passflow-country-options",role:"listbox",tabIndex:-1,"aria-label":"Countries","aria-hidden":!c,className:J("passflow-country-search-wrapper",{"passflow-country-search-wrapper--show":c,"passflow-country-search-wrapper--hidden":!c,"passflow-country-search-wrapper--without-preferred":!!d||0===U.length}),children:n(R)>0?/* @__PURE__ */g(h,{children:[
14
- /* @__PURE__ */m("div",{role:"presentation","aria-hidden":"true",className:"passflow-country-search-sticky-top"}),!d&&U.length>0?/* @__PURE__ */g(h,{children:[U.map(B),/* @__PURE__ */m("div",{role:"presentation",className:"passflow-country-search-divider",children:"All countries"})]}):null,Y.map(B),
15
- /* @__PURE__ */m("div",{role:"presentation","aria-hidden":"true",className:"passflow-country-search-sticky-bottom"})]}):/* @__PURE__ */m("div",{role:"presentation",className:"passflow-country-search-no-matches",children:"No matches"})})]})},Mt=({providers:e,onClick:t,className:a=""})=>/* @__PURE__ */m("div",{className:J("passflow-providers-box",{"passflow-providers-box--grid":e.length>1},a),children:e.map(a=>/* @__PURE__ */g(Le,{onClick:()=>t(a),size:"big",variant:"provider",type:"button",withIcon:!0,className:"passflow-provider-item",children:[/* @__PURE__ */m(Ee,{size:"small",type:"providers",id:a,decorative:e.length<=2}),e.length<=2&&/* @__PURE__ */m("p",{className:"passflow-provider-text",children:a})]},a))}),Nt=({to:e,search:t,replace:a=!1,children:s,className:r,onClick:n,...o})=>{const{navigate:i}=nt();/* @__PURE__ */
16
- return m("a",{href:`${e}${t?t.startsWith("?")?t:`?${t}`:""}`,onClick:s=>{s.preventDefault(),n&&n(s),i({to:e,search:t,replace:a})},className:r,...o,children:s})},Et=({label:e,checked:t,disabled:a=!1,id:s,onChange:r})=>{const n=k(),o=s??n;/* @__PURE__ */
17
- return g("label",{className:J("passflow-switch-wrapper",{"passflow-switch-wrapper--disabled":a}),htmlFor:o,children:[
18
- /* @__PURE__ */m("span",{className:"passflow-switch-label",children:e}),
19
- /* @__PURE__ */m("input",{id:o,type:"checkbox",className:"passflow-switch-input",checked:t,disabled:a,onChange:r}),
20
- /* @__PURE__ */m("div",{className:"passflow-switch-track"})]})},St=F.Root,Lt=F.Trigger,It=F.Anchor,At=v(({className:e,align:t="center",sideOffset:a=4,...s},r)=>/* @__PURE__ */m(F.Portal,{children:/* @__PURE__ */m(F.Content,{ref:r,align:t,sideOffset:a,className:J("passflow-popover-content",e),...s})}));At.displayName=F.Content.displayName;var Pt=R.Root,Tt=R.Trigger,_t=R.Portal,Ft=R.Close,Rt=v(({className:e,...t},a)=>/* @__PURE__ */m(R.Overlay,{ref:a,className:J("passflow-dialog-overlay",e),...t}));Rt.displayName=R.Overlay.displayName;var Ut=v(({className:e,children:t,...a},s)=>/* @__PURE__ */g(_t,{children:[/* @__PURE__ */m(Rt,{}),/* @__PURE__ */m(R.Content,{ref:s,className:J("passflow-dialog-content",e),...a,children:t})]}));Ut.displayName=R.Content.displayName;var Yt=({className:e,...t})=>/* @__PURE__ */m("div",{className:J("passflow-dialog-header",e),...t});Yt.displayName="DialogHeader";var zt=({className:e,...t})=>/* @__PURE__ */m("div",{className:J("passflow-dialog-footer",e),...t});zt.displayName="DialogFooter";var jt=v(({className:e,...t},a)=>/* @__PURE__ */m(R.Title,{ref:a,className:J("passflow-dialog-title",e),...t}));jt.displayName=R.Title.displayName;var Bt=v(({className:e,...t},a)=>/* @__PURE__ */m(R.Description,{ref:a,className:J("passflow-dialog-description",e),...t}));Bt.displayName=R.Description.displayName;var Gt,Vt=({message:e,id:t})=>e?/* @__PURE__ */g("div",{id:t,className:"passflow-form-error",role:"alert",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning",decorative:!0}),/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:e})]}):null,Dt=({label:e})=>/* @__PURE__ */g("div",{className:"passflow-form-divider","aria-hidden":"true",children:[
21
- /* @__PURE__ */m("div",{className:"passflow-form-divider__line-left"}),
22
- /* @__PURE__ */m("span",{className:"passflow-form-divider__text",children:e}),
23
- /* @__PURE__ */m("div",{className:"passflow-form-divider__line-right"})]}),Ht=({children:e})=>/* @__PURE__ */m("div",{className:"passflow-login-screen-actions",children:e}),Ot=({message:e})=>/* @__PURE__ */g("div",{className:"passflow-login-screen-status",role:"status","aria-live":"polite",children:[/* @__PURE__ */m("div",{className:"passflow-login-screen-spinner passflow-login-screen-spinner--small","aria-hidden":"true"}),/* @__PURE__ */m("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:e})]}),Zt=({code:e,appName:t,message:a,codeTestId:s,appNameTestId:r})=>/* @__PURE__ */g("div",{className:"passflow-login-screen-notice",role:"note",children:[e?/* @__PURE__ */m("div",{className:"passflow-login-screen-code","data-testid":s,children:e}):null,/* @__PURE__ */g("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:[
24
- /* @__PURE__ */m("span",{className:"passflow-login-screen-app-name","data-testid":r,children:t})," ",a]})]}),Jt=({label:e="Code",initialCode:t="",error:a,busy:s=!1,submitLabel:r="Continue",testId:n,onSubmit:o})=>{const[i,l]=L(t);/* @__PURE__ */
25
- return g("form",{className:"passflow-form","data-testid":n,"aria-busy":s,onSubmit:e=>{e.preventDefault();const t=i.trim();t&&o(t)},children:[
26
- /* @__PURE__ */g("div",{className:"passflow-form-container",children:[/* @__PURE__ */g("div",{className:"passflow-form-field",children:[/* @__PURE__ */m("div",{className:"passflow-form-field__header",children:/* @__PURE__ */m("label",{htmlFor:"device-user-code",className:"passflow-field-label",children:e})}),/* @__PURE__ */m(Ie,{id:"device-user-code",name:"user_code",type:"text",autoCapitalize:"characters",autoComplete:"off",autoCorrect:"off",spellCheck:!1,inputMode:"text",className:"passflow-login-screen-code-input",value:i,disabled:s,"aria-invalid":Boolean(a),"aria-describedby":a?"device-user-code-error":void 0,isError:Boolean(a),onChange:e=>l(e.target.value)})]}),/* @__PURE__ */m(Vt,{id:"device-user-code-error",message:a})]}),s?/* @__PURE__ */m(Ot,{message:"Checking the code…"}):null,
27
- /* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"submit",disabled:s||0===i.trim().length,children:s?"Checking…":r})]})},Wt=({appName:e,scopes:t,prompt:a="wants to access your account.",busy:s=!1,error:r,allowLabel:n="Allow",denyLabel:o="Deny",busyLabel:i="Submitting…",testId:l,allowTestId:c,denyTestId:p,appNameTestId:d,onToggleScope:u,onAllow:h,onDeny:f})=>/* @__PURE__ */g("div",{className:"passflow-form","data-testid":l,"aria-busy":s,children:[
28
- /* @__PURE__ */m(Zt,{appName:e,message:a,appNameTestId:d}),
29
- /* @__PURE__ */g("div",{className:"passflow-form-container",children:[/* @__PURE__ */m(Vt,{message:r}),t.length?/* @__PURE__ */m("ul",{className:"passflow-consent-scopes",children:t.map(e=>/* @__PURE__ */g("li",{className:"passflow-consent-scope","data-testid":`consent-scope-${e.scope}`,children:[/* @__PURE__ */m(Et,{label:e.label,checked:e.granted,disabled:s,onChange:()=>u(e.scope)}),e.description?/* @__PURE__ */m("p",{className:"passflow-consent-scope-description",children:e.description}):null]},e.scope))}):/* @__PURE__ */m("p",{className:"passflow-login-screen-hint",children:"This application is not requesting access to any of your data."})]}),s?/* @__PURE__ */m(Ot,{message:i}):null,
30
- /* @__PURE__ */g("div",{className:"passflow-consent-actions",children:[/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button","data-testid":c,disabled:s,onClick:h,children:n}),/* @__PURE__ */m(Le,{size:"big",variant:"outlined",type:"button","data-testid":p,disabled:s,onClick:f,children:o})]})]}),qt={email_or_username:"",phone:"",password:""},Kt=e=>{const{methods:t}=e,a=(e=>void 0!==e.initialMethod&&e.methods.identities.some(t=>t.id===e.initialMethod)?e.initialMethod:e.methods.identities[0]?.id??null)(e),[s,r]=L(a),[n,o]=L(Boolean(e.forcePasskey)),i=S(a),l=S(Boolean(e.forcePasskey)),{control:c,getValues:p,reset:d,trigger:u,watch:f,formState:{errors:w,isDirty:y,isValid:v},handleSubmit:x}=z({defaultValues:qt,mode:"onChange"});b(()=>{i.current!==a&&(i.current=a,r(a),d(qt))},[a,d]),b(()=>{const t=Boolean(e.forcePasskey);l.current!==t&&(l.current=t,o(t))},[e.forcePasskey]);const C=t.identities.find(e=>e.id===s),k=Boolean(C?.password),M=Boolean(C?.passwordlessLabel),N=t.passkey,E=Boolean(C),I=!n&&E,A=N&&(n||!E),P=k||M||N,T=Boolean(e.busy||e.disabled),_=e.error?.scope,F="identity"===_||"credentials"===_,R="password"===_||"credentials"===_,j="sign-up"===e.credentialPurpose,B=e=>({method:s,emailOrUsername:e.email_or_username,phone:e.phone,password:e.password}),G=()=>{d(qt),e.onReset?.()},V=e=>{r(e),G()},O=x(t=>{k?e.onPassword?.(B(t)):M&&e.onPasswordless?.(B(t))}),Z=f("phone"===s?"phone":"email_or_username"),W=t.identities.find(e=>e.id!==s);/* @__PURE__ */
31
- return g(h,{children:[e.notice?/* @__PURE__ */m(Zt,{...e.notice}):null,e.allowPasskeyToggle&&N&&E&&(k||M)?/* @__PURE__ */m("div",{className:"passflow-form-switch",children:/* @__PURE__ */m(Et,{label:"Passwordless experience",checked:n,disabled:T,onChange:e=>{return t=e.target.checked,o(t),void G();var t}})}):null,
32
- /* @__PURE__ */g("form",{className:"passflow-form","data-testid":e.testId,"aria-busy":T&&Boolean(e.busy),onSubmit:O,children:[e.busy?/* @__PURE__ */m(Ot,{message:e.primaryLabel??"Signing in…"}):null,I?/* @__PURE__ */g(h,{children:[/* @__PURE__ */g("div",{className:"passflow-form-container",children:["email_or_username"===s?/* @__PURE__ */g("div",{className:"passflow-form-field",children:[
33
- /* @__PURE__ */g("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */m("label",{htmlFor:"email_or_username",className:J("passflow-field-label",{"passflow-field-label--error":F||Boolean(w.email_or_username)}),children:C?.label}),W?/* @__PURE__ */m(Le,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",disabled:T,onClick:()=>V(W.id),children:W.selectLabel}):null]}),
34
- /* @__PURE__ */m(Y,{name:"email_or_username",control:c,rules:{required:C?.requiredMessage??"Identity is required",..."email"===C?.format?{pattern:{value:D,message:"Invalid email"}}:void 0},render:({field:e})=>/* @__PURE__ */m(Ie,{...e,id:"email_or_username",type:"email"===C?.format?"email":"text",autoComplete:"email"===C?.format?"email":"username","aria-invalid":Boolean(w.email_or_username),"aria-describedby":w.email_or_username?"email_or_username-error":void 0,isError:F||Boolean(w.email_or_username),disabled:T})}),w.email_or_username?.message?/* @__PURE__ */m(Vt,{id:"email_or_username-error",message:w.email_or_username.message}):null]}):null,"phone"===s?/* @__PURE__ */g("div",{className:"passflow-form-field",children:[
35
- /* @__PURE__ */g("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */m("label",{htmlFor:"phone",className:J("passflow-field-label",{"passflow-field-label--error":F||Boolean(w.phone)}),children:"Phone number"}),W?/* @__PURE__ */m(Le,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",disabled:T,onClick:()=>V(W.id),children:W.selectLabel}):null]}),
36
- /* @__PURE__ */m(Y,{name:"phone",control:c,rules:{required:"Phone number is required",validate:e=>U(e).isValid||"Invalid phone number"},render:({field:e})=>/* @__PURE__ */m(kt,{id:"phone",name:"phone",onChange:e.onChange,"aria-describedby":w.phone?"phone-error":void 0,isError:F||Boolean(w.phone),disabled:T,ref:null})}),w.phone?.message?/* @__PURE__ */m(Vt,{id:"phone-error",message:w.phone.message}):null]}):null,k?/* @__PURE__ */g("div",{className:"passflow-form-field",children:[
37
- /* @__PURE__ */g("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */m("label",{htmlFor:"password",className:J("passflow-field-label",{"passflow-field-label--error":R||Boolean(w.password)}),children:"Password"}),e.forgotPassword?/* @__PURE__ */m(Nt,{to:e.forgotPassword.to,search:e.forgotPassword.getSearch?.(s),className:"passflow-field-label-button",children:"Forgot Password?"}):null]}),
38
- /* @__PURE__ */m(Y,{name:"password",control:c,rules:{required:"Password is required",validate:t=>{if(!j)return!0;try{return H(e.passwordPolicy).validateSync(t),!0}catch(a){return a.errors?.join(", ")??"Password does not meet the requirements"}}},render:({field:t})=>/* @__PURE__ */m(Pe,{...t,id:"password",name:"password","aria-invalid":Boolean(w.password),"aria-describedby":w.password&&!j?"password-error":void 0,isError:R||Boolean(w.password),passwordPolicy:e.passwordPolicy,withMessages:j,validationErrors:j&&w.password?.message?w.password.message.split(", "):void 0,autoComplete:j?"new-password":"current-password",disabled:T})}),!j&&w.password?.message?/* @__PURE__ */m(Vt,{id:"password-error",message:w.password.message}):null]}):null,
39
- /* @__PURE__ */m(Vt,{message:e.error?.message})]}),/* @__PURE__ */g(Ht,{children:[k&&e.onPassword?/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"submit",disabled:T||!y||!v,className:"passflow-button-signin","data-testid":e.primaryTestId,children:e.primaryLabel??"Sign In"}):null,M&&e.onPasswordless?/* @__PURE__ */g(Le,{size:"big",variant:k?"outlined":"primary",type:"button",className:J("passflow-button-passwordless",{"passflow-button-passwordless--active":k}),disabled:T||0===Z.trim().length,onClick:()=>{(async()=>{s&&e.onPasswordless&&await u("phone"===s?"phone":"email_or_username")&&e.onPasswordless(B(p()))})()},children:[e.passwordlessLabelPrefix??"Sign In with"," ",C?.passwordlessLabel]}):null,N&&e.onPasskey?/* @__PURE__ */g(Le,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,disabled:T,onClick:e.onPasskey,children:[/* @__PURE__ */m(Ee,{id:"key",size:"small",type:"general",className:"passflow-button-passkey-icon",decorative:!0,matchTextColor:!0}),e.passkeyLabel??"Sign In with a Passkey"]}):null]})]}):null,A?/* @__PURE__ */g(h,{children:[/* @__PURE__ */m(Vt,{message:e.error?.message}),e.onPasskey?/* @__PURE__ */m(Ht,{children:/* @__PURE__ */g(Le,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,disabled:T,onClick:e.onPasskey,children:[/* @__PURE__ */m(Ee,{id:"key",size:"small",type:"general",className:"passflow-button-passkey-icon",decorative:!0,matchTextColor:!0}),e.passkeyLabel??"Sign In with a Passkey"]})}):null]}):null,e.footer?/* @__PURE__ */m("div",{className:J("passflow-form-actions",{"passflow-form-actions--top-space":P}),children:/* @__PURE__ */g("p",{className:"passflow-dont-have-account",children:[e.footer.prompt," ",
40
- /* @__PURE__ */m(Nt,{to:e.footer.to,search:e.footer.search,className:"passflow-link",children:e.footer.label})]})}):null,t.providers.length>0&&e.onProvider?/* @__PURE__ */g("div",{className:"passflow-form-providers",children:[P?/* @__PURE__ */m(Dt,{label:"Or continue with"}):null,/* @__PURE__ */m(Mt,{providers:t.providers,onClick:e.onProvider})]}):null]})]})},Qt=({appName:e,code:t,identity:a,busy:s=!1,error:r,actionLabel:n="Approve this device",busyLabel:o="Approving…",testId:i,actionTestId:l,codeTestId:c,appNameTestId:p,onApprove:d})=>/* @__PURE__ */g("div",{className:"passflow-form","data-testid":i,"aria-busy":s,children:[
41
- /* @__PURE__ */m(Zt,{code:t,appName:e,message:"requested this sign-in. Confirm that the code matches your terminal.",codeTestId:c,appNameTestId:p}),
42
- /* @__PURE__ */g("div",{className:"passflow-form-container passflow-login-screen-centered",children:[
43
- /* @__PURE__ */g("div",{className:"passflow-login-screen-success",role:"status","aria-live":"polite",children:[/* @__PURE__ */m(Ee,{size:"small",id:"check",type:"general",className:"icon-success",decorative:!0}),/* @__PURE__ */m("p",{className:"passflow-login-screen-text",children:a?/* @__PURE__ */g(h,{children:["Signed in as ",
44
- /* @__PURE__ */m("strong",{className:"passflow-login-screen-app-name",children:a}),"."]}):"Signed in successfully."})]}),
45
- /* @__PURE__ */m("p",{className:"passflow-login-screen-hint",children:"Approve this request to finish signing in on the device."}),
46
- /* @__PURE__ */m(Vt,{message:r})]}),s?/* @__PURE__ */m(Ot,{message:o}):null,
47
- /* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button",autoFocus:!s,"data-testid":l,disabled:s,onClick:d,children:s?o:n})]}),Xt=({message:e,detail:t="Go back to start again.",actionLabel:a="Go back",testId:s,onAction:r})=>/* @__PURE__ */g("div",{className:"passflow-error-container","data-testid":s,children:[/* @__PURE__ */g("div",{className:"passflow-error-container-text-wrapper",role:"alert","aria-live":"assertive",children:[e?/* @__PURE__ */m("h1",{className:"passflow-error-container-text",children:e}):null,/* @__PURE__ */m("p",{className:"passflow-error-container-text-secondary",children:t})]}),/* @__PURE__ */m(Le,{size:"big",type:"button",variant:"primary",onClick:r,className:"passflow-button-go-back-error",children:a})]}),$t=({identity:e,inviterName:t,busy:a=!1,error:s,acceptLabel:r="Accept invitation",busyLabel:n="Accepting invitation…",switchAccountLabel:o="Switch account",createAccountLabel:i="Create a new account",testId:l,acceptTestId:c,onAccept:p,onSwitchAccount:d,onCreateAccount:u})=>/* @__PURE__ */g("div",{className:"passflow-form","data-testid":l,"aria-busy":a,children:[
48
- /* @__PURE__ */g("div",{className:"passflow-form-container passflow-login-screen-centered",children:[t?/* @__PURE__ */g("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:[/* @__PURE__ */m("strong",{className:"passflow-login-screen-app-name",children:t})," sent this invitation."]}):null,
49
- /* @__PURE__ */m("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:e?/* @__PURE__ */g(h,{children:["You're signed in as ",
50
- /* @__PURE__ */m("strong",{className:"passflow-login-screen-app-name",children:e}),"."]}):"You’re already signed in."}),
51
- /* @__PURE__ */m("p",{className:"passflow-login-screen-hint",children:"Continue with this account, or switch accounts?"}),
52
- /* @__PURE__ */m(Vt,{message:s})]}),a?/* @__PURE__ */m(Ot,{message:n}):null,
53
- /* @__PURE__ */g(Ht,{children:[
54
- /* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button",autoFocus:!a,"data-testid":c,disabled:a,onClick:p,children:a?n:r}),
55
- /* @__PURE__ */m(Le,{size:"big",variant:"outlined",type:"button",disabled:a,onClick:d,children:o}),
56
- /* @__PURE__ */m(Le,{size:"big",variant:"clean",type:"button",disabled:a,onClick:u,children:i})]})]}),ea=({working:e,message:t,actionLabel:a="Continue with a passkey",error:s,recoverable:r=!1,retryLabel:n="Try again",testId:o,onAction:i,onRetry:l})=>/* @__PURE__ */g("div",{className:"passflow-form","data-testid":o,children:[/* @__PURE__ */g("div",{className:"passflow-form-container passflow-login-screen-centered",children:[/* @__PURE__ */g("div",{className:"passflow-login-screen-status",role:"status",children:[e?/* @__PURE__ */m("div",{className:"passflow-login-screen-spinner","aria-hidden":"true"}):null,/* @__PURE__ */m("p",{className:"passflow-login-screen-text",children:t})]}),/* @__PURE__ */m(Vt,{message:s})]}),!e&&i?/* @__PURE__ */g(Le,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:i,children:[/* @__PURE__ */m(Ee,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon",decorative:!0}),a]}):!e&&s&&r&&l?/* @__PURE__ */g(Le,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:l,children:[/* @__PURE__ */m(Ee,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon",decorative:!0}),n]}):null]}),ta=({iconId:e="logo",title:t="",subtitle:a="",className:s="",children:r,customCss:n,customLogo:o,customLogoAlt:i="Application logo",removeBranding:l=!1})=>/* @__PURE__ */g(B,{children:[/* @__PURE__ */m(j,{children:/* @__PURE__ */m("style",{type:"text/css",className:"psfw-custom-styles","data-passflow-style-layer":"custom",children:n})}),/* @__PURE__ */g("div",{id:"passflow-wrapper",className:"passflow-wrapper",children:[/* @__PURE__ */g("main",{className:J("passflow-form-main-wrapper",s),children:[/* @__PURE__ */g("div",{className:"passflow-form-main-container",children:[o?/* @__PURE__ */m("img",{src:o,alt:i,className:"passflow-form-main-container-logo"}):/* @__PURE__ */m(Ee,{id:e,size:"large",type:"general",decorative:!0}),t?/* @__PURE__ */g("div",{className:"passflow-form-header",children:[/* @__PURE__ */m("h1",{className:"passflow-form-title",children:t}),a?/* @__PURE__ */m("span",{className:"passflow-form-subtitle",children:a}):null]}):null]}),r]}),l?null:/* @__PURE__ */m("footer",{className:"passflow-branding",children:/* @__PURE__ */g("p",{className:"passflow-branding-text",children:["Secured by ",/* @__PURE__ */m("span",{className:"passflow-branding-text-secondary passflow-secondary-font",children:"PASSFLOW"})]})})]})]}),aa=({tone:e,message:t,detail:a,recoverable:s=!1,retryLabel:r="Try again",testId:n,onRetry:o,primaryAction:i})=>/* @__PURE__ */g("div",{className:"passflow-form","data-testid":n,children:[/* @__PURE__ */g("div",{className:"passflow-form-container passflow-login-screen-centered",children:["success"===e?/* @__PURE__ */g("div",{className:"passflow-login-screen-success",role:"status",children:[/* @__PURE__ */m(Ee,{size:"small",id:"check",type:"general",className:"icon-success",decorative:!0}),/* @__PURE__ */m("span",{className:"passflow-login-screen-success-text",children:t})]}):/* @__PURE__ */m(Vt,{message:t}),a?/* @__PURE__ */m("p",{className:"passflow-login-screen-hint",children:a}):null]}),i?/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button",onClick:i.onClick,children:i.label}):"error"===e&&s&&o?/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button",onClick:o,children:r}):null]}),sa=({chrome:e,state:t})=>{const a=(()=>{switch(t.kind){case"credentials":/* @__PURE__ */return m(Kt,{...t});case"code-entry":/* @__PURE__ */return m(Jt,{...t});case"passkey-progress":/* @__PURE__ */return m(ea,{...t});case"device-approval":/* @__PURE__ */return m(Qt,{...t});case"invitation":/* @__PURE__ */return m($t,{...t});case"general-error":/* @__PURE__ */return m(Xt,{...t});case"consent":/* @__PURE__ */return m(Wt,{...t});case"status":/* @__PURE__ */return m(aa,{...t})}})(),s="general-error"===t.kind||"status"===t.kind&&"error"===t.tone,r="general-error"===t.kind?"passflow-error-wrapper":"sign-in"===e.variant?"passflow-signin-wrapper":void 0;/* @__PURE__ */
57
- return m(ta,{iconId:s?"logo-red":"logo",title:e.title,subtitle:e.subtitle,className:r,customCss:e.customCss,customLogo:e.customLogo,customLogoAlt:e.customLogoAlt,removeBranding:e.removeBranding,children:a})},ra=({onComplete:e,onCancel:t,numInputs:a})=>{const[s,r]=L(""),[n,o]=L(!1),{setupData:i,recoveryCodes:l,step:c,beginSetup:p,confirmSetup:d,reset:u,isLoading:h,isError:f,error:w}=it(),y=a??6;return"idle"===c?/* @__PURE__ */m(ta,{title:"Enable Two-Factor Authentication",subtitle:"Add an extra layer of security to your account",className:"passflow-2fa-setup",children:/* @__PURE__ */g("div",{className:"passflow-2fa-setup-start",children:[
58
- /* @__PURE__ */m(Le,{size:"big",type:"button",variant:"primary",onClick:()=>p(),disabled:h,children:h?"Loading...":"Get Started"}),t&&/* @__PURE__ */m("button",{type:"button",className:"passflow-link-button",onClick:t,children:"Cancel"}),f&&/* @__PURE__ */g("div",{className:"passflow-field-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-field-error-text",children:w})]})]})}):"setup"===c&&i?/* @__PURE__ */m(ta,{title:"Scan QR Code",subtitle:"Scan this code with your authenticator app (Google Authenticator, Authy, etc.)",className:"passflow-2fa-setup",children:/* @__PURE__ */g("form",{onSubmit:async e=>{e.preventDefault(),await d(s)},className:"passflow-2fa-setup-qr",children:[
59
- /* @__PURE__ */m("div",{className:"passflow-2fa-qr-container",children:/* @__PURE__ */m("img",{src:`data:image/png;base64,${i.qr_code}`,alt:"2FA QR Code",className:"passflow-2fa-qr-image"})}),
60
- /* @__PURE__ */g("div",{className:"passflow-2fa-secret-toggle",children:[/* @__PURE__ */m("button",{type:"button",className:"passflow-link-button",onClick:()=>o(!n),children:n?"Hide manual code":"Can't scan? Enter code manually"}),n&&/* @__PURE__ */m("code",{className:"passflow-2fa-secret-code",children:i.secret})]}),
61
- /* @__PURE__ */g("div",{className:"passflow-2fa-confirm-section",children:[/* @__PURE__ */g("p",{className:"passflow-2fa-confirm-label",children:["Enter the ",y,"-digit code from your app to confirm:"]}),/* @__PURE__ */g("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[/* @__PURE__ */m(G,{value:s,onChange:e=>{r(e)},numInputs:y,shouldAutoFocus:!0,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:J("passflow-field-otp passflow-field-otp--focused",f&&"passflow-field-otp--error"),inputType:"text",renderInput:e=>/* @__PURE__ */m("input",{...e})}),f&&/* @__PURE__ */g("div",{className:"passflow-verify-otp-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-verify-otp-error-text",children:w})]})]})]}),
62
- /* @__PURE__ */m(Le,{size:"big",type:"submit",variant:"primary",disabled:s.length!==y||h,children:h?"Confirming...":"Confirm & Enable"})]})}):"complete"===c&&l.length>0?/* @__PURE__ */m(ta,{title:"Save Your Recovery Codes",subtitle:"Store these codes in a safe place. You'll need them if you lose access to your authenticator.",className:"passflow-2fa-setup",children:/* @__PURE__ */g("div",{className:"passflow-2fa-setup-complete",children:[
63
- /* @__PURE__ */g("div",{className:"passflow-2fa-warning",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{children:"These codes will only be shown once. Make sure to save them!"})]}),
64
- /* @__PURE__ */m("div",{className:"passflow-2fa-recovery-codes",children:l.map(e=>/* @__PURE__ */m("code",{className:"passflow-2fa-recovery-code",children:e},e))}),
65
- /* @__PURE__ */m(Le,{size:"big",type:"button",variant:"secondary",onClick:()=>{navigator.clipboard.writeText(l.join("\n"))},children:"Copy to Clipboard"}),
66
- /* @__PURE__ */m(Le,{size:"big",type:"button",variant:"primary",onClick:()=>{e?.(l),u()},children:"I've Saved These Codes"})]})}):null},na=({twoFactorVerifyPath:e=Re.two_factor_verify.path,signInPath:t=Re.signin.path})=>{const[a,s]=L(!1),{navigate:r}=nt(),n=Be();b(()=>{n.isTwoFactorVerificationRequired()||(Ce.canRedirect()?(Ce.incrementRedirect(),r({to:t}),s(!0)):s(!1))},[n,r,t]);return a||!n.isTwoFactorVerificationRequired()&&Ce.canRedirect()?null:/* @__PURE__ */m(ra,{onComplete:()=>{r({to:e})},onCancel:()=>{Ce.reset(),r({to:t})}})},oa={totp:"Authenticator App",email_otp:"Email Code",sms_otp:"SMS Code",passkey:"Passkey",recovery_codes:"Recovery Code",push_fcm:"Push Notification (FCM)",push_webpush:"Push Notification (Web)"},ia={totp:"📱",email_otp:"✉️",sms_otp:"💬",passkey:"🔑",recovery_codes:"🔒",push_fcm:"🔔",push_webpush:"🔔"},la=({availableMethods:e,currentMethod:t,onSelectMethod:a,isOpen:s,onClose:r})=>/* @__PURE__ */m(R.Root,{open:s,onOpenChange:e=>!e&&r(),children:/* @__PURE__ */g(R.Portal,{children:[/* @__PURE__ */m(R.Overlay,{className:"pf-dialog-overlay"}),/* @__PURE__ */g(R.Content,{className:"pf-dialog-content pf-method-selector-dialog",children:[
67
- /* @__PURE__ */m(R.Title,{className:"pf-dialog-title",children:"Choose Verification Method"}),
68
- /* @__PURE__ */m(R.Description,{className:"pf-dialog-description",children:"Select an alternative method to verify your identity"}),
69
- /* @__PURE__ */m("div",{className:"pf-method-selector-list",children:e.map(e=>/* @__PURE__ */g("button",{type:"button",className:"pf-method-selector-item "+(e===t?"pf-method-selector-item-active":""),onClick:()=>(e=>{a(e),r()})(e),disabled:e===t,children:[
70
- /* @__PURE__ */m("span",{className:"pf-method-icon",children:ia[e]||"🔐"}),
71
- /* @__PURE__ */m("span",{className:"pf-method-label",children:oa[e]||e}),e===t&&/* @__PURE__ */m("span",{className:"pf-method-current-badge",children:"Current"})]},e))}),
72
- /* @__PURE__ */m(R.Close,{asChild:!0,children:/* @__PURE__ */m("button",{type:"button",className:"pf-dialog-close","aria-label":"Close",children:"×"})})]})]})}),ca=({value:e,onChange:t,numInputs:a=6,error:s,disabled:r=!1,autoFocus:n=!0})=>{const o=S(null);return b(()=>{if(n&&o.current){const e=o.current.querySelector("input");e&&e.focus()}},[n]),/* @__PURE__ */g("div",{ref:o,className:"pf-otp-input-container",children:[/* @__PURE__ */m(G,{value:e,onChange:t,numInputs:a,renderSeparator:/* @__PURE__ */m("span",{className:"pf-otp-separator"}),renderInput:e=>/* @__PURE__ */m("input",{...e,className:`pf-otp-input ${s?"pf-otp-input-error":""} ${r?"pf-otp-input-disabled":""}`,disabled:r}),inputType:"tel",shouldAutoFocus:n}),s&&/* @__PURE__ */m("div",{className:"pf-otp-error",children:s})]})},pa=({firstFactorMethod:e,onSuccess:t,onError:a,trustDevice:s=!1})=>{const{challenge:r,isLoading:n,error:o,requestChallenge:i,verify:l,switchMethod:c,selectedMethod:p}=dt(),[d,u]=L(""),[h,f]=L(!1);b(()=>{i(e)},[i,e]),b(()=>{o&&a&&a(o)},[o,a]);const w=async()=>{d&&await l(d,s)&&t?.()},y=e=>{u(e),6===e.length&&setTimeout(()=>{l(e,s).then(e=>{e&&t?.()})},100)};if(!r)/* @__PURE__ */return m("div",{className:"pf-two-factor-challenge pf-loading",children:/* @__PURE__ */m("p",{children:"Loading challenge..."})});const v=p||r.method,x=[r.method,...r.alternative_methods||[]];/* @__PURE__ */
73
- return g("div",{className:"pf-two-factor-challenge",children:[
74
- /* @__PURE__ */g("div",{className:"pf-challenge-method-info",children:[/* @__PURE__ */m("h3",{children:"Two-Factor Authentication"}),/* @__PURE__ */m("p",{children:"Enter the verification code"})]}),(()=>{switch(v){case"totp":case"email_otp":case"sms_otp":/* @__PURE__ */return g("div",{className:"pf-challenge-input-wrapper",children:[
75
- /* @__PURE__ */m(ca,{value:d,onChange:y,numInputs:6,error:o?.message,disabled:n,autoFocus:!0}),"email_otp"===v&&r.code_sent_to&&/* @__PURE__ */g("p",{className:"pf-challenge-hint",children:["Code sent to ",r.code_sent_to]}),"sms_otp"===v&&r.code_sent_to&&/* @__PURE__ */g("p",{className:"pf-challenge-hint",children:["Code sent to ",r.code_sent_to]}),
76
- /* @__PURE__ */m("button",{type:"button",onClick:w,disabled:n||6!==d.length,className:"pf-button pf-button-primary",children:n?"Verifying...":"Verify"})]});case"passkey":/* @__PURE__ */return m("div",{className:"pf-challenge-input-wrapper",children:/* @__PURE__ */m("button",{type:"button",onClick:w,disabled:n,className:"pf-button pf-button-primary",children:n?"Verifying...":"Use Passkey"})});case"recovery_codes":/* @__PURE__ */return g("div",{className:"pf-challenge-input-wrapper",children:[/* @__PURE__ */m("input",{type:"text",value:d,onChange:e=>u(e.target.value),placeholder:"Enter recovery code",disabled:n,className:"pf-input"}),/* @__PURE__ */m("button",{type:"button",onClick:w,disabled:n||!d,className:"pf-button pf-button-primary",children:n?"Verifying...":"Verify"})]});default:/* @__PURE__ */return g("p",{children:["Unsupported method: ",v]})}})(),x.length>1&&/* @__PURE__ */m("button",{type:"button",onClick:()=>f(!0),className:"pf-button pf-button-secondary pf-button-switch-method",children:"Use different method"}),
77
- /* @__PURE__ */m(la,{availableMethods:x,currentMethod:v,onSelectMethod:async e=>{u(""),await c(e)},isOpen:h,onClose:()=>f(!1)})]})},da=({onSuccess:e,onUseRecovery:t,title:a="Two-Factor Authentication",subtitle:s,numInputs:r,shouldAutoFocus:n=!0,signInPath:o,twoFactorSetupPath:i})=>{const[l,c]=L(""),{verify:p,isLoading:d,isError:u,errorDetails:h,reset:f}=lt(),w=r??6,y=s??`Enter the ${w}-digit code from your authenticator app`,v=()=>{Ce.reset(),window.location.href=o||"/signin"},x=()=>{window.location.href=i||"/two-factor-setup"},C=!Ce.canRedirect(),b=d||"not_enabled"===h?.type||"expired"===h?.type||C;/* @__PURE__ */
78
- return m(ta,{title:a,subtitle:y,className:"passflow-2fa-verify",children:/* @__PURE__ */g("form",{onSubmit:async t=>{t.preventDefault(),await p(l)&&e?.()},className:"passflow-form",children:[
79
- /* @__PURE__ */g("div",{className:"passflow-form-container",children:[/* @__PURE__ */m("div",{className:"passflow-verify-otp-wrapper",children:/* @__PURE__ */m(G,{value:l,onChange:async t=>{(e=>{f(),c(e)})(t),t.length===w&&await p(t)&&e?.()},numInputs:w,shouldAutoFocus:n&&!b,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:J("passflow-field-otp passflow-field-otp--focused",u&&"passflow-field-otp--error",b&&"passflow-field-otp--disabled"),inputType:"text",renderInput:e=>/* @__PURE__ */m("input",{...e,disabled:b})})}),u&&h?C?/* @__PURE__ */g("div",{className:"passflow-form-error passflow-form-error--critical",children:[/* @__PURE__ */m(Ee,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */g("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:Ce.getLoopDetectedMessage()}),o&&/* @__PURE__ */m(Le,{type:"button",size:"medium",variant:"secondary",onClick:v,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===h.type?/* @__PURE__ */g("div",{className:"passflow-form-error passflow-form-error--persistent",children:[/* @__PURE__ */m(Ee,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */g("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:"You need to set up two-factor authentication first."}),/* @__PURE__ */g("div",{className:"passflow-form-error-actions",children:[i&&/* @__PURE__ */m(Le,{type:"button",size:"medium",variant:"primary",onClick:x,className:"passflow-button-setup-2fa",children:"Set Up 2FA"}),o&&/* @__PURE__ */m(Le,{type:"button",size:"medium",variant:"secondary",onClick:v,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]})]}):"expired"===h.type?/* @__PURE__ */g("div",{className:"passflow-form-info",children:[/* @__PURE__ */m(Ee,{size:"small",id:"info",type:"general",className:"icon-info"}),/* @__PURE__ */m("span",{className:"passflow-form-info-text",children:te(h)})]}):/* @__PURE__ */g("div",{className:"passflow-form-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:te(h)})]}):null]}),!b&&/* @__PURE__ */m(Le,{size:"big",type:"submit",variant:"primary",disabled:l.length!==w||d,className:"passflow-button-signin",children:d?"Verifying...":"Verify"}),t&&!b&&/* @__PURE__ */m("div",{className:"passflow-form-actions",children:/* @__PURE__ */g("p",{className:"passflow-dont-have-account",children:["Lost your device?"," ",
80
- /* @__PURE__ */m("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use recovery code"})]})})]})})},ua=({onSuccess:e,onBack:t,title:a="Use Recovery Code",subtitle:s="Enter one of your recovery codes",signInPath:r})=>{const[n,o]=L(""),{useRecoveryCode:i,isLoading:l,isError:c,errorDetails:p,reset:d}=lt(),u=()=>{Ce.reset(),window.location.href=r||"/signin"},h=!Ce.canRedirect(),f=l||"not_enabled"===p?.type||"expired"===p?.type||h;/* @__PURE__ */
81
- return m(ta,{title:a,subtitle:s,className:"passflow-2fa-recovery",children:/* @__PURE__ */g("form",{onSubmit:async t=>{t.preventDefault(),await i(n)&&e?.()},className:"passflow-form",children:[
82
- /* @__PURE__ */m("div",{className:"passflow-form-container",children:/* @__PURE__ */g("div",{className:"passflow-form-field",children:[
83
- /* @__PURE__ */m("label",{htmlFor:"recovery-code",className:J("passflow-field-label",c&&"passflow-field-label--error"),children:"Recovery Code"}),
84
- /* @__PURE__ */m("input",{id:"recovery-code",type:"text",value:n,onChange:e=>{d(),o(e.target.value.toUpperCase().replace(/\s/g,""))},placeholder:"XXXX-XXXX",className:J("passflow-field passflow-field--text passflow-field--focused",c&&"passflow-field--error",f&&"passflow-field--disabled"),autoComplete:"off",disabled:f}),c&&p?h?/* @__PURE__ */g("div",{className:"passflow-form-error passflow-form-error--critical",children:[/* @__PURE__ */m(Ee,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */g("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:Ce.getLoopDetectedMessage()}),r&&/* @__PURE__ */m(Le,{type:"button",size:"medium",variant:"secondary",onClick:u,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===p.type?/* @__PURE__ */g("div",{className:"passflow-form-error passflow-form-error--persistent",children:[/* @__PURE__ */m(Ee,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */g("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:te(p)}),r&&/* @__PURE__ */m(Le,{type:"button",size:"medium",variant:"secondary",onClick:u,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"expired"===p.type?/* @__PURE__ */g("div",{className:"passflow-form-info",children:[/* @__PURE__ */m(Ee,{size:"small",id:"info",type:"general",className:"icon-info"}),/* @__PURE__ */m("span",{className:"passflow-form-info-text",children:te(p)})]}):/* @__PURE__ */g("div",{className:"passflow-form-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:te(p)})]}):null]})}),!f&&/* @__PURE__ */m(Le,{size:"big",type:"submit",variant:"primary",disabled:n.length<8||l,className:"passflow-button-signin",children:l?"Verifying...":"Verify"}),t&&!f&&/* @__PURE__ */m("div",{className:"passflow-form-actions",children:/* @__PURE__ */g("p",{className:"passflow-dont-have-account",children:["Have your device?"," ",
85
- /* @__PURE__ */m("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use authenticator code"})]})})]})})},ha=/\/auth\/(login|passwordless|passkey|2fa|session\/exchange)\b|\/auth\/federated\/start\b/,ma=()=>{if("undefined"==typeof window)return;const e=new URLSearchParams(window.location.search);return new URLSearchParams(Array.from(e,([e,t])=>[e.toLowerCase(),t])).get("parent_challenge_id")||void 0},ga=ma(),fa=!1,wa=()=>fa,ya=e=>{b(()=>{if(!e||"undefined"==typeof window)return;const t=e=>ha.test(e),a=t=>{if(t)try{const a=JSON.parse(t);if("parent_challenge_id"in a)return;return a.parent_challenge_id=e,JSON.stringify(a)}catch{return}},s=e=>{if(e)try{const t=JSON.parse(e);"string"==typeof t.redirect_url&&t.redirect_url&&(fa=!0,window.location.assign(t.redirect_url))}catch{}},r=window.fetch;window.fetch=async(e,n)=>{let o="";"string"==typeof e?o=e:e instanceof URL?o=e.toString():e instanceof Request&&(o=e.url);const i=n?.method?.toUpperCase()??"GET";let l=n;if("POST"===i&&t(o)&&"string"==typeof n?.body){const e=a(n.body);void 0!==e&&(l={...n,body:e})}const c=await r(e,l);if(c.ok&&t(o))try{const e=await c.clone().text();s(e)}catch{}return c};const n=XMLHttpRequest.prototype.open,o=XMLHttpRequest.prototype.send,i=/* @__PURE__ */new WeakMap;return XMLHttpRequest.prototype.open=function(e,a,...r){const o="string"==typeof a?a:a.toString();i.set(this,{method:e?.toUpperCase(),url:o,isAuth:t(o)}),this.addEventListener("load",()=>{i.get(this)?.isAuth&&this.status>=200&&this.status<300&&s("string"==typeof this.responseText?this.responseText:null)}),n.call(this,e,a,...r)},XMLHttpRequest.prototype.send=function(e){const t=i.get(this);let s=e;if(t?.isAuth&&"POST"===t.method&&"string"==typeof e){const t=a(e);void 0!==t&&(s=t)}o.call(this,s)},()=>{window.fetch=r,XMLHttpRequest.prototype.open=n,XMLHttpRequest.prototype.send=o}},[e])},va=(e,t,a,s)=>{const[r,n]=L("idle"),[o,i]=L(void 0),l=S(!1);return b(()=>{if(!e||l.current)return;if("undefined"!=typeof window&&"/oidc/device"===window.location.pathname)return;if(!s)return;l.current=!0;(async()=>{let r;try{const t=`${a??""}/oidc/requests/${encodeURIComponent(e)}`,s=await fetch(t);s.ok&&(r=await s.json(),i(r))}catch{}if(r?.oidc_prompt_login)n("fallback_to_login");else{if(r?.max_age&&r.max_age>0){const e=t.getParsedTokens?.(),a=e?.access_token?.payload,s=e?.id_token?.payload,o=a?.auth_time??s?.auth_time;if(o&&"number"==typeof o&&Math.floor(Date.now()/1e3)-o>r.max_age)return void n("fallback_to_login")}n("exchanging");try{let o;try{o=(await t.getTokens(!1))?.access_token}catch{}const i=a??"",l={"Content-Type":"application/json"};o&&(l.Authorization=`Bearer ${o}`),s&&(l["X-Passflow-ClientID"]=s);const c=await fetch(`${i}/auth/session/exchange`,{method:"POST",credentials:"include",headers:l,body:JSON.stringify({parent_challenge_id:e})});if(c.ok){try{if((await c.json()).redirect_url)return}catch{}return void n("fallback_to_login")}if(403===c.status)return void n("fallback_to_login");if(401===c.status||400===c.status){if(r?.oidc_prompt_none&&r.redirect_uri){const e=new URL(r.redirect_uri);return e.searchParams.set("error","login_required"),e.searchParams.set("error_description","user is not authenticated"),r.state&&e.searchParams.set("state",r.state),void window.location.assign(e.toString())}return void n("fallback_to_login")}n("fallback_to_login")}catch{n("fallback_to_login")}}})()},[e,t,a,s]),{exchangeState:r,parentMeta:o}},xa=({appName:e})=>/* @__PURE__ */m("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100vh",fontFamily:"system-ui, sans-serif",fontSize:"1rem",color:"#444"},children:e?`Continuing to ${e}…`:"Continuing…"}),Ca=()=>/* @__PURE__ */m("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"1rem",fontFamily:"system-ui, sans-serif",fontSize:"0.95rem",color:"#666"},children:"Additional authentication required (not yet implemented — please log in again)."}),ba=w.createContext({exchangeState:"idle"}),ka=({children:e,navigate:t,router:a="default",...s})=>{const r=!s.appId,[n,o]=E(Fe,{...Te,...s,isDiscoveringAppId:r}),[i,l]=L(()=>t||Ue),c=N(()=>new p(n),[n]),d=N(()=>ma()??ga,[]);ya(d);const{exchangeState:u,parentMeta:f}=va(d,c,s.url,n.appId),w=S(!1);b(()=>{if(r&&!w.current&&n.isDiscoveringAppId){w.current=!0;(async()=>{const e=["/settings"];s.url&&e.push(`${s.url}/settings`);for(const a of e)try{const e=await fetch(a);if(e.ok){const t=await e.json(),a=t.login_app?.app_id||t.appId;if(a)return c.setAppId(a),void o({type:"SET_PASSFLOW_STATE",payload:{...n,appId:a,scopes:t.login_app?.scopes||t.scopes||n.scopes,createTenantForNewUser:t.login_app?.create_tenant_for_new_user??t.createTenantForNewUser??n.createTenantForNewUser,isDiscoveringAppId:!1}})}}catch(t){}console.warn("Failed to discover appId from /settings"),o({type:"SET_PASSFLOW_STATE",payload:{...n,isDiscoveringAppId:!1}})})()}},[r,n.isDiscoveringAppId,s.url,c,n]);const y=N(()=>({state:n,dispatch:o,passflow:c}),[n,c]),v=x(e=>{l(()=>e||Ue)},[]),C=N(()=>({navigate:i,setNavigate:v,router:a}),[i,v,a]),k=N(()=>({parentChallengeId:d,parentMeta:f,exchangeState:u}),[d,f,u]);/* @__PURE__ */
86
- return m(_e.Provider,{value:y,children:/* @__PURE__ */m(Ye.Provider,{value:C,children:/* @__PURE__ */m(ba.Provider,{value:k,children:/* @__PURE__ */m(je,{children:"exchanging"===u?/* @__PURE__ */m(xa,{appName:f?.app_name}):"upgrade_required"===u?/* @__PURE__ */g(h,{children:[/* @__PURE__ */m(Ca,{}),e]}):e})})})})},Ma=({successAuthRedirect:e,signInPath:t=Re.signin.path,twoFactorSetupPath:a=Re.two_factor_setup?.path??"/two-factor-setup",useV2Flow:s=!1})=>{const[r,n]=L("verify"),[o,i]=L(!1),{navigate:l}=nt(),c=Be(),{errorType:p}=lt();b(()=>{c.isTwoFactorVerificationRequired()||(Ce.canRedirect()?(Ce.incrementRedirect(),l({to:t}),i(!0)):i(!1))},[c,l,t]),b(()=>{"expired"===p?Ce.canRedirect()&&(Ce.incrementRedirect(),Ce.setLastErrorType("expired"),setTimeout(()=>{l({to:t})},1500)):"not_enabled"===p&&Ce.setLastErrorType("not_enabled")},[p,l,t]);const d=async()=>{Ce.reset(),wa()||e&&(O(e)?window.location.href=await Z(c,e):l({to:e}))};return o||!c.isTwoFactorVerificationRequired()&&Ce.canRedirect()?null:s?/* @__PURE__ */m(pa,{onSuccess:d}):/* @__PURE__ */m(h,{children:"verify"===r?/* @__PURE__ */m(da,{onSuccess:d,onUseRecovery:()=>{n("recovery")},signInPath:t,twoFactorSetupPath:a}):/* @__PURE__ */m(ua,{onSuccess:d,onBack:()=>{n("verify")},signInPath:t})})},Na=({error:e="Something went wrong",goBackRedirectTo:t})=>{const{navigate:a}=nt(),{currentStyles:s,loginAppTheme:r}=Ke();/* @__PURE__ */
87
- return m(sa,{chrome:{title:"",customCss:s?.custom_css,customLogo:s?.logo_url,customLogoAlt:`${r?.application_name??"Application"} logo`,removeBranding:r?.remove_passflow_logo},state:{kind:"general-error",message:e,onAction:()=>{O(t)?window.location.href=t:a({to:t})}}})},Ea=["verify-challenge-otp","password/reset","two-factor-verify","two-factor-recovery"],Sa=(e,t)=>a=>{const s=C(_e),{successAuthRedirect:r}=a,{pathname:n}=window.location;return Ea.some(e=>n.includes(e))?/* @__PURE__ */m(V,{FallbackComponent:({error:e})=>/* @__PURE__ */m(t,{goBackRedirectTo:r??"/",error:e.message}),children:/* @__PURE__ */m(e,{...a})}):s?.state.isDiscoveringAppId?null:s?.state.appId?/* @__PURE__ */m(V,{FallbackComponent:({error:e})=>/* @__PURE__ */m(t,{goBackRedirectTo:r??"/",error:e.message}),children:/* @__PURE__ */m(e,{...a})}):/* @__PURE__ */m(t,{goBackRedirectTo:r??"/",error:"Missing appId"})},La=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signUpPath:r=Re.signup.path,verifyOTPPath:o=Re.verify_otp.path,verifyMagicLinkPath:i=Re.verify_magic_link.path,forgotPasswordPath:l=Re.forgot_password.path,twoFactorVerifyPath:c=Re.two_factor_verify.path})=>{const p=Be(),{navigate:d}=nt(),{appSettings:u,scopes:h,createTenantForNewUser:g,passwordPolicy:f,currentStyles:w,isError:y,error:v,loginAppTheme:x}=Ke(),{federatedWithRedirect:C}=De(t,g);if(y)throw new Error(v);const b=N(()=>q(u?.auth_strategies),[u]),k=N(()=>(e=>{const t=[];if(e.hasSignInEmailMethods||e.hasSignInUsernameMethods){const a=K(e,"label")??"Email or username";t.push({id:"email_or_username",label:a,selectLabel:K(e,"button")??"Use email",requiredMessage:`${a} is required`,format:e.hasSignInEmailMethods&&!e.hasSignInUsernameMethods?"email":void 0,password:e.internal.email.password||e.internal.username.password,passwordlessLabel:Q(e,"email_or_username")?.label})}return e.hasSignInPhoneMethods&&t.push({id:"phone",label:"Phone number",selectLabel:"Use phone",requiredMessage:"Phone number is required",password:e.internal.phone.password,passwordlessLabel:Q(e,"phone")?.label}),{identities:t,passkey:e.passkey,providers:e.fim.providers}})(b),[b]),{error:M,message:E}=$();if(M)throw console.error("[passflow] sign-in redirect returned an error",{error:M,message:E}),new Error(ue);const{get:S}=X({invite_token:""}),L=S("invite_token"),A=we(L,"sign-in"),{fetch:P,isError:T,error:_,reset:F,isLoading:R}=Ge(),Y=async()=>{if(p.isTwoFactorVerificationRequired())return void d({to:c??Re.two_factor_verify.path});if(wa()||(ma()&&console.error("[passflow] login took the legacy token path while parent_challenge_id is present on the URL — the OIDC interceptor did not engage and the RP redirect will not happen"),0))return;const e=t??u?.defaults?.redirect??"";O(e)?window.location.href=await Z(p,e):d({to:e})},z=async e=>{const t=Boolean(e.emailOrUsername.match(D)),a="email_or_username"===e.method&&!t&&n(e.emailOrUsername)>0,r=U(e.phone),o={...t&&{email:e.emailOrUsername},...a&&{username:e.emailOrUsername},...r.isValid&&{phone:r.phoneNumber},scopes:h,password:e.password};await(async e=>{const t={...e,...!s(L)&&{invite_token:L}};await P(t,"password")&&await Y()})(o)},j=async a=>{const r=Boolean(a.emailOrUsername.match(D)),n=U(a.phone),l={...r&&{email:a.emailOrUsername},...n.isValid&&{phone:n.phoneNumber},scopes:h};await(async(a,r)=>{const n=Q(b,r)?.challengeType,l={...a,challenge_type:n,create_tenant:g,redirect_url:t??u?.defaults?.redirect,...!s(L)&&{invite_token:L}},c=await P(l,"passwordless");if(!c)return;const p=c,h=new URLSearchParams(window.location.search),m=I.stringify({...Object.fromEntries(h.entries()),...l,...p,type:"passwordless",challenge_type:n,create_tenant:g});e(n,"otp")&&d({to:o??Re.verify_otp.path,search:m}),e(n,"magic_link")&&d({to:i??Re.verify_magic_link.path,search:m})})(l,a.method)},B=async()=>{await(async e=>{const t={...e,...!s(L)&&{invite_token:L}};await P(t,"passkey")&&await Y()})({relying_party_id:a,scopes:h})};/* @__PURE__ */
88
- return m(sa,{chrome:{title:A?.title??"Sign In to your account",subtitle:A?.subtitle??"To Passflow by Madappgang",variant:"sign-in",customCss:w?.custom_css,customLogo:w?.logo_url,customLogoAlt:`${x?.application_name??"Application"} logo`,removeBranding:x?.remove_passflow_logo},state:{kind:"credentials",methods:k,passwordPolicy:f,forcePasskey:Boolean(u?.force_passwordless_login&&b.passkey),allowPasskeyToggle:!0,busy:R,primaryLabel:R?"Signing in…":"Sign In",error:T?_:null,forgotPassword:{to:l??Re.forgot_password.path,getSearch:e=>I.stringify({...I.parse(window.location.search),default_method:e})},footer:{prompt:"Don't have an account?",label:"Sign Up",to:r??Re.signup.path,search:window.location.search},onPassword:e=>{z(e)},onPasswordless:e=>{j(e)},onPasskey:()=>{B()},onProvider:e=>C(e,L??void 0),onReset:F}})},Ia=Sa(La,Na),Aa=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signInPath:s=Re.signin.path,verifyOTPPath:r=Re.verify_otp.path,verifyMagicLinkPath:n=Re.verify_magic_link.path})=>{const o=Be(),{navigate:i}=nt(),{appSettings:l,scopes:c,createTenantForNewUser:p,passwordPolicy:d,currentStyles:u,isError:h,error:g,loginAppTheme:f}=Ke(),{federatedWithRedirect:w}=De(t,p);if(h)throw new Error(g);const y=N(()=>q(l?.auth_strategies),[l]),v=N(()=>(e=>{const t=[];if(e.hasEmailMethods||e.hasUsernameMethods){const a=e.hasEmailMethods&&e.hasUsernameMethods?"Email or username":e.hasUsernameMethods?"Username":"Email";t.push({id:"email_or_username",label:a,selectLabel:e.hasUsernameMethods&&!e.hasEmailMethods?"Use username":"Use email",requiredMessage:`${a} is required`,format:e.hasEmailMethods&&!e.hasUsernameMethods?"email":void 0,password:e.internal.email.password||e.internal.username.password,passwordlessLabel:Q(e,"email_or_username")?.label})}return e.hasPhoneMethods&&t.push({id:"phone",label:"Phone number",selectLabel:"Use phone",requiredMessage:"Phone number is required",password:e.internal.phone.password,passwordlessLabel:Q(e,"phone")?.label}),{identities:t,passkey:e.passkey,providers:e.fim.providers}})(y),[y]),{error:x,message:C}=$();if(x)throw console.error("[passflow] sign-up redirect returned an error",{error:x,message:C}),new Error(ue);const{get:b}=X({invite_token:""}),k=b("invite_token"),M=we(k,"sign-up"),{fetch:E,isError:S,error:L,reset:A,isLoading:P}=He(),T=async()=>{const e=t??l?.defaults?.redirect??"";O(e)?window.location.href=await Z(o,e):i({to:e})},_=async e=>{const t=Boolean(e.emailOrUsername.match(D)),a="email_or_username"===e.method&&!t&&e.emailOrUsername.length>0,s=U(e.phone),r={...t?{email:e.emailOrUsername}:{},...a?{username:e.emailOrUsername}:{},...s.isValid?{phone_number:s.phoneNumber}:{},password:e.password,scopes:c};await(async e=>{const t={user:e,create_tenant:p,...k?{invite_token:k}:{}};await E(t,"password")&&await T()})(r)},F=async a=>{const s=Boolean(a.emailOrUsername.match(D)),o=U(a.phone),d={...s?{email:a.emailOrUsername}:{},...o.isValid?{phone:o.phoneNumber}:{},scopes:c};await(async(a,s)=>{const o=Q(y,s)?.challengeType,c={...a,challenge_type:o,create_tenant:p,redirect_url:t??l?.defaults?.redirect,...k?{invite_token:k}:{}},d=await E(c,"passwordless");if(!d)return;const u=d,h=new URLSearchParams(window.location.search),m=I.stringify({...Object.fromEntries(h.entries()),...c,...u,type:"passwordless",challenge_type:o,create_tenant:p});e(o,"otp")&&i({to:r??Re.verify_otp.path,search:m}),e(o,"magic_link")&&i({to:n??Re.verify_magic_link.path,search:m})})(d,a.method)};/* @__PURE__ */
89
- return m(sa,{chrome:{title:M?.title??"Create your account",subtitle:M?.subtitle??"For Passflow by Madappgang",variant:"sign-in",customCss:u?.custom_css,customLogo:u?.logo_url,customLogoAlt:`${f?.application_name??"Application"} logo`,removeBranding:f?.remove_passflow_logo},state:{kind:"credentials",methods:v,passwordPolicy:d,credentialPurpose:"sign-up",forcePasskey:Boolean(l?.force_passwordless_login&&y.passkey),allowPasskeyToggle:!0,busy:P,primaryLabel:P?"Creating account…":"Sign Up",passwordlessLabelPrefix:"Sign Up with",passkeyLabel:"Sign Up with a Passkey",error:S?L:null,footer:{prompt:"Already have an account?",label:"Sign In",to:s??Re.signin.path,search:window.location.search},onPassword:e=>{_(e)},onPasswordless:e=>{F(e)},onPasskey:()=>{(async()=>{const e={relying_party_id:a,create_tenant:p,redirect_url:t??l?.defaults?.redirect??"",...k?{invite_token:k}:{},scopes:c};if(await E(e,"passkey")){if(wa())return;await T()}})()},onProvider:e=>w(e,k??void 0),onReset:A}})},Pa=Sa(Aa,Na),Ta={email:"email address",phone:"phone number"},_a=()=>{const{currentStyles:t,loginAppTheme:a}=Ke(),{fetch:s}=Ge(),{get:r}=X({identity:"",identity_value:"",challenge_type:"",type:"",redirect_url:""}),n=r("email")?"email":r("phone")?"phone":void 0,o=r("email")?r("email"):r("phone")?r("phone"):void 0,i=r("challenge_type"),l=r("type"),c=r("redirect_url");/* @__PURE__ */
90
- return m(ta,{title:"Check your email",className:"passflow-verify-challenge-magic-link-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:/* @__PURE__ */g("div",{className:"passflow-verify-challenge-magic-link-container",children:[/* @__PURE__ */g("p",{className:"passflow-verify-challenge-magic-link-text",children:["We sent a link to ",Ta[n]," ",o&&/* @__PURE__ */m("strong",{className:"passflow-verify-challenge-magic-link-text--strong",children:o}),". Click on the link to confirm your registration."]}),"passwordless"===l&&/* @__PURE__ */m(Le,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-magic-link",onClick:async()=>{const t={...e(n,"email")?{email:o}:void 0,...e(n,"phone")?{phone:o}:void 0,challenge_type:i,redirect_url:c};await s(t,l)},children:"Resend email"})]})})},Fa=({totalSecond:e,onClick:t,className:a="",...s})=>{const[r,n]=L(e);b(()=>{const e=setInterval(()=>{r>0&&n(e=>e-1)},1e3);return()=>{clearInterval(e)}},[r]);/* @__PURE__ */
91
- return g(Le,{disabled:r>0,size:"small",variant:"clean",type:"button",className:J("passflow-button-timer",{"passflow-button-timer--active":r>0,"passflow-button-timer--inactive":0===r},a),onClick:()=>{t(),n(e)},...s,children:["Resend ",r>0?`(${r})`:""]})},Ra=()=>{const{currentStyles:e,loginAppTheme:t}=Ke();/* @__PURE__ */
92
- return m(ta,{iconId:"logo",className:"passflow-verify-challenge-success-wrapper",customCss:e?.custom_css,customLogo:e?.logo_url,removeBranding:t?.remove_passflow_logo,children:/* @__PURE__ */m("div",{className:"passflow-verify-challenge-success-wrapper",children:/* @__PURE__ */g("div",{className:"passflow-verify-challenge-success-container",children:[/* @__PURE__ */m("p",{className:"passflow-verify-challenge-success-text",children:"Successful verification!"}),/* @__PURE__ */m("p",{className:"passflow-verify-challenge-success-text-secondary",children:"But there is no redirect URL for further redirect."})]})})})},Ua={email:"email address",phone:"phone number"},Ya=({identity:e,identityValue:t,challengeType:a,challengeId:s,type:r,numInputs:n,shouldAutoFocus:o,successAuthRedirect:i,signUpPath:l})=>{const c=Be(),{appSettings:p,createTenantForNewUser:d,currentStyles:u,loginAppTheme:h}=Ke(),{navigate:f}=nt(),{fetch:w}=Ge(),{fetch:y,isError:v,error:x}=Qe(),[C,k]=L(""),[M,N]=L(null),[E,S]=L(!1),{set:I}=X();if(b(()=>{if(C.length===n&&s){const e={challenge_id:s,challenge_type:"otp",otp:C};(async()=>{const t=await y(e);t&&(t.redirect_url?O(t.redirect_url)?window.location.href=await Z(c,t.redirect_url):f({to:t.redirect_url}):S(!0))})()}},[C,n,y,s,f,c]),M)throw new Error(M);if(E)/* @__PURE__ */return m(Ra,{});/* @__PURE__ */
93
- return g(ta,{title:`Verify your ${e}`,subtitle:`We sent OTP code to your ${Ua[e]}`,className:"passflow-verify-otp",customCss:u?.custom_css,customLogo:u?.logo_url,removeBranding:h?.remove_passflow_logo,children:[/* @__PURE__ */g("div",{className:"passflow-verify-otp-container",children:[t&&/* @__PURE__ */g(Le,{size:"big",type:"button",variant:"outlined",className:"passflow-verify-otp-button",withIcon:!0,onClick:()=>f({to:l}),children:[
94
- /* @__PURE__ */m(Ee,{id:"email"===e?"mail":"phone",type:"general",size:"small"}),t,
95
- /* @__PURE__ */m(Ee,{id:"edit",type:"general",size:"small",className:"passflow-verify-otp-button-icon"})]}),/* @__PURE__ */g("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[/* @__PURE__ */m(G,{value:C,onChange:e=>k(e),numInputs:n,shouldAutoFocus:o,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:J("passflow-field-otp passflow-field-otp--focused",v&&"passflow-field-otp--error"),inputType:"text",renderInput:e=>/* @__PURE__ */m("input",{...e})}),v&&/* @__PURE__ */g("div",{className:"passflow-verify-otp-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-verify-otp-error-text",children:x})]})]})]}),"passwordless"===r&&/* @__PURE__ */g("p",{className:"passflow-verify-otp-resend",children:["Don't receive a code?",/* @__PURE__ */m(Fa,{totalSecond:30,onClick:()=>{(async()=>{if(r&&e&&t&&a){const s={create_tenant:d,challenge_type:a,redirect_url:i??p?.defaults?.redirect??"",..."email"===e?{email:t}:{phone:t}},n=await w(s,r);n?I({challenge_id:n.challenge_id}):N("Something went wrong. Please try again later.")}})()}})]})]})},za=({otp:e,challengeId:t,appId:a})=>{const s=Be(),{navigate:r}=nt(),[n,o]=L(null),[i,l]=L(!1),{fetch:c,isError:p,error:d,isLoading:u}=Qe();if(b(()=>{(async()=>{if(!a||!e||!t){const s=[!a&&"app_id",!e&&"otp",!t&&"challenge_id"].filter(Boolean);return console.error("[passflow] passwordless verification redirect is missing required parameters",s),void o(he)}if(!u){const a=await c({otp:e,challenge_id:t});a?a.redirect_url?O(a.redirect_url)?window.location.href=await Z(s,a.redirect_url):r({to:a.redirect_url}):l(!0):o(me)}})()},[]),p&&d)throw new Error(d);if(n)throw new Error(n);return i?/* @__PURE__ */m(Ra,{}):null},ja=i.object().shape({appId:i.string().required(),challengeId:i.string().required(),otp:i.string().required()}),Ba=i.object().shape({challengeId:i.string().required(),identity:i.string().oneOf(["email","phone"]).required(),identityValue:i.string().required(),challengeType:i.string().required(),type:i.string().oneOf(["passwordless","passkey"]).optional()}),Ga=({successAuthRedirect:e,numInputs:t,shouldAutoFocus:a,signUpPath:s})=>{const{get:r}=X({otp:"",app_id:"",challenge_id:"",identity:"",identity_value:"",challenge_type:"",type:""}),n=r("type");if("passwordless"!==n&&"passkey"!==n){const e={appId:r("app_id"),challengeId:r("challenge_id"),otp:r("otp")};try{ja.validateSync(e,{abortEarly:!1})}catch(u){throw console.error("[passflow] invalid passwordless verification redirect",u),new Error(he)}const{appId:t,otp:a,challengeId:s}=e;/* @__PURE__ */
96
- return m(za,{appId:t,challengeId:s,otp:a})}const o={challengeId:r("challenge_id"),identity:r("email")?"email":r("phone")?"phone":null,identityValue:r("email")?r("email"):r("phone")?r("phone"):null,challengeType:r("challenge_type"),type:r("type")};try{Ba.validateSync(o,{abortEarly:!1})}catch(u){throw console.error("[passflow] invalid passwordless verification link",u),new Error(he)}const{challengeId:i,identity:l,identityValue:c,challengeType:p,type:d}=o;if(!d)throw console.error("[passflow] passwordless verification link is missing its flow type"),new Error(he);/* @__PURE__ */
97
- return m(Ya,{identity:l,identityValue:c,challengeType:p,challengeId:i,type:d,numInputs:t,shouldAutoFocus:a,signUpPath:s,successAuthRedirect:e})},Va={email_or_username:"",phone:""},Da=i.object().shape({defaultMethod:i.string().oneOf(["email_or_username","phone"]).required()}),Ha=({successResetRedirect:a,signInPath:s=Re.signin.path,forgotPasswordSuccessPath:r=Re.forgot_password_success.path})=>{const{getValues:o,control:i,register:l,formState:{errors:c,isDirty:p,isValid:d}}=z({defaultValues:Va}),{appSettings:u,currentStyles:f,isError:w,error:y,loginAppTheme:v}=Ke();if(w)throw new Error(y);const x=N(()=>q(u?.auth_strategies),[u]),{navigate:C}=nt(),{get:b}=X({default_method:""}),k={defaultMethod:b("default_method")};try{Da.validateSync(k,{abortEarly:!1})}catch(_){throw new Error("Invalid default method param")}const{defaultMethod:M}=k,{fetch:E,error:S,isError:L,isLoading:A}=Oe(),P=e(M,"email_or_username")?"Enter the email address you used when you joined and we’ll send you instructions to reset your password.":"Enter the mobile phone number you used when you joined and we’ll send you the reset link.",T=e(M,"email_or_username")?"For security reasons, we do NOT store your password. So rest assured that we will never send your password via email.":"For security reasons, we do NOT store your password. So rest assured that we will never send your password via SMS.";/* @__PURE__ */
98
- return g(ta,{title:"Forgot password?",subtitle:P,className:"passflow-forgot-password-wrapper",customCss:f?.custom_css,customLogo:f?.logo_url,removeBranding:v?.remove_passflow_logo,children:[/* @__PURE__ */m("span",{className:"passflow-form-subscriptions",children:T}),/* @__PURE__ */g("form",{onSubmit:e=>e.preventDefault(),className:"passflow-form",children:[/* @__PURE__ */m("div",{className:"passflow-form-container",children:/* @__PURE__ */g("div",{className:"passflow-form-field",children:[e(M,"email_or_username")&&/* @__PURE__ */g(h,{children:[/* @__PURE__ */m("div",{className:"passflow-form-field__header",children:/* @__PURE__ */m("label",{htmlFor:"identity",className:J("passflow-field-label",{"passflow-field-label--error":L}),children:K(x,"label")})}),/* @__PURE__ */m(Y,{name:"email_or_username",control:i,rules:{required:"Email is required",pattern:{value:D,message:"Invalid email"}},render:({field:e})=>/* @__PURE__ */m(Ie,{...e,...l("email_or_username"),isError:L||t(c,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})})]}),e(M,"phone")&&/* @__PURE__ */g(h,{children:[/* @__PURE__ */m("div",{className:"passflow-form-field__header",children:/* @__PURE__ */m("label",{htmlFor:"phone",className:J("passflow-field-label",{"passflow-field-label--error":L}),children:"Phone"})}),/* @__PURE__ */m(Y,{name:"phone",control:i,rules:{required:"Phone is required",validate:e=>!!U(e).isValid||"Invalid phone number"},render:({field:e})=>/* @__PURE__ */m(kt,{...e,...l("phone"),onChange:t=>e.onChange(t),id:"phone",name:"phone",isError:L||t(c,"phone"),ref:null})})]}),L&&/* @__PURE__ */g("div",{className:"passflow-form-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:S})]})]})}),/* @__PURE__ */g("div",{className:"passflow-send-reset-wrapper",children:[/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"button",disabled:!p||!d||A,className:"passflow-button-send-reset-password",onClick:async()=>{const e=o(),t=e.email_or_username.match(D),s=!t&&n(e.email_or_username)>0,i=U(e.phone),l=i.isValid,c={...t&&{email:e.email_or_username},...s&&{username:e.email_or_username},...l&&{phone:i.phoneNumber},redirect_url:a??u?.defaults?.redirect};if(await E(c)){const e=new URLSearchParams(window.location.search),t=I.stringify({...Object.fromEntries(e.entries()),...c});C({to:r,search:t})}},children:"Send reset instructions"}),/* @__PURE__ */g("p",{className:"passflow-remember-password",children:["Remember your password?"," ",
99
- /* @__PURE__ */m(Nt,{to:s??Re.signin.path,className:"passflow-link",children:"Sign In"})," "]})]})]})]})},Oa=i.object().shape({identity:i.string().oneOf(["email","phone"]).required(),identityValue:i.string().required(),redirectUrl:i.string().required()}),Za=()=>{const{currentStyles:t,loginAppTheme:a}=Ke(),{fetch:s}=Oe(),{get:r}=X(),n={identity:r("email")?"email":r("phone")?"phone":null,identityValue:r("email")?r("email"):r("phone")?r("phone"):null,redirectUrl:r("redirect_url")};try{Oa.validateSync(n,{abortEarly:!1})}catch(o){throw console.error("[passflow] invalid password-reset confirmation link",o),new Error(he)}/* @__PURE__ */
100
- return m(ta,{title:`Check your ${n.identity}`,className:"passflow-forgot-password-success-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:/* @__PURE__ */g("div",{className:"passflow-forgot-password-success-container",children:[/* @__PURE__ */g("p",{className:"passflow-forgot-password-success-text",children:["We sent a link to ",e(n.identity,"phone")?"phone number":"email address"," ",
101
- /* @__PURE__ */m("strong",{className:"passflow-forgot-password-success-text--strong",children:n.identityValue}),". Click the link to reset your password."]}),/* @__PURE__ */g(Le,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-reset-password",onClick:async()=>{const e={..."email"===n.identity?{email:n.identityValue}:void 0,..."phone"===n.identity?{phone:n.identityValue}:void 0,redirect_url:n.redirectUrl};await s(e)},children:["Resend ",e(n.identity,"email")?"email":"SMS"]})]})})},Ja={password:""},Wa=i.object().shape({token:i.string().required()}),qa=({successAuthRedirect:e})=>{const{getValues:a,control:s,register:r,trigger:n,formState:{errors:o,isDirty:i,isValid:l},clearErrors:c,setError:p}=z({defaultValues:Ja}),d=Be(),{appSettings:h}=Ke(),{fetch:f,error:w,isError:y,isLoading:v}=Ze(),{navigate:x}=nt(),{get:C}=X(),{passwordPolicy:b,currentStyles:k,isError:M,error:N,loginAppTheme:E}=Ke();if(M)throw new Error(N);const S={token:C("token")};try{Wa.validateSync(S,{abortEarly:!1})}catch(A){throw new Error("Invalid reset token.")}const{token:L}=S,I=L?W(u)(L):void 0;/* @__PURE__ */
102
- return g(ta,{title:"Reset password",subtitle:"Let’s get you back in.",className:"passflow-reset-password-wrapper",customCss:k?.custom_css,customLogo:k?.logo_url,removeBranding:E?.remove_passflow_logo,children:[/* @__PURE__ */m("span",{className:"passflow-reset-password-text",children:"Enter your new password below."}),/* @__PURE__ */g("form",{onSubmit:t=>{t.preventDefault(),(async()=>{const t=a(),s=I;await f(t.password)&&(O(s?.redirect_url??e??h?.defaults?.redirect)?window.location.href=await Z(d,s?.redirect_url??e??h?.defaults?.redirect):x({to:s?.redirect_url??e??h?.defaults?.redirect}))})()},className:"passflow-form passflow-reset-password-form",children:[/* @__PURE__ */m("div",{className:"passflow-form-container",children:/* @__PURE__ */g("div",{className:"passflow-form-field",children:[
103
- /* @__PURE__ */m("div",{className:"passflow-form-field__header",children:/* @__PURE__ */m("label",{htmlFor:"password",className:J("passflow-field-label",{"passflow-field-label--error":y}),children:"New password"})}),
104
- /* @__PURE__ */m(Y,{name:"password",control:s,rules:{required:"Password is required",validate:e=>{try{return H(b).validateSync(e),c("password"),!0}catch(A){const t=A;return p("password",{type:"manual",message:t.errors.join(", ")}),t.errors.join(", ")}}},render:({field:e})=>/* @__PURE__ */m(Pe,{...e,...r("password"),isError:y,passwordPolicy:b,validationErrors:t(o,"password")&&o.password?.message?o.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:t=>{e.onChange(t),(async()=>{await n(["password"])})()}})}),y&&/* @__PURE__ */g("div",{className:"passflow-form-error",children:[/* @__PURE__ */m(Ee,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */m("span",{className:"passflow-form-error-text",children:w})]})]})}),/* @__PURE__ */m(Le,{size:"big",variant:"primary",type:"submit",disabled:!i||!l||v,className:"passflow-button-reset-password",children:"Save new password"})]})]})},Ka=Sa(({signInPath:e=Re.signin.path,signUpPath:t=Re.signup.path,successAuthRedirect:a})=>{const{appSettings:s,currentStyles:r,loginAppTheme:n}=Ke(),{navigate:o}=nt(),{get:i}=X(),l=Be(),{fetch:c,isLoading:p,error:d,isError:h}=at(),g=i("invite_token"),f=g?W(u)(g):void 0,w=l.getParsedTokens(),y=Boolean(w?.access_token);if(b(()=>{f&&!y&&o({to:e,search:window.location.search})},[y,f,o,e]),!f)throw console.error("[passflow] invitation token could not be parsed"),new Error("This invitation link is invalid or has expired.");if(!y)return null;const{inviter_name:v,tenant_name:x,redirect_url:C}=f;/* @__PURE__ */
105
- return m(sa,{chrome:{title:`You've been invited to join ${x}.`,subtitle:"Review the invitation before continuing.",customCss:r?.custom_css,customLogo:r?.logo_url,customLogoAlt:`${n?.application_name??"Application"} logo`,removeBranding:n?.remove_passflow_logo},state:{kind:"invitation",identity:w?.id_token?.email,inviterName:v||void 0,busy:p,error:h?d:null,testId:"invitation-join",acceptTestId:"invitation-accept",onAccept:()=>{(async()=>{if(!g)return;if(!(await c(g)))return;const e=C??a??s?.defaults?.redirect??"";O(e)?window.location.href=await Z(l,e):o({to:e})})()},onSwitchAccount:()=>o({to:e,search:window.location.search}),onCreateAccount:()=>o({to:t,search:window.location.search})}})},Na);function Qa(){return Qa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Qa.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(Gt||(Gt={}));var Xa,$a="popstate";function es(e,t){if(!1===e||null==e)throw new Error(t)}function ts(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(a){}}}function as(e,t){return{usr:e.state,key:e.key,idx:t}}function ss(e,t,a,s){return void 0===a&&(a=null),Qa({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?ns(t):t,{state:a,key:t&&t.key||s||Math.random().toString(36).substr(2,8)})}function rs(e){let{pathname:t="/",search:a="",hash:s=""}=e;return a&&"?"!==a&&(t+="?"===a.charAt(0)?a:"?"+a),s&&"#"!==s&&(t+="#"===s.charAt(0)?s:"#"+s),t}function ns(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substr(a),e=e.substr(0,a));let s=e.indexOf("?");s>=0&&(t.search=e.substr(s),e=e.substr(0,s)),e&&(t.pathname=e)}return t}function os(e,t,a,s){void 0===s&&(s={});let{window:r=document.defaultView,v5Compat:n=!1}=s,o=r.history,i=Gt.Pop,l=null,c=p();function p(){return(o.state||{idx:null}).idx}function d(){i=Gt.Pop;let e=p(),t=null==e?null:e-c;c=e,l&&l({action:i,location:h.location,delta:t})}function u(e){let t="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof e?e:rs(e);return a=a.replace(/ $/,"%20"),es(t,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,t)}null==c&&(c=0,o.replaceState(Qa({},o.state,{idx:c}),""));let h={get action(){return i},get location(){return e(r,o)},listen(e){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener($a,d),l=e,()=>{r.removeEventListener($a,d),l=null}},createHref:e=>t(r,e),createURL:u,encodeLocation(e){let t=u(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){i=Gt.Push;let s=ss(h.location,e,t);a&&a(s,e),c=p()+1;let d=as(s,c),u=h.createHref(s);try{o.pushState(d,"",u)}catch(m){if(m instanceof DOMException&&"DataCloneError"===m.name)throw m;r.location.assign(u)}n&&l&&l({action:i,location:h.location,delta:1})},replace:function(e,t){i=Gt.Replace;let s=ss(h.location,e,t);a&&a(s,e),c=p();let r=as(s,c),d=h.createHref(s);o.replaceState(r,"",d),n&&l&&l({action:i,location:h.location,delta:0})},go:e=>o.go(e)};return h}function is(e,t,a){return void 0===a&&(a="/"),function(e,t,a,s){let r=Cs(("string"==typeof t?ns(t):t).pathname||"/",a);if(null==r)return null;let n=ls(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,a)=>e===t[a])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(n);let o=null;for(let i=0;null==o&&i<n.length;++i){let e=xs(r);o=ys(n[i],e,s)}return o}(e,t,a,!1)}function ls(e,t,a,s){void 0===t&&(t=[]),void 0===a&&(a=[]),void 0===s&&(s="");let r=(e,r,n)=>{let o={relativePath:void 0===n?e.path||"":n,caseSensitive:!0===e.caseSensitive,childrenIndex:r,route:e};o.relativePath.startsWith("/")&&(es(o.relativePath.startsWith(s),'Absolute route path "'+o.relativePath+'" nested under path "'+s+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(s.length));let i=Es([s,o.relativePath]),l=a.concat(o);e.children&&e.children.length>0&&(es(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),ls(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:ws(i,e.index),routesMeta:l})};return e.forEach((e,t)=>{var a;if(""!==e.path&&null!=(a=e.path)&&a.includes("?"))for(let s of cs(e.path))r(e,t,s);else r(e,t)}),t}function cs(e){let t=e.split("/");if(0===t.length)return[];let[a,...s]=t,r=a.endsWith("?"),n=a.replace(/\?$/,"");if(0===s.length)return r?[n,""]:[n];let o=cs(s.join("/")),i=[];return i.push(...o.map(e=>""===e?n:[n,e].join("/"))),r&&i.push(...o),i.map(t=>e.startsWith("/")&&""===t?"/":t)}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Xa||(Xa={}));var ps=/^:[\w-]+$/,ds=3,us=2,hs=1,ms=10,gs=-2,fs=e=>"*"===e;function ws(e,t){let a=e.split("/"),s=a.length;return a.some(fs)&&(s+=gs),t&&(s+=us),a.filter(e=>!fs(e)).reduce((e,t)=>e+(ps.test(t)?ds:""===t?hs:ms),s)}function ys(e,t,a){void 0===a&&(a=!1);let{routesMeta:s}=e,r={},n="/",o=[];for(let i=0;i<s.length;++i){let e=s[i],l=i===s.length-1,c="/"===n?t:t.slice(n.length)||"/",p=vs({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},c),d=e.route;if(!p&&l&&a&&!s[s.length-1].route.index&&(p=vs({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},c)),!p)return null;Object.assign(r,p.params),o.push({params:r,pathname:Es([n,p.pathname]),pathnameBase:Ss(Es([n,p.pathnameBase])),route:d}),"/"!==p.pathnameBase&&(n=Es([n,p.pathnameBase]))}return o}function vs(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[a,s]=function(e,t,a){void 0===t&&(t=!1);void 0===a&&(a=!0);ts("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let s=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,a)=>(s.push({paramName:t,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)"));e.endsWith("*")?(s.push({paramName:"*"}),r+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==e&&"/"!==e&&(r+="(?:(?=\\/|$))");return[new RegExp(r,t?void 0:"i"),s]}(e.path,e.caseSensitive,e.end),r=t.match(a);if(!r)return null;let n=r[0],o=n.replace(/(.)\/+$/,"$1"),i=r.slice(1);return{params:s.reduce((e,t,a)=>{let{paramName:s,isOptional:r}=t;if("*"===s){let e=i[a]||"";o=n.slice(0,n.length-e.length).replace(/(.)\/+$/,"$1")}const l=i[a];return e[s]=r&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:n,pathnameBase:o,pattern:e}}function xs(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return ts(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function Cs(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,s=e.charAt(a);return s&&"/"!==s?null:e.slice(a)||"/"}function bs(e,t){let a=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?a.length>1&&a.pop():"."!==e&&a.push(e)}),a.length>1?a.join("/"):"/"}function ks(e,t,a,s){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(s)+"]. Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function Ms(e,t){let a=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t?a.map((e,t)=>t===a.length-1?e.pathname:e.pathnameBase):a.map(e=>e.pathnameBase)}function Ns(e,t,a,s){let r;void 0===s&&(s=!1),"string"==typeof e?r=ns(e):(r=Qa({},e),es(!r.pathname||!r.pathname.includes("?"),ks("?","pathname","search",r)),es(!r.pathname||!r.pathname.includes("#"),ks("#","pathname","hash",r)),es(!r.search||!r.search.includes("#"),ks("#","search","hash",r)));let n,o=""===e||""===r.pathname,i=o?"/":r.pathname;if(null==i)n=a;else{let e=t.length-1;if(!s&&i.startsWith("..")){let t=i.split("/");for(;".."===t[0];)t.shift(),e-=1;r.pathname=t.join("/")}n=e>=0?t[e]:"/"}let l=function(e,t){void 0===t&&(t="/");let{pathname:a,search:s="",hash:r=""}="string"==typeof e?ns(e):e;return{pathname:a?a.startsWith("/")?a:bs(a,t):t,search:Ls(s),hash:Is(r)}}(r,n),c=i&&"/"!==i&&i.endsWith("/"),p=(o||"."===i)&&a.endsWith("/");return l.pathname.endsWith("/")||!c&&!p||(l.pathname+="/"),l}var Es=e=>e.join("/").replace(/\/\/+/g,"/"),Ss=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Ls=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",Is=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",As=class extends Error{};var Ps=["post","put","patch","delete"],Ts=(new Set(Ps),["get",...Ps]);new Set(Ts);function _s(){return _s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},_s.apply(this,arguments)}var Fs=/*#__PURE__*/f.createContext(null),Rs=/*#__PURE__*/f.createContext(null),Us=/*#__PURE__*/f.createContext(null),Ys=/*#__PURE__*/f.createContext(null),zs=/*#__PURE__*/f.createContext(null),js=/*#__PURE__*/f.createContext({outlet:null,matches:[],isDataRoute:!1}),Bs=/*#__PURE__*/f.createContext(null);function Gs(){return null!=f.useContext(zs)}function Vs(){return!Gs()&&es(!1),f.useContext(zs).location}function Ds(e){f.useContext(Ys).static||f.useLayoutEffect(e)}function Hs(){let{isDataRoute:e}=f.useContext(js);return e?function(){let{router:e}=function(){let e=f.useContext(Fs);return!e&&es(!1),e}(Ks.UseNavigateStable),t=Xs(Qs.UseNavigateStable),a=f.useRef(!1);return Ds(()=>{a.current=!0}),f.useCallback(function(s,r){void 0===r&&(r={}),a.current&&("number"==typeof s?e.navigate(s):e.navigate(s,_s({fromRouteId:t},r)))},[e,t])}():function(){!Gs()&&es(!1);let e=f.useContext(Fs),{basename:t,future:a,navigator:s}=f.useContext(Ys),{matches:r}=f.useContext(js),{pathname:n}=Vs(),o=JSON.stringify(Ms(r,a.v7_relativeSplatPath)),i=f.useRef(!1);return Ds(()=>{i.current=!0}),f.useCallback(function(a,r){if(void 0===r&&(r={}),!i.current)return;if("number"==typeof a)return void s.go(a);let l=Ns(a,JSON.parse(o),n,"path"===r.relative);null==e&&"/"!==t&&(l.pathname="/"===l.pathname?t:Es([t,l.pathname])),(r.replace?s.replace:s.push)(l,r.state,r)},[t,s,o,n,e])}()}function Os(e,t){return function(e,t,a,s){!Gs()&&es(!1);let{navigator:r,static:n}=f.useContext(Ys),{matches:o}=f.useContext(js),i=o[o.length-1],l=i?i.params:{};i&&i.pathname;let c=i?i.pathnameBase:"/";i&&i.route;let p,d=Vs();if(t){var u;let e="string"==typeof t?ns(t):t;"/"!==c&&!(null==(u=e.pathname)?void 0:u.startsWith(c))&&es(!1),p=e}else p=d;let h=p.pathname||"/",m=h;if("/"!==c){let e=c.replace(/^\//,"").split("/");m="/"+h.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=!n&&a&&a.matches&&a.matches.length>0?a.matches:is(e,{pathname:m}),w=function(e,t,a,s){var r;void 0===t&&(t=[]);void 0===a&&(a=null);void 0===s&&(s=null);if(null==e){var n;if(!a)return null;if(a.errors)e=a.matches;else{if(!(null!=(n=s)&&n.v7_partialHydration&&0===t.length&&!a.initialized&&a.matches.length>0))return null;e=a.matches}}let o=e,i=null==(r=a)?void 0:r.errors;if(null!=i){let e=o.findIndex(e=>e.route.id&&void 0!==(null==i?void 0:i[e.route.id]));!(e>=0)&&es(!1),o=o.slice(0,Math.min(o.length,e+1))}let l=!1,c=-1;if(a&&s&&s.v7_partialHydration)for(let p=0;p<o.length;p++){let e=o[p];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=p),e.route.id){let{loaderData:t,errors:s}=a,r=e.route.loader&&void 0===t[e.route.id]&&(!s||void 0===s[e.route.id]);if(e.route.lazy||r){l=!0,o=c>=0?o.slice(0,c+1):[o[0]];break}}}return o.reduceRight((e,s,r)=>{let n,p=!1,d=null,u=null;var h;a&&(n=i&&s.route.id?i[s.route.id]:void 0,d=s.route.errorElement||Js,l&&(c<0&&0===r?(h="route-fallback",!1||$s[h]||($s[h]=!0),p=!0,u=null):c===r&&(p=!0,u=s.route.hydrateFallbackElement||null)));let m=t.concat(o.slice(0,r+1)),g=()=>{let t;return t=n?d:p?u:s.route.Component?/*#__PURE__*/f.createElement(s.route.Component,null):s.route.element?s.route.element:e,/*#__PURE__*/f.createElement(qs,{match:s,routeContext:{outlet:e,matches:m,isDataRoute:null!=a},children:t})};return a&&(s.route.ErrorBoundary||s.route.errorElement||0===r)?/*#__PURE__*/f.createElement(Ws,{location:a.location,revalidation:a.revalidation,component:d,error:n,children:g(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):g()},null)}(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:Es([c,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:Es([c,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),o,a,s);return t&&w?/*#__PURE__*/f.createElement(zs.Provider,{value:{location:_s({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:Gt.Pop}},w):w}(e,t)}function Zs(){let e=function(){var e;let t=f.useContext(Bs),a=function(){let e=f.useContext(Rs);return!e&&es(!1),e}(Qs.UseRouteError),s=Xs(Qs.UseRouteError);return void 0!==t?t:null==(e=a.errors)?void 0:e[s]}(),t=function(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null;/*#__PURE__*/
106
- return f.createElement(f.Fragment,null,/*#__PURE__*/f.createElement("h2",null,"Unexpected Application Error!"),/*#__PURE__*/f.createElement("h3",{style:{fontStyle:"italic"}},t),a?/*#__PURE__*/f.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},a):null,null)}var Js=/*#__PURE__*/f.createElement(Zs,null),Ws=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?/*#__PURE__*/f.createElement(js.Provider,{value:this.props.routeContext},/*#__PURE__*/f.createElement(Bs.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function qs(e){let{routeContext:t,match:a,children:s}=e,r=f.useContext(Fs);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),/*#__PURE__*/f.createElement(js.Provider,{value:t},s)}var Ks=/*#__PURE__*/function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Ks||{}),Qs=/*#__PURE__*/function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Qs||{});function Xs(e){let t=function(){let e=f.useContext(js);return!e&&es(!1),e}(),a=t.matches[t.matches.length-1];return!a.route.id&&es(!1),a.route.id}var $s={};function er(e,t){null==e||e.v7_startTransition,void 0!==(null==e?void 0:e.v7_relativeSplatPath)||t&&t.v7_relativeSplatPath,t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}var tr=f.startTransition;function ar(e){let{basename:t,children:a,initialEntries:s,initialIndex:r,future:n}=e,o=f.useRef();null==o.current&&(o.current=function(e){void 0===e&&(e={});let t,{initialEntries:a=["/"],initialIndex:s,v5Compat:r=!1}=e;t=a.map((e,t)=>p(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let n=l(null==s?t.length-1:s),o=Gt.Pop,i=null;function l(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[n]}function p(e,a,s){void 0===a&&(a=null);let r=ss(t?c().pathname:"/",e,a,s);return ts("/"===r.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),r}function d(e){return"string"==typeof e?e:rs(e)}return{get index(){return n},get action(){return o},get location(){return c()},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?ns(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,a){o=Gt.Push;let s=p(e,a);n+=1,t.splice(n,t.length,s),r&&i&&i({action:o,location:s,delta:1})},replace(e,a){o=Gt.Replace;let s=p(e,a);t[n]=s,r&&i&&i({action:o,location:s,delta:0})},go(e){o=Gt.Pop;let a=l(n+e),s=t[a];n=a,i&&i({action:o,location:s,delta:e})},listen:e=>(i=e,()=>{i=null})}}({initialEntries:s,initialIndex:r,v5Compat:!0}));let i=o.current,[l,c]=f.useState({action:i.action,location:i.location}),{v7_startTransition:p}=n||{},d=f.useCallback(e=>{p&&tr?tr(()=>c(e)):c(e)},[c,p]);return f.useLayoutEffect(()=>i.listen(d),[i,d]),f.useEffect(()=>er(n),[n]),/*#__PURE__*/f.createElement(nr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:i,future:n})}function sr(e){let{to:t,replace:a,state:s,relative:r}=e;!Gs()&&es(!1);let{future:n,static:o}=f.useContext(Ys),{matches:i}=f.useContext(js),{pathname:l}=Vs(),c=Hs(),p=Ns(t,Ms(i,n.v7_relativeSplatPath),l,"path"===r),d=JSON.stringify(p);return f.useEffect(()=>c(JSON.parse(d),{replace:a,state:s,relative:r}),[c,d,r,a,s]),null}function rr(e){es(!1)}function nr(e){let{basename:t="/",children:a=null,location:s,navigationType:r=Gt.Pop,navigator:n,static:o=!1,future:i}=e;Gs()&&es(!1);let l=t.replace(/^\/*/,"/"),c=f.useMemo(()=>({basename:l,navigator:n,static:o,future:_s({v7_relativeSplatPath:!1},i)}),[l,i,n,o]);"string"==typeof s&&(s=ns(s));let{pathname:p="/",search:d="",hash:u="",state:h=null,key:m="default"}=s,g=f.useMemo(()=>{let e=Cs(p,l);return null==e?null:{location:{pathname:e,search:d,hash:u,state:h,key:m},navigationType:r}},[l,p,d,u,h,m,r]);return null==g?null:/*#__PURE__*/f.createElement(Ys.Provider,{value:c},/*#__PURE__*/f.createElement(zs.Provider,{children:a,value:g}))}function or(e){let{children:t,location:a}=e;return Os(cr(t),a)}var ir=/*#__PURE__*/function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(ir||{}),lr=new Promise(()=>{});f.Component;function cr(e,t){void 0===t&&(t=[]);let a=[];return f.Children.forEach(e,(e,s)=>{if(!/*#__PURE__*/f.isValidElement(e))return;let r=[...t,s];if(e.type===f.Fragment)return void a.push.apply(a,cr(e.props.children,r));e.type!==rr&&es(!1),e.props.index&&e.props.children&&es(!1);let n={id:e.props.id||r.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(n.children=cr(e.props.children,r)),a.push(n)}),a}try{window.__reactRouterVersion="6"}catch(Nr){}var pr=f.startTransition;function dr(e){let{basename:t,children:a,future:s,window:r}=e,n=f.useRef();var o;null==n.current&&(n.current=(void 0===(o={window:r,v5Compat:!0})&&(o={}),os(function(e,t){let{pathname:a,search:s,hash:r}=e.location;return ss("",{pathname:a,search:s,hash:r},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:rs(t)},null,o)));let i=n.current,[l,c]=f.useState({action:i.action,location:i.location}),{v7_startTransition:p}=s||{},d=f.useCallback(e=>{p&&pr?pr(()=>c(e)):c(e)},[c,p]);return f.useLayoutEffect(()=>i.listen(d),[i,d]),f.useEffect(()=>er(s),[s]),/*#__PURE__*/f.createElement(nr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:i,future:s})}function ur(e){let{basename:t,children:a,future:s,window:r}=e,n=f.useRef();var o;null==n.current&&(n.current=(void 0===(o={window:r,v5Compat:!0})&&(o={}),os(function(e,t){let{pathname:a="/",search:s="",hash:r=""}=ns(e.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),ss("",{pathname:a,search:s,hash:r},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let a=e.document.querySelector("base"),s="";if(a&&a.getAttribute("href")){let t=e.location.href,a=t.indexOf("#");s=-1===a?t:t.slice(0,a)}return s+"#"+("string"==typeof t?t:rs(t))},function(e,t){ts("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},o)));let i=n.current,[l,c]=f.useState({action:i.action,location:i.location}),{v7_startTransition:p}=s||{},d=f.useCallback(e=>{p&&pr?pr(()=>c(e)):c(e)},[c,p]);return f.useLayoutEffect(()=>i.listen(d),[i,d]),f.useEffect(()=>er(s),[s]),/*#__PURE__*/f.createElement(nr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:i,future:s})}var hr,mr;"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement;!function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"}(hr||(hr={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(mr||(mr={}));var gr=({children:e,routerType:t})=>{switch(t){case"hash":/* @__PURE__ */return m(ur,{children:e});case"memory":/* @__PURE__ */return m(ar,{children:e});default:/* @__PURE__ */return m(dr,{children:e})}},fr=({children:e})=>{const t=Hs(),{setNavigate:a}=nt();return b(()=>{a(e=>t(e))},[t,a]),e},wr=Sa(({successAuthRedirect:e,federatedDisplayMode:t="redirect",error:a,relyingPartyId:s=window.location.hostname,pathPrefix:r="",routerType:n="browser"})=>{const{error:o,message:i}=$(e);if(o)throw console.error("[passflow] authentication redirect returned an error",{error:o,message:i}),new Error(ue);const l=N(()=>{return e=r,Object.keys(Re).reduce((t,a)=>(t[a]=`${(e=>{if(!e)return"";const t=e.replace(/^\/+|\/+$/g,"");return t.startsWith("/")?t:`/${t}`})(e)}${Re[a]?.path}`,t),{});var e},[r]);if(a)throw new Error(a);/* @__PURE__ */
107
- return m(gr,{routerType:n,children:/* @__PURE__ */m(fr,{children:/* @__PURE__ */g(or,{children:[
108
- /* @__PURE__ */m(rr,{path:l.signin,element:/* @__PURE__ */m(Ia,{successAuthRedirect:e,relyingPartyId:s,federatedDisplayMode:t,signUpPath:l.signup,forgotPasswordPath:l.forgot_password,verifyMagicLinkPath:l.verify_magic_link,verifyOTPPath:l.verify_otp,twoFactorVerifyPath:l.two_factor_verify})}),
109
- /* @__PURE__ */m(rr,{path:l.signup,element:/* @__PURE__ */m(Pa,{successAuthRedirect:e,relyingPartyId:s,federatedDisplayMode:t,signInPath:l.signin,verifyMagicLinkPath:l.verify_magic_link,verifyOTPPath:l.verify_otp})}),
110
- /* @__PURE__ */m(rr,{path:l.verify_otp,element:/* @__PURE__ */m(Ga,{successAuthRedirect:e,numInputs:6,shouldAutoFocus:!0,signUpPath:l.signup})}),
111
- /* @__PURE__ */m(rr,{path:l.verify_magic_link,element:/* @__PURE__ */m(_a,{})}),
112
- /* @__PURE__ */m(rr,{path:l.forgot_password,element:/* @__PURE__ */m(Ha,{successResetRedirect:e,signInPath:l.signin,forgotPasswordSuccessPath:l.forgot_password_success})}),
113
- /* @__PURE__ */m(rr,{path:l.forgot_password_success,element:/* @__PURE__ */m(Za,{})}),
114
- /* @__PURE__ */m(rr,{path:l.reset_password,element:/* @__PURE__ */m(qa,{successAuthRedirect:e})}),
115
- /* @__PURE__ */m(rr,{path:l.invitation,element:/* @__PURE__ */m(Ka,{successAuthRedirect:e,signInPath:l.signin,signUpPath:l.signup})}),
116
- /* @__PURE__ */m(rr,{path:l.two_factor_verify,element:/* @__PURE__ */m(Ma,{successAuthRedirect:e,signInPath:l.signin,twoFactorSetupPath:l.two_factor_setup})}),
117
- /* @__PURE__ */m(rr,{path:l.two_factor_setup,element:/* @__PURE__ */m(na,{successAuthRedirect:e,twoFactorVerifyPath:l.two_factor_verify,signInPath:l.signin})}),
118
- /* @__PURE__ */m(rr,{path:"*",element:/* @__PURE__ */m(sr,{to:{pathname:l.signin,search:window.location.search}})})]})})})},Na),yr=e=>e?{message:e.message,scope:"bad_credentials"===e.type||"missing_credentials"===e.type?"credentials":"form"}:null,vr=e=>{if("loading"===e.status)return null;if("code_entry"===e.status)return{chrome:{title:"Enter the code",subtitle:"Type the code shown on your device."},state:{kind:"code-entry",error:e.error?.message,testId:"device-code-entry",onSubmit:e.submitCode}};if("done"===e.status)return{chrome:{title:e.info?.app_name?`You're signed in to ${e.info.app_name}`:"You're signed in",subtitle:"Head back to your terminal — it's ready to go."},state:{kind:"status",tone:"success",message:"This device is approved",detail:"You can close this page.",testId:"passkey"===e.info?.mode?"device-auto-passkey-done":"device-done"}};if("refused"===e.status)return{chrome:{title:"Sign-in isn't available this way"},state:{kind:"status",tone:"disabled",message:(e.error??pe("mode_disabled")).message,detail:"Nothing was approved, and nothing was sent to the device that showed you this code.",testId:"device-mode-disabled"}};if("failed"===e.status){const t=e.error??pe("generic");return{chrome:{title:"That didn't work"},state:{kind:"status",tone:"error",message:t.message,recoverable:t.isRecoverable,testId:"device-failed",onRetry:t.isRecoverable?()=>e.submitCode(""):void 0}}}if(!e.info)return null;if("passkey"===e.info.mode){const t=("ready"===e.status||"working"===e.status)&&!e.error;return{chrome:{title:`Sign in to ${e.info.app_name}`,subtitle:"Confirm with your passkey to finish this device sign-in."},state:{kind:"passkey-progress",working:t,message:e.error?"Passkey sign-in couldn't continue.":"Waiting for your passkey — follow the prompt on your device.",error:e.error?.message,recoverable:e.error?.isRecoverable,testId:"device-auto-passkey",onRetry:e.error?.isRecoverable?()=>{e.confirmWithPasskey()}:void 0}}}const t="working"===e.status,a=e.isAuthenticated||"signed_in"===e.status,s=(e=>({identities:e.info?.methods.password?[{id:"email_or_username",label:"Email",selectLabel:"Use email",requiredMessage:"Email is required",format:"email",password:!0}]:[],passkey:Boolean(e.info?.methods.passkey),providers:[]}))(e),r=(e=>{if(e.info)return{code:e.info.user_code,appName:e.info.app_name,message:"requested this sign-in. Confirm that the code matches your terminal. If it doesn't, close this page.",codeTestId:"device-consent-user-code",appNameTestId:"device-consent-app-name"}})(e);return"full_login"===e.info.mode?a?{chrome:{title:`Approve sign-in to ${e.info.app_name}`,subtitle:"Confirm that the code matches your terminal before approving."},state:{kind:"device-approval",appName:e.info.app_name,code:e.info.user_code,identity:e.email,busy:t,error:e.error?.message,testId:"device-full-login-approval",actionTestId:"device-confirm",codeTestId:"device-consent-user-code",appNameTestId:"device-consent-app-name",onApprove:()=>{e.approve()}}}:{chrome:{title:`Sign in to approve ${e.info.app_name}`,subtitle:"Confirm the code, then sign in to continue.",variant:"sign-in"},state:{kind:"credentials",methods:s,passwordPolicy:null,notice:r,busy:t,error:yr(e.error),primaryLabel:t?"Signing in…":"Sign In",passkeyLabel:"Sign In with a Passkey",testId:"device-full-login",onPassword:t=>{e.signInWithPassword(t.emailOrUsername,t.password)},onPasskey:()=>{e.signInWithPasskey()}}}:{chrome:{title:`Approve sign-in to ${e.info.app_name}`,subtitle:"Confirm the code, then sign in to approve this request.",variant:"sign-in"},state:{kind:"credentials",methods:s,passwordPolicy:null,notice:r,busy:t,error:yr(e.error),primaryLabel:t?"Approving…":"Approve",primaryTestId:"device-confirm",passkeyLabel:"Approve with a Passkey",testId:"device-consent",onPassword:t=>{e.confirmWithPassword(t.emailOrUsername,t.password)},onPasskey:()=>{e.confirmWithPasskey()}}}},xr=()=>{const e=vt(),t=S(null),{confirmWithPasskey:a}=e,s=e.info?.csrf_token??null,r="passkey"===e.info?.mode&&"ready"===e.status&&!e.error;b(()=>{r&&s&&t.current!==s&&(t.current=s,a())},[s,a,r]);const n=vr(e);return n?/* @__PURE__ */m(sa,{...n}):null},Cr=()=>{const e=(e=>{if("loading"===e.status)return null;if("invalid"===e.status)return{chrome:{title:e.error?.message??"Consent request unavailable"},state:{kind:"general-error",message:e.error?.message,detail:e.error?.description,actionLabel:"Back to login",testId:"consent-invalid",onAction:()=>{window.location.href="/web"}}};if("redirecting"===e.status)return{chrome:{title:"Taking you back",subtitle:`Returning you to ${e.info?.app_name||"the application"}.`},state:{kind:"status",tone:"success",message:"Decision recorded",detail:"You can close this page if it does not continue on its own.",testId:"consent-redirecting"}};const t=e.info;if(!t)return null;const a=t.app_name||t.client_id,s="working"===e.status;return{chrome:{title:`Allow ${a} to access your account?`,subtitle:"Choose what this application may use, then allow or deny.",customLogo:t.app_logo_url||void 0,customLogoAlt:`${a} logo`},state:{kind:"consent",appName:a,scopes:t.requested_scopes.map(t=>{const a=e.scopeMetadata(t);return{scope:t,label:a.label||t,description:a.description||void 0,granted:e.grantedScopes.includes(t)}}),busy:s,error:e.error?.message,allowLabel:"Allow",denyLabel:"Deny",busyLabel:"Submitting…",testId:"consent-screen",allowTestId:"consent-allow",denyTestId:"consent-deny",appNameTestId:"consent-app-name",onToggleScope:e.toggleScope,onAllow:()=>{e.allow()},onDeny:()=>{e.deny()}}}})(bt());return e?/* @__PURE__ */m(sa,{...e}):null},br=({onSuccess:e,onError:t,redirectOnSuccess:a=!0,signInPath:s=Re.signin.path})=>{const{token:r}=function(){let{matches:e}=f.useContext(js),t=e[e.length-1];return t?t.params:{}}(),{navigate:n}=nt(),{isLoading:o,isRetrying:i,isValidated:l,error:c,retry:p,retryCountdown:d}=pt(r||"");b(()=>{c&&t?.(c)},[c,t]);if(o)/* @__PURE__ */return m(ta,{title:"Validating Magic Link",subtitle:"Please wait while we verify your link...",className:"passflow-2fa-magic-link-loading",children:/* @__PURE__ */g("div",{className:"passflow-loading-container",role:"status","aria-live":"polite","aria-busy":"true",children:[/* @__PURE__ */m(Ee,{id:"logo",type:"general",size:"large",className:"passflow-loading-spinner"}),/* @__PURE__ */m("p",{className:"passflow-loading-text",children:"Validating your magic link..."})]})});if(c){const e="SERVER_ERROR"===c.code||"RATE_LIMITED"===c.code,t="RATE_LIMITED"===c.code&&null!==d&&d>0;/* @__PURE__ */
119
- return m(ta,{title:"Magic Link Validation Failed",subtitle:kr(c.code),className:"passflow-2fa-magic-link-error",children:/* @__PURE__ */g("div",{className:"passflow-error-container",role:"alert","aria-live":"assertive",children:[
120
- /* @__PURE__ */m("div",{className:"passflow-error-icon",children:/* @__PURE__ */m(Ee,{id:"warning",type:"general",size:"large"})}),
121
- /* @__PURE__ */m("p",{className:"passflow-error-message",id:"error-message",children:c.message}),
122
- /* @__PURE__ */g("div",{className:"passflow-error-actions",children:[e&&/* @__PURE__ */m(Le,{size:"big",type:"button",variant:"primary",onClick:p,disabled:t||i,"aria-describedby":"error-message",children:i?"Retrying...":t?`Try again in ${Mr(d)}`:"Try Again"}),/* @__PURE__ */m(Le,{size:"big",type:"button",variant:"secondary",onClick:()=>n({to:s}),children:"Back to Sign In"})]}),!e&&/* @__PURE__ */m("p",{className:"passflow-error-help-text",children:"Please contact your administrator to request a new magic link."})]})})}return l?/* @__PURE__ */m(ra,{onComplete:()=>{e?.(),a&&n({to:s})},onCancel:()=>{n({to:s})}}):null};function kr(e){switch(e){case"EXPIRED_TOKEN":return"This magic link has expired";case"INVALID_TOKEN":return"This magic link is invalid";case"REVOKED_TOKEN":return"This magic link has been revoked";case"RATE_LIMITED":return"Too many attempts";case"SERVER_ERROR":return"Something went wrong";default:return"An error occurred"}}function Mr(e){return null===e?"":`${Math.floor(e/60)}:${(e%60).toString().padStart(2,"0")}`}export{Le as Button,Cr as ConsentFlow,Me as CountryFlag,xr as DeviceVerifyFlow,Pt as Dialog,Ft as DialogClose,Ut as DialogContent,Bt as DialogDescription,zt as DialogFooter,Yt as DialogHeader,Rt as DialogOverlay,_t as DialogPortal,jt as DialogTitle,Tt as DialogTrigger,Pe as FieldPassword,kt as FieldPhone,Ie as FieldText,Ha as ForgotPassword,Za as ForgotPasswordSuccess,Ee as Icon,Ka as InvitationJoin,Nt as Link,Vt as LoginAlert,sa as LoginScreen,wr as PassflowFlow,ka as PassflowProvider,St as Popover,It as PopoverAnchor,At as PopoverContent,Lt as PopoverTrigger,Mt as ProvidersBox,qa as ResetPassword,Ia as SignIn,La as SignInForm,Pa as SignUp,Aa as SignUpForm,Et as Switch,pa as TwoFactorChallenge,ua as TwoFactorRecoveryForm,ra as TwoFactorSetupForm,br as TwoFactorSetupMagicLinkFlow,da as TwoFactorVerifyForm,_a as VerifyChallengeMagicLink,Ga as VerifyChallengeOTP,Ke as useAppSettings,Xe as useAuth,tt as useAuthCloudRedirect,bt as useConsent,vt as useDeviceVerify,Oe as useForgotPassword,at as useJoinInvite,$e as useLogout,nt as useNavigation,st as useOutsideClick,Be as usePassflow,Qe as usePasswordlessComplete,De as useProvider,Ze as useResetPassword,ht as useSessionExpired,Ge as useSignIn,He as useSignUp,dt as useTwoFactorChallenge,ct as useTwoFactorManage,ut as useTwoFactorMethods,it as useTwoFactorSetup,pt as useTwoFactorSetupMagicLink,ot as useTwoFactorStatus,lt as useTwoFactorVerify,et as useUserPasskeys};
1
+ import{eq as e,has as t,intersection as a,isEmpty as s,isUndefined as r,size as n,some as i}from"lodash";import*as o from"yup";import"dayjs";import l from"clsx";import{twMerge as c}from"tailwind-merge";import{FETCH_PRIORITY_OIDC as d,Passflow as p,PassflowEvent as u,classifyUpgradeError as h,parseToken as m,registerFetchMiddleware as g,requiredAcrLevel as f}from"@passflow/core";import{Fragment as w,jsx as y,jsxs as v}from"react/jsx-runtime";import*as x from"react";import C,{createContext as b,forwardRef as k,useCallback as M,useContext as N,useEffect as E,useId as S,useLayoutEffect as L,useMemo as I,useReducer as A,useRef as _,useState as T}from"react";import P from"query-string";import{getCountryForTimezone as F}from"countries-and-timezones";import{defaultCountries as R,parseCountry as U,usePhoneInput as Y}from"react-international-phone";import*as z from"@radix-ui/react-popover";import*as j from"@radix-ui/react-dialog";import{phone as D}from"phone";import{Controller as V,useForm as B}from"react-hook-form";import{Helmet as G,HelmetProvider as H}from"react-helmet-async";import O from"react-otp-input";import{ErrorBoundary as Z}from"react-error-boundary";import"react-dom";export*from"@passflow/core";window.passflowReactAppVersion=()=>{console.log("App Version: 0.10.0")};var q=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,J=e=>o.string().required().test({test:t=>{const a=[];if(e){const{min_password_length:s,require_lowercase:r,require_number:i,require_symbol:o,require_uppercase:l}=e;n(t)<s&&a.push("length"),l&&!/[A-Z]/.test(t)&&a.push("uppercase"),r&&!/[a-z]/.test(t)&&a.push("lowercase"),i&&!/\d/.test(t)&&a.push("number"),o&&!/[!@#$%^&*()_+{}[\]:;<>,.?~\\-]/.test(t)&&a.push("symbol")}if(a.length>0){const e={errors:a,inner:!0,path:"password",field:"password",message:a,value:t,name:"ValidationError"};return new o.ValidationError(e,t,"password")}return!0}}),W=e=>{try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},K=async(e,t,a="hash")=>{const s=await e.getTokens(!1);if(s){s.scopes=void 0;const e=Object.entries(s).filter(([e,t])=>t).map(([e,t])=>`${e}=${encodeURIComponent(t)}`).join("&");return"hash"===a?`${t}#${e}`:`${t}?${e}`}return t},Q=(...e)=>c(l(e));function X(e){return t=>{try{return e(t)}catch(a){return}}}var $=t=>{const a={internal:{username:{password:!1},email:{password:!1,otp:!1,magicLink:!1},phone:{password:!1,otp:!1,magicLink:!1}},fim:{providers:[]},passkey:!1,hasEmailMethods:!1,hasSignInEmailMethods:!1,hasPhoneMethods:!1,hasSignInPhoneMethods:!1,hasUsernameMethods:!1,hasSignInUsernameMethods:!1};if(!t)return a;for(const s of t){const{identity:t,challenge:r,fim_type:n}=s.strategy;switch(s.type){case"internal":switch(t){case"email":e(r,"magic_link")?a.internal.email.magicLink=!0:a.internal.email[r]=!0,a.hasEmailMethods=!0,(a.internal.email.magicLink||a.internal.email.otp||a.internal.email.password)&&(a.hasSignInEmailMethods=!0);break;case"phone":e(r,"magic_link")?a.internal.phone.magicLink=!0:a.internal.phone[r]=!0,a.hasPhoneMethods=!0,(a.internal.phone.magicLink||a.internal.phone.otp||a.internal.phone.password)&&(a.hasSignInPhoneMethods=!0);break;case"username":a.internal.username[r]=!0,a.hasUsernameMethods=!0,a.internal.username.password&&(a.hasSignInUsernameMethods=!0);break;default:throw new Error(`Unsupported identity type: ${t}`)}break;case"fim":a.fim.providers.push(n);break;case"passkey":a.passkey=!0;break;default:throw new Error(`Unsupported strategy type: ${s.type}`)}}return a},ee=(t,a)=>t.hasSignInEmailMethods&&t.hasSignInUsernameMethods?e(a,"label")?"Email or username":"Use email or username":t.hasSignInEmailMethods?e(a,"label")?"Email":"Use email":t.hasSignInUsernameMethods?e(a,"label")?"Username":"Use username":null,te=(t,a)=>{if(e(a,"phone")){if(t.internal.phone.otp)return{label:"SMS code",challengeType:"otp"};if(t.internal.phone.magicLink)return{label:"SMS link",challengeType:"magic_link"}}if(e(a,"email_or_username")){if(t.internal.email.otp)return{label:"email code",challengeType:"otp"};if(t.internal.email.magicLink)return{label:"email link",challengeType:"magic_link"}}return null},ae=e=>{const t=(a=window.location.search,(new DOMParser).parseFromString(a,"text/html").documentElement.textContent||"");var a;const s=new URLSearchParams(t);if(e){let t=!1;for(const[a,r]of Object.entries(e))s.has(a)||""===r||(s.set(a,r),t=!0);if(t){const e=`${window.location.pathname}${s.toString()?`?${s.toString()}`:""}${window.location.hash}`;window.history.replaceState(null,"",e)}}return{getAll:()=>{const e={};for(const[t,a]of s.entries())e[t]=a;return e},get:e=>{const t=s.get(e);return""===t?null:t},set:e=>{const t=new URLSearchParams(window.location.search);for(const[s,r]of Object.entries(e))null==r||""===r?t.delete(s):t.set(s,r);const a=`${window.location.pathname}${t.toString()?`?${t.toString()}`:""}${window.location.hash}`;window.history.pushState(null,"",a)}}},se=e=>{const t=new URLSearchParams(e?e.split("?")[1]:window.location.search),a=t.get("error"),s=t.get("message");return{error:a,message:s?decodeURIComponent(s):null}},re={expired:["2FA verification expired or not required","verification expired","session expired","verification not required"],not_enabled:["Two-factor authentication is not enabled for this user","2FA is not enabled","two-factor not enabled"],invalid_code:["invalid code","incorrect code","code mismatch","wrong code","invalid 2fa code"]};function ne(e){switch(e.type){case"expired":return"Your session has expired. Redirecting to sign in...";case"not_enabled":return"Two-factor authentication is not enabled for your account. Please contact your administrator to enable 2FA.";case"invalid_code":return"Invalid code. Please check your authenticator app and try again.";default:return e.message}}var ie={code_required:"Enter the code shown on your device to continue.",code_invalid:"That code isn't right. Check the code on your device and enter it again.",code_expired:"This code has expired. Start again on your device to get a new one.",code_declined:"This request was already declined. Start again on your device if you still want to sign in.",code_already_approved:"This device is already signed in. You can close this page and head back to it.",too_many_attempts:"Too many incorrect codes were entered. Wait a few minutes, then try again.",mode_disabled:"This app can't be signed in to this way. Ask whoever set it up to turn on QR sign-in, or sign in from your computer instead.",app_unavailable:"The app that asked you to sign in is no longer available. Start again from your device.",bad_credentials:"That email or password isn't right.",missing_credentials:"Enter your email and password to continue.",account_blocked:"This account has been blocked. Contact whoever manages it for help.",passkey_failed:"We couldn't confirm your passkey. You may have cancelled it, waited too long, or there may be no passkey for this site on this device.",passkey_unsupported:"This device can't use a passkey to sign in here. Use a device you've set up a passkey on, or return to the app that asked you to sign in and start again.",offline:"We couldn't reach the server. Check your connection and try again.",generic:"Something went wrong on our end. Refresh the page and try again."},oe=/* @__PURE__ */new Set(["code_required","code_invalid","bad_credentials","missing_credentials","passkey_failed","offline","generic"]),le={code_required:"code_required",invalid_user_code:"code_invalid",unknown_user_code:"code_invalid",expired_user_code:"code_expired",denied:"code_declined",already_approved:"code_already_approved",too_many_attempts:"too_many_attempts",mode_disabled:"mode_disabled",unknown_client:"app_unavailable",passkey_unavailable:"app_unavailable",unavailable:"app_unavailable",bad_credentials:"bad_credentials",missing_credentials:"missing_credentials",blocked:"account_blocked",passkey_failed:"passkey_failed"},ce={NotAllowedError:"passkey_failed",AbortError:"passkey_failed",TimeoutError:"passkey_failed",UnknownError:"passkey_failed",NotSupportedError:"passkey_unsupported",InvalidStateError:"passkey_unsupported",ConstraintError:"passkey_unsupported",SecurityError:"passkey_unsupported"},de=["resident credentials","allowcredentials","not supported at this time","discoverable credentials","is not supported"],pe=class extends Error{reason;code;status;constructor(e){super(e.description||e.code||`device request failed (${e.status})`),this.name="DeviceApiError",this.reason=e.reason,this.code=e.code,this.status=e.status}},ue=(e,t)=>({type:e,message:ie[e],detail:t,isRecoverable:oe.has(e)});function he(e){if(e instanceof pe){const t=le[e.reason]??"generic";return ue(t,`${e.code}${e.reason?`/${e.reason}`:""}: ${e.message}`)}if((e=>"object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)(e)){const t=e.name,a="string"==typeof e.message?e.message:"",s=a?`${t}: ${a}`:t,r=a.toLowerCase();if(de.some(e=>r.includes(e)))return ue("passkey_unsupported",s);const n=ce[t];return ue(n?n:"TypeError"===t?"offline":"generic",s)}return ue("generic","string"==typeof e?e:void 0)}function me(e,t){return ue(e,t)}var ge={"sign-in":{password:{message:"We couldn't sign you in. Check your details and try again.",scope:"credentials"},passwordless:{message:"We couldn't start passwordless sign-in. Check your connection and try again.",scope:"form"},passkey:{message:"We couldn't complete passkey sign-in. Try again or use another sign-in method.",scope:"form"}},"sign-up":{password:{message:"We couldn't create your account. Check the information you entered and try again.",scope:"form"},passwordless:{message:"We couldn't start passwordless registration. Check your connection and try again.",scope:"form"},passkey:{message:"We couldn't create your account with a passkey. Try again or choose another method.",scope:"form"}}},fe="We couldn't continue this authentication request. Return to the app and try again.",we="This verification link is invalid or incomplete. Request a new link or code and try again.",ye="This verification request is no longer available. Start again to request a new link or code.",ve=(e,t)=>ge[e][t],xe={"sign-in":{title:"Sign in",completion:"sign in"},"sign-up":{title:"Create your account",completion:"create your account"}},Ce=(e,t)=>{if(!e)return null;const a=X(m)(e),s=a?.tenant_name?.trim(),r=a?.inviter_name?.trim(),n=xe[t];return{title:s?`${n.title} to join ${s}.`:`${n.title} to continue your invitation.`,subtitle:r?`${r} invited you. After you ${n.completion}, you'll continue to the invitation.`:`After you ${n.completion}, you'll continue to the invitation.`}},be="passflow_2fa",ke=`${be}_redirect_count`,Me=`${be}_last_error_type`,Ne={canRedirect(){try{return this.getRedirectCount()<3}catch{return!0}},incrementRedirect(){try{const e=this.getRedirectCount();sessionStorage.setItem(ke,String(e+1))}catch{}},getRedirectCount(){try{const e=sessionStorage.getItem(ke);return e?Number.parseInt(e,10):0}catch{return 0}},reset(){try{sessionStorage.removeItem(ke),sessionStorage.removeItem(Me)}catch{}},setLastErrorType(e){try{sessionStorage.setItem(Me,e)}catch{}},getLastErrorType(){try{return sessionStorage.getItem(Me)}catch{return null}},isRepeatingError(e){return this.getLastErrorType()===e&&this.getRedirectCount()>0},getLoopDetectedMessage:()=>"Unable to complete authentication. This may be a configuration issue. Please contact support."},Ee=null,Se=null,Le=e=>(Ee=e,Se=null,()=>{Se=e,queueMicrotask(()=>{Se===e&&(Se=null,Ie(e))})}),Ie=e=>{Ee===e&&(Ee=null)},Ae=e=>{if(null===Ee)throw new Error(`[passflow] ${e}() needs a mounted <PassflowProvider>: the interception scope is bound to a configured Passflow instance. Call it from inside your app (an effect or a component), or use passflow.${e}() from usePassflow().`);return Ee},_e=e=>Ae("withAuth").withAuth(e),Te=e=>Ae("attachAuth").attachAuth(e),Pe={ad:"-48px -27px",ae:"-72px -27px",af:"-96px -27px",ag:"-120px -27px",ai:"-144px -27px",al:"-168px -27px",am:"-192px -27px",an:"-216px -27px",ao:"-240px -27px",aq:"-264px -27px",ar:"-288px -27px",as:"-312px -27px",at:"-336px -27px",au:"-360px -27px",aw:"-384px -27px",ax:"-0px -51px",az:"-24px -51px",ba:"-48px -51px",bb:"-72px -51px",bd:"-96px -51px",be:"-120px -51px",bf:"-144px -51px",bg:"-168px -51px",bh:"-192px -51px",bi:"-216px -51px",bj:"-240px -51px",bl:"-264px -51px",bm:"-288px -51px",bn:"-312px -51px",bo:"-336px -51px",br:"-360px -51px",bs:"-384px -51px",bt:"-0px -75px",bw:"-24px -75px",by:"-48px -75px",bz:"-72px -75px",ca:"-96px -75px",cc:"-120px -75px",cd:"-144px -75px",cf:"-168px -75px",cg:"-192px -75px",ch:"-216px -75px",ci:"-240px -75px",ck:"-264px -75px",cl:"-288px -75px",cm:"-312px -75px",cn:"-336px -75px",co:"-360px -75px",cr:"-384px -75px",cu:"-0px -99px",cv:"-24px -99px",cw:"-48px -99px",cx:"-72px -99px",cy:"-96px -99px",cz:"-120px -99px",de:"-144px -99px",dj:"-168px -99px",dk:"-192px -99px",dm:"-216px -99px",do:"-240px -99px",dz:"-264px -99px",ec:"-288px -99px",ee:"-312px -99px",eg:"-336px -99px",eh:"-360px -99px",er:"-384px -99px",es:"-0px -123px",et:"-24px -123px",eu:"-48px -123px",fi:"-72px -123px",fj:"-96px -123px",fk:"-120px -123px",fm:"-144px -123px",fo:"-168px -123px",fr:"-192px -123px",ga:"-216px -123px",gb:"-240px -123px",gd:"-264px -123px",ge:"-288px -123px",gg:"-312px -123px",gh:"-336px -123px",gi:"-360px -123px",gl:"-384px -123px",gm:"-0px -147px",gn:"-24px -147px",gq:"-48px -147px",gr:"-72px -147px",gs:"-96px -147px",gt:"-120px -147px",gu:"-144px -147px",gw:"-168px -147px",gy:"-192px -147px",hk:"-216px -147px",hn:"-240px -147px",hr:"-264px -147px",ht:"-288px -147px",hu:"-312px -147px",ic:"-336px -147px",id:"-360px -147px",ie:"-384px -147px",il:"-0px -171px",im:"-24px -171px",in:"-48px -171px",iq:"-72px -171px",ir:"-96px -171px",is:"-120px -171px",it:"-144px -171px",je:"-168px -171px",jm:"-192px -171px",jo:"-216px -171px",jp:"-240px -171px",ke:"-264px -171px",kg:"-288px -171px",kh:"-312px -171px",ki:"-336px -171px",xk:"-144px 3px",km:"-360px -171px",kn:"-384px -171px",kp:"-0px -195px",kr:"-24px -195px",kw:"-48px -195px",ky:"-72px -195px",kz:"-96px -195px",la:"-120px -195px",lb:"-144px -195px",lc:"-168px -195px",li:"-192px -195px",lk:"-216px -195px",lr:"-240px -195px",ls:"-264px -195px",lt:"-288px -195px",lu:"-312px -195px",lv:"-336px -195px",ly:"-360px -195px",ma:"-384px -195px",mc:"-0px -219px",md:"-24px -219px",me:"-48px -219px",mf:"-72px -219px",mg:"-96px -219px",mh:"-120px -219px",mk:"-144px -219px",ml:"-168px -219px",mm:"-192px -219px",mn:"-216px -219px",mo:"-240px -219px",mp:"-264px -219px",mq:"-288px -219px",mr:"-312px -219px",ms:"-336px -219px",mt:"-360px -219px",mu:"-384px -219px",mv:"-0px -243px",mw:"-24px -243px",mx:"-48px -243px",my:"-72px -243px",mz:"-96px -243px",na:"-120px -243px",nc:"-144px -243px",ne:"-168px -243px",nf:"-192px -243px",ng:"-216px -243px",ni:"-240px -243px",nl:"-264px -243px",no:"-288px -243px",np:"-312px -243px",nr:"-336px -243px",nu:"-360px -243px",nz:"-384px -243px",om:"-0px -267px",pa:"-24px -267px",pe:"-48px -267px",pf:"-72px -267px",pg:"-96px -267px",ph:"-120px -267px",pk:"-192px -267px",pl:"-216px -267px",pn:"-240px -267px",pr:"-264px -267px",ps:"-288px -267px",pt:"-312px -267px",pw:"-336px -267px",py:"-360px -267px",qa:"-384px -267px",ro:"-0px -291px",rs:"-24px -291px",ru:"-48px -291px",rw:"-72px -291px",sa:"-96px -291px",sb:"-120px -291px",sc:"-144px -291px",sd:"-168px -291px",se:"-192px -291px",sg:"-216px -291px",sh:"-240px -291px",si:"-264px -291px",sk:"-288px -291px",sl:"-312px -291px",sm:"-336px -291px",sn:"-360px -291px",so:"-384px -291px",sr:"-0px -315px",ss:"-24px -315px",st:"-48px -315px",sv:"-72px -315px",sy:"-96px -315px",sz:"-120px -315px",tc:"-144px -315px",td:"-168px -315px",tf:"-192px -315px",tg:"-216px -315px",th:"-240px -315px",tj:"-264px -315px",tk:"-288px -315px",tl:"-312px -315px",tm:"-336px -315px",tn:"-360px -315px",to:"-384px -315px",tr:"-0px -339px",tt:"-24px -339px",tv:"-48px -339px",tw:"-72px -339px",tz:"-96px -339px",ua:"-120px -339px",ug:"-144px -339px",us:"-168px -339px",uy:"-192px -339px",uz:"-216px -339px",va:"-240px -339px",vc:"-264px -339px",ve:"-288px -339px",vg:"-312px -339px",vi:"-336px -339px",vn:"-360px -339px",vu:"-384px -339px",wf:"-0px -363px",ws:"-24px -363px",ye:"-48px -363px",za:"-96px -363px",zm:"-120px -363px",zw:"-144px -363px"},Fe={bq:"nl",gf:"fr",gp:"fr",io:"gb",pm:"fr",re:"fr",yt:"fr"},Re=({iso2:e,className:t})=>{const a=(e=>{const t=e.trim().toLowerCase(),a=Fe[t]??t;return a in Pe?a:null})(e);if(!a)/* @__PURE__ */return y("span",{"aria-hidden":"true",className:Q("passflow-country-flag passflow-country-flag--fallback",t),"data-country-flag":e.toLowerCase(),children:e.slice(0,2).toUpperCase()||"–"});const s={backgroundImage:"url(data:image/png;base64,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)",backgroundPosition:Pe[a]};/* @__PURE__ */
2
+ return y("span",{"aria-hidden":"true",className:Q("passflow-country-flag",t),"data-country-flag":e.toLowerCase(),style:s})},Ue="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.9289%2012.9289H10.8545V9.68033C10.8545%208.90563%2010.8407%207.90839%209.77562%207.90839C8.69517%207.90839%208.52983%208.7524%208.52983%209.62391V12.9287H6.45547V6.24817H8.44688V7.16113H8.47481C8.88025%206.46785%209.63695%206.05224%2010.4396%206.08204C12.5421%206.08204%2012.9297%207.46497%2012.9297%209.2641L12.9289%2012.9289ZM4.11485%205.33497C3.45446%205.33497%202.91079%204.79161%202.91079%204.1312C2.91079%203.47081%203.45421%202.92738%204.1146%202.92738C4.77493%202.92738%205.31829%203.47068%205.31841%204.13096C5.31841%204.79123%204.77512%205.33491%204.11485%205.33497ZM5.15203%2012.9289H3.07549V6.24817H5.15203V12.9289ZM13.963%201.00097H2.03305C1.47303%200.994641%201.00683%201.45002%201%202.01004V13.9897C1.00658%2014.55%201.47272%2015.0059%202.03305%2014.9999H13.963C14.5247%2015.007%2014.9925%2014.5511%2015%2013.9897V2.00923C14.9925%201.44802%2014.5241%200.992699%2013.963%201.00009V1.00097Z'%20fill='%230A66C2'/%3e%3c/svg%3e",Ye=({type:e,id:t,size:a,className:s="",decorative:r=!1,matchTextColor:n=!1})=>{const i={"passflow-icon--small":"small"===a,"passflow-icon--medium":"medium"===a,"passflow-icon--big":"big"===a,"passflow-icon--large":"large"===a},o={general:{logo:"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='8'%20fill='%231E1E1E'%20/%3e%3cpath%20d='M21.2532%2031H13.6932V12.52H24.9012C25.9252%2012.52%2026.8612%2012.72%2027.7092%2013.12C28.5732%2013.504%2029.2612%2014.184%2029.7732%2015.16C30.2852%2016.12%2030.5412%2017.456%2030.5412%2019.168C30.5412%2020.848%2030.2772%2022.184%2029.7492%2023.176C29.2212%2024.152%2028.5252%2024.856%2027.6612%2025.288C26.8132%2025.704%2025.8932%2025.912%2024.9012%2025.912H21.2532V31ZM23.1252%2018.592H20.8212V19.888H23.1972C23.3252%2019.888%2023.4612%2019.848%2023.6052%2019.768C23.7652%2019.688%2023.8452%2019.52%2023.8452%2019.264C23.8452%2018.992%2023.7572%2018.816%2023.5812%2018.736C23.4052%2018.64%2023.2532%2018.592%2023.1252%2018.592Z'%20fill='white'%20/%3e%3c/svg%3e","logo-red":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='8'%20fill='%23D85D5D'%20/%3e%3cpath%20d='M21.2532%2031H13.6932V12.52H24.9012C25.9252%2012.52%2026.8612%2012.72%2027.7092%2013.12C28.5732%2013.504%2029.2612%2014.184%2029.7732%2015.16C30.2852%2016.12%2030.5412%2017.456%2030.5412%2019.168C30.5412%2020.848%2030.2772%2022.184%2029.7492%2023.176C29.2212%2024.152%2028.5252%2024.856%2027.6612%2025.288C26.8132%2025.704%2025.8932%2025.912%2024.9012%2025.912H21.2532V31ZM23.1252%2018.592H20.8212V19.888H23.1972C23.3252%2019.888%2023.4612%2019.848%2023.6052%2019.768C23.7652%2019.688%2023.8452%2019.52%2023.8452%2019.264C23.8452%2018.992%2023.7572%2018.816%2023.5812%2018.736C23.4052%2018.64%2023.2532%2018.592%2023.1252%2018.592Z'%20fill='white'%20/%3e%3c/svg%3e",warning:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_823)'%3e%3cpath%20d='M7.99992%205.33334V8M7.99992%2010.6667H8.00659M14.6666%208C14.6666%2011.6819%2011.6818%2014.6667%207.99992%2014.6667C4.31802%2014.6667%201.33325%2011.6819%201.33325%208C1.33325%204.3181%204.31802%201.33334%207.99992%201.33334C11.6818%201.33334%2014.6666%204.3181%2014.6666%208Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_823'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",mail:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.33337%204.66666L6.77665%208.47696C7.21743%208.78551%207.43783%208.93978%207.67755%208.99954C7.8893%209.05232%208.11078%209.05232%208.32253%208.99954C8.56226%208.93978%208.78265%208.78551%209.22343%208.47696L14.6667%204.66666M4.53337%2013.3333H11.4667C12.5868%2013.3333%2013.1469%2013.3333%2013.5747%2013.1153C13.951%2012.9236%2014.257%2012.6176%2014.4487%2012.2413C14.6667%2011.8135%2014.6667%2011.2534%2014.6667%2010.1333V5.86666C14.6667%204.74656%2014.6667%204.18651%2014.4487%203.75868C14.257%203.38236%2013.951%203.0764%2013.5747%202.88465C13.1469%202.66666%2012.5868%202.66666%2011.4667%202.66666H4.53337C3.41327%202.66666%202.85322%202.66666%202.42539%202.88465C2.04907%203.0764%201.74311%203.38236%201.55136%203.75868C1.33337%204.18651%201.33337%204.74656%201.33337%205.86666V10.1333C1.33337%2011.2534%201.33337%2011.8135%201.55136%2012.2413C1.74311%2012.6176%202.04907%2012.9236%202.42539%2013.1153C2.85322%2013.3333%203.41327%2013.3333%204.53337%2013.3333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",edit:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.6231%206.86026L9.13975%204.37687M2%2014L4.10117%2013.7665C4.35789%2013.738%204.48624%2013.7238%204.60622%2013.6849C4.71266%2013.6505%204.81395%2013.6018%204.90735%2013.5402C5.01263%2013.4708%205.10395%2013.3794%205.28659%2013.1968L13.4857%204.99772C14.1714%204.31195%2014.1714%203.2001%2013.4857%202.51433C12.7999%201.82856%2011.6881%201.82856%2011.0023%202.51433L2.80321%2010.7134C2.62056%2010.896%202.52924%2010.9874%202.45982%2011.0926C2.39823%2011.186%202.34955%2011.2873%202.31509%2011.3938C2.27625%2011.5138%202.26199%2011.6421%202.23346%2011.8988L2%2014Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","eye-on":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.61342%208.47545C1.52262%208.33169%201.47723%208.25981%201.45182%208.14895C1.43273%208.06567%201.43273%207.93434%201.45182%207.85106C1.47723%207.74019%201.52262%207.66831%201.61341%207.52455C2.36369%206.33656%204.59693%203.33334%208.00027%203.33334C11.4036%203.33334%2013.6369%206.33656%2014.3871%207.52455C14.4779%207.66831%2014.5233%207.74019%2014.5487%207.85106C14.5678%207.93434%2014.5678%208.06567%2014.5487%208.14895C14.5233%208.25981%2014.4779%208.33169%2014.3871%208.47545C13.6369%209.66344%2011.4036%2012.6667%208.00027%2012.6667C4.59693%2012.6667%202.36369%209.66344%201.61342%208.47545Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00027%2010C9.10484%2010%2010.0003%209.10457%2010.0003%208C10.0003%206.89543%209.10484%206%208.00027%206C6.8957%206%206.00027%206.89543%206.00027%208C6.00027%209.10457%206.8957%2010%208.00027%2010Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","eye-off":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.16196%203.39488C7.4329%203.35482%207.7124%203.33333%208.00028%203.33333C11.4036%203.33333%2013.6369%206.33656%2014.3871%207.52455C14.4779%207.66833%2014.5233%207.74023%2014.5488%207.85112C14.5678%207.93439%2014.5678%208.06578%2014.5487%208.14905C14.5233%208.25993%2014.4776%208.3323%2014.3861%208.47705C14.1862%208.79343%2013.8814%209.23807%2013.4777%209.7203M4.48288%204.47669C3.0415%205.45447%202.06297%206.81292%201.61407%207.52352C1.52286%207.66791%201.47725%207.74011%201.45183%207.85099C1.43273%207.93426%201.43272%208.06563%201.45181%208.14891C1.47722%208.25979%201.52262%208.33168%201.61342%208.47545C2.36369%209.66344%204.59694%2012.6667%208.00028%2012.6667C9.37255%2012.6667%2010.5546%2012.1784%2011.5259%2011.5177M2.00028%202L14.0003%2014M6.58606%206.58579C6.22413%206.94772%206.00028%207.44772%206.00028%208C6.00028%209.10457%206.89571%2010%208.00028%2010C8.55256%2010%209.05256%209.77614%209.41449%209.41421'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",search:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%2014L11.1%2011.1M12.6667%207.33333C12.6667%2010.2789%2010.2789%2012.6667%207.33333%2012.6667C4.38781%2012.6667%202%2010.2789%202%207.33333C2%204.38781%204.38781%202%207.33333%202C10.2789%202%2012.6667%204.38781%2012.6667%207.33333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","caret-down":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%206L8%2010L12%206H4Z'%20fill='%236B6F76'/%3e%3c/svg%3e",label:"data:image/svg+xml,%3csvg%20width='43'%20height='10'%20viewBox='0%200%2043%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.91%209H5.346L5.236%207.988H3.674L3.564%209H0L2.178%200.53H6.732L8.91%209ZM4.158%203.665L4.037%204.721H4.873L4.752%203.665H4.158ZM16.6389%206.712C16.5215%207.482%2016.1145%208.087%2015.4179%208.527C14.7212%208.95967%2013.8082%209.176%2012.6789%209.176C11.5495%209.176%2010.6365%208.95967%209.93988%208.527C9.25054%208.09433%208.84354%207.49667%208.71888%206.734C8.68954%206.52867%208.66388%206.25367%208.64188%205.909C8.62721%205.557%208.61988%205.17933%208.61988%204.776C8.61988%204.38733%208.62721%204.028%208.64188%203.698C8.66388%203.36067%208.68954%203.09667%208.71888%202.906C8.84354%202.09933%209.25421%201.47233%209.95088%201.025C10.6475%200.577666%2011.5569%200.354%2012.6789%200.354C13.8082%200.354%2014.7212%200.577666%2015.4179%201.025C16.1145%201.465%2016.5215%202.07733%2016.6389%202.862C16.6682%203.05267%2016.6902%203.31667%2016.7049%203.654C16.7269%203.984%2016.7379%204.347%2016.7379%204.743C16.7379%205.161%2016.7269%205.54233%2016.7049%205.887C16.6902%206.23167%2016.6682%206.50667%2016.6389%206.712ZM12.9759%206.206V3.324C12.9759%203.126%2012.8769%203.027%2012.6789%203.027C12.4809%203.027%2012.3819%203.126%2012.3819%203.324V6.206C12.3819%206.404%2012.4809%206.503%2012.6789%206.503C12.8769%206.503%2012.9759%206.404%2012.9759%206.206ZM25.1574%206.712C25.0401%207.482%2024.6331%208.087%2023.9364%208.527C23.2398%208.95967%2022.3268%209.176%2021.1974%209.176C20.0681%209.176%2019.1551%208.95967%2018.4584%208.527C17.7691%208.09433%2017.3621%207.49667%2017.2374%206.734C17.2081%206.52867%2017.1824%206.25367%2017.1604%205.909C17.1458%205.557%2017.1384%205.17933%2017.1384%204.776C17.1384%204.38733%2017.1458%204.028%2017.1604%203.698C17.1824%203.36067%2017.2081%203.09667%2017.2374%202.906C17.3621%202.09933%2017.7728%201.47233%2018.4694%201.025C19.1661%200.577666%2020.0754%200.354%2021.1974%200.354C22.3268%200.354%2023.2398%200.577666%2023.9364%201.025C24.6331%201.465%2025.0401%202.07733%2025.1574%202.862C25.1868%203.05267%2025.2088%203.31667%2025.2234%203.654C25.2454%203.984%2025.2564%204.347%2025.2564%204.743C25.2564%205.161%2025.2454%205.54233%2025.2234%205.887C25.2088%206.23167%2025.1868%206.50667%2025.1574%206.712ZM21.4944%206.206V3.324C21.4944%203.126%2021.3954%203.027%2021.1974%203.027C20.9994%203.027%2020.9004%203.126%2020.9004%203.324V6.206C20.9004%206.404%2020.9994%206.503%2021.1974%206.503C21.3954%206.503%2021.4944%206.404%2021.4944%206.206ZM33.555%200.53V3.797H31.432V9H27.769V3.797H25.635V0.53H33.555ZM38.4495%202.906V0.53H42.0135V9H38.4495V6.272H37.5585V9H33.9945V0.53H37.5585V2.906H38.4495Z'%20fill='%236B6F76'/%3e%3c/svg%3e",close:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.6666%2010.6667L7.99993%208.00001M7.99993%208.00001L5.33325%205.33333M7.99993%208.00001L10.6666%205.33333M7.99993%208.00001L5.33325%2010.6667'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",check:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%208L6.82843%2010.8284L12.4847%205.17155'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",key:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.1111%206.1333C11.1111%205.81483%2010.9896%205.49636%2010.7466%205.25338C10.5037%205.01039%2010.1852%204.88889%209.86669%204.88889M9.86669%209.86667C11.9286%209.86667%2013.6%208.1952%2013.6%206.13333C13.6%204.07147%2011.9286%202.4%209.86669%202.4C7.80483%202.4%206.13336%204.07147%206.13336%206.13333C6.13336%206.30362%206.14476%206.47125%206.16684%206.63549C6.20316%206.90562%206.22131%207.04069%206.20909%207.12615C6.19636%207.21516%206.18015%207.26313%206.13627%207.34163C6.09416%207.41698%206.01993%207.4912%205.87148%207.63965L2.69162%2010.8195C2.584%2010.9271%202.53019%2010.9809%202.49171%2011.0437C2.4576%2011.0994%202.43246%2011.1601%202.41722%2011.2236C2.40002%2011.2952%202.40002%2011.3713%202.40002%2011.5235V12.6044C2.40002%2012.9529%202.40002%2013.1272%202.46784%2013.2603C2.5275%2013.3773%202.62269%2013.4725%202.73976%2013.5322C2.87286%2013.6%203.0471%2013.6%203.39558%2013.6H4.88891V12.3556H6.13336V11.1111H7.3778L8.36037%2010.1285C8.50882%209.98009%208.58305%209.90587%208.6584%209.86375C8.73689%209.81988%208.78486%209.80367%208.87388%209.79093C8.95933%209.77871%209.0944%209.79687%209.36453%209.83319C9.52878%209.85527%209.6964%209.86667%209.86669%209.86667Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",phone:"data:image/svg+xml,%3csvg%20width='17'%20height='16'%20viewBox='0%200%2017%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.49998%2011.6666H8.50665M5.96665%2014.6666H11.0333C11.78%2014.6666%2012.1534%2014.6666%2012.4386%2014.5213C12.6895%2014.3934%2012.8935%2014.1895%2013.0213%2013.9386C13.1666%2013.6534%2013.1666%2013.28%2013.1666%2012.5333V3.46659C13.1666%202.71985%2013.1666%202.34648%2013.0213%202.06126C12.8935%201.81038%2012.6895%201.60641%2012.4386%201.47858C12.1534%201.33325%2011.78%201.33325%2011.0333%201.33325H5.96665C5.21991%201.33325%204.84654%201.33325%204.56133%201.47858C4.31044%201.60641%204.10647%201.81038%203.97864%202.06126C3.83331%202.34648%203.83331%202.71985%203.83331%203.46659V12.5333C3.83331%2013.28%203.83331%2013.6534%203.97864%2013.9386C4.10647%2014.1895%204.31044%2014.3934%204.56133%2014.5213C4.84654%2014.6666%205.21991%2014.6666%205.96665%2014.6666ZM8.83331%2011.6666C8.83331%2011.8507%208.68407%2011.9999%208.49998%2011.9999C8.31588%2011.9999%208.16665%2011.8507%208.16665%2011.6666C8.16665%2011.4825%208.31588%2011.3333%208.49998%2011.3333C8.68407%2011.3333%208.83331%2011.4825%208.83331%2011.6666Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","one-password":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cg%20clip-path='url(%23clip0_2691_4730)'%3e%3cpath%20d='M20.8039%2020.4084V18.2344C20.8039%2017.9893%2021.0026%2017.7906%2021.2477%2017.7906H22.7785C23.0236%2017.7906%2023.2222%2017.9893%2023.2222%2018.2344V22.2139C23.2222%2022.2748%2023.1918%2022.3212%2023.1614%2022.3669L22.7785%2022.7498C22.6864%2022.8419%2022.6864%2022.9797%2022.7785%2023.0558L23.1614%2023.4386C23.1819%2023.4582%2023.198%2023.4821%2023.2086%2023.5085C23.2191%2023.5349%2023.2237%2023.5633%2023.2222%2023.5916V25.7648C23.2222%2025.8825%2023.1755%2025.9954%2023.0923%2026.0786C23.009%2026.1618%2022.8962%2026.2086%2022.7785%2026.2086H21.2477C21.13%2026.2086%2021.0171%2026.1618%2020.9339%2026.0786C20.8507%2025.9954%2020.8039%2025.8825%2020.8039%2025.7648V21.7853C20.8039%2021.7244%2020.8344%2021.678%2020.8648%2021.6323L21.2477%2021.2494C21.3398%2021.1573%2021.3398%2021.0195%2021.2477%2020.9434L20.8648%2020.5606C20.8443%2020.5411%2020.8282%2020.5174%2020.8177%2020.4911C20.8072%2020.4649%2020.8025%2020.4366%2020.8039%2020.4084ZM27.7064%2022C27.7064%2021.2503%2027.5587%2020.5079%2027.2718%2019.8153C26.9849%2019.1227%2026.5644%2018.4933%2026.0343%2017.9632C25.5042%2017.4331%2024.8748%2017.0126%2024.1822%2016.7257C23.4895%2016.4388%2022.7472%2016.2911%2021.9975%2016.2911C21.2478%2016.2911%2020.5054%2016.4388%2019.8128%2016.7257C19.1201%2017.0126%2018.4908%2017.4331%2017.9607%2017.9632C17.4305%2018.4933%2017.01%2019.1227%2016.7231%2019.8153C16.4362%2020.5079%2016.2886%2021.2503%2016.2886%2022C16.2886%2023.5141%2016.89%2024.9662%2017.9607%2026.0368C19.0313%2027.1074%2020.4834%2027.7089%2021.9975%2027.7089C23.5116%2027.7089%2024.9637%2027.1074%2026.0343%2026.0368C27.1049%2024.9662%2027.7064%2023.5141%2027.7064%2022ZM29.5127%2022C29.5127%2026.1477%2026.1452%2029.5%2022.0127%2029.5C17.865%2029.5%2014.5127%2026.1325%2014.5127%2022C14.5127%2017.8523%2017.8802%2014.5%2022.0127%2014.5C26.1452%2014.5%2029.5127%2017.8523%2029.5127%2022Z'%20fill='%237F7F7F'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2691_4730'%3e%3crect%20width='16'%20height='16'%20fill='white'%20transform='translate(14%2014)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e","browser-chrome":"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cg%20clip-path='url(%23clip0_2691_4741)'%3e%3cpath%20d='M21.9999%2019.3334C20.5272%2019.3334%2019.3333%2020.5273%2019.3333%2022C19.3333%2023.4728%2020.5272%2024.6667%2021.9999%2024.6667C23.4727%2024.6667%2024.6666%2023.4728%2024.6666%2022C24.6666%2020.5273%2023.4727%2019.3334%2021.9999%2019.3334ZM21.9999%2019.3334H28.1133M16.6333%2018.04L19.6933%2023.3334M21.2533%2028.6267L24.3066%2023.3334M28.6666%2022C28.6666%2025.6819%2025.6818%2028.6667%2021.9999%2028.6667C18.318%2028.6667%2015.3333%2025.6819%2015.3333%2022C15.3333%2018.3181%2018.318%2015.3334%2021.9999%2015.3334C25.6818%2015.3334%2028.6666%2018.3181%2028.6666%2022Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2691_4741'%3e%3crect%20width='16'%20height='16'%20fill='white'%20transform='translate(14%2014)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",passkey:"data:image/svg+xml,%3csvg%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='44'%20height='44'%20rx='6'%20fill='%23F3F5F7'/%3e%3cpath%20d='M25.3333%2020C25.3333%2019.6587%2025.2031%2019.3175%2024.9428%2019.0572C24.6825%2018.7968%2024.3412%2018.6667%2024%2018.6667M24%2024C26.2091%2024%2028%2022.2091%2028%2020C28%2017.7909%2026.2091%2016%2024%2016C21.7909%2016%2020%2017.7909%2020%2020C20%2020.1825%2020.0122%2020.3621%2020.0359%2020.538C20.0748%2020.8275%2020.0942%2020.9722%2020.0811%2021.0637C20.0675%2021.1591%2020.0501%2021.2105%2020.0031%2021.2946C19.958%2021.3753%2019.8785%2021.4549%2019.7194%2021.6139L16.3124%2025.0209C16.1971%2025.1362%2016.1395%2025.1939%2016.0982%2025.2611C16.0617%2025.3208%2016.0348%2025.3858%2016.0184%2025.4538C16%2025.5306%2016%2025.6121%2016%2025.7752V26.9333C16%2027.3067%2016%2027.4934%2016.0727%2027.636C16.1366%2027.7614%2016.2386%2027.8634%2016.364%2027.9273C16.5066%2028%2016.6933%2028%2017.0667%2028H18.6667V26.6667H20V25.3333H21.3333L22.3861%2024.2806C22.5451%2024.1215%2022.6247%2024.042%2022.7054%2023.9969C22.7895%2023.9499%2022.8409%2023.9325%2022.9363%2023.9189C23.0278%2023.9058%2023.1725%2023.9252%2023.462%2023.9641C23.6379%2023.9878%2023.8175%2024%2024%2024Z'%20stroke='%237F7F7F'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e","dots-vertical":"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.00004%208.66667C8.36823%208.66667%208.66671%208.36819%208.66671%208C8.66671%207.63181%208.36823%207.33333%208.00004%207.33333C7.63185%207.33333%207.33337%207.63181%207.33337%208C7.33337%208.36819%207.63185%208.66667%208.00004%208.66667Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00004%204C8.36823%204%208.66671%203.70152%208.66671%203.33333C8.66671%202.96514%208.36823%202.66667%208.00004%202.66667C7.63185%202.66667%207.33337%202.96514%207.33337%203.33333C7.33337%203.70152%207.63185%204%208.00004%204Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.00004%2013.3333C8.36823%2013.3333%208.66671%2013.0349%208.66671%2012.6667C8.66671%2012.2985%208.36823%2012%208.00004%2012C7.63185%2012%207.33337%2012.2985%207.33337%2012.6667C7.33337%2013.0349%207.63185%2013.3333%208.00004%2013.3333Z'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",trash:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6%202H10M2%204H14M12.6667%204L12.1991%2011.0129C12.129%2012.065%2012.0939%2012.5911%2011.8667%2012.99C11.6666%2013.3412%2011.3648%2013.6235%2011.0011%2013.7998C10.588%2014%2010.0607%2014%209.00623%2014H6.99377C5.93927%2014%205.41202%2014%204.99889%2013.7998C4.63517%2013.6235%204.33339%2013.3412%204.13332%2012.99C3.90607%2012.5911%203.871%2012.065%203.80086%2011.0129L3.33333%204M6.66667%207V10.3333M9.33333%207V10.3333'%20stroke='%236B6F76'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e"},providers:{google:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M14.7%208.15554C14.7%207.57997%2014.6533%207.15997%2014.5523%206.72443H7.97998V9.32218H11.8377C11.76%209.96777%2011.34%2010.94%2010.4066%2011.5933L10.3936%2011.6803L12.4716%2013.2901L12.6155%2013.3045C13.9378%2012.0834%2014.7%2010.2867%2014.7%208.15554Z'%20fill='%234285F4'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.98022%2015C9.87019%2015%2011.4568%2014.3778%2012.6158%2013.3045L10.4069%2011.5933C9.81576%2012.0055%209.02242%2012.2933%207.98022%2012.2933C6.12911%2012.2933%204.558%2011.0722%203.99793%209.38446L3.91586%209.39143L1.75507%2011.0637L1.72681%2011.1422C2.87791%2013.4289%205.2424%2015%207.98022%2015Z'%20fill='%2334A853'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.9977%209.38448C3.84994%208.94893%203.76439%208.48223%203.76439%208.00002C3.76439%207.51778%203.8499%207.05111%203.98993%206.61557L3.98602%206.52279L1.79819%204.82367L1.72662%204.85773C1.25218%205.80664%200.97998%206.87219%200.97998%207.99998C0.97998%209.12777%201.25223%2010.1933%201.72662%2011.1422L3.99774%209.38443'%20fill='%23FBBC04'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.98022%203.70662C9.29466%203.70662%2010.1813%204.27442%2010.6869%204.7489L12.6625%202.82C11.4492%201.69221%209.87019%201%207.98022%201C5.2424%201%202.87795%202.5711%201.72681%204.85776L3.99016%206.6156C4.558%204.92782%206.12911%203.70666%207.98022%203.70666'%20fill='%23EA4335'/%3e%3c/svg%3e",gitlab:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_834)'%3e%3cpath%20d='M7.99957%2015.3683L10.9471%206.30157H5.05627L7.99957%2015.3683Z'%20fill='%23E24329'/%3e%3cpath%20d='M0.92752%206.30157L0.0299048%209.05617C-0.0513217%209.30625%200.0363974%209.58242%200.25079%209.73834L7.99948%2015.3683L0.92752%206.30157Z'%20fill='%23FCA326'/%3e%3cpath%20d='M0.92749%206.30164H5.05611L3.27927%200.841173C3.18833%200.561813%202.792%200.561813%202.69779%200.841173L0.92749%206.30164Z'%20fill='%23E24329'/%3e%3cpath%20d='M15.0757%206.30157L15.9701%209.05617C16.0513%209.30625%2015.9636%209.58242%2015.7492%209.73834L7.99939%2015.3683L15.0757%206.30157Z'%20fill='%23FCA326'/%3e%3cpath%20d='M15.0757%206.30164H10.947L12.7206%200.841173C12.8116%200.561813%2013.2079%200.561813%2013.3021%200.841173L15.0757%206.30164Z'%20fill='%23E24329'/%3e%3cpath%20d='M7.99939%2015.3683L10.947%206.30157H15.0757L7.99939%2015.3683Z'%20fill='%23FC6D26'/%3e%3cpath%20d='M7.9994%2015.3683L0.92749%206.30157H5.05611L7.9994%2015.3683Z'%20fill='%23FC6D26'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_834'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",apple:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.6167%204.77308C13.5312%204.83608%2012.0218%205.64397%2012.0218%207.44037C12.0218%209.51818%2013.9425%2010.2533%2014%2010.2715C13.9912%2010.3162%2013.6948%2011.2781%2012.9873%2012.2583C12.3564%2013.1207%2011.6976%2013.9818%2010.6952%2013.9818C9.69291%2013.9818%209.43498%2013.4287%208.27784%2013.4287C7.15021%2013.4287%206.74928%2014%205.83245%2014C4.9156%2014%204.27588%2013.2019%203.54034%2012.2218C2.68836%2011.0709%202%209.28291%202%207.58597C2%204.86409%203.86316%203.42054%205.69684%203.42054C6.67116%203.42054%207.48335%204.02821%208.09508%204.02821C8.67726%204.02821%209.58531%203.38414%2010.6937%203.38414C11.1139%203.38414%2012.6233%203.42054%2013.6167%204.77308ZM10.1676%202.23182C10.6259%201.71517%2010.9503%200.998298%2010.9503%200.281428C10.9503%200.182018%2010.9414%200.0812084%2010.9223%200C10.1764%200.0266027%209.28899%200.471848%208.75398%201.0613C8.33385%201.51495%207.94176%202.23182%207.94176%202.95849C7.94176%203.06771%207.96092%203.17691%207.9698%203.21192C8.01697%203.22032%208.09361%203.23012%208.17025%203.23012C8.83946%203.23012%209.68112%202.80448%2010.1676%202.23182Z'%20fill='black'/%3e%3c/svg%3e",atlassian:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.14981%207.46537C4.94085%207.24181%204.61205%207.2541%204.47223%207.54219L1.03899%2014.4048C1.00767%2014.4674%200.992879%2014.5369%200.996019%2014.6068C0.999159%2014.6768%201.02013%2014.7447%201.05693%2014.8042C1.09373%2014.8637%201.14514%2014.9128%201.20627%2014.9469C1.26741%2014.9809%201.33623%2014.9987%201.4062%2014.9987H6.18693C6.26393%2015.0002%206.33969%2014.9792%206.40492%2014.9382C6.47014%2014.8973%206.52201%2014.8382%206.55414%2014.7682C7.58512%2012.641%206.96054%209.39978%205.14981%207.46537Z'%20fill='url(%23paint0_linear_2502_832)'/%3e%3cpath%20d='M7.66883%201.22039C5.74824%204.2626%205.875%207.63208%207.14029%2010.1611L9.44499%2014.7705C9.47857%2014.8394%209.53076%2014.8975%209.59567%2014.9382C9.66057%2014.979%209.73558%2015.0007%209.81221%2015.001H14.5929C14.6629%2015.001%2014.7317%2014.9832%2014.7929%2014.9492C14.854%2014.9151%2014.9054%2014.866%2014.9422%2014.8065C14.979%2014.747%2015%2014.6791%2015.0031%2014.6092C15.0063%2014.5393%2014.9915%2014.4697%2014.9601%2014.4071C14.9601%2014.4071%208.52849%201.53844%208.37023%201.21808C8.22196%200.929997%207.85474%200.923851%207.66883%201.22039Z'%20fill='%232681FF'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_832'%20x1='7.03199'%20y1='8.52553'%20x2='3.40822'%20y2='14.802'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230052CC'/%3e%3cstop%20offset='0.92'%20stop-color='%232684FF'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",bitbucket:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_831)'%3e%3cpath%20d='M0.519254%200.768994C0.44444%200.768029%200.370321%200.783452%200.302102%200.814182C0.233882%200.84491%200.173216%200.890198%200.124362%200.94687C0.0755086%201.00354%200.0396522%201.07021%200.0193102%201.14222C-0.00103186%201.21422%20-0.00536625%201.28981%200.00661131%201.36366L2.18278%2014.5745C2.2099%2014.7362%202.2931%2014.883%202.41779%2014.9894C2.54249%2015.0959%202.70068%2015.155%202.8646%2015.1563H13.3046C13.4274%2015.1579%2013.5468%2015.1153%2013.6409%2015.0362C13.735%2014.9572%2013.7976%2014.847%2013.8172%2014.7257L15.9934%201.36622C16.0054%201.29237%2016.001%201.21678%2015.9807%201.14478C15.9603%201.07278%2015.9245%201.0061%2015.8756%200.94943C15.8268%200.892766%2015.7661%200.84747%2015.6979%200.816742C15.6297%200.786016%2015.5556%200.770592%2015.4807%200.771557L0.519254%200.768994ZM9.68272%2010.317H6.35057L5.44832%205.60322H10.4902L9.68272%2010.317Z'%20fill='%232684FF'/%3e%3cpath%20d='M15.3013%205.60321H10.4902L9.68272%2010.3169H6.35055L2.41602%2014.9871C2.54072%2015.0949%202.69972%2015.1549%202.86458%2015.1563H13.3071C13.43%2015.1579%2013.5494%2015.1153%2013.6434%2015.0362C13.7375%2014.9572%2013.8001%2014.847%2013.8198%2014.7257L15.3013%205.60321Z'%20fill='url(%23paint0_linear_2502_831)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_831'%20x1='16.4138'%20y1='6.92327'%20x2='8.46264'%20y2='13.1288'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='%230052CC'/%3e%3cstop%20offset='1'%20stop-color='%232684FF'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_2502_831'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",discord:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2502_836)'%3e%3cpath%20d='M13.5535%202.79193C12.5178%202.30734%2011.4104%201.95517%2010.2526%201.75464C10.1104%202.01171%209.94432%202.35748%209.82976%202.63254C8.59904%202.44745%207.37956%202.44745%206.17144%202.63254C6.05693%202.35748%205.88704%202.01171%205.74358%201.75464C4.58454%201.95517%203.47584%202.30864%202.44013%202.79449C0.351095%205.95129%20-0.215207%209.02968%200.0679444%2012.0644C1.4535%2013.099%202.79627%2013.7276%204.11638%2014.139C4.44233%2013.6903%204.73302%2013.2134%204.98345%2012.7109C4.5065%2012.5297%204.04969%2012.306%203.61805%2012.0464C3.73256%2011.9615%203.84457%2011.8729%203.95278%2011.7816C6.58546%2013.013%209.44592%2013.013%2012.0471%2011.7816C12.1566%2011.8729%2012.2686%2011.9615%2012.3819%2012.0464C11.949%2012.3073%2011.491%2012.531%2011.014%2012.7122C11.2644%2013.2134%2011.5538%2013.6916%2011.881%2014.1402C13.2024%2013.7289%2014.5464%2013.1004%2015.932%2012.0644C16.2642%208.5464%2015.3645%205.49628%2013.5535%202.79193ZM5.34212%2010.1981C4.55182%2010.1981%203.9037%209.46024%203.9037%208.56184C3.9037%207.66337%204.53798%206.92429%205.34212%206.92429C6.14628%206.92429%206.79438%207.66207%206.78054%208.56184C6.78178%209.46024%206.14628%2010.1981%205.34212%2010.1981ZM10.6578%2010.1981C9.86752%2010.1981%209.21944%209.46024%209.21944%208.56184C9.21944%207.66337%209.85368%206.92429%2010.6578%206.92429C11.462%206.92429%2012.1101%207.66207%2012.0962%208.56184C12.0962%209.46024%2011.462%2010.1981%2010.6578%2010.1981Z'%20fill='%235865F2'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2502_836'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",dropbox:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.01032%204.15504L4.00518%206.71006L8.01032%209.26513L4.00518%2011.8201L0%209.25129L4.00518%206.69625L0%204.15504L4.00518%201.60001L8.01032%204.15504ZM3.98446%2012.6418L7.98964%2010.0868L11.9948%2012.6418L7.98964%2015.1969L3.98446%2012.6418ZM8.01032%209.25129L12.0155%206.69625L8.01032%204.15504L11.9948%201.60001L16%204.15504L11.9948%206.71006L16%209.26513L11.9948%2011.8201L8.01032%209.25129Z'%20fill='%230061FF'/%3e%3c/svg%3e",facebook:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2015C11.866%2015%2015%2011.866%2015%207.99997C15%204.13401%2011.866%201%208%201C4.134%201%201%204.13401%201%207.99997C1%2011.866%204.134%2015%208%2015Z'%20fill='%231977F3'/%3e%3cpath%20d='M10.6065%2010.1416L10.9172%208.16548H8.97241V6.88336C8.97241%206.34321%209.24363%205.81556%2010.1154%205.81556H11V4.1336C11%204.1336%2010.1973%204%209.43%204C7.82844%204%206.78107%204.94574%206.78107%206.65942V8.16548H5V10.1416H6.78107V14.9174C7.13809%2014.9721%207.50398%2015%207.87671%2015C8.24951%2015%208.6154%2014.9712%208.97241%2014.9174V10.1416H10.6065Z'%20fill='white'/%3e%3c/svg%3e",github:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.97914%201C4.11986%201%201%204.20833%201%208.17748C1%2011.3502%202.999%2014.0359%205.77214%2014.9864C6.11886%2015.0579%206.24586%2014.832%206.24586%2014.642C6.24586%2014.4756%206.23443%2013.9052%206.23443%2013.311C4.293%2013.7388%203.88871%2012.4554%203.88871%2012.4554C3.57671%2011.6235%203.11443%2011.4097%203.11443%2011.4097C2.479%2010.97%203.16071%2010.97%203.16071%2010.97C3.86557%2011.0176%204.23543%2011.7068%204.23543%2011.7068C4.85929%2012.8%205.86457%2012.4911%206.269%2012.3009C6.32671%2011.8375%206.51171%2011.5166%206.70814%2011.3384C5.15971%2011.172%203.53057%2010.5541%203.53057%207.79715C3.53057%207.01285%203.80771%206.37119%204.24686%205.87215C4.17757%205.69394%203.93486%204.95704%204.31629%203.97077C4.31629%203.97077%204.90557%203.7806%206.23429%204.70752C6.80316%204.55041%207.38982%204.47049%207.97914%204.46981C8.56843%204.46981%209.16914%204.55308%209.72386%204.70752C11.0527%203.7806%2011.642%203.97077%2011.642%203.97077C12.0234%204.95704%2011.7806%205.69394%2011.7113%205.87215C12.162%206.37119%2012.4277%207.01285%2012.4277%207.79715C12.4277%2010.5541%2010.7986%2011.1601%209.23857%2011.3384C9.49286%2011.5642%209.71229%2011.9919%209.71229%2012.6693C9.71229%2013.6318%209.70086%2014.4043%209.70086%2014.6418C9.70086%2014.832%209.828%2015.0579%2010.1746%2014.9866C12.9477%2014.0358%2014.9467%2011.3502%2014.9467%208.17748C14.9581%204.20833%2011.8269%201%207.97914%201Z'%20fill='%2324292F'/%3e%3c/svg%3e",hubspot:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.013%205.51301V3.9479C11.4349%203.74999%2011.7057%203.32811%2011.7083%202.86197V2.82551C11.7083%202.15884%2011.1667%201.61978%2010.5026%201.61978H10.4661C9.79948%201.61978%209.26042%202.15884%209.26042%202.82551V2.86197C9.26302%203.32811%209.53385%203.74999%209.95573%203.9479V5.51301C9.35937%205.60415%208.79948%205.85155%208.33073%206.22915L4.03646%202.8828C4.06771%202.77343%204.08333%202.65884%204.08594%202.54426C4.08594%201.79426%203.47917%201.18488%202.72917%201.18488C1.97917%201.18228%201.36979%201.78905%201.36719%202.53905C1.36719%203.29165%201.97396%203.90103%202.72396%203.90103C2.96094%203.90103%203.1901%203.83593%203.39323%203.71874L7.6224%207.0104C6.84635%208.18488%206.86719%209.71353%207.67448%2010.8672L6.38802%2012.1536C6.28646%2012.1198%206.17708%2012.1042%206.06771%2012.1016C5.45313%2012.1016%204.95313%2012.6016%204.95313%2013.2187C4.95313%2013.8333%205.45313%2014.3333%206.06771%2014.3333C6.6849%2014.3333%207.1849%2013.8333%207.1849%2013.2187C7.18229%2013.1094%207.16406%2013%207.13281%2012.8958L8.40365%2011.625C9.54167%2012.5%2011.1016%2012.5755%2012.3177%2011.8125C13.5339%2011.0521%2014.1484%209.61457%2013.8568%208.20832C13.5651%206.80468%2012.4297%205.72915%2011.013%205.51301ZM10.4844%2010.6641C9.84375%2010.6797%209.24479%2010.3489%208.92187%209.79686C8.59635%209.24478%208.59635%208.56249%208.92187%208.0104C9.24479%207.45832%209.84375%207.12759%2010.4844%207.14322C11.4323%207.17707%2012.1823%207.95572%2012.1823%208.90363C12.1849%209.84895%2011.4349%2010.6276%2010.487%2010.6614'%20fill='%23FF7A59'/%3e%3c/svg%3e",linear:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_2502_833'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='1'%20y='1'%20width='14'%20height='14'%3e%3cpath%20d='M15%201H1V15H15V1Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_2502_833)'%3e%3cpath%20d='M1.17156%209.61322C1.14041%209.48043%201.2986%209.39678%201.39505%209.49324L6.50679%2014.6049C6.60323%2014.7014%206.5196%2014.8596%206.38681%2014.8284C3.80721%2014.2233%201.77669%2012.1928%201.17156%209.61322ZM1.00026%207.56447C0.997795%207.60414%201.01271%207.64286%201.0408%207.67096L8.32907%2014.9592C8.35714%2014.9873%208.39585%2015.0022%208.43554%2014.9997C8.7672%2014.9791%209.09263%2014.9353%209.41029%2014.8701C9.51732%2014.8481%209.55449%2014.7166%209.47721%2014.6394L1.36063%206.52279C1.28337%206.44552%201.15187%206.48271%201.12989%206.58974C1.06466%206.90734%201.02092%207.23279%201.00026%207.56447ZM1.58953%205.15876C1.56622%205.21109%201.57809%205.27224%201.6186%205.31276L10.6872%2014.3814C10.7278%2014.4219%2010.7889%2014.4338%2010.8412%2014.4105C11.0913%2014.2991%2011.3336%2014.1735%2011.5672%2014.0347C11.6445%2013.9888%2011.6565%2013.8826%2011.5929%2013.819L2.18099%204.40714C2.11742%204.34356%202.01121%204.35549%201.96529%204.43279C1.8265%204.66636%201.70091%204.9087%201.58953%205.15876ZM2.77222%203.53036C2.7204%203.47855%202.7172%203.39544%202.76602%203.34079C4.04913%201.9043%205.9156%201%207.99327%201C11.863%201%2015%204.13702%2015%208.00672C15%2010.0844%2014.0957%2011.9509%2012.6592%2013.234C12.6046%2013.2828%2012.5214%2013.2796%2012.4696%2013.2278L2.77222%203.53036Z'%20fill='url(%23paint0_linear_2502_833)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_2502_833'%20x1='8'%20y1='1'%20x2='8'%20y2='15'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%235C6BF1'/%3e%3cstop%20offset='1'%20stop-color='%23283188'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",linkedin:Ue,linledin:Ue,microsoft:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H15V15H1V1Z'%20fill='%23F3F3F3'/%3e%3cpath%20d='M2%202H8V8H2V2Z'%20fill='%23F35325'/%3e%3cpath%20d='M8%202H14V8H8V2Z'%20fill='%2381BC06'/%3e%3cpath%20d='M2%208H8V14H2V8Z'%20fill='%2305A6F0'/%3e%3cpath%20d='M8%208H14V14H8V8Z'%20fill='%23FFBA08'/%3e%3c/svg%3e",notion:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.33281%201.60396L10.0795%201.03183C11.031%200.95016%2011.2756%201.00523%2011.8738%201.44016L14.3467%203.18223C14.7546%203.48183%2014.8904%203.5635%2014.8904%203.8897V13.4438C14.8904%2014.0425%2014.6729%2014.3967%2013.9118%2014.4509L4.91582%2014.9955C4.34462%2015.0225%204.07255%2014.9409%203.77341%2014.5596L1.95248%2012.1917C1.62581%2011.7559%201.49048%2011.4297%201.49048%2011.0484V2.55596C1.49048%202.06643%201.70795%201.65809%202.33281%201.60396Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.0795%201.03183L2.33281%201.60396C1.70795%201.65809%201.49048%202.06643%201.49048%202.55596V11.0484C1.49048%2011.4297%201.62581%2011.7559%201.95248%2012.1917L3.77341%2014.5596C4.07255%2014.9409%204.34462%2015.0225%204.91582%2014.9955L13.9118%2014.4509C14.6724%2014.3967%2014.8904%2014.0425%2014.8904%2013.4438V3.8897C14.8904%203.5803%2014.7681%203.49116%2014.4083%203.22703C14.3876%203.21212%2014.3669%203.19718%2014.3462%203.18223L11.8738%201.44016C11.2756%201.00523%2011.031%200.95016%2010.0795%201.03183ZM5.11929%203.73336C4.38475%203.78283%204.21815%203.79403%203.80095%203.45476L2.74021%202.61103C2.63241%202.50183%202.68654%202.36556%202.95814%202.33849L10.4052%201.79436C11.0306%201.73976%2011.3563%201.95769%2011.6008%202.14809L12.8781%203.07349C12.9327%203.10103%2013.0685%203.26389%2012.9052%203.26389L5.21449%203.72683L5.11929%203.73336ZM4.26295%2013.3621V5.25144C4.26295%204.89724%204.37168%204.7339%204.69742%204.70637L13.5305%204.1893C13.8301%204.16223%2013.9654%204.35263%2013.9654%204.70637V12.7629C13.9654%2013.1171%2013.9108%2013.4167%2013.4218%2013.4438L4.96902%2013.9338C4.47995%2013.9609%204.26295%2013.798%204.26295%2013.3621ZM12.607%205.68637C12.6611%205.93137%2012.607%206.17637%2012.362%206.20437L11.9546%206.2851V12.2734C11.6008%2012.4638%2011.2751%2012.5725%2011.003%2012.5725C10.5681%2012.5725%2010.4593%2012.4363%2010.1336%2012.0284L7.46942%207.83677V11.8921L8.31224%2012.083C8.31224%2012.083%208.31224%2012.573%207.63229%2012.573L5.75769%2012.6817C5.70309%2012.5725%205.75769%2012.3005%205.94762%2012.2463L6.43716%2012.1105V6.7485L5.75769%206.69344C5.70309%206.44844%205.83889%206.0947%206.21969%206.06717L8.23104%205.93184L11.003%2010.1776V6.42137L10.2965%206.34017C10.2419%206.0401%2010.4593%205.82217%2010.7309%205.79557L12.607%205.68637Z'%20fill='black'/%3e%3c/svg%3e",slack:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.94137%209.84695C3.94137%2010.6564%203.28013%2011.3176%202.47069%2011.3176C1.66124%2011.3176%201%2010.6564%201%209.84695C1%209.03747%201.66124%208.37625%202.47069%208.37625H3.94137V9.84695Z'%20fill='%23E01E5A'/%3e%3cpath%20d='M4.68237%209.84695C4.68237%209.03747%205.34361%208.37625%206.15306%208.37625C6.9625%208.37625%207.62374%209.03747%207.62374%209.84695V13.5293C7.62374%2014.3388%206.9625%2015%206.15306%2015C5.34361%2015%204.68237%2014.3388%204.68237%2013.5293V9.84695Z'%20fill='%23E01E5A'/%3e%3cpath%20d='M6.15306%203.94137C5.34361%203.94137%204.68237%203.28013%204.68237%202.47069C4.68237%201.66124%205.34361%201%206.15306%201C6.9625%201%207.62374%201.66124%207.62374%202.47069V3.94137H6.15306Z'%20fill='%2336C5F0'/%3e%3cpath%20d='M6.15309%204.68237C6.96254%204.68237%207.62378%205.34361%207.62378%206.15306C7.62378%206.9625%206.96254%207.62374%206.15309%207.62374H2.47069C1.66124%207.62374%201%206.9625%201%206.15306C1%205.34361%201.66124%204.68237%202.47069%204.68237H6.15309Z'%20fill='%2336C5F0'/%3e%3cpath%20d='M12.0585%206.15306C12.0585%205.34361%2012.7197%204.68237%2013.5291%204.68237C14.3386%204.68237%2014.9998%205.34361%2014.9998%206.15306C14.9998%206.9625%2014.3386%207.62374%2013.5291%207.62374H12.0585V6.15306Z'%20fill='%232EB67D'/%3e%3cpath%20d='M11.3176%206.15309C11.3176%206.96254%2010.6563%207.62378%209.84685%207.62378C9.03744%207.62378%208.37622%206.96254%208.37622%206.15309V2.47069C8.37622%201.66124%209.03744%201%209.84685%201C10.6563%201%2011.3176%201.66124%2011.3176%202.47069V6.15309Z'%20fill='%232EB67D'/%3e%3cpath%20d='M9.84685%2012.0586C10.6563%2012.0586%2011.3176%2012.7199%2011.3176%2013.5293C11.3176%2014.3388%2010.6563%2015%209.84685%2015C9.03744%2015%208.37622%2014.3388%208.37622%2013.5293V12.0586H9.84685Z'%20fill='%23ECB22E'/%3e%3cpath%20d='M9.84685%2011.3176C9.03744%2011.3176%208.37622%2010.6564%208.37622%209.84695C8.37622%209.03747%209.03744%208.37625%209.84685%208.37625H13.5293C14.3388%208.37625%2015%209.03747%2015%209.84695C15%2010.6564%2014.3388%2011.3176%2013.5293%2011.3176H9.84685Z'%20fill='%23ECB22E'/%3e%3c/svg%3e",tiktok:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.60974%205.91839V5.33278C6.40646%205.30058%206.20114%205.28293%205.99535%205.27998C4.00296%205.27577%202.23902%206.56688%201.64074%208.46732C1.04245%2010.3678%201.74866%2012.4365%203.38415%2013.5744C2.15905%2012.2633%201.81888%2010.3546%202.51559%208.70096C3.21229%207.0473%204.81576%205.95753%206.60974%205.91839Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M6.72004%2012.552C7.834%2012.5505%208.74966%2011.6729%208.79844%2010.56V0.6288H10.6128C10.5758%200.421288%2010.5581%200.210783%2010.56%200H8.07844V9.9216C8.03716%2011.0402%207.11934%2011.9262%206.00004%2011.928C5.66555%2011.9252%205.33652%2011.8429%205.04004%2011.688C5.42976%2012.2279%206.05416%2012.5491%206.72004%2012.552Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M14.0014%203.9984V3.4464C13.3337%203.44663%2012.6808%203.24959%2012.1246%202.88C12.6122%203.44675%2013.271%203.83934%2014.0014%203.9984Z'%20fill='%2325F4EE'/%3e%3cpath%20d='M12.125%202.87999C11.5772%202.25615%2011.2752%201.45422%2011.2754%200.623993H10.613C10.786%201.55168%2011.3327%202.36746%2012.125%202.87999Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M5.99519%207.7616C5.03925%207.76652%204.20933%208.42142%203.98229%209.34998C3.75525%2010.2786%204.18936%2011.2426%205.03519%2011.688C4.57688%2011.0552%204.51214%2010.219%204.86761%209.5232C5.22308%208.82744%205.9387%208.3898%206.71999%208.3904C6.92831%208.39298%207.13519%208.42532%207.33439%208.4864V5.9616C7.13099%205.93112%206.92567%205.91509%206.71999%205.9136H6.60959V7.8336C6.40937%207.7799%206.20243%207.75566%205.99519%207.7616Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M14.0015%203.99841V5.91841C12.7654%205.91603%2011.5613%205.52475%2010.5599%204.80001V9.84481C10.5546%2012.3621%208.51245%2014.4%205.99511%2014.4C5.06025%2014.4017%204.1479%2014.1132%203.38391%2013.5744C4.6589%2014.9457%206.64315%2015.3971%208.38585%2014.7123C10.1285%2014.0275%2011.2747%2012.346%2011.2751%2010.4736V5.44321C12.2799%206.16321%2013.4854%206.54937%2014.7215%206.54721V4.07521C14.4795%204.07445%2014.2382%204.04871%2014.0015%203.99841Z'%20fill='%23FE2C55'/%3e%3cpath%20d='M10.56%209.8448V4.79999C11.5645%205.52056%2012.7702%205.9068%2014.0064%205.90399V3.98399C13.2761%203.82977%2012.6157%203.4423%2012.1248%202.87999C11.3324%202.36746%2010.7857%201.55168%2010.6128%200.623993H8.7984V10.56C8.7621%2011.4464%208.16834%2012.2126%207.31904%2012.4691C6.46968%2012.7255%205.55115%2012.4159%205.03038%2011.6976C4.18454%2011.2522%203.75043%2010.2882%203.97747%209.35958C4.20452%208.43102%205.03444%207.77612%205.99038%207.7712C6.19878%207.77306%206.40578%207.8054%206.6048%207.8672V5.94719C4.80073%205.97776%203.18515%207.07136%202.48647%208.73486C1.78778%2010.3984%202.13799%2012.3176%203.37918%2013.6272C4.1507%2014.1482%205.06437%2014.4181%205.99518%2014.4C8.5125%2014.4%2010.5547%2012.3621%2010.56%209.8448Z'%20fill='black'/%3e%3c/svg%3e",twitch:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%207.94593L11.75%2010.1081H9.5L7.53124%2012V10.1081H5V2H14V7.94593Z'%20fill='white'/%3e%3cpath%20d='M4.70834%201L2%203.67857V13.3215H5.25V16L7.95833%2013.3215H10.125L15%208.5V1H4.70834ZM13.9166%207.96428L11.75%2010.1072H9.5833L7.6875%2011.9822V10.1072H5.25V2.07143H13.9166V7.96428Z'%20fill='%239146FF'/%3e%3cpath%20d='M12%204H11V7H12V4Z'%20fill='%239146FF'/%3e%3cpath%20d='M9%204H8V7H9V4Z'%20fill='%239146FF'/%3e%3c/svg%3e",twitter:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.14163%206.50461L13.6089%201H12.5503L8.67137%205.77958L5.57328%201H2L6.68492%208.22757L2%2014H3.05866L7.15491%208.9526L10.4267%2014H14L9.14137%206.50461H9.14163ZM7.69165%208.29124L7.21697%207.57154L3.44011%201.84479H5.06615L8.11412%206.46646L8.5888%207.18616L12.5508%2013.1936H10.9248L7.69165%208.29152V8.29124Z'%20fill='black'%20stroke='black'%20stroke-width='0.5'/%3e%3c/svg%3e",xero:"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_2502_830'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='1'%20y='1'%20width='14'%20height='14'%3e%3cpath%20d='M15%201H1V15H15V1Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_2502_830)'%3e%3cpath%20d='M7.99994%2014.9733C11.8512%2014.9733%2014.9732%2011.8513%2014.9732%207.99997C14.9732%204.14873%2011.8512%201.02667%207.99994%201.02667C4.14867%201.02667%201.02661%204.14873%201.02661%207.99997C1.02661%2011.8513%204.14867%2014.9733%207.99994%2014.9733Z'%20fill='%231AB4D7'/%3e%3cpath%20d='M4.36467%207.97988L5.55473%206.78688C5.59418%206.74667%205.61619%206.69343%205.61619%206.63697C5.61619%206.5193%205.52054%206.42374%205.40287%206.42374C5.34555%206.42374%205.29181%206.44621%205.2513%206.48723L4.06231%207.67564L2.86801%206.48544C2.82765%206.44566%202.77418%206.42374%202.71748%206.42374C2.59995%206.42374%202.50427%206.51925%202.50427%206.6368C2.50427%206.69415%202.52716%206.74796%202.56825%206.7885L3.75814%207.97822L2.56887%209.16973C2.52707%209.21089%202.50427%209.26479%202.50427%209.3224C2.50427%209.44007%202.59995%209.53548%202.71748%209.53548C2.77428%209.53548%202.8278%209.51343%202.86801%209.47325L4.06046%208.28241L5.24838%209.46891C5.29051%209.51245%205.34487%209.53562%205.40287%209.53562C5.52042%209.53562%205.61608%209.44007%205.61608%209.3224C5.61608%209.26563%205.59409%209.21229%205.55406%209.17211L4.36467%207.97988Z'%20fill='white'/%3e%3cpath%20d='M11.4393%207.97953C11.4393%208.19316%2011.6131%208.36697%2011.827%208.36697C12.0404%208.36697%2012.2142%208.19316%2012.2142%207.97953C12.2142%207.76582%2012.0404%207.59204%2011.827%207.59204C11.6131%207.59204%2011.4393%207.76582%2011.4393%207.97953Z'%20fill='white'/%3e%3cpath%20d='M10.7045%207.97969C10.7045%207.36096%2011.2078%206.85753%2011.8266%206.85753C12.4451%206.85753%2012.9485%207.36096%2012.9485%207.97969C12.9485%208.59828%2012.4451%209.10151%2011.8266%209.10151C11.2078%209.10151%2010.7045%208.59828%2010.7045%207.97969ZM10.2631%207.97969C10.2631%208.84167%2010.9645%209.543%2011.8266%209.543C12.6887%209.543%2013.3905%208.84167%2013.3905%207.97969C13.3905%207.11757%2012.6887%206.41608%2011.8266%206.41608C10.9645%206.41608%2010.2631%207.11757%2010.2631%207.97969Z'%20fill='white'/%3e%3cpath%20d='M10.152%206.44279L10.0864%206.4426C9.88947%206.4426%209.69956%206.50471%209.54094%206.62696C9.52001%206.5313%209.43447%206.45933%209.33269%206.45933C9.21544%206.45933%209.1215%206.55325%209.12122%206.67071L9.12192%209.3041C9.12227%209.42135%209.21789%209.51662%209.33514%209.51662C9.45246%209.51662%209.54808%209.42135%209.54836%209.30382L9.54843%207.68463C9.54843%207.14496%209.59778%206.927%2010.0601%206.86923C10.1028%206.86392%2010.1494%206.86475%2010.1494%206.86475C10.276%206.86041%2010.3659%206.77348%2010.3659%206.656C10.3659%206.53844%2010.2699%206.44279%2010.152%206.44279Z'%20fill='white'/%3e%3cpath%20d='M6.05791%207.72227C6.05791%207.71643%206.05836%207.71035%206.05864%207.70435C6.18243%207.215%206.62563%206.85287%207.15344%206.85287C7.68764%206.85287%208.13489%207.2239%208.25235%207.72227H6.05791ZM8.689%207.682C8.59709%207.24697%208.35895%206.88964%207.99626%206.66016C7.46613%206.32358%206.76607%206.3422%206.25401%206.70635C5.83632%207.00349%205.59521%207.48958%205.59521%207.9903C5.59521%208.11586%205.61035%208.24256%205.64186%208.3673C5.79957%208.98778%206.33294%209.45741%206.96885%209.53525C7.15754%209.55814%207.34122%209.54715%207.53141%209.49794C7.69485%209.45818%207.85299%209.39189%207.99871%209.29851C8.14993%209.20128%208.27628%209.07304%208.39864%208.9196C8.40116%208.9168%208.40361%208.91428%208.40613%208.91134C8.49104%208.80599%208.47529%208.65619%208.38198%208.58465C8.30323%208.52438%208.17107%208.49988%208.06712%208.63309C8.04472%208.66487%208.0198%208.69763%207.99238%208.73039C7.90969%208.82181%207.80712%208.91029%207.6842%208.97896C7.52779%209.06254%207.34955%209.11028%207.16006%209.11133C6.53986%209.1044%206.20799%208.67152%206.08993%208.36254C6.06932%208.30479%206.05342%208.24494%206.04234%208.18334C6.0409%208.17179%206.03983%208.16066%206.0394%208.15044C6.16763%208.15044%208.26501%208.15009%208.26501%208.15009C8.57014%208.14365%208.73436%207.92828%208.689%207.682Z'%20fill='white'/%3e%3c/g%3e%3c/svg%3e"}};if(n&&"general"===e){const e={"--passflow-icon-mask":`url("${o.general[t]}")`};/* @__PURE__ */
3
+ return y("span",{className:Q("passflow-icon passflow-icon--match-text",i,s),style:e,role:r?void 0:"img","aria-label":r?void 0:t,"aria-hidden":r||void 0})}return"flags"!==e?/* @__PURE__ */y("img",{className:Q("passflow-icon",i,s),src:o[e][t],alt:r?"":t}):/* @__PURE__ */y("div",{className:Q("passflow-icon",i,s),children:/* @__PURE__ */y(Re,{iso2:t})})},ze=({size:e,x:t,y:a})=>/* @__PURE__ */y("span",{className:"passflow-ripple passflow-ripple-effect",style:{width:e,height:e,left:t,top:a}}),je=({size:e,variant:t,type:a,onClick:s,withIcon:r=!1,asIcon:n=!1,className:i="",children:o,withRipple:l=!0,description:c,pressed:d,"aria-describedby":p,...u})=>{const[h,m]=T(),g=S(),f=`${g}-label`,x=`${g}-hint`,C="option"===t&&Boolean(c),b=[C?x:void 0,p].filter(Boolean).join(" ")||void 0,k={"passflow-button passflow-button--big":"big"===e,"passflow-button passflow-button--medium":"medium"===e,"passflow-button passflow-button--small":"small"===e,"passflow-button--primary":"primary"===t,"passflow-button--secondary":"secondary"===t,"passflow-button--outlined":"outlined"===t,"passflow-button--warning":"warning"===t,"passflow-button--clean":"clean"===t,"passflow-button--provider":"provider"===t,"passflow-button--dark":"dark"===t,"passflow-button--option":"option"===t,"passflow-button--with-icon":r,"passflow-button--as-icon":n};return E(()=>{let e;return h&&(e=setTimeout(()=>{m(void 0)},1e3)),()=>clearTimeout(e)},[h]),/* @__PURE__ */v("button",{className:Q(k,i),type:a,"aria-pressed":d,"aria-labelledby":C?f:void 0,"aria-describedby":b,onClick:e=>{const t=e.currentTarget.getBoundingClientRect(),a=Math.max(t.width,t.height),r=e.clientX-t.left-a/2,n=e.clientY-t.top-a/2,i=/* @__PURE__ */y(ze,{size:a,x:r,y:n},Date.now());m(e=>e?[...e,i]:[i]),s?.(e)},...u,children:["option"===t?/* @__PURE__ */v(w,{children:[/* @__PURE__ */y("span",{id:C?f:void 0,className:"passflow-button__option-label",children:o}),c?/* @__PURE__ */y("span",{id:x,className:"passflow-button__option-hint",children:c}):null]}):o,l&&/* @__PURE__ */y("div",{"aria-hidden":!0,className:"passflow-ripple-container",children:h})]})},De=k(({id:e,isError:t=!1,className:a="",disabled:s=!1,...r},n)=>/* @__PURE__ */y("input",{ref:n,id:e,type:"text",className:Q("passflow-field-input passflow-field--focused",{"passflow-field--error":t},a),disabled:s,...r})),Ve=e=>{const t={requireNumber:"number",requireSymbol:"symbol",requireLowerCase:"lowercase letter",requireUpperCase:"uppercase letter"},a=Object.keys(e).filter(t=>e[t]);return`Must contain a ${new Intl.ListFormat("en").format(a.map(e=>t[e]))}`},Be=k(({id:e,value:t,passwordPolicy:s,withMessages:r=!1,validationErrors:i=[],isError:o=!1,className:l="",disabled:c=!1,...d},p)=>{const[u,h]=T(!1),m={"passflow-field--error":o},g=e=>n(t)>0&&0===n(a(i,e))?"passflow-password-validation-item--success":null,f=e=>n(t)>0&&0===n(a(i,e))?"check":"close",x=()=>h(e=>!e),C=s?.min_password_length??0,b=s?.require_lowercase??!1,k=s?.require_number??!1,M=s?.require_symbol??!1,N=s?.require_uppercase??!1;/* @__PURE__ */
4
+ return v(w,{children:[/* @__PURE__ */v("div",{className:"passflow-field-wrapper",children:[/* @__PURE__ */y("input",{ref:p,id:e,value:t,type:u?"text":"password",className:Q("passflow-field-input passflow-field--focused passflow-field-input--with-icon",m,l),disabled:c,...d}),/* @__PURE__ */y(je,u?{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,disabled:c,"aria-label":"Hide password",onClick:x,children:/* @__PURE__ */y(Ye,{size:"small",type:"general",id:"eye-on",decorative:!0})}:{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,disabled:c,"aria-label":"Show password",onClick:x,children:/* @__PURE__ */y(Ye,{size:"small",type:"general",id:"eye-off",decorative:!0})})]}),r&&s&&/* @__PURE__ */v("div",{className:"passflow-password-validation",children:[/* @__PURE__ */v("p",{className:Q("passflow-password-validation-item",g(["length"])),children:[
5
+ /* @__PURE__ */y(Ye,{size:"small",id:f(["length"]),type:"general",className:Q(g(["length"]))}),"At least ",C," characters"]}),/* @__PURE__ */v("p",{className:Q("passflow-password-validation-item",g(["uppercase","lowercase","number","symbol"])),children:[/* @__PURE__ */y(Ye,{size:"small",id:f(["uppercase","lowercase","number","symbol"]),type:"general",className:Q(g(["uppercase","lowercase","number","symbol"]))}),Ve({requireNumber:k,requireSymbol:M,requireLowerCase:b,requireUpperCase:N})]})]})]})}),Ge={appSettings:null,passwordPolicy:null,url:void 0,appId:void 0,scopes:void 0,createTenantForNewUser:void 0,parseQueryParams:!0,isDiscoveringAppId:!1,hasSettingsError:!1},He=b(void 0),Oe=(e,t)=>"SET_PASSFLOW_STATE"===t.type?{...e,...t.payload}:e,Ze={signin:{path:"/signin"},signup:{path:"/signup"},verify_otp:{path:"/verify-challenge-otp"},verify_magic_link:{path:"/verify-challenge-magic-link"},forgot_password:{path:"/forgot-password"},forgot_password_success:{path:"/forgot-password/success"},reset_password:{path:"/password/reset"},invitation:{path:"/invitation"},passkey:{path:"/passkeysss"},two_factor_verify:{path:"/two-factor-verify"},two_factor_recovery:{path:"/two-factor-recovery"},two_factor_setup:{path:"/two-factor-setup"},two_factor_setup_magic_link:{path:"/two-factor-setup-magic-link/:token"}},qe=({to:e,search:t,replace:a})=>{const s=t?t.startsWith("?")?t:`?${t}`:"";a?window.location.replace(`${e}${s}`):window.location.href=`${e}${s}`},Je=b({navigate:qe,setNavigate:()=>{},router:"default"}),We=b(void 0),Ke=({children:e,onSessionExpired:t})=>{const a=et(),[s,r]=T(!1),[n,i]=T(!1);E(()=>{const e={onAuthChange:(e,a)=>{if(e===u.SessionExpired){const e=a?.reason??"refresh_failed";i(!0),t?.(e)}else e!==u.SignIn&&e!==u.Register||i(!1)}};return a.subscribe(e,[u.SessionExpired,u.SignIn,u.Register]),()=>{a.unsubscribe(e)}},[a,t]);const o=M(()=>a.isAuthenticated(),[a]),l=M(async e=>{r(!0);try{const t=await a.getTokens(e);return{tokens:t,parsedTokens:t?a.getParsedTokens():void 0}}catch(t){return{tokens:void 0,parsedTokens:void 0}}finally{r(!1)}},[a]),c={isAuthenticated:o,logout:M(async()=>{await a.logOut()},[a]),isLoading:s,isSessionExpired:n,getTokens:l};/* @__PURE__ */
6
+ return y(We.Provider,{value:c,children:e})},Qe=b(void 0),Xe=()=>{},$e={enabled:!1,state:{status:"idle"},prompt:null,selectedFactor:null,selectFactor:Xe,submit:Xe,cancel:Xe,dismiss:Xe,elevate:()=>Promise.resolve({status:"idle"})},et=()=>{const e=N(He);if(!e)throw new Error("useAuth must be used within an PassflowProvider");const{passflow:t}=e;return t},tt=()=>{const e=et(),[t,a]=T(null),[s,r]=T(!1),[n,i]=T(!1),o=M(async(s,n)=>{i(!0),r(!1),a(null);try{if("password"===n)await e.signIn(s);else{if("passkey"!==n)return await e.passwordlessSignIn(s);await e.passkeyAuthenticate(s)}return!0}catch(t){return console.error(`[passflow] ${n} sign-in failed`,t),r(!0),a(ve("sign-in",n)),!1}finally{i(!1)}},[e.passkeyAuthenticate,e.passwordlessSignIn,e.signIn]);return{fetch:o,isLoading:n,isError:s,error:t,reset:()=>{r(!1),a(null),i(!1)}}},at=e=>e&&W(e)?e:e?`${window.location.origin}${e.startsWith("/")?"":"/"}${e}`:"",st=(e,t)=>{const a=et(),s=N(He),r={redirect_url:at(e),scopes:s?.state.scopes,create_tenant:t};return{federatedWithPopup:(e,t)=>a.federatedAuthWithPopup({provider:e,invite_token:t,...r}),federatedWithRedirect:(e,t)=>a.federatedAuthWithRedirect({provider:e,invite_token:t,...r})}},rt=()=>{const e=et(),[t,a]=T(!1),[s,r]=T(null),[n,i]=T(!1),o=M(async(t,n)=>{i(!0),a(!1),r(null);const o=()=>i(!1);try{if("password"===n)await e.signUp(t);else{if("passkey"!==n){const a=await e.passwordlessSignIn(t);return o(),a}await e.passkeyRegister(t)}return o(),!0}catch(s){return console.error(`[passflow] ${n} sign-up failed`,s),a(!0),r(ve("sign-up",n)),o(),!1}finally{o()}},[e.signUp,e.passkeyRegister,e.passwordlessSignIn]);return{fetch:o,isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(null),i(!1)}}},nt=()=>{const e=et(),[t,a]=T(!1),[s,r]=T(""),[n,i]=T(!1);return{fetch:M(async t=>{try{return i(!0),await e.sendPasswordResetEmail(t),i(!1),!0}catch(s){return a(!0),r(s.message),!1}},[e.sendPasswordResetEmail]),isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(""),i(!1)}}},it=()=>{const e=et(),[t,a]=T(!1),[s,r]=T(""),[n,i]=T(!1);return{fetch:M(async t=>{try{return i(!0),await e.resetPassword(t),i(!1),!0}catch(s){return a(!0),r(s.message),!1}},[e.resetPassword]),isLoading:n,isError:t,error:s,reset:()=>{a(!1),r(""),i(!1)}}},ot=e=>"string"==typeof e&&e.trim()?e.trim():null,lt=e=>{if("string"!=typeof e)return null;const t=ot(e);return t?`url(${t})`:"none"},ct=(e,t)=>{for(const[a,s]of Object.entries((e=>({"--passflow-primary-color":ot(e.primary_color),"--passflow-text-color":ot(e.text_color)??ot(e.content_color),"--passflow-secondary-text-color":ot(e.secondary_text_color),"--passflow-background-color":ot(e.background_color),"--passflow-background-image":lt(e.background_image),"--passflow-card-color":ot(e.card_color),"--passflow-branding-background-color":ot(e.card_color),"--passflow-input-background-color":ot(e.input_background_color),"--passflow-input-border-color":ot(e.input_border_color),"--passflow-button-text-color":ot(e.button_text_color),"--passflow-passkey-button-text-color":ot(e.passkey_button_text_color),"--passflow-passkey-button-background-color":ot(e.passkey_button_background_color),"--passflow-divider-color":ot(e.divider_color),"--passflow-federated_button_background_color":ot(e.federated_button_background_color),"--passflow-federated_button_text_color":ot(e.federated_button_text_color)}))(t)))null===s?e.style.removeProperty(a):e.style.setProperty(a,s)},dt=()=>{const e=et(),t=N(He),[a,s]=T(!1),[n,o]=T(""),[l,c]=T(!1),d=_(!1);if(!t)throw new Error("useAppSetting must be used within an PassflowProvider");const{state:p,dispatch:u}=t;L(()=>{if(!p.appSettings&&!p.hasSettingsError&&!d.current){(async()=>{d.current=!0,c(!0);try{if(!e.appId&&!p.isDiscoveringAppId){u({type:"SET_PASSFLOW_STATE",payload:{...p,isDiscoveringAppId:!0}});try{const t=["/settings"];e.url&&t.push(`${e.url}/settings`);let a=null;for(const e of t)try{const t=await fetch(e);if(t.ok){a=t;break}}catch{}if(a?.ok){const t=await a.json(),s=t.login_app?.app_id||t.appId;if(s){e.setAppId(s);const a={appId:s};if(!p.scopes){const e=t.login_app?.scopes||t.scopes;e&&(a.scopes=e)}if(r(p.createTenantForNewUser)){const e=t.login_app?.create_tenant_for_new_user??t.createTenantForNewUser;void 0!==e&&(a.createTenantForNewUser=e)}u({type:"SET_PASSFLOW_STATE",payload:{...p,...a,isDiscoveringAppId:!1}})}else u({type:"SET_PASSFLOW_STATE",payload:{...p,isDiscoveringAppId:!1}})}}catch(a){console.warn("Failed to discover appId from /settings:",a),u({type:"SET_PASSFLOW_STATE",payload:{...p,isDiscoveringAppId:!1}})}}let s={};e.appId&&(s=await e.getAppSettings());const n={appSettings:s};p.scopes||(n.scopes=s.defaults?.scopes),r(p.createTenantForNewUser)&&(n.createTenantForNewUser=s.defaults?.create_tenant_for_new_user);let o=null;s.auth_strategies&&(t=s.auth_strategies,i(t,e=>"internal"===e.type&&"password"===e.strategy?.challenge))&&(o=await e.getPasswordPolicySettings()),n.passwordPolicy=o,u({type:"SET_PASSFLOW_STATE",payload:{...p,...n}})}catch(n){s(!0),o(n.message),u({type:"SET_PASSFLOW_STATE",payload:{...p,hasSettingsError:!0}})}finally{c(!1),d.current=!1}var t})()}},[u,p.appSettings,p.hasSettingsError,p.isDiscoveringAppId,e]);const h=(()=>{const e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return"system"===p.appSettings?.login_app_theme?.color_scheme?e:p.appSettings?.login_app_theme?.color_scheme??e})(),m=p.appSettings?.login_app_theme?"dark"===h?p.appSettings?.login_app_theme.dark_style:p.appSettings?.login_app_theme.light_style:null;return m&&(e=>{if(ct(document.documentElement,e),e.custom_css){const t=document.querySelector(".psfw-custom-styles");t&&(t.innerHTML=e.custom_css)}})(m),{appSettings:p.appSettings,scopes:p.scopes??[],createTenantForNewUser:p.createTenantForNewUser??!1,loginAppTheme:p.appSettings?.login_app_theme,passwordPolicy:p.passwordPolicy,currentStyles:m,currentTheme:h,isLoading:l,isError:a,error:n,reset:()=>{s(!1),o(""),c(!1),u({type:"SET_PASSFLOW_STATE",payload:{...p,hasSettingsError:!1}})}}},pt=()=>{const e=et(),[t,a]=T(""),[s,r]=T(!1),[n,i]=T(!1);return{fetch:M(async t=>{i(!0),r(!1),a("");try{return await e.passwordlessSignInComplete(t)}catch(s){return console.error("[passflow] passwordless verification failed",s),r(!0),a(ye),null}finally{i(!1)}},[e]),isLoading:n,isError:s,error:t,reset:()=>{r(!1),a(""),i(!1)}}},ut=()=>{const e=N(We);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},ht=()=>{const e=et(),[t,a]=T(""),[s,r]=T(!1),[n,i]=T(!1);return{fetch:M(async()=>{try{return i(!0),await e.logOut(),i(!1),!0}catch(t){return r(!0),a(t.message),!1}},[e]),isLoading:n,isError:s,error:t}},mt=()=>{const e=et(),[t,a]=T([]),[s,r]=T(!1),[n,i]=T(""),[o,l]=T(!1);L(()=>{(async()=>{l(!0);try{const t=await e.getUserPasskeys();a(t)}catch(t){r(!0),i(t.message)}finally{l(!1)}})()},[e]);return{data:t,createUserPasskey:async(t,a,s)=>{l(!0);try{await e.addUserPasskey({relyingPartyId:t,passkeyUsername:a,passkeyDisplayName:s})}catch(n){r(!0),i(n.message)}finally{l(!1)}},editUserPasskey:async(t,s)=>{l(!0);try{if(await e.renameUserPasskey(t,s)){const t=await e.getUserPasskeys();a(t)}}catch(n){r(!0),i(n.message)}finally{l(!1)}},deleteUserPasskey:async t=>{l(!0);try{if(await e.deleteUserPasskey(t)){const t=await e.getUserPasskeys();a(t)}}catch(s){r(!0),i(s.message)}finally{l(!1)}},isLoading:o,isError:s,errorMessage:n}},gt=e=>{const t=et();return()=>t.authRedirect({url:e})},ft=()=>{const e=et(),[t,a]=T(""),[s,r]=T(!1),[n,i]=T(!1);return{fetch:M(async t=>{i(!0),r(!1),a("");try{return await e.joinInvitation(t),!0}catch(s){return console.error("[passflow] accepting invitation failed",s),r(!0),a("We couldn't accept this invitation. Try again."),!1}finally{i(!1)}},[e.joinInvitation]),isLoading:n,isError:s,error:t}},wt=(e,t)=>{E(()=>{const a=a=>{e.current&&!e.current.contains(a.target)&&t&&t()};return document.addEventListener("click",a,!0),()=>{document.removeEventListener("click",a,!0)}},[t,e])},yt=e=>{if(!e)return{};const t=P.parse(e.startsWith("?")?e.slice(1):e);return Object.fromEntries(Object.entries(t).map(([e,t])=>[e,String(t)]))},vt=()=>{const{navigate:e,setNavigate:t,router:a}=N(Je);return{navigate:e,setNavigate:M(e=>{if(!e)return void t(null);t(t=>{const{to:s,search:r="",replace:n=!1}=t;switch(a){case"react-router":e({pathname:s,search:r.startsWith("?")?r:`?${r}`,replace:n});break;case"tanstack-router":e({to:s,search:yt(r),replace:n});break;case"wouter":e({to:`${s}${r?r.startsWith("?")?r:`?${r}`:""}`,replace:n});break;default:{const e=r?r.startsWith("?")?r:`?${r}`:"";n?window.location.replace(`${s}${e}`):window.location.href=`${s}${e}`}}})},[t,a]),router:a}},xt=()=>{const e=et(),[t,a]=T(null),[s,r]=T(!1),[n,i]=T(!1),[o,l]=T(""),c=M(async()=>{r(!0),i(!1),l("");try{const t=await e.getTwoFactorStatus();return a(t),t}catch(t){return i(!0),l(t.message),null}finally{r(!1)}},[e]);return L(()=>{c()},[c]),{data:t,refetch:c,isLoading:s,isError:n,errorMessage:o}},Ct=()=>{const e=et(),[t,a]=T(null),[s,r]=T([]),[n,i]=T(!1),[o,l]=T(!1),[c,d]=T(""),[p,u]=T("idle");return{setupData:t,recoveryCodes:s,step:p,beginSetup:M(async()=>{i(!0),l(!1),d("");try{const t=await e.beginTwoFactorSetup();return a(t),u("setup"),t}catch(t){return l(!0),d(t.message),null}finally{i(!1)}},[e]),confirmSetup:M(async t=>{i(!0),l(!1),d("");try{const a=await e.confirmTwoFactorSetup(t);return r(a.recovery_codes),u("complete"),a}catch(a){return l(!0),d(a.message),null}finally{i(!1)}},[e]),reset:M(()=>{a(null),r([]),l(!1),d(""),u("idle")},[]),isLoading:n,isError:o,error:c}},bt=()=>{const e=et(),[t,a]=T(!1),[s,r]=T(!1),[n,i]=T(""),[o,l]=T(null),[c,d]=T(null),p=M(()=>e.isTwoFactorVerificationRequired(),[e]),u=M(e=>{const t=e,a=function(e){const t=e.toLowerCase();return re.expired.some(e=>t.includes(e.toLowerCase()))?{type:"expired",message:e,isRecoverable:!0,shouldAutoRedirect:!0}:re.not_enabled.some(e=>t.includes(e.toLowerCase()))?{type:"not_enabled",message:e,isRecoverable:!1,shouldAutoRedirect:!1}:re.invalid_code.some(e=>t.includes(e.toLowerCase()))?{type:"invalid_code",message:e,isRecoverable:!0,shouldAutoRedirect:!1}:{type:"generic",message:e,isRecoverable:!0,shouldAutoRedirect:!1}}(t.message);r(!0),i(t.message),l(a.type),d(a)},[]);return{isVerificationRequired:p,verify:M(async t=>{a(!0),r(!1),i(""),l(null),d(null);try{return await e.verifyTwoFactor(t)}catch(s){return u(s),null}finally{a(!1)}},[e,u]),useRecoveryCode:M(async t=>{a(!0),r(!1),i(""),l(null),d(null);try{return await e.useTwoFactorRecoveryCode(t)}catch(s){return u(s),null}finally{a(!1)}},[e,u]),reset:M(()=>{r(!1),i(""),l(null),d(null)},[]),isLoading:t,isError:s,error:n,errorType:o,errorDetails:c}},kt=()=>{const e=et(),[t,a]=T([]),[s,r]=T(!1),[n,i]=T(!1),[o,l]=T("");return{recoveryCodes:t,disable:M(async t=>{r(!0),i(!1),l("");try{return await e.disableTwoFactor(t),!0}catch(a){return i(!0),l(a.message),!1}finally{r(!1)}},[e]),regenerateCodes:M(async t=>{r(!0),i(!1),l("");try{const s=await e.regenerateTwoFactorRecoveryCodes(t);return a(s.recovery_codes),s}catch(s){return i(!0),l(s.message),null}finally{r(!1)}},[e]),reset:M(()=>{a([]),i(!1),l("")},[]),isLoading:s,isError:n,error:o}},Mt=e=>{const t=et(),[a,s]=T(!0),[r,n]=T(!1),[i,o]=T(!1),[l,c]=T(null),[d,p]=T(null),[u,h]=T(null),[m,g]=T(null),[f,w]=T(null),[y,v]=T(null),[x,C]=T(null),b=_(!0),k=_(null),N=M(e=>{k.current&&clearInterval(k.current),v(e),k.current=setInterval(()=>{v(e=>null===e||e<=1?(k.current&&(clearInterval(k.current),k.current=null),null):e-1)},1e3)},[]),S=M(async(a=!1)=>{if(a||x!==e||!i){a?n(!0):s(!0),c(null);try{const a=await t.validateTwoFactorSetupMagicLink(e);a.success&&a.sessionToken&&a.userId?(p(a.sessionToken),h(a.userId),g(a.appId??null),w(a.expiresIn??null),o(!0),C(e),v(null),b.current=!1):a.error&&(c(a.error),o(!1),b.current=!0,"RATE_LIMITED"===a.error.code&&a.error.retryAfter&&N(a.error.retryAfter))}catch(r){c({code:"SERVER_ERROR",message:r instanceof Error?r.message:"An unexpected error occurred"}),o(!1),b.current=!0}finally{s(!1),n(!1)}}},[e,x,i,t,N]),L=M(async()=>{null!==y&&y>0||(C(null),await S(!0))},[S,y]);return E(()=>{if(!e)return c({code:"INVALID_TOKEN",message:"No token provided"}),void s(!1);e!==x&&S()},[e,x,S]),E(()=>()=>{k.current&&clearInterval(k.current),b.current&&t.clearMagicLinkSession?.()},[t]),{isLoading:a,isRetrying:r,isValidated:i,error:l,sessionToken:d,userId:u,appId:m,expiresIn:f,retryCountdown:y,retry:L}},Nt=()=>{const e=et(),[t,a]=T(null),[s,r]=T(null),[n,i]=T(!1),[o,l]=T(null);return{challenge:t,isLoading:n,error:o,requestChallenge:M(async t=>{i(!0),l(null);try{const s=await e.twoFactor.requestChallenge({first_factor_method:t});a(s),r(s.method)}catch(s){l(s),a(null)}finally{i(!1)}},[e]),verify:M(async(a,r=!1)=>{if(!t?.challenge_id)return l(/* @__PURE__ */new Error("No active challenge session")),null;i(!0),l(null);try{return await e.twoFactor.verifyV2({challenge_id:t.challenge_id,method:s||t.method,response:a,trust_device:r})}catch(n){return l(n),null}finally{i(!1)}},[e,t,s]),switchMethod:M(async s=>{if(t?.challenge_id){i(!0),l(null);try{const n=await e.twoFactor.switchToAlternative({challenge_id:t.challenge_id,method:s});a(n),r(s)}catch(n){l(n)}finally{i(!1)}}else l(/* @__PURE__ */new Error("No active challenge session"))},[e,t]),selectedMethod:s,reset:M(()=>{a(null),r(null),l(null),i(!1)},[])}},Et=()=>{const e=et(),[t,a]=T([]),[s,r]=T([]),[n,i]=T(!1),[o,l]=T(null),c=M(async()=>{i(!0),l(null);try{const t=await e.twoFactor.getRegisteredMethods();r(t);const s=t.map(e=>e.method);a(s)}catch(t){l(t),r([]),a([])}finally{i(!1)}},[e]);return{availableMethods:t,registeredMethods:s,isLoading:n,error:o,refresh:c,removeMethod:M(async t=>{i(!0),l(null);try{await(e.twoFactor.removeMethod?.(t)),await c()}catch(a){l(a)}finally{i(!1)}},[e,c])}};function St(e){const t=et(),[a,s]=T(!1),[r,n]=T(null);E(()=>{const a={onAuthChange:(t,a)=>{if(t===u.SessionExpired){const t=a?.reason??"refresh_failed";s(!0),n(t),e?.onSessionExpired?.(t)}else t!==u.SignIn&&t!==u.Register||(s(!1),n(null))}};return t.subscribe(a,[u.SessionExpired,u.SignIn,u.Register]),()=>{t.unsubscribe(a)}},[t,e?.onSessionExpired]);return{isSessionExpired:a,expiredReason:r,resetSessionExpired:()=>{s(!1),n(null)}}}var Lt="/oidc/device/info",It="/oidc/device/authenticate",At="/oidc/device/approve",_t="/oidc/device/passkey/start",Tt=async e=>{const t=await e.json().catch(()=>({}))??{};if(!e.ok)throw new pe({reason:"string"==typeof t.reason?t.reason:"",code:"string"==typeof t.error?t.error:"",status:e.status,description:"string"==typeof t.error_description?t.error_description:""});return t},Pt=()=>{const[e,t]=T("loading"),[a,s]=T(null),[r,n]=T(null),[i,o]=T(null),[l,c]=T(()=>new URLSearchParams(window.location.search).get("user_code")??""),d=_(null),p=_(!0);E(()=>(p.current=!0,()=>{p.current=!1}),[]);const u=a?.csrf_token??"",h=M(async(e,t)=>{const a=await fetch(e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"application/json","X-Passflow-CSRF":u},body:JSON.stringify({...t,user_code:l})});return Tt(a)},[u,l]),m=M((e,a=null)=>{const s=he(e);s.detail&&console.error("[passflow] device verification:",s.detail,e),p.current&&(n(s),t(a||("mode_disabled"===s.type?"refused":d.current?"signed_in":"ready")))},[]),g=M(async e=>{if(!e)return t("code_entry"),void n(null);t("loading"),n(null);try{const a=await fetch(`${Lt}?user_code=${encodeURIComponent(e)}`,{method:"GET",credentials:"same-origin",headers:{Accept:"application/json"}}),r=await Tt(a);if(!p.current)return;s(r),t("ready")}catch(a){const e=he(a);if(e.detail&&console.error("[passflow] device verification:",e.detail,a),!p.current)return;if("code_required"===e.type)return n(null),void t("code_entry");n(e),t("mode_disabled"===e.type?"refused":"failed")}},[]);E(()=>{g(l)},[g,l]);const f=M(e=>{c(e.trim())},[]),w=M(async(e,t)=>{const a=await h(It,{method:"password",email:e,password:t});d.current=a.approval_ticket,p.current&&o(a.email??e)},[h]),y=M(async()=>{if("undefined"==typeof window||!window.PublicKeyCredential)throw new DOMException("this browser does not implement PublicKeyCredential","NotSupportedError");const e=await h(_t,{}),{startAuthentication:t}=await import("@simplewebauthn/browser"),a=await t({optionsJSON:e.publicKey}),s=await h(It,{method:"passkey",passkey_challenge_id:e.passkey_challenge_id,passkey_data:a});d.current=s.approval_ticket,p.current&&o(s.email??null)},[h]),v=M(async()=>{await h(At,{approval_ticket:d.current}),p.current&&t("done")},[h]),x=M(async(e,a)=>{t("working"),n(null);try{if(await w(e,a),!p.current)return;t("signed_in")}catch(s){m(s)}},[w,m]),C=M(async()=>{t("working"),n(null);try{if(await y(),!p.current)return;t("signed_in")}catch(e){m(e)}},[y,m]),b=M(async()=>{t("working"),n(null);try{await v()}catch(e){m(e)}},[v,m]),k=M(async(e,a)=>{t("working"),n(null);try{d.current||await w(e,a),await v()}catch(s){m(s)}},[w,v,m]),N=M(async()=>{t("working"),n(null);try{await y(),await v()}catch(e){m(e)}},[y,v,m]),S=M(()=>n(null),[]);return{status:e,info:a,error:r,email:i,isAuthenticated:null!==d.current,submitCode:f,signInWithPassword:x,signInWithPasskey:C,approve:b,confirmWithPassword:k,confirmWithPasskey:N,clearError:S}},Ft=()=>new URLSearchParams(window.location.search).get("parent_challenge_id")??"",Rt=e=>`/oidc/requests/${encodeURIComponent(e)}`,Ut=()=>{const e=I(Ft,[]),[t,a]=T("loading"),[s,r]=T(null),[n,i]=T(/* @__PURE__ */new Set),[o,l]=T(null);E(()=>{if(!e)return a("invalid"),void l({message:"Invalid consent link",description:"This consent link is missing required information. Please return to the application and try again."});let t=!1;return(async()=>{try{const s=await fetch(Rt(e),{method:"GET",credentials:"same-origin",headers:{Accept:"application/json"}});if(t)return;if(!s.ok){const e=await s.json().catch(()=>({}))??{};return a("invalid"),void l({message:s.status>=500?"Something went wrong":"Consent request unavailable",description:e.error_description||"We could not load this consent request. Please return to the application and try again."})}const n=await s.json();if(t)return;r(n),i(new Set(n.requested_scopes)),a("ready")}catch(s){if(t)return;a("invalid"),l({message:"Connection error",description:s instanceof Error?s.message:"Could not reach the server. Please check your connection."})}})(),()=>{t=!0}},[e]);const c=M(e=>{i(t=>{const a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a}),l(null)},[]),d=M(async t=>{if(!s)return;a("working"),l(null);const r=Rt(e),i="allow"===t?`${r}/consent`:`${r}/reject`,o="allow"===t?{granted_scopes:s.requested_scopes.filter(e=>n.has(e))}:{error:"access_denied",error_description:"User denied consent"};try{const e=await fetch(i,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"application/json","X-Passflow-CSRF":s.csrf_token},body:JSON.stringify(o)});if(!e.ok){const t=await e.json().catch(()=>({}))??{};return a("ready"),void l({message:t.error_description||"Could not submit your decision. Please try again."})}const t=await e.json();if("redirect"===t.kind)return a("redirecting"),void(window.location.href=t.url);if("form_post"===t.kind)return a("redirecting"),void((e,t)=>{const a=document.createElement("form");a.method="POST",a.action=e,a.style.display="none";for(const[s,r]of Object.entries(t)){const e=document.createElement("input");e.type="hidden",e.name=s,e.value=r,a.appendChild(e)}document.body.appendChild(a),a.submit()})(t.action,t.fields);a("ready"),l({message:"Unexpected response from server."})}catch(c){a("ready"),l({message:c instanceof Error?c.message:"Could not reach the server. Please try again."})}},[n,s,e]),p=M(()=>d("allow"),[d]),u=M(()=>d("deny"),[d]),h=I(()=>new Map((s?.scope_metadata??[]).map(e=>[e.scope,e])),[s]),m=M(e=>h.get(e)??{scope:e,label:e,description:""},[h]);return{status:t,info:s,grantedScopes:I(()=>(s?.requested_scopes??[]).filter(e=>n.has(e)),[n,s]),error:o,scopeMetadata:m,toggleScope:c,allow:p,deny:u}},Yt=[],zt=()=>{const{enabled:e,state:t,prompt:a,selectedFactor:s,selectFactor:r,submit:n,cancel:i,dismiss:o,elevate:l}=N(Qe)??$e;return I(()=>{const c=(e=>null===e?Yt:e.factors)(a);return{enabled:e,state:t,status:t.status,challenge:"challenged"===t.status?t.challenge:a?.challenge??null,factors:c,factorTypes:"challenged"===t.status?t.factors:c.map(e=>e.type),selectedFactor:s,insufficient:"insufficient"===t.status?{obtained:t.obtained,required:t.required}:null,error:"error"===t.status?t.error:null,errorKind:"error"===t.status?t.kind:null,previousError:a?.previousError??null,busy:"submitting"===t.status,selectFactor:r,submit:n,cancel:i,dismiss:o,elevate:l}},[e,t,a,s,r,n,i,o,l])},jt=({id:t,name:a,onChange:s,isError:r=!1,className:i="",disabled:o=!1,...l})=>{const[c,d]=T(!1),[p,u]=T(""),[h,m]=T(!1),g=_(null),f=_(null);E(()=>{c&&f.current?.focus()},[c]),wt(g,()=>{d(!1),u("")});const x=Intl.DateTimeFormat().resolvedOptions().timeZone,C=F(x),{inputValue:b,country:k,setCountry:M,handlePhoneValueChange:N,inputRef:S}=Y({defaultCountry:C?.id.toLocaleLowerCase()||"us"}),L=I(()=>R.filter(e=>{const{name:t}=U(e);return t.toLowerCase().includes(p.toLowerCase())}),[p]),A=I(()=>R.filter(t=>{const{iso2:a}=U(t);return e(a,C?.id.toLocaleLowerCase())}),[C?.id]),P=I(()=>{if(p)return L;const e=new Set(A.map(e=>U(e).iso2));return L.filter(t=>!e.has(U(t).iso2))},[p,L,A]),z=(e=!1)=>{d(!1),u(""),e&&g.current?.querySelector(".passflow-button-show-country")?.focus()},j=e=>{M(e),z(!0)},D=e=>{const{name:t,dialCode:a,iso2:s}=U(e);/* @__PURE__ */
7
+ return v("div",{role:"option","aria-selected":s===k.iso2,tabIndex:0,title:t,onClick:()=>j(s),onKeyDown:e=>((e,t)=>{if("Enter"===e.key||" "===e.key)return e.preventDefault(),void j(t);if("ArrowDown"!==e.key&&"ArrowUp"!==e.key)return;e.preventDefault();const a=Array.from(g.current?.querySelectorAll('[role="option"]')??[]),s=a.indexOf(e.currentTarget);a["ArrowDown"===e.key?Math.min(s+1,a.length-1):Math.max(s-1,0)]?.focus()})(e,s),className:"passflow-country-search-item",children:[
8
+ /* @__PURE__ */y(Re,{iso2:s,className:"passflow-country-search-flag"}),
9
+ /* @__PURE__ */y("span",{className:"passflow-country-search-name",children:t}),
10
+ /* @__PURE__ */v("span",{className:"passflow-country-search-code",children:["+",a]})]},s)};/* @__PURE__ */
11
+ return v("div",{ref:g,className:Q("passflow-field-phone-wrapper",{"passflow-field-phone-wrapper--focus":h,"passflow-field-phone-wrapper--error":r},i),children:[
12
+ /* @__PURE__ */v(je,{type:"button",variant:"clean",onClick:()=>c?z(!0):d(!0),size:"big",className:"passflow-button-show-country",disabled:o,"aria-label":`Select country, current ${k.iso2.toUpperCase()}`,"aria-haspopup":"listbox","aria-expanded":c,"aria-controls":"passflow-country-options",children:[/* @__PURE__ */y(Re,{iso2:k.iso2}),/* @__PURE__ */y(Ye,{type:"general",id:"caret-down",size:"small"})]}),c?/* @__PURE__ */v("div",{className:"passflow-field-country-search-wrapper",children:[/* @__PURE__ */y("input",{ref:f,role:"combobox","aria-label":"Search countries","aria-expanded":"true","aria-controls":"passflow-country-options","aria-autocomplete":"list",value:p,onChange:e=>u(e.target.value),onKeyDown:e=>{"Escape"===e.key&&z(!0),"ArrowDown"===e.key&&(e.preventDefault(),g.current?.querySelector('[role="option"]')?.focus())},className:"passflow-field-country-search",onFocus:()=>m(!0),onBlur:()=>m(!1),placeholder:"Search for a country"}),/* @__PURE__ */y("div",{className:"passflow-field-country-search-icon",children:/* @__PURE__ */y(Ye,{type:"general",id:"search",size:"small"})})]}):/* @__PURE__ */y("input",{...l,id:t,name:a,ref:S,type:"tel",value:b,disabled:o,"aria-invalid":r,onChange:e=>{N(e),s(e)},onFocus:()=>m(!0),onBlur:()=>m(!1),className:"passflow-field-phone-input"}),
13
+ /* @__PURE__ */y("div",{id:"passflow-country-options",role:"listbox",tabIndex:-1,"aria-label":"Countries","aria-hidden":!c,className:Q("passflow-country-search-wrapper",{"passflow-country-search-wrapper--show":c,"passflow-country-search-wrapper--hidden":!c,"passflow-country-search-wrapper--without-preferred":!!p||0===A.length}),children:n(L)>0?/* @__PURE__ */v(w,{children:[
14
+ /* @__PURE__ */y("div",{role:"presentation","aria-hidden":"true",className:"passflow-country-search-sticky-top"}),!p&&A.length>0?/* @__PURE__ */v(w,{children:[A.map(D),/* @__PURE__ */y("div",{role:"presentation",className:"passflow-country-search-divider",children:"All countries"})]}):null,P.map(D),
15
+ /* @__PURE__ */y("div",{role:"presentation","aria-hidden":"true",className:"passflow-country-search-sticky-bottom"})]}):/* @__PURE__ */y("div",{role:"presentation",className:"passflow-country-search-no-matches",children:"No matches"})})]})},Dt=({providers:e,onClick:t,className:a=""})=>/* @__PURE__ */y("div",{className:Q("passflow-providers-box",{"passflow-providers-box--grid":e.length>1},a),children:e.map(a=>/* @__PURE__ */v(je,{onClick:()=>t(a),size:"big",variant:"provider",type:"button",withIcon:!0,className:"passflow-provider-item",children:[/* @__PURE__ */y(Ye,{size:"small",type:"providers",id:a,decorative:e.length<=2}),e.length<=2&&/* @__PURE__ */y("p",{className:"passflow-provider-text",children:a})]},a))}),Vt=({to:e,search:t,replace:a=!1,children:s,className:r,onClick:n,...i})=>{const{navigate:o}=vt();/* @__PURE__ */
16
+ return y("a",{href:`${e}${t?t.startsWith("?")?t:`?${t}`:""}`,onClick:s=>{s.preventDefault(),n&&n(s),o({to:e,search:t,replace:a})},className:r,...i,children:s})},Bt=({size:e="medium",label:t})=>/* @__PURE__ */y("span",{className:Q("passflow-spinner",{"passflow-spinner--small":"small"===e}),role:void 0===t?void 0:"status","aria-label":t,"aria-hidden":void 0===t||void 0}),Gt=({label:e,checked:t,disabled:a=!1,id:s,onChange:r})=>{const n=S(),i=s??n;/* @__PURE__ */
17
+ return v("label",{className:Q("passflow-switch-wrapper",{"passflow-switch-wrapper--disabled":a}),htmlFor:i,children:[
18
+ /* @__PURE__ */y("span",{className:"passflow-switch-label",children:e}),
19
+ /* @__PURE__ */y("input",{id:i,type:"checkbox",className:"passflow-switch-input",checked:t,disabled:a,onChange:r}),
20
+ /* @__PURE__ */y("div",{className:"passflow-switch-track"})]})},Ht=z.Root,Ot=z.Trigger,Zt=z.Anchor,qt=k(({className:e,align:t="center",sideOffset:a=4,...s},r)=>/* @__PURE__ */y(z.Portal,{children:/* @__PURE__ */y(z.Content,{ref:r,align:t,sideOffset:a,className:Q("passflow-popover-content",e),...s})}));qt.displayName=z.Content.displayName;var Jt=j.Root,Wt=j.Trigger,Kt=j.Portal,Qt=j.Close,Xt=k(({className:e,...t},a)=>/* @__PURE__ */y(j.Overlay,{ref:a,className:Q("passflow-dialog-overlay",e),...t}));Xt.displayName=j.Overlay.displayName;var $t=k(({className:e,children:t,...a},s)=>/* @__PURE__ */v(Kt,{children:[/* @__PURE__ */y(Xt,{}),/* @__PURE__ */y(j.Content,{ref:s,className:Q("passflow-dialog-content",e),...a,children:t})]}));$t.displayName=j.Content.displayName;var ea=({className:e,...t})=>/* @__PURE__ */y("div",{className:Q("passflow-dialog-header",e),...t});ea.displayName="DialogHeader";var ta=({className:e,...t})=>/* @__PURE__ */y("div",{className:Q("passflow-dialog-footer",e),...t});ta.displayName="DialogFooter";var aa=k(({className:e,...t},a)=>/* @__PURE__ */y(j.Title,{ref:a,className:Q("passflow-dialog-title",e),...t}));aa.displayName=j.Title.displayName;var sa=k(({className:e,...t},a)=>/* @__PURE__ */y(j.Description,{ref:a,className:Q("passflow-dialog-description",e),...t}));sa.displayName=j.Description.displayName;var ra,na=({message:e,id:t})=>e?/* @__PURE__ */v("div",{id:t,className:"passflow-form-error",role:"alert",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning",decorative:!0}),/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:e})]}):null,ia=({label:e})=>/* @__PURE__ */v("div",{className:"passflow-form-divider","aria-hidden":"true",children:[
21
+ /* @__PURE__ */y("div",{className:"passflow-form-divider__line-left"}),
22
+ /* @__PURE__ */y("span",{className:"passflow-form-divider__text",children:e}),
23
+ /* @__PURE__ */y("div",{className:"passflow-form-divider__line-right"})]}),oa=({children:e})=>/* @__PURE__ */y("div",{className:"passflow-login-screen-actions",children:e}),la=({message:e})=>/* @__PURE__ */v("div",{className:"passflow-login-screen-status",role:"status","aria-live":"polite",children:[/* @__PURE__ */y("div",{className:"passflow-login-screen-spinner passflow-login-screen-spinner--small","aria-hidden":"true"}),/* @__PURE__ */y("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:e})]}),ca=({code:e,appName:t,message:a,codeTestId:s,appNameTestId:r})=>/* @__PURE__ */v("div",{className:"passflow-login-screen-notice",role:"note",children:[e?/* @__PURE__ */y("div",{className:"passflow-login-screen-code","data-testid":s,children:e}):null,/* @__PURE__ */v("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:[
24
+ /* @__PURE__ */y("span",{className:"passflow-login-screen-app-name","data-testid":r,children:t})," ",a]})]}),da=({label:e="Code",initialCode:t="",error:a,busy:s=!1,submitLabel:r="Continue",testId:n,onSubmit:i})=>{const[o,l]=T(t);/* @__PURE__ */
25
+ return v("form",{className:"passflow-form","data-testid":n,"aria-busy":s,onSubmit:e=>{e.preventDefault();const t=o.trim();t&&i(t)},children:[
26
+ /* @__PURE__ */v("div",{className:"passflow-form-container",children:[/* @__PURE__ */v("div",{className:"passflow-form-field",children:[/* @__PURE__ */y("div",{className:"passflow-form-field__header",children:/* @__PURE__ */y("label",{htmlFor:"device-user-code",className:"passflow-field-label",children:e})}),/* @__PURE__ */y(De,{id:"device-user-code",name:"user_code",type:"text",autoCapitalize:"characters",autoComplete:"off",autoCorrect:"off",spellCheck:!1,inputMode:"text",className:"passflow-login-screen-code-input",value:o,disabled:s,"aria-invalid":Boolean(a),"aria-describedby":a?"device-user-code-error":void 0,isError:Boolean(a),onChange:e=>l(e.target.value)})]}),/* @__PURE__ */y(na,{id:"device-user-code-error",message:a})]}),s?/* @__PURE__ */y(la,{message:"Checking the code…"}):null,
27
+ /* @__PURE__ */y(je,{size:"big",variant:"primary",type:"submit",disabled:s||0===o.trim().length,children:s?"Checking…":r})]})},pa=({appName:e,scopes:t,prompt:a="wants to access your account.",busy:s=!1,error:r,allowLabel:n="Allow",denyLabel:i="Deny",busyLabel:o="Submitting…",testId:l,allowTestId:c,denyTestId:d,appNameTestId:p,onToggleScope:u,onAllow:h,onDeny:m})=>/* @__PURE__ */v("div",{className:"passflow-form","data-testid":l,"aria-busy":s,children:[
28
+ /* @__PURE__ */y(ca,{appName:e,message:a,appNameTestId:p}),
29
+ /* @__PURE__ */v("div",{className:"passflow-form-container",children:[/* @__PURE__ */y(na,{message:r}),t.length?/* @__PURE__ */y("ul",{className:"passflow-consent-scopes",children:t.map(e=>/* @__PURE__ */v("li",{className:"passflow-consent-scope","data-testid":`consent-scope-${e.scope}`,children:[/* @__PURE__ */y(Gt,{label:e.label,checked:e.granted,disabled:s,onChange:()=>u(e.scope)}),e.description?/* @__PURE__ */y("p",{className:"passflow-consent-scope-description",children:e.description}):null]},e.scope))}):/* @__PURE__ */y("p",{className:"passflow-login-screen-hint",children:"This application is not requesting access to any of your data."})]}),s?/* @__PURE__ */y(la,{message:o}):null,
30
+ /* @__PURE__ */v("div",{className:"passflow-consent-actions",children:[/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button","data-testid":c,disabled:s,onClick:h,children:n}),/* @__PURE__ */y(je,{size:"big",variant:"outlined",type:"button","data-testid":d,disabled:s,onClick:m,children:i})]})]}),ua={email_or_username:"",phone:"",password:""},ha=e=>{const{methods:t}=e,a=(e=>void 0!==e.initialMethod&&e.methods.identities.some(t=>t.id===e.initialMethod)?e.initialMethod:e.methods.identities[0]?.id??null)(e),[s,r]=T(a),[n,i]=T(Boolean(e.forcePasskey)),o=_(a),l=_(Boolean(e.forcePasskey)),{control:c,getValues:d,reset:p,trigger:u,watch:h,formState:{errors:m,isDirty:g,isValid:f},handleSubmit:x}=B({defaultValues:ua,mode:"onChange"});E(()=>{o.current!==a&&(o.current=a,r(a),p(ua))},[a,p]),E(()=>{const t=Boolean(e.forcePasskey);l.current!==t&&(l.current=t,i(t))},[e.forcePasskey]);const C=t.identities.find(e=>e.id===s),b=Boolean(C?.password),k=Boolean(C?.passwordlessLabel),M=t.passkey,N=Boolean(C),S=!n&&N,L=M&&(n||!N),I=b||k||M,A=Boolean(e.busy||e.disabled),P=e.error?.scope,F="identity"===P||"credentials"===P,R="password"===P||"credentials"===P,U="sign-up"===e.credentialPurpose,Y=e=>({method:s,emailOrUsername:e.email_or_username,phone:e.phone,password:e.password}),z=()=>{p(ua),e.onReset?.()},j=e=>{r(e),z()},G=x(t=>{b?e.onPassword?.(Y(t)):k&&e.onPasswordless?.(Y(t))}),H=h("phone"===s?"phone":"email_or_username"),O=t.identities.find(e=>e.id!==s);/* @__PURE__ */
31
+ return v(w,{children:[e.notice?/* @__PURE__ */y(ca,{...e.notice}):null,e.allowPasskeyToggle&&M&&N&&(b||k)?/* @__PURE__ */y("div",{className:"passflow-form-switch",children:/* @__PURE__ */y(Gt,{label:"Passwordless experience",checked:n,disabled:A,onChange:e=>{return t=e.target.checked,i(t),void z();var t}})}):null,
32
+ /* @__PURE__ */v("form",{className:"passflow-form","data-testid":e.testId,"aria-busy":A&&Boolean(e.busy),onSubmit:G,children:[e.busy?/* @__PURE__ */y(la,{message:e.primaryLabel??"Signing in…"}):null,S?/* @__PURE__ */v(w,{children:[/* @__PURE__ */v("div",{className:"passflow-form-container",children:["email_or_username"===s?/* @__PURE__ */v("div",{className:"passflow-form-field",children:[
33
+ /* @__PURE__ */v("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */y("label",{htmlFor:"email_or_username",className:Q("passflow-field-label",{"passflow-field-label--error":F||Boolean(m.email_or_username)}),children:C?.label}),O?/* @__PURE__ */y(je,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",disabled:A,onClick:()=>j(O.id),children:O.selectLabel}):null]}),
34
+ /* @__PURE__ */y(V,{name:"email_or_username",control:c,rules:{required:C?.requiredMessage??"Identity is required",..."email"===C?.format?{pattern:{value:q,message:"Invalid email"}}:void 0},render:({field:e})=>/* @__PURE__ */y(De,{...e,id:"email_or_username",type:"email"===C?.format?"email":"text",autoComplete:"email"===C?.format?"email":"username","aria-invalid":Boolean(m.email_or_username),"aria-describedby":m.email_or_username?"email_or_username-error":void 0,isError:F||Boolean(m.email_or_username),disabled:A})}),m.email_or_username?.message?/* @__PURE__ */y(na,{id:"email_or_username-error",message:m.email_or_username.message}):null]}):null,"phone"===s?/* @__PURE__ */v("div",{className:"passflow-form-field",children:[
35
+ /* @__PURE__ */v("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */y("label",{htmlFor:"phone",className:Q("passflow-field-label",{"passflow-field-label--error":F||Boolean(m.phone)}),children:"Phone number"}),O?/* @__PURE__ */y(je,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",disabled:A,onClick:()=>j(O.id),children:O.selectLabel}):null]}),
36
+ /* @__PURE__ */y(V,{name:"phone",control:c,rules:{required:"Phone number is required",validate:e=>D(e).isValid||"Invalid phone number"},render:({field:e})=>/* @__PURE__ */y(jt,{id:"phone",name:"phone",onChange:e.onChange,"aria-describedby":m.phone?"phone-error":void 0,isError:F||Boolean(m.phone),disabled:A,ref:null})}),m.phone?.message?/* @__PURE__ */y(na,{id:"phone-error",message:m.phone.message}):null]}):null,b?/* @__PURE__ */v("div",{className:"passflow-form-field",children:[
37
+ /* @__PURE__ */v("div",{className:"passflow-form-field__header",children:[/* @__PURE__ */y("label",{htmlFor:"password",className:Q("passflow-field-label",{"passflow-field-label--error":R||Boolean(m.password)}),children:"Password"}),e.forgotPassword?/* @__PURE__ */y(Vt,{to:e.forgotPassword.to,search:e.forgotPassword.getSearch?.(s),className:"passflow-field-label-button",children:"Forgot Password?"}):null]}),
38
+ /* @__PURE__ */y(V,{name:"password",control:c,rules:{required:"Password is required",validate:t=>{if(!U)return!0;try{return J(e.passwordPolicy).validateSync(t),!0}catch(a){return a.errors?.join(", ")??"Password does not meet the requirements"}}},render:({field:t})=>/* @__PURE__ */y(Be,{...t,id:"password",name:"password","aria-invalid":Boolean(m.password),"aria-describedby":m.password&&!U?"password-error":void 0,isError:R||Boolean(m.password),passwordPolicy:e.passwordPolicy,withMessages:U,validationErrors:U&&m.password?.message?m.password.message.split(", "):void 0,autoComplete:U?"new-password":"current-password",disabled:A})}),!U&&m.password?.message?/* @__PURE__ */y(na,{id:"password-error",message:m.password.message}):null]}):null,
39
+ /* @__PURE__ */y(na,{message:e.error?.message})]}),/* @__PURE__ */v(oa,{children:[b&&e.onPassword?/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"submit",disabled:A||!g||!f,className:"passflow-button-signin","data-testid":e.primaryTestId,children:e.primaryLabel??"Sign In"}):null,k&&e.onPasswordless?/* @__PURE__ */v(je,{size:"big",variant:b?"outlined":"primary",type:"button",className:Q("passflow-button-passwordless",{"passflow-button-passwordless--active":b}),disabled:A||0===H.trim().length,onClick:()=>{(async()=>{s&&e.onPasswordless&&await u("phone"===s?"phone":"email_or_username")&&e.onPasswordless(Y(d()))})()},children:[e.passwordlessLabelPrefix??"Sign In with"," ",C?.passwordlessLabel]}):null,M&&e.onPasskey?/* @__PURE__ */v(je,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,disabled:A,onClick:e.onPasskey,children:[/* @__PURE__ */y(Ye,{id:"key",size:"small",type:"general",className:"passflow-button-passkey-icon",decorative:!0,matchTextColor:!0}),e.passkeyLabel??"Sign In with a Passkey"]}):null]})]}):null,L?/* @__PURE__ */v(w,{children:[/* @__PURE__ */y(na,{message:e.error?.message}),e.onPasskey?/* @__PURE__ */y(oa,{children:/* @__PURE__ */v(je,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,disabled:A,onClick:e.onPasskey,children:[/* @__PURE__ */y(Ye,{id:"key",size:"small",type:"general",className:"passflow-button-passkey-icon",decorative:!0,matchTextColor:!0}),e.passkeyLabel??"Sign In with a Passkey"]})}):null]}):null,e.footer?/* @__PURE__ */y("div",{className:Q("passflow-form-actions",{"passflow-form-actions--top-space":I}),children:/* @__PURE__ */v("p",{className:"passflow-dont-have-account",children:[e.footer.prompt," ",
40
+ /* @__PURE__ */y(Vt,{to:e.footer.to,search:e.footer.search,className:"passflow-link",children:e.footer.label})]})}):null,t.providers.length>0&&e.onProvider?/* @__PURE__ */v("div",{className:"passflow-form-providers",children:[I?/* @__PURE__ */y(ia,{label:"Or continue with"}):null,/* @__PURE__ */y(Dt,{providers:t.providers,onClick:e.onProvider})]}):null]})]})},ma=({appName:e,code:t,identity:a,busy:s=!1,error:r,actionLabel:n="Approve this device",busyLabel:i="Approving…",testId:o,actionTestId:l,codeTestId:c,appNameTestId:d,onApprove:p})=>/* @__PURE__ */v("div",{className:"passflow-form","data-testid":o,"aria-busy":s,children:[
41
+ /* @__PURE__ */y(ca,{code:t,appName:e,message:"requested this sign-in. Confirm that the code matches your terminal.",codeTestId:c,appNameTestId:d}),
42
+ /* @__PURE__ */v("div",{className:"passflow-form-container passflow-login-screen-centered",children:[
43
+ /* @__PURE__ */v("div",{className:"passflow-login-screen-success",role:"status","aria-live":"polite",children:[/* @__PURE__ */y(Ye,{size:"small",id:"check",type:"general",className:"icon-success",decorative:!0}),/* @__PURE__ */y("p",{className:"passflow-login-screen-text",children:a?/* @__PURE__ */v(w,{children:["Signed in as ",
44
+ /* @__PURE__ */y("strong",{className:"passflow-login-screen-app-name",children:a}),"."]}):"Signed in successfully."})]}),
45
+ /* @__PURE__ */y("p",{className:"passflow-login-screen-hint",children:"Approve this request to finish signing in on the device."}),
46
+ /* @__PURE__ */y(na,{message:r})]}),s?/* @__PURE__ */y(la,{message:i}):null,
47
+ /* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button",autoFocus:!s,"data-testid":l,disabled:s,onClick:p,children:s?i:n})]}),ga=({message:e,detail:t="Go back to start again.",actionLabel:a="Go back",testId:s,onAction:r})=>/* @__PURE__ */v("div",{className:"passflow-error-container","data-testid":s,children:[/* @__PURE__ */v("div",{className:"passflow-error-container-text-wrapper",role:"alert","aria-live":"assertive",children:[e?/* @__PURE__ */y("h1",{className:"passflow-error-container-text",children:e}):null,/* @__PURE__ */y("p",{className:"passflow-error-container-text-secondary",children:t})]}),/* @__PURE__ */y(je,{size:"big",type:"button",variant:"primary",onClick:r,className:"passflow-button-go-back-error",children:a})]}),fa=({identity:e,inviterName:t,busy:a=!1,error:s,acceptLabel:r="Accept invitation",busyLabel:n="Accepting invitation…",switchAccountLabel:i="Switch account",createAccountLabel:o="Create a new account",testId:l,acceptTestId:c,onAccept:d,onSwitchAccount:p,onCreateAccount:u})=>/* @__PURE__ */v("div",{className:"passflow-form","data-testid":l,"aria-busy":a,children:[
48
+ /* @__PURE__ */v("div",{className:"passflow-form-container passflow-login-screen-centered",children:[t?/* @__PURE__ */v("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:[/* @__PURE__ */y("strong",{className:"passflow-login-screen-app-name",children:t})," sent this invitation."]}):null,
49
+ /* @__PURE__ */y("p",{className:"passflow-login-screen-text passflow-login-screen-centered-text",children:e?/* @__PURE__ */v(w,{children:["You're signed in as ",
50
+ /* @__PURE__ */y("strong",{className:"passflow-login-screen-app-name",children:e}),"."]}):"You’re already signed in."}),
51
+ /* @__PURE__ */y("p",{className:"passflow-login-screen-hint",children:"Continue with this account, or switch accounts?"}),
52
+ /* @__PURE__ */y(na,{message:s})]}),a?/* @__PURE__ */y(la,{message:n}):null,
53
+ /* @__PURE__ */v(oa,{children:[
54
+ /* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button",autoFocus:!a,"data-testid":c,disabled:a,onClick:d,children:a?n:r}),
55
+ /* @__PURE__ */y(je,{size:"big",variant:"outlined",type:"button",disabled:a,onClick:p,children:i}),
56
+ /* @__PURE__ */y(je,{size:"big",variant:"clean",type:"button",disabled:a,onClick:u,children:o})]})]}),wa=({working:e,message:t,actionLabel:a="Continue with a passkey",error:s,recoverable:r=!1,retryLabel:n="Try again",testId:i,onAction:o,onRetry:l})=>/* @__PURE__ */v("div",{className:"passflow-form","data-testid":i,children:[/* @__PURE__ */v("div",{className:"passflow-form-container passflow-login-screen-centered",children:[/* @__PURE__ */v("div",{className:"passflow-login-screen-status",role:"status",children:[e?/* @__PURE__ */y("div",{className:"passflow-login-screen-spinner","aria-hidden":"true"}):null,/* @__PURE__ */y("p",{className:"passflow-login-screen-text",children:t})]}),/* @__PURE__ */y(na,{message:s})]}),!e&&o?/* @__PURE__ */v(je,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:o,children:[/* @__PURE__ */y(Ye,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon",decorative:!0}),a]}):!e&&s&&r&&l?/* @__PURE__ */v(je,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:l,children:[/* @__PURE__ */y(Ye,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon",decorative:!0}),n]}):null]}),ya=({iconId:e="logo",title:t="",subtitle:a="",className:s="",children:r,customCss:n,customLogo:i,customLogoAlt:o="Application logo",removeBranding:l=!1})=>/* @__PURE__ */v(H,{children:[/* @__PURE__ */y(G,{children:/* @__PURE__ */y("style",{type:"text/css",className:"psfw-custom-styles","data-passflow-style-layer":"custom",children:n})}),/* @__PURE__ */v("div",{id:"passflow-wrapper",className:"passflow-wrapper",children:[/* @__PURE__ */v("main",{className:Q("passflow-form-main-wrapper",s),children:[/* @__PURE__ */v("div",{className:"passflow-form-main-container",children:[i?/* @__PURE__ */y("img",{src:i,alt:o,className:"passflow-form-main-container-logo"}):/* @__PURE__ */y(Ye,{id:e,size:"large",type:"general",decorative:!0}),t?/* @__PURE__ */v("div",{className:"passflow-form-header",children:[/* @__PURE__ */y("h1",{className:"passflow-form-title",children:t}),a?/* @__PURE__ */y("span",{className:"passflow-form-subtitle",children:a}):null]}):null]}),r]}),l?null:/* @__PURE__ */y("footer",{className:"passflow-branding",children:/* @__PURE__ */v("p",{className:"passflow-branding-text",children:["Secured by ",/* @__PURE__ */y("span",{className:"passflow-branding-text-secondary passflow-secondary-font",children:"PASSFLOW"})]})})]})]}),va=({tone:e,message:t,detail:a,recoverable:s=!1,retryLabel:r="Try again",testId:n,onRetry:i,primaryAction:o})=>/* @__PURE__ */v("div",{className:"passflow-form","data-testid":n,children:[/* @__PURE__ */v("div",{className:"passflow-form-container passflow-login-screen-centered",children:["success"===e?/* @__PURE__ */v("div",{className:"passflow-login-screen-success",role:"status",children:[/* @__PURE__ */y(Ye,{size:"small",id:"check",type:"general",className:"icon-success",decorative:!0}),/* @__PURE__ */y("span",{className:"passflow-login-screen-success-text",children:t})]}):/* @__PURE__ */y(na,{message:t}),a?/* @__PURE__ */y("p",{className:"passflow-login-screen-hint",children:a}):null]}),o?/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button",onClick:o.onClick,children:o.label}):"error"===e&&s&&i?/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button",onClick:i,children:r}):null]}),xa=({chrome:e,state:t})=>{const a=(()=>{switch(t.kind){case"credentials":/* @__PURE__ */return y(ha,{...t});case"code-entry":/* @__PURE__ */return y(da,{...t});case"passkey-progress":/* @__PURE__ */return y(wa,{...t});case"device-approval":/* @__PURE__ */return y(ma,{...t});case"invitation":/* @__PURE__ */return y(fa,{...t});case"general-error":/* @__PURE__ */return y(ga,{...t});case"consent":/* @__PURE__ */return y(pa,{...t});case"status":/* @__PURE__ */return y(va,{...t})}})(),s="general-error"===t.kind||"status"===t.kind&&"error"===t.tone,r="general-error"===t.kind?"passflow-error-wrapper":"sign-in"===e.variant?"passflow-signin-wrapper":void 0;/* @__PURE__ */
57
+ return y(ya,{iconId:s?"logo-red":"logo",title:e.title,subtitle:e.subtitle,className:r,customCss:e.customCss,customLogo:e.customLogo,customLogoAlt:e.customLogoAlt,removeBranding:e.removeBranding,children:a})},Ca=({factors:e,selected:t,disabled:a=!1,label:s="Other verification methods",onSelect:r})=>/* @__PURE__ */y("ul",{className:"passflow-upgrade-dialog__alternatives","aria-label":s,children:e.map(e=>/* @__PURE__ */y("li",{className:"passflow-upgrade-dialog__alternative",children:/* @__PURE__ */y(je,{size:"big",variant:"option",type:"button",disabled:a,pressed:e.type===t,description:e.hint,"data-testid":`upgrade-dialog-factor-${e.type}`,onClick:()=>r(e.type),children:e.label})},e.type))}),ba="passflow-upgrade-code",ka="passflow-upgrade-code-error",Ma=({factors:e,selected:t,busy:a=!1,error:s,showAlternatives:r=!1,submitLabel:n="Verify",cancelLabel:i="Cancel",alternativesLabel:o="Use another way",testId:l,onSelectFactor:c,onToggleAlternatives:d,onSubmit:p,onCancel:u})=>{const[h,m]=T(""),g=_(null),f=e.find(e=>e.type===t)??e[0],w="code"===f?.input?f.code:void 0,x=void 0!==w,C=e.length>1,b=e=>{g.current!==e&&(g.current=e,c(e))};/* @__PURE__ */
58
+ return v("form",{className:"passflow-upgrade-dialog__form","data-testid":l,"aria-busy":a,onSubmit:e=>{if(e.preventDefault(),!f)return;const t=h.trim();x&&0===t.length||(b(f.type),p(x?t:void 0))},noValidate:!0,children:[f?/* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__factor",children:[/* @__PURE__ */y("span",{className:"passflow-upgrade-dialog__factor-label",children:f.label}),f.hint?/* @__PURE__ */y("span",{className:"passflow-upgrade-dialog__factor-hint",children:f.hint}):null]}):null,w?/* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__field",children:[/* @__PURE__ */y("label",{htmlFor:ba,className:"passflow-field-label",children:"Verification code"}),/* @__PURE__ */y(De,{id:ba,name:"upgrade_code",type:"text",inputMode:w.inputMode,autoComplete:w.autoComplete,autoCorrect:"off",autoCapitalize:w.autoCapitalize,spellCheck:!1,maxLength:w.maxLength,value:h,disabled:a,isError:Boolean(s),"aria-invalid":Boolean(s),"aria-describedby":s?ka:void 0,"data-testid":"upgrade-dialog-code",onChange:e=>m(e.target.value)})]}):null,
59
+ /* @__PURE__ */y(na,{id:ka,message:s}),
60
+ /* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__actions",children:[
61
+ /* @__PURE__ */y(je,{size:"big",variant:"primary",type:"submit",disabled:a||!f||x&&0===h.trim().length,"data-testid":"upgrade-dialog-submit",children:a?"Verifying…":n}),C?/* @__PURE__ */y(je,{size:"big",variant:"clean",type:"button",disabled:a,"aria-expanded":r,"data-testid":"upgrade-dialog-alternatives",onClick:d,children:o}):null,r&&C?/* @__PURE__ */y(Ca,{factors:e,selected:t,disabled:a,onSelect:e=>{m(""),b(e)}}):null,
62
+ /* @__PURE__ */y(je,{size:"big",variant:"clean",type:"button","data-testid":"upgrade-dialog-cancel",onClick:u,children:i})]})]})},Na={totp:{label:"Authenticator app",hint:"Enter the code from your authenticator app"},passkey:{label:"Passkey",hint:"Confirm with your device"},recovery_codes:{label:"Recovery code",hint:"Enter one of your single-use recovery codes"},email_otp:{label:"Email code",hint:"Enter the code we emailed you"},sms_otp:{label:"SMS code",hint:"Enter the code we texted you"}},Ea=Object.freeze({maxLength:6,inputMode:"numeric",autoComplete:"one-time-code",autoCapitalize:"off"}),Sa=Object.freeze({totp:Ea,email_otp:Ea,sms_otp:Ea,recovery_codes:Object.freeze({maxLength:16,inputMode:"text",autoComplete:"off",autoCapitalize:"characters"}),passkey:null}),La=(e,t)=>e.map(e=>{const a=Na[e.type],s=t?.[e.type],r={type:e.type,label:s?.label??a.label,hint:s?.hint??a.hint};return"code"===e.input?{...r,input:"code",code:(n=e.type,Sa[n]??Ea)}:{...r,input:"none"};var n}),Ia=e=>"string"==typeof e&&e?e:void 0,Aa=e=>"object"==typeof e&&null!==e?e:void 0,_a=Object.freeze({wrong_code:"rejected",challenge_spent:"rejected",not_registered:"rejected",prepare_not_required:"rejected",exhausted:"exhausted",attempts_exhausted:"exhausted",unavailable:"unavailable",session_changed:"session-changed",fatal:"transport",protocol:"transport",network:"transport"}),Ta=(e,t)=>{const a=Ia(t.kind);return void 0!==(s=a)&&Object.hasOwn(_a,s)?a:(e=>"number"==typeof e.status||"string"==typeof e.id||void 0!==Aa(e.response))(t)?h(e,"refresh").kind:void 0;var s},Pa=e=>{const t=Aa(e);if(!t)return"rejected";const a=Ia(t.code),s=Ia(t.name);if("upgrade_cancelled"===a||"UpgradeCancelledError"===s||!0===t.cancelled)return"cancelled";if("upgrade_unsatisfiable"===a||"UpgradeUnsatisfiableError"===s)return"unsatisfiable";if("upgrade_unavailable"===a||"UpgradeUnavailableError"===s)return"unavailable";if("upgrade_exhausted"===a||"UpgradeExhaustedError"===s)return"exhausted";if("upgrade_insufficient"===a||"UpgradeInsufficientError"===s)return"insufficient";if("upgrade_session_changed"===a||"UpgradeSessionChangedError"===s)return"session-changed";const r=Ta(e,t);return void 0===r?"rejected":_a[r]},Fa=e=>{const t=Aa(e);if(!t)return;const a={};return"string"==typeof t.acrValues&&(a.acrValues=t.acrValues),"number"==typeof t.level&&(a.level=t.level),"number"==typeof t.maxAge&&(a.maxAge=t.maxAge),void 0===a.acrValues&&void 0===a.level&&void 0===a.maxAge?void 0:a},Ra=e=>{if(!e)return"an unknown level";const t=[];return void 0!==e.level?t.push(`AAL${e.level}`):e.acrValues&&t.push(`acr ${e.acrValues}`),void 0!==e.maxAge&&t.push(`verified within ${e.maxAge}s`),t.length>0?t.join(", "):"an unknown level"},Ua=e=>Fa({acrValues:e.acrValues,level:e.requiredLevel,maxAge:e.maxAge}),Ya=(e,t)=>{const a=Aa(e);return Ia(a?.message)??t},za=(e,t)=>{const{handlers:a,testId:s}=e;switch(Pa(t)){case"cancelled":return{kind:"cancelled",message:"Verification cancelled",detail:"The action that needed extra verification was not completed.",testId:s,onDismiss:a.onDismiss};case"exhausted":return{kind:"exhausted",message:"Too many attempts",detail:Ya(t,"No attempts are left for this verification. Start the action again to retry."),testId:s,onDismiss:a.onDismiss};case"unsatisfiable":return{kind:"unsatisfiable",message:"No usable verification method",detail:Ya(t,"None of your verification methods can answer this request."),required:e.prompt?Ua(e.prompt.challenge):void 0,testId:s,onDismiss:a.onDismiss};case"unavailable":return{kind:"unavailable",message:"Verification is unavailable",detail:Ya(t,"This deployment cannot raise your assurance level right now."),testId:s,onDismiss:a.onDismiss};case"session-changed":return{kind:"cancelled",message:"Verification stopped",detail:Ya(t,"Your session changed while verifying, so the request was abandoned."),testId:s,onDismiss:a.onDismiss};case"insufficient":{const e=Aa(t);return{kind:"insufficient",message:Ya(t,"Verified, but not enough for this action"),obtained:Fa(e?.obtained)??{},required:Fa(e?.required)??{},testId:s,onDismiss:a.onDismiss}}default:return{kind:"transport",message:"Verification could not be completed",detail:Ya(t,"The verification request failed before it reached the server."),retryable:!0===Aa(t)?.retryable,testId:s,onRetry:a.onRetry,onDismiss:a.onDismiss}}},ja=e=>{const{prompt:t,outcome:a,ui:s,labels:r,handlers:n,testId:i}=e;if(a)switch(a.kind){case"elevated":return{kind:"success",message:"Verification complete",detail:"Your request is continuing.",testId:i,onDismiss:n.onDismiss};case"insufficient":return{kind:"insufficient",message:`Verified to ${Ra(a.obtained)}; this action requires ${Ra(a.required)}`,obtained:a.obtained,required:a.required,detail:"The elevation succeeded but the action was challenged again. Nothing was completed.",testId:i,onDismiss:n.onDismiss};case"cancelled":return{kind:"cancelled",message:"Verification cancelled",detail:"The action that needed extra verification was not completed.",testId:i,onDismiss:n.onDismiss};default:return za(e,a.error)}if(!t)return{kind:"working",message:"Preparing verification…",testId:i,onCancel:n.onCancel};const o=void 0===t.previousError?void 0:Pa(t.previousError);if(void 0!==o&&"rejected"!==o)return za(e,t.previousError);const l=La(t.factors,r),c=Ua(t.challenge),d=l[0];if(void 0===d)return{kind:"unsatisfiable",message:"No usable verification method",detail:`This action requires ${Ra(c)}, and no verification method is available to answer it.`,required:c,testId:i,onDismiss:n.onDismiss};const p=l.find(e=>e.type===s?.selected)?.type??d.type,u=l.find(e=>e.type===p),h=!0===s?.busy;return h&&"none"===u?.input?{kind:"working",message:"Waiting for your passkey…",detail:"Follow the prompt from your device to confirm it is you.",testId:i,onCancel:n.onCancel}:{kind:"challenge",factors:l,selected:p,reason:"This action needs extra verification",busy:h,error:"rejected"===o?Ya(t.previousError,"That code was not accepted. Try again."):null,showAlternatives:!0===s?.showAlternatives,testId:i,onSelectFactor:n.onSelectFactor,onToggleAlternatives:n.onToggleAlternatives,onSubmit:n.onSubmit,onCancel:n.onCancel}},Da=e=>{switch(e.kind){case"challenge":case"working":return e.onCancel;default:return e.onDismiss}},Va={working:"working",success:"success",insufficient:"problem",unsatisfiable:"problem",unavailable:"problem",exhausted:"problem",transport:"problem",cancelled:"neutral"},Ba=({term:e,bar:t})=>/* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__bar",children:[/* @__PURE__ */y("span",{className:"passflow-upgrade-dialog__bar-term",children:e}),/* @__PURE__ */y("span",{className:"passflow-upgrade-dialog__bar-value",children:Ra(t)})]}),Ga=e=>{const t=Va[e.kind],{detail:a}=e,s="success"===e.kind?e.autoCloseMs??1800:0,r="success"===e.kind?e.onDismiss:void 0;return E(()=>{if(void 0===r||s<=0)return;const e=setTimeout(r,s);return()=>clearTimeout(e)},[s,r]),/* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__status","data-testid":e.testId,"data-upgrade-state":e.kind,children:[
63
+ /* @__PURE__ */v("div",{className:`passflow-upgrade-dialog__status-head passflow-upgrade-dialog__status-head--${t}`,role:"problem"===t?"alert":"status","aria-live":"problem"===t?"assertive":"polite",children:["working"===t?/* @__PURE__ */y(Bt,{size:"small"}):null,"success"===t?/* @__PURE__ */y(Ye,{size:"small",id:"check",type:"general",className:"icon-success",decorative:!0}):null,"problem"===t?/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning",decorative:!0}):null,
64
+ /* @__PURE__ */y("span",{className:"passflow-upgrade-dialog__status-message",children:e.message})]}),a?/* @__PURE__ */y("p",{className:"passflow-upgrade-dialog__status-detail",children:a}):null,"insufficient"===e.kind?/* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__bars","data-testid":"upgrade-dialog-bars",children:[/* @__PURE__ */y(Ba,{term:"Verified",bar:e.obtained}),/* @__PURE__ */y(Ba,{term:"Required",bar:e.required})]}):null,"unsatisfiable"===e.kind&&e.required?/* @__PURE__ */y("div",{className:"passflow-upgrade-dialog__bars","data-testid":"upgrade-dialog-bars",children:/* @__PURE__ */y(Ba,{term:"Required",bar:e.required})}):null,
65
+ /* @__PURE__ */v("div",{className:"passflow-upgrade-dialog__actions",children:["transport"===e.kind&&e.retryable&&e.onRetry?/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button","data-testid":"upgrade-dialog-retry",onClick:e.onRetry,children:e.retryLabel??"Try again"}):null,"working"===e.kind&&e.onCancel?/* @__PURE__ */y(je,{size:"big",variant:"clean",type:"button","data-testid":"upgrade-dialog-cancel",onClick:e.onCancel,children:"Cancel"}):null,"working"!==e.kind?/* @__PURE__ */y(je,{size:"big",variant:"clean",type:"button","data-testid":"upgrade-dialog-dismiss",onClick:e.onDismiss,children:e.dismissLabel??("success"===e.kind?"Done":"Close")}):null]})]})},Ha="passflow-upgrade-dialog-description",Oa=({open:e,title:t="Extra verification required",state:a})=>{const s=Da(a),r="challenge"===a.kind?a.reason:void 0;/* @__PURE__ */
66
+ return y(Jt,{open:e,onOpenChange:e=>{e||s?.()},children:/* @__PURE__ */v($t,{className:"passflow-upgrade-dialog","data-testid":"upgrade-dialog","aria-describedby":r?Ha:void 0,children:[/* @__PURE__ */v(ea,{className:"passflow-upgrade-dialog__header",children:[/* @__PURE__ */y(aa,{children:t}),r?/* @__PURE__ */y(sa,{id:Ha,children:r}):null]}),"challenge"===a.kind?/* @__PURE__ */y(Ma,{...a}):/* @__PURE__ */y(Ga,{...a})]})})},Za=({onComplete:e,onCancel:t,numInputs:a})=>{const[s,r]=T(""),[n,i]=T(!1),{setupData:o,recoveryCodes:l,step:c,beginSetup:d,confirmSetup:p,reset:u,isLoading:h,isError:m,error:g}=Ct(),f=a??6;return"idle"===c?/* @__PURE__ */y(ya,{title:"Enable Two-Factor Authentication",subtitle:"Add an extra layer of security to your account",className:"passflow-2fa-setup",children:/* @__PURE__ */v("div",{className:"passflow-2fa-setup-start",children:[
67
+ /* @__PURE__ */y(je,{size:"big",type:"button",variant:"primary",onClick:()=>d(),disabled:h,children:h?"Loading...":"Get Started"}),t&&/* @__PURE__ */y("button",{type:"button",className:"passflow-link-button",onClick:t,children:"Cancel"}),m&&/* @__PURE__ */v("div",{className:"passflow-field-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-field-error-text",children:g})]})]})}):"setup"===c&&o?/* @__PURE__ */y(ya,{title:"Scan QR Code",subtitle:"Scan this code with your authenticator app (Google Authenticator, Authy, etc.)",className:"passflow-2fa-setup",children:/* @__PURE__ */v("form",{onSubmit:async e=>{e.preventDefault(),await p(s)},className:"passflow-2fa-setup-qr",children:[
68
+ /* @__PURE__ */y("div",{className:"passflow-2fa-qr-container",children:/* @__PURE__ */y("img",{src:`data:image/png;base64,${o.qr_code}`,alt:"2FA QR Code",className:"passflow-2fa-qr-image"})}),
69
+ /* @__PURE__ */v("div",{className:"passflow-2fa-secret-toggle",children:[/* @__PURE__ */y("button",{type:"button",className:"passflow-link-button",onClick:()=>i(!n),children:n?"Hide manual code":"Can't scan? Enter code manually"}),n&&/* @__PURE__ */y("code",{className:"passflow-2fa-secret-code",children:o.secret})]}),
70
+ /* @__PURE__ */v("div",{className:"passflow-2fa-confirm-section",children:[/* @__PURE__ */v("p",{className:"passflow-2fa-confirm-label",children:["Enter the ",f,"-digit code from your app to confirm:"]}),/* @__PURE__ */v("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[/* @__PURE__ */y(O,{value:s,onChange:e=>{r(e)},numInputs:f,shouldAutoFocus:!0,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:Q("passflow-field-otp passflow-field-otp--focused",m&&"passflow-field-otp--error"),inputType:"text",renderInput:e=>/* @__PURE__ */y("input",{...e})}),m&&/* @__PURE__ */v("div",{className:"passflow-verify-otp-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-verify-otp-error-text",children:g})]})]})]}),
71
+ /* @__PURE__ */y(je,{size:"big",type:"submit",variant:"primary",disabled:s.length!==f||h,children:h?"Confirming...":"Confirm & Enable"})]})}):"complete"===c&&l.length>0?/* @__PURE__ */y(ya,{title:"Save Your Recovery Codes",subtitle:"Store these codes in a safe place. You'll need them if you lose access to your authenticator.",className:"passflow-2fa-setup",children:/* @__PURE__ */v("div",{className:"passflow-2fa-setup-complete",children:[
72
+ /* @__PURE__ */v("div",{className:"passflow-2fa-warning",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{children:"These codes will only be shown once. Make sure to save them!"})]}),
73
+ /* @__PURE__ */y("div",{className:"passflow-2fa-recovery-codes",children:l.map(e=>/* @__PURE__ */y("code",{className:"passflow-2fa-recovery-code",children:e},e))}),
74
+ /* @__PURE__ */y(je,{size:"big",type:"button",variant:"secondary",onClick:()=>{navigator.clipboard.writeText(l.join("\n"))},children:"Copy to Clipboard"}),
75
+ /* @__PURE__ */y(je,{size:"big",type:"button",variant:"primary",onClick:()=>{e?.(l),u()},children:"I've Saved These Codes"})]})}):null},qa=({twoFactorVerifyPath:e=Ze.two_factor_verify.path,signInPath:t=Ze.signin.path})=>{const[a,s]=T(!1),{navigate:r}=vt(),n=et();E(()=>{n.isTwoFactorVerificationRequired()||(Ne.canRedirect()?(Ne.incrementRedirect(),r({to:t}),s(!0)):s(!1))},[n,r,t]);return a||!n.isTwoFactorVerificationRequired()&&Ne.canRedirect()?null:/* @__PURE__ */y(Za,{onComplete:()=>{r({to:e})},onCancel:()=>{Ne.reset(),r({to:t})}})},Ja={totp:"Authenticator App",email_otp:"Email Code",sms_otp:"SMS Code",passkey:"Passkey",recovery_codes:"Recovery Code",push_fcm:"Push Notification (FCM)",push_webpush:"Push Notification (Web)"},Wa={totp:"📱",email_otp:"✉️",sms_otp:"💬",passkey:"🔑",recovery_codes:"🔒",push_fcm:"🔔",push_webpush:"🔔"},Ka=({availableMethods:e,currentMethod:t,onSelectMethod:a,isOpen:s,onClose:r})=>/* @__PURE__ */y(j.Root,{open:s,onOpenChange:e=>!e&&r(),children:/* @__PURE__ */v(j.Portal,{children:[/* @__PURE__ */y(j.Overlay,{className:"pf-dialog-overlay"}),/* @__PURE__ */v(j.Content,{className:"pf-dialog-content pf-method-selector-dialog",children:[
76
+ /* @__PURE__ */y(j.Title,{className:"pf-dialog-title",children:"Choose Verification Method"}),
77
+ /* @__PURE__ */y(j.Description,{className:"pf-dialog-description",children:"Select an alternative method to verify your identity"}),
78
+ /* @__PURE__ */y("div",{className:"pf-method-selector-list",children:e.map(e=>/* @__PURE__ */v("button",{type:"button",className:"pf-method-selector-item "+(e===t?"pf-method-selector-item-active":""),onClick:()=>(e=>{a(e),r()})(e),disabled:e===t,children:[
79
+ /* @__PURE__ */y("span",{className:"pf-method-icon",children:Wa[e]||"🔐"}),
80
+ /* @__PURE__ */y("span",{className:"pf-method-label",children:Ja[e]||e}),e===t&&/* @__PURE__ */y("span",{className:"pf-method-current-badge",children:"Current"})]},e))}),
81
+ /* @__PURE__ */y(j.Close,{asChild:!0,children:/* @__PURE__ */y("button",{type:"button",className:"pf-dialog-close","aria-label":"Close",children:"×"})})]})]})}),Qa=({value:e,onChange:t,numInputs:a=6,error:s,disabled:r=!1,autoFocus:n=!0})=>{const i=_(null);return E(()=>{if(n&&i.current){const e=i.current.querySelector("input");e&&e.focus()}},[n]),/* @__PURE__ */v("div",{ref:i,className:"pf-otp-input-container",children:[/* @__PURE__ */y(O,{value:e,onChange:t,numInputs:a,renderSeparator:/* @__PURE__ */y("span",{className:"pf-otp-separator"}),renderInput:e=>/* @__PURE__ */y("input",{...e,className:`pf-otp-input ${s?"pf-otp-input-error":""} ${r?"pf-otp-input-disabled":""}`,disabled:r}),inputType:"tel",shouldAutoFocus:n}),s&&/* @__PURE__ */y("div",{className:"pf-otp-error",children:s})]})},Xa=({firstFactorMethod:e,onSuccess:t,onError:a,trustDevice:s=!1})=>{const{challenge:r,isLoading:n,error:i,requestChallenge:o,verify:l,switchMethod:c,selectedMethod:d}=Nt(),[p,u]=T(""),[h,m]=T(!1);E(()=>{o(e)},[o,e]),E(()=>{i&&a&&a(i)},[i,a]);const g=async()=>{p&&await l(p,s)&&t?.()},f=e=>{u(e),6===e.length&&setTimeout(()=>{l(e,s).then(e=>{e&&t?.()})},100)};if(!r)/* @__PURE__ */return y("div",{className:"pf-two-factor-challenge pf-loading",children:/* @__PURE__ */y("p",{children:"Loading challenge..."})});const w=d||r.method,x=[r.method,...r.alternative_methods||[]];/* @__PURE__ */
82
+ return v("div",{className:"pf-two-factor-challenge",children:[
83
+ /* @__PURE__ */v("div",{className:"pf-challenge-method-info",children:[/* @__PURE__ */y("h3",{children:"Two-Factor Authentication"}),/* @__PURE__ */y("p",{children:"Enter the verification code"})]}),(()=>{switch(w){case"totp":case"email_otp":case"sms_otp":/* @__PURE__ */return v("div",{className:"pf-challenge-input-wrapper",children:[
84
+ /* @__PURE__ */y(Qa,{value:p,onChange:f,numInputs:6,error:i?.message,disabled:n,autoFocus:!0}),"email_otp"===w&&r.code_sent_to&&/* @__PURE__ */v("p",{className:"pf-challenge-hint",children:["Code sent to ",r.code_sent_to]}),"sms_otp"===w&&r.code_sent_to&&/* @__PURE__ */v("p",{className:"pf-challenge-hint",children:["Code sent to ",r.code_sent_to]}),
85
+ /* @__PURE__ */y("button",{type:"button",onClick:g,disabled:n||6!==p.length,className:"pf-button pf-button-primary",children:n?"Verifying...":"Verify"})]});case"passkey":/* @__PURE__ */return y("div",{className:"pf-challenge-input-wrapper",children:/* @__PURE__ */y("button",{type:"button",onClick:g,disabled:n,className:"pf-button pf-button-primary",children:n?"Verifying...":"Use Passkey"})});case"recovery_codes":/* @__PURE__ */return v("div",{className:"pf-challenge-input-wrapper",children:[/* @__PURE__ */y("input",{type:"text",value:p,onChange:e=>u(e.target.value),placeholder:"Enter recovery code",disabled:n,className:"pf-input"}),/* @__PURE__ */y("button",{type:"button",onClick:g,disabled:n||!p,className:"pf-button pf-button-primary",children:n?"Verifying...":"Verify"})]});default:/* @__PURE__ */return v("p",{children:["Unsupported method: ",w]})}})(),x.length>1&&/* @__PURE__ */y("button",{type:"button",onClick:()=>m(!0),className:"pf-button pf-button-secondary pf-button-switch-method",children:"Use different method"}),
86
+ /* @__PURE__ */y(Ka,{availableMethods:x,currentMethod:w,onSelectMethod:async e=>{u(""),await c(e)},isOpen:h,onClose:()=>m(!1)})]})},$a=({onSuccess:e,onUseRecovery:t,title:a="Two-Factor Authentication",subtitle:s,numInputs:r,shouldAutoFocus:n=!0,signInPath:i,twoFactorSetupPath:o})=>{const[l,c]=T(""),{verify:d,isLoading:p,isError:u,errorDetails:h,reset:m}=bt(),g=r??6,f=s??`Enter the ${g}-digit code from your authenticator app`,w=()=>{Ne.reset(),window.location.href=i||"/signin"},x=()=>{window.location.href=o||"/two-factor-setup"},C=!Ne.canRedirect(),b=p||"not_enabled"===h?.type||"expired"===h?.type||C;/* @__PURE__ */
87
+ return y(ya,{title:a,subtitle:f,className:"passflow-2fa-verify",children:/* @__PURE__ */v("form",{onSubmit:async t=>{t.preventDefault(),await d(l)&&e?.()},className:"passflow-form",children:[
88
+ /* @__PURE__ */v("div",{className:"passflow-form-container",children:[/* @__PURE__ */y("div",{className:"passflow-verify-otp-wrapper",children:/* @__PURE__ */y(O,{value:l,onChange:async t=>{(e=>{m(),c(e)})(t),t.length===g&&await d(t)&&e?.()},numInputs:g,shouldAutoFocus:n&&!b,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:Q("passflow-field-otp passflow-field-otp--focused",u&&"passflow-field-otp--error",b&&"passflow-field-otp--disabled"),inputType:"text",renderInput:e=>/* @__PURE__ */y("input",{...e,disabled:b})})}),u&&h?C?/* @__PURE__ */v("div",{className:"passflow-form-error passflow-form-error--critical",children:[/* @__PURE__ */y(Ye,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */v("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:Ne.getLoopDetectedMessage()}),i&&/* @__PURE__ */y(je,{type:"button",size:"medium",variant:"secondary",onClick:w,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===h.type?/* @__PURE__ */v("div",{className:"passflow-form-error passflow-form-error--persistent",children:[/* @__PURE__ */y(Ye,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */v("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:"You need to set up two-factor authentication first."}),/* @__PURE__ */v("div",{className:"passflow-form-error-actions",children:[o&&/* @__PURE__ */y(je,{type:"button",size:"medium",variant:"primary",onClick:x,className:"passflow-button-setup-2fa",children:"Set Up 2FA"}),i&&/* @__PURE__ */y(je,{type:"button",size:"medium",variant:"secondary",onClick:w,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]})]}):"expired"===h.type?/* @__PURE__ */v("div",{className:"passflow-form-info",children:[/* @__PURE__ */y(Ye,{size:"small",id:"info",type:"general",className:"icon-info"}),/* @__PURE__ */y("span",{className:"passflow-form-info-text",children:ne(h)})]}):/* @__PURE__ */v("div",{className:"passflow-form-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:ne(h)})]}):null]}),!b&&/* @__PURE__ */y(je,{size:"big",type:"submit",variant:"primary",disabled:l.length!==g||p,className:"passflow-button-signin",children:p?"Verifying...":"Verify"}),t&&!b&&/* @__PURE__ */y("div",{className:"passflow-form-actions",children:/* @__PURE__ */v("p",{className:"passflow-dont-have-account",children:["Lost your device?"," ",
89
+ /* @__PURE__ */y("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use recovery code"})]})})]})})},es=({onSuccess:e,onBack:t,title:a="Use Recovery Code",subtitle:s="Enter one of your recovery codes",signInPath:r})=>{const[n,i]=T(""),{useRecoveryCode:o,isLoading:l,isError:c,errorDetails:d,reset:p}=bt(),u=()=>{Ne.reset(),window.location.href=r||"/signin"},h=!Ne.canRedirect(),m=l||"not_enabled"===d?.type||"expired"===d?.type||h;/* @__PURE__ */
90
+ return y(ya,{title:a,subtitle:s,className:"passflow-2fa-recovery",children:/* @__PURE__ */v("form",{onSubmit:async t=>{t.preventDefault(),await o(n)&&e?.()},className:"passflow-form",children:[
91
+ /* @__PURE__ */y("div",{className:"passflow-form-container",children:/* @__PURE__ */v("div",{className:"passflow-form-field",children:[
92
+ /* @__PURE__ */y("label",{htmlFor:"recovery-code",className:Q("passflow-field-label",c&&"passflow-field-label--error"),children:"Recovery Code"}),
93
+ /* @__PURE__ */y("input",{id:"recovery-code",type:"text",value:n,onChange:e=>{p(),i(e.target.value.toUpperCase().replace(/\s/g,""))},placeholder:"XXXX-XXXX",className:Q("passflow-field passflow-field--text passflow-field--focused",c&&"passflow-field--error",m&&"passflow-field--disabled"),autoComplete:"off",disabled:m}),c&&d?h?/* @__PURE__ */v("div",{className:"passflow-form-error passflow-form-error--critical",children:[/* @__PURE__ */y(Ye,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */v("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:Ne.getLoopDetectedMessage()}),r&&/* @__PURE__ */y(je,{type:"button",size:"medium",variant:"secondary",onClick:u,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===d.type?/* @__PURE__ */v("div",{className:"passflow-form-error passflow-form-error--persistent",children:[/* @__PURE__ */y(Ye,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */v("div",{className:"passflow-form-error-content",children:[/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:ne(d)}),r&&/* @__PURE__ */y(je,{type:"button",size:"medium",variant:"secondary",onClick:u,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"expired"===d.type?/* @__PURE__ */v("div",{className:"passflow-form-info",children:[/* @__PURE__ */y(Ye,{size:"small",id:"info",type:"general",className:"icon-info"}),/* @__PURE__ */y("span",{className:"passflow-form-info-text",children:ne(d)})]}):/* @__PURE__ */v("div",{className:"passflow-form-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:ne(d)})]}):null]})}),!m&&/* @__PURE__ */y(je,{size:"big",type:"submit",variant:"primary",disabled:n.length<8||l,className:"passflow-button-signin",children:l?"Verifying...":"Verify"}),t&&!m&&/* @__PURE__ */y("div",{className:"passflow-form-actions",children:/* @__PURE__ */v("p",{className:"passflow-dont-have-account",children:["Have your device?"," ",
94
+ /* @__PURE__ */y("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use authenticator code"})]})})]})})},ts=e=>{switch(Pa(e)){case"cancelled":case"session-changed":return{status:"idle"};case"insufficient":return{status:"insufficient",obtained:Fa(e.obtained)??{},required:Fa(e.required)??{}};case"exhausted":return{status:"error",kind:"exhausted",error:e};case"unsatisfiable":return{status:"error",kind:"unsatisfiable",error:e};case"unavailable":return{status:"error",kind:"unavailable",error:e};default:return{status:"error",kind:"transport",error:e}}},as=e=>e.error??("failed"===e.proof.status?e.proof.reason:void 0)??/* @__PURE__ */new Error("The verification flight failed without reporting a reason."),ss=e=>void 0===e?"\0default":e.map(e=>e.type).join("\0"),rs=e=>void 0===e?"none":"string"==typeof e?`mode:${e}`:"function"==typeof e?"fn":`limits:${e.maxBodyBytes??""}:${e.allowStreamingBody??""}`,ns=({children:e,enabled:t=!0,backend:a,interceptFetch:s=!1,requireChallengeChannel:r,shouldIntercept:n,replay:i,onCancel:o,onUpgradeDiagnostic:l,factors:c,maxAttempts:d,relyingPartyId:p,labels:h,title:m,renderDialog:g})=>{const w=et(),[x,C]=T(null),[b,k]=T({status:"idle"}),[N,S]=T(null),[L,A]=T(!1),[P,F]=T(!1),[R,U]=T(void 0),[Y,z]=T(!1),j=_(void 0),D=_(null),V=_(!1),B=_(!1),G=_(!1),H=_(n),O=_(l);H.current=n,O.current=l;const Z=_(c),q=_(i);Z.current=c,q.current=i;const J=M(e=>{const t=q.current;return"function"!=typeof t||t(e)},[]),W=M(e=>{const t=j.current;return void 0!==t&&(j.current=void 0,t(e),!0)},[]),K=M(()=>{D.current=null,V.current=!1,C(null),S(null),F(!1),A(!1)},[]),Q=M(e=>new Promise(t=>{G.current?t({type:"cancel"}):(e.onRequirementRaised=t=>{C({challenge:t.challenge,factors:t.factors,previousError:e.previousError}),k({status:"challenged",challenge:t.challenge,factors:t.factors.map(e=>e.type)})},j.current=t,D.current=e,V.current=!1,B.current=!1,U(void 0),S(null),F(!1),A(!1),C({challenge:e.challenge,factors:e.factors,previousError:e.previousError}),k({status:"challenged",challenge:e.challenge,factors:e.factors.map(e=>e.type)}))}),[]),X=M(e=>{G.current=!1,k((e=>"success"===e.terminal?{status:"success"}:"insufficient"===e.terminal?{status:"insufficient",obtained:e.insufficient?.obtained??{},required:e.insufficient?.required??{}}:ts(as(e)))(e)),U(B.current?void 0:(e=>"success"===e.terminal?{kind:"elevated"}:"insufficient"===e.terminal?{kind:"insufficient",obtained:e.insufficient?.obtained??{},required:e.insufficient?.required??{}}:{kind:"failed",error:as(e)})(e)),K()},[K]);E(()=>{if(!t)return void z(!1);const e=w.upgrade.enable({prompt:Q,backend:a,interceptFetch:s,requireChallengeChannel:r,shouldIntercept:void 0===n?void 0:e=>!1!==H.current?.(e),replay:"function"==typeof q.current?J:q.current,onCancel:o,onUpgradeDiagnostic:void 0===l?void 0:e=>O.current?.(e),factors:Z.current,maxAttempts:d,relyingPartyId:p,onFlightSettled:X});return z(!0),()=>{W({type:"cancel"}),e(),z(!1)}},[w,t,Array.isArray(a)?a.join("\0"):a,s,r,void 0===n,void 0===l,rs(i),J,o,ss(c),d,p,Q,X,W]),Ee!==w&&Le(w),E(()=>Le(w),[w]),E(()=>{const e={onAuthChange:()=>{G.current=!1,W({type:"cancel"}),K(),U(void 0),k({status:"idle"})}},t=[u.SignIn,u.SignOut];return w.subscribe(e,t),()=>w.unsubscribe(e,t)},[w,W,K]);const $=M(e=>{S(e),D.current?.onFactorSelected(e),V.current=!0},[]),ee=M(e=>{const t=D.current;if(null===t||void 0===j.current)return;const a=N??t.factors[0]?.type;void 0!==a&&(V.current||(t.onFactorSelected(a),V.current=!0),A(!0),k({status:"submitting"}),W({type:"submit",factor:a,code:e}))},[N,W]),te=M(()=>{B.current=!0,G.current=!0,W({type:"cancel"})||U(void 0),K(),k({status:"idle"})},[W,K]),ae=M(()=>{U(void 0)},[]),se=M(()=>{F(e=>!e)},[]),re=M(async e=>{const t=(e=>{if(void 0!==e)return Fa({acrValues:e.acrValues,level:f(e.acrValues),maxAge:e.maxAge})})(e),a=void 0===t?{kind:"imperative"}:{kind:"imperative",requested:t};try{return await w.upgrade.elevate((e=>({acrValues:e?.acrValues,requiredLevel:f(e?.acrValues),maxAge:e?.maxAge,status:403,channels:[]}))(e),a),{status:"success"}}catch(s){return"cancelled"===Pa(s)?null:ts((e=>e instanceof Error?e:new Error(String(e)))(s))}},[w]),ne=I(()=>({enabled:t&&Y,state:b,prompt:x,selectedFactor:N,selectFactor:$,submit:ee,cancel:te,dismiss:ae,elevate:re}),[t,Y,b,x,N,$,ee,te,ae,re]),ie=ja({prompt:null===x?null:{challenge:x.challenge,factors:x.factors,previousError:x.previousError},outcome:R,ui:{selected:N,busy:L,showAlternatives:P},labels:h,handlers:{onSelectFactor:$,onToggleAlternatives:se,onSubmit:ee,onCancel:te,onDismiss:ae}}),oe={open:null!==x||void 0!==R,title:m,state:ie};/* @__PURE__ */
95
+ return v(Qe.Provider,{value:ne,children:[e,void 0===g?/* @__PURE__ */y(Oa,{...oe}):g(oe)]})},is=/\/auth\/(login|passwordless|passkey|2fa|session\/exchange)\b|\/auth\/federated\/start\b/,os=()=>{if("undefined"==typeof window)return;const e=new URLSearchParams(window.location.search);return new URLSearchParams(Array.from(e,([e,t])=>[e.toLowerCase(),t])).get("parent_challenge_id")||void 0},ls=os(),cs=!1,ds=()=>cs,ps=e=>{E(()=>{if(!e||"undefined"==typeof window)return;const t=e=>is.test(e),a=t=>{if(t)try{const a=JSON.parse(t);if("parent_challenge_id"in a)return;return a.parent_challenge_id=e,JSON.stringify(a)}catch{return}},s=e=>{if(e)try{const t=JSON.parse(e);"string"==typeof t.redirect_url&&t.redirect_url&&(cs=!0,window.location.assign(t.redirect_url))}catch{}},r=g(async(e,r,n)=>{let i="";"string"==typeof r?i=r:r instanceof URL?i=r.toString():r instanceof Request&&(i=r.url);const o=n?.method?.toUpperCase()??"GET";let l=n;if("POST"===o&&t(i)&&"string"==typeof n?.body){const e=a(n.body);void 0!==e&&(l={...n,body:e})}const c=await e(r,l);if(c.ok&&t(i))try{const e=await c.clone().text();s(e)}catch{}return c},{priority:d,name:"passflow-oidc-authflow"}),n=XMLHttpRequest.prototype.open,i=XMLHttpRequest.prototype.send,o=/* @__PURE__ */new WeakMap;return XMLHttpRequest.prototype.open=function(e,a,...r){const i="string"==typeof a?a:a.toString();o.set(this,{method:e?.toUpperCase(),url:i,isAuth:t(i)}),this.addEventListener("load",()=>{o.get(this)?.isAuth&&this.status>=200&&this.status<300&&s("string"==typeof this.responseText?this.responseText:null)}),n.call(this,e,a,...r)},XMLHttpRequest.prototype.send=function(e){const t=o.get(this);let s=e;if(t?.isAuth&&"POST"===t.method&&"string"==typeof e){const t=a(e);void 0!==t&&(s=t)}i.call(this,s)},()=>{r(),XMLHttpRequest.prototype.open=n,XMLHttpRequest.prototype.send=i}},[e])},us=(e,t,a,s)=>{const[r,n]=T("idle"),[i,o]=T(void 0),l=_(!1);return E(()=>{if(!e||l.current)return;if("undefined"!=typeof window&&"/oidc/device"===window.location.pathname)return;if(!s)return;l.current=!0;(async()=>{let r;try{const t=`${a??""}/oidc/requests/${encodeURIComponent(e)}`,s=await fetch(t);s.ok&&(r=await s.json(),o(r))}catch{}if(r?.oidc_prompt_login)n("fallback_to_login");else{if(r?.max_age&&r.max_age>0){const e=t.getParsedTokens?.(),a=e?.access_token?.payload,s=e?.id_token?.payload,i=a?.auth_time??s?.auth_time;if(i&&"number"==typeof i&&Math.floor(Date.now()/1e3)-i>r.max_age)return void n("fallback_to_login")}n("exchanging");try{let i;try{i=(await t.getTokens(!1))?.access_token}catch{}const o=a??"",l={"Content-Type":"application/json"};i&&(l.Authorization=`Bearer ${i}`),s&&(l["X-Passflow-ClientID"]=s);const c=await fetch(`${o}/auth/session/exchange`,{method:"POST",credentials:"include",headers:l,body:JSON.stringify({parent_challenge_id:e})});if(c.ok){try{if((await c.json()).redirect_url)return}catch{}return void n("fallback_to_login")}if(403===c.status)return void n("fallback_to_login");if(401===c.status||400===c.status){if(r?.oidc_prompt_none&&r.redirect_uri){const e=new URL(r.redirect_uri);return e.searchParams.set("error","login_required"),e.searchParams.set("error_description","user is not authenticated"),r.state&&e.searchParams.set("state",r.state),void window.location.assign(e.toString())}return void n("fallback_to_login")}n("fallback_to_login")}catch{n("fallback_to_login")}}})()},[e,t,a,s]),{exchangeState:r,parentMeta:i}},hs=({appName:e})=>/* @__PURE__ */y("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100vh",fontFamily:"system-ui, sans-serif",fontSize:"1rem",color:"#444"},children:e?`Continuing to ${e}…`:"Continuing…"}),ms=C.createContext({exchangeState:"idle"}),gs=({children:e,navigate:t,router:a="default",backend:s,upgrade:r,...n})=>{const i=!n.appId,[o,l]=A(Oe,{...Ge,...n,isDiscoveringAppId:i}),[c,d]=T(()=>t||qe),u=I(()=>new p(o),[o]),h=I(()=>os()??ls,[]);ps(h);const{exchangeState:m,parentMeta:g}=us(h,u,n.url,o.appId),f=_(!1);E(()=>{if(i&&!f.current&&o.isDiscoveringAppId){f.current=!0;(async()=>{const e=["/settings"];n.url&&e.push(`${n.url}/settings`);for(const a of e)try{const e=await fetch(a);if(e.ok){const t=await e.json(),a=t.login_app?.app_id||t.appId;if(a)return u.setAppId(a),void l({type:"SET_PASSFLOW_STATE",payload:{...o,appId:a,scopes:t.login_app?.scopes||t.scopes||o.scopes,createTenantForNewUser:t.login_app?.create_tenant_for_new_user??t.createTenantForNewUser??o.createTenantForNewUser,isDiscoveringAppId:!1}})}}catch(t){}console.warn("Failed to discover appId from /settings"),l({type:"SET_PASSFLOW_STATE",payload:{...o,isDiscoveringAppId:!1}})})()}},[i,o.isDiscoveringAppId,n.url,u,o]);const w=I(()=>({state:o,dispatch:l,passflow:u}),[o,u]),v=M(e=>{d(()=>e||qe)},[]),x=I(()=>({navigate:c,setNavigate:v,router:a}),[c,v,a]),C=I(()=>({parentChallengeId:h,parentMeta:g,exchangeState:m}),[h,g,m]),b=!1!==r&&(void 0!==r||void 0!==s),k=I(()=>"object"==typeof r&&null!==r?r:{},[r]);/* @__PURE__ */
96
+ return y(He.Provider,{value:w,children:/* @__PURE__ */y(Je.Provider,{value:x,children:/* @__PURE__ */y(ms.Provider,{value:C,children:/* @__PURE__ */y(Ke,{children:/* @__PURE__ */y(ns,{...k,enabled:b,backend:s,children:"exchanging"===m?/* @__PURE__ */y(hs,{appName:g?.app_name}):e})})})})})},fs=({successAuthRedirect:e,signInPath:t=Ze.signin.path,twoFactorSetupPath:a=Ze.two_factor_setup?.path??"/two-factor-setup",useV2Flow:s=!1})=>{const[r,n]=T("verify"),[i,o]=T(!1),{navigate:l}=vt(),c=et(),{errorType:d}=bt();E(()=>{c.isTwoFactorVerificationRequired()||(Ne.canRedirect()?(Ne.incrementRedirect(),l({to:t}),o(!0)):o(!1))},[c,l,t]),E(()=>{"expired"===d?Ne.canRedirect()&&(Ne.incrementRedirect(),Ne.setLastErrorType("expired"),setTimeout(()=>{l({to:t})},1500)):"not_enabled"===d&&Ne.setLastErrorType("not_enabled")},[d,l,t]);const p=async()=>{Ne.reset(),ds()||e&&(W(e)?window.location.href=await K(c,e):l({to:e}))};return i||!c.isTwoFactorVerificationRequired()&&Ne.canRedirect()?null:s?/* @__PURE__ */y(Xa,{onSuccess:p}):/* @__PURE__ */y(w,{children:"verify"===r?/* @__PURE__ */y($a,{onSuccess:p,onUseRecovery:()=>{n("recovery")},signInPath:t,twoFactorSetupPath:a}):/* @__PURE__ */y(es,{onSuccess:p,onBack:()=>{n("verify")},signInPath:t})})},ws=({error:e="Something went wrong",goBackRedirectTo:t})=>{const{navigate:a}=vt(),{currentStyles:s,loginAppTheme:r}=dt();/* @__PURE__ */
97
+ return y(xa,{chrome:{title:"",customCss:s?.custom_css,customLogo:s?.logo_url,customLogoAlt:`${r?.application_name??"Application"} logo`,removeBranding:r?.remove_passflow_logo},state:{kind:"general-error",message:e,onAction:()=>{W(t)?window.location.href=t:a({to:t})}}})},ys=["verify-challenge-otp","password/reset","two-factor-verify","two-factor-recovery"],vs=(e,t)=>a=>{const s=N(He),{successAuthRedirect:r}=a,{pathname:n}=window.location;return ys.some(e=>n.includes(e))?/* @__PURE__ */y(Z,{FallbackComponent:({error:e})=>/* @__PURE__ */y(t,{goBackRedirectTo:r??"/",error:e.message}),children:/* @__PURE__ */y(e,{...a})}):s?.state.isDiscoveringAppId?null:s?.state.appId?/* @__PURE__ */y(Z,{FallbackComponent:({error:e})=>/* @__PURE__ */y(t,{goBackRedirectTo:r??"/",error:e.message}),children:/* @__PURE__ */y(e,{...a})}):/* @__PURE__ */y(t,{goBackRedirectTo:r??"/",error:"Missing appId"})},xs=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signUpPath:r=Ze.signup.path,verifyOTPPath:i=Ze.verify_otp.path,verifyMagicLinkPath:o=Ze.verify_magic_link.path,forgotPasswordPath:l=Ze.forgot_password.path,twoFactorVerifyPath:c=Ze.two_factor_verify.path})=>{const d=et(),{navigate:p}=vt(),{appSettings:u,scopes:h,createTenantForNewUser:m,passwordPolicy:g,currentStyles:f,isError:w,error:v,loginAppTheme:x}=dt(),{federatedWithRedirect:C}=st(t,m);if(w)throw new Error(v);const b=I(()=>$(u?.auth_strategies),[u]),k=I(()=>(e=>{const t=[];if(e.hasSignInEmailMethods||e.hasSignInUsernameMethods){const a=ee(e,"label")??"Email or username";t.push({id:"email_or_username",label:a,selectLabel:ee(e,"button")??"Use email",requiredMessage:`${a} is required`,format:e.hasSignInEmailMethods&&!e.hasSignInUsernameMethods?"email":void 0,password:e.internal.email.password||e.internal.username.password,passwordlessLabel:te(e,"email_or_username")?.label})}return e.hasSignInPhoneMethods&&t.push({id:"phone",label:"Phone number",selectLabel:"Use phone",requiredMessage:"Phone number is required",password:e.internal.phone.password,passwordlessLabel:te(e,"phone")?.label}),{identities:t,passkey:e.passkey,providers:e.fim.providers}})(b),[b]),{error:M,message:N}=se();if(M)throw console.error("[passflow] sign-in redirect returned an error",{error:M,message:N}),new Error(fe);const{get:E}=ae({invite_token:""}),S=E("invite_token"),L=Ce(S,"sign-in"),{fetch:A,isError:_,error:T,reset:F,isLoading:R}=tt(),U=async()=>{if(d.isTwoFactorVerificationRequired())return void p({to:c??Ze.two_factor_verify.path});if(ds()||(os()&&console.error("[passflow] login took the legacy token path while parent_challenge_id is present on the URL — the OIDC interceptor did not engage and the RP redirect will not happen"),0))return;const e=t??u?.defaults?.redirect??"";W(e)?window.location.href=await K(d,e):p({to:e})},Y=async e=>{const t=Boolean(e.emailOrUsername.match(q)),a="email_or_username"===e.method&&!t&&n(e.emailOrUsername)>0,r=D(e.phone),i={...t&&{email:e.emailOrUsername},...a&&{username:e.emailOrUsername},...r.isValid&&{phone:r.phoneNumber},scopes:h,password:e.password};await(async e=>{const t={...e,...!s(S)&&{invite_token:S}};await A(t,"password")&&await U()})(i)},z=async a=>{const r=Boolean(a.emailOrUsername.match(q)),n=D(a.phone),l={...r&&{email:a.emailOrUsername},...n.isValid&&{phone:n.phoneNumber},scopes:h};await(async(a,r)=>{const n=te(b,r)?.challengeType,l={...a,challenge_type:n,create_tenant:m,redirect_url:t??u?.defaults?.redirect,...!s(S)&&{invite_token:S}},c=await A(l,"passwordless");if(!c)return;const d=c,h=new URLSearchParams(window.location.search),g=P.stringify({...Object.fromEntries(h.entries()),...l,...d,type:"passwordless",challenge_type:n,create_tenant:m});e(n,"otp")&&p({to:i??Ze.verify_otp.path,search:g}),e(n,"magic_link")&&p({to:o??Ze.verify_magic_link.path,search:g})})(l,a.method)},j=async()=>{await(async e=>{const t={...e,...!s(S)&&{invite_token:S}};await A(t,"passkey")&&await U()})({relying_party_id:a,scopes:h})};/* @__PURE__ */
98
+ return y(xa,{chrome:{title:L?.title??"Sign In to your account",subtitle:L?.subtitle??"To Passflow by Madappgang",variant:"sign-in",customCss:f?.custom_css,customLogo:f?.logo_url,customLogoAlt:`${x?.application_name??"Application"} logo`,removeBranding:x?.remove_passflow_logo},state:{kind:"credentials",methods:k,passwordPolicy:g,forcePasskey:Boolean(u?.force_passwordless_login&&b.passkey),allowPasskeyToggle:!0,busy:R,primaryLabel:R?"Signing in…":"Sign In",error:_?T:null,forgotPassword:{to:l??Ze.forgot_password.path,getSearch:e=>P.stringify({...P.parse(window.location.search),default_method:e})},footer:{prompt:"Don't have an account?",label:"Sign Up",to:r??Ze.signup.path,search:window.location.search},onPassword:e=>{Y(e)},onPasswordless:e=>{z(e)},onPasskey:()=>{j()},onProvider:e=>C(e,S??void 0),onReset:F}})},Cs=vs(xs,ws),bs=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signInPath:s=Ze.signin.path,verifyOTPPath:r=Ze.verify_otp.path,verifyMagicLinkPath:n=Ze.verify_magic_link.path})=>{const i=et(),{navigate:o}=vt(),{appSettings:l,scopes:c,createTenantForNewUser:d,passwordPolicy:p,currentStyles:u,isError:h,error:m,loginAppTheme:g}=dt(),{federatedWithRedirect:f}=st(t,d);if(h)throw new Error(m);const w=I(()=>$(l?.auth_strategies),[l]),v=I(()=>(e=>{const t=[];if(e.hasEmailMethods||e.hasUsernameMethods){const a=e.hasEmailMethods&&e.hasUsernameMethods?"Email or username":e.hasUsernameMethods?"Username":"Email";t.push({id:"email_or_username",label:a,selectLabel:e.hasUsernameMethods&&!e.hasEmailMethods?"Use username":"Use email",requiredMessage:`${a} is required`,format:e.hasEmailMethods&&!e.hasUsernameMethods?"email":void 0,password:e.internal.email.password||e.internal.username.password,passwordlessLabel:te(e,"email_or_username")?.label})}return e.hasPhoneMethods&&t.push({id:"phone",label:"Phone number",selectLabel:"Use phone",requiredMessage:"Phone number is required",password:e.internal.phone.password,passwordlessLabel:te(e,"phone")?.label}),{identities:t,passkey:e.passkey,providers:e.fim.providers}})(w),[w]),{error:x,message:C}=se();if(x)throw console.error("[passflow] sign-up redirect returned an error",{error:x,message:C}),new Error(fe);const{get:b}=ae({invite_token:""}),k=b("invite_token"),M=Ce(k,"sign-up"),{fetch:N,isError:E,error:S,reset:L,isLoading:A}=rt(),_=async()=>{const e=t??l?.defaults?.redirect??"";W(e)?window.location.href=await K(i,e):o({to:e})},T=async e=>{const t=Boolean(e.emailOrUsername.match(q)),a="email_or_username"===e.method&&!t&&e.emailOrUsername.length>0,s=D(e.phone),r={...t?{email:e.emailOrUsername}:{},...a?{username:e.emailOrUsername}:{},...s.isValid?{phone_number:s.phoneNumber}:{},password:e.password,scopes:c};await(async e=>{const t={user:e,create_tenant:d,...k?{invite_token:k}:{}};await N(t,"password")&&await _()})(r)},F=async a=>{const s=Boolean(a.emailOrUsername.match(q)),i=D(a.phone),p={...s?{email:a.emailOrUsername}:{},...i.isValid?{phone:i.phoneNumber}:{},scopes:c};await(async(a,s)=>{const i=te(w,s)?.challengeType,c={...a,challenge_type:i,create_tenant:d,redirect_url:t??l?.defaults?.redirect,...k?{invite_token:k}:{}},p=await N(c,"passwordless");if(!p)return;const u=p,h=new URLSearchParams(window.location.search),m=P.stringify({...Object.fromEntries(h.entries()),...c,...u,type:"passwordless",challenge_type:i,create_tenant:d});e(i,"otp")&&o({to:r??Ze.verify_otp.path,search:m}),e(i,"magic_link")&&o({to:n??Ze.verify_magic_link.path,search:m})})(p,a.method)};/* @__PURE__ */
99
+ return y(xa,{chrome:{title:M?.title??"Create your account",subtitle:M?.subtitle??"For Passflow by Madappgang",variant:"sign-in",customCss:u?.custom_css,customLogo:u?.logo_url,customLogoAlt:`${g?.application_name??"Application"} logo`,removeBranding:g?.remove_passflow_logo},state:{kind:"credentials",methods:v,passwordPolicy:p,credentialPurpose:"sign-up",forcePasskey:Boolean(l?.force_passwordless_login&&w.passkey),allowPasskeyToggle:!0,busy:A,primaryLabel:A?"Creating account…":"Sign Up",passwordlessLabelPrefix:"Sign Up with",passkeyLabel:"Sign Up with a Passkey",error:E?S:null,footer:{prompt:"Already have an account?",label:"Sign In",to:s??Ze.signin.path,search:window.location.search},onPassword:e=>{T(e)},onPasswordless:e=>{F(e)},onPasskey:()=>{(async()=>{const e={relying_party_id:a,create_tenant:d,redirect_url:t??l?.defaults?.redirect??"",...k?{invite_token:k}:{},scopes:c};if(await N(e,"passkey")){if(ds())return;await _()}})()},onProvider:e=>f(e,k??void 0),onReset:L}})},ks=vs(bs,ws),Ms={email:"email address",phone:"phone number"},Ns=()=>{const{currentStyles:t,loginAppTheme:a}=dt(),{fetch:s}=tt(),{get:r}=ae({identity:"",identity_value:"",challenge_type:"",type:"",redirect_url:""}),n=r("email")?"email":r("phone")?"phone":void 0,i=r("email")?r("email"):r("phone")?r("phone"):void 0,o=r("challenge_type"),l=r("type"),c=r("redirect_url");/* @__PURE__ */
100
+ return y(ya,{title:"Check your email",className:"passflow-verify-challenge-magic-link-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:/* @__PURE__ */v("div",{className:"passflow-verify-challenge-magic-link-container",children:[/* @__PURE__ */v("p",{className:"passflow-verify-challenge-magic-link-text",children:["We sent a link to ",Ms[n]," ",i&&/* @__PURE__ */y("strong",{className:"passflow-verify-challenge-magic-link-text--strong",children:i}),". Click on the link to confirm your registration."]}),"passwordless"===l&&/* @__PURE__ */y(je,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-magic-link",onClick:async()=>{const t={...e(n,"email")?{email:i}:void 0,...e(n,"phone")?{phone:i}:void 0,challenge_type:o,redirect_url:c};await s(t,l)},children:"Resend email"})]})})},Es=({totalSecond:e,onClick:t,className:a="",...s})=>{const[r,n]=T(e);E(()=>{const e=setInterval(()=>{r>0&&n(e=>e-1)},1e3);return()=>{clearInterval(e)}},[r]);/* @__PURE__ */
101
+ return v(je,{disabled:r>0,size:"small",variant:"clean",type:"button",className:Q("passflow-button-timer",{"passflow-button-timer--active":r>0,"passflow-button-timer--inactive":0===r},a),onClick:()=>{t(),n(e)},...s,children:["Resend ",r>0?`(${r})`:""]})},Ss=()=>{const{currentStyles:e,loginAppTheme:t}=dt();/* @__PURE__ */
102
+ return y(ya,{iconId:"logo",className:"passflow-verify-challenge-success-wrapper",customCss:e?.custom_css,customLogo:e?.logo_url,removeBranding:t?.remove_passflow_logo,children:/* @__PURE__ */y("div",{className:"passflow-verify-challenge-success-wrapper",children:/* @__PURE__ */v("div",{className:"passflow-verify-challenge-success-container",children:[/* @__PURE__ */y("p",{className:"passflow-verify-challenge-success-text",children:"Successful verification!"}),/* @__PURE__ */y("p",{className:"passflow-verify-challenge-success-text-secondary",children:"But there is no redirect URL for further redirect."})]})})})},Ls={email:"email address",phone:"phone number"},Is=({identity:e,identityValue:t,challengeType:a,challengeId:s,type:r,numInputs:n,shouldAutoFocus:i,successAuthRedirect:o,signUpPath:l})=>{const c=et(),{appSettings:d,createTenantForNewUser:p,currentStyles:u,loginAppTheme:h}=dt(),{navigate:m}=vt(),{fetch:g}=tt(),{fetch:f,isError:w,error:x}=pt(),[C,b]=T(""),[k,M]=T(null),[N,S]=T(!1),{set:L}=ae();if(E(()=>{if(C.length===n&&s){const e={challenge_id:s,challenge_type:"otp",otp:C};(async()=>{const t=await f(e);t&&(t.redirect_url?W(t.redirect_url)?window.location.href=await K(c,t.redirect_url):m({to:t.redirect_url}):S(!0))})()}},[C,n,f,s,m,c]),k)throw new Error(k);if(N)/* @__PURE__ */return y(Ss,{});/* @__PURE__ */
103
+ return v(ya,{title:`Verify your ${e}`,subtitle:`We sent OTP code to your ${Ls[e]}`,className:"passflow-verify-otp",customCss:u?.custom_css,customLogo:u?.logo_url,removeBranding:h?.remove_passflow_logo,children:[/* @__PURE__ */v("div",{className:"passflow-verify-otp-container",children:[t&&/* @__PURE__ */v(je,{size:"big",type:"button",variant:"outlined",className:"passflow-verify-otp-button",withIcon:!0,onClick:()=>m({to:l}),children:[
104
+ /* @__PURE__ */y(Ye,{id:"email"===e?"mail":"phone",type:"general",size:"small"}),t,
105
+ /* @__PURE__ */y(Ye,{id:"edit",type:"general",size:"small",className:"passflow-verify-otp-button-icon"})]}),/* @__PURE__ */v("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[/* @__PURE__ */y(O,{value:C,onChange:e=>b(e),numInputs:n,shouldAutoFocus:i,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:Q("passflow-field-otp passflow-field-otp--focused",w&&"passflow-field-otp--error"),inputType:"text",renderInput:e=>/* @__PURE__ */y("input",{...e})}),w&&/* @__PURE__ */v("div",{className:"passflow-verify-otp-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-verify-otp-error-text",children:x})]})]})]}),"passwordless"===r&&/* @__PURE__ */v("p",{className:"passflow-verify-otp-resend",children:["Don't receive a code?",/* @__PURE__ */y(Es,{totalSecond:30,onClick:()=>{(async()=>{if(r&&e&&t&&a){const s={create_tenant:p,challenge_type:a,redirect_url:o??d?.defaults?.redirect??"",..."email"===e?{email:t}:{phone:t}},n=await g(s,r);n?L({challenge_id:n.challenge_id}):M("Something went wrong. Please try again later.")}})()}})]})]})},As=({otp:e,challengeId:t,appId:a})=>{const s=et(),{navigate:r}=vt(),[n,i]=T(null),[o,l]=T(!1),{fetch:c,isError:d,error:p,isLoading:u}=pt();if(E(()=>{(async()=>{if(!a||!e||!t){const s=[!a&&"app_id",!e&&"otp",!t&&"challenge_id"].filter(Boolean);return console.error("[passflow] passwordless verification redirect is missing required parameters",s),void i(we)}if(!u){const a=await c({otp:e,challenge_id:t});a?a.redirect_url?W(a.redirect_url)?window.location.href=await K(s,a.redirect_url):r({to:a.redirect_url}):l(!0):i(ye)}})()},[]),d&&p)throw new Error(p);if(n)throw new Error(n);return o?/* @__PURE__ */y(Ss,{}):null},_s=o.object().shape({appId:o.string().required(),challengeId:o.string().required(),otp:o.string().required()}),Ts=o.object().shape({challengeId:o.string().required(),identity:o.string().oneOf(["email","phone"]).required(),identityValue:o.string().required(),challengeType:o.string().required(),type:o.string().oneOf(["passwordless","passkey"]).optional()}),Ps=({successAuthRedirect:e,numInputs:t,shouldAutoFocus:a,signUpPath:s})=>{const{get:r}=ae({otp:"",app_id:"",challenge_id:"",identity:"",identity_value:"",challenge_type:"",type:""}),n=r("type");if("passwordless"!==n&&"passkey"!==n){const e={appId:r("app_id"),challengeId:r("challenge_id"),otp:r("otp")};try{_s.validateSync(e,{abortEarly:!1})}catch(u){throw console.error("[passflow] invalid passwordless verification redirect",u),new Error(we)}const{appId:t,otp:a,challengeId:s}=e;/* @__PURE__ */
106
+ return y(As,{appId:t,challengeId:s,otp:a})}const i={challengeId:r("challenge_id"),identity:r("email")?"email":r("phone")?"phone":null,identityValue:r("email")?r("email"):r("phone")?r("phone"):null,challengeType:r("challenge_type"),type:r("type")};try{Ts.validateSync(i,{abortEarly:!1})}catch(u){throw console.error("[passflow] invalid passwordless verification link",u),new Error(we)}const{challengeId:o,identity:l,identityValue:c,challengeType:d,type:p}=i;if(!p)throw console.error("[passflow] passwordless verification link is missing its flow type"),new Error(we);/* @__PURE__ */
107
+ return y(Is,{identity:l,identityValue:c,challengeType:d,challengeId:o,type:p,numInputs:t,shouldAutoFocus:a,signUpPath:s,successAuthRedirect:e})},Fs={email_or_username:"",phone:""},Rs=o.object().shape({defaultMethod:o.string().oneOf(["email_or_username","phone"]).required()}),Us=({successResetRedirect:a,signInPath:s=Ze.signin.path,forgotPasswordSuccessPath:r=Ze.forgot_password_success.path})=>{const{getValues:i,control:o,register:l,formState:{errors:c,isDirty:d,isValid:p}}=B({defaultValues:Fs}),{appSettings:u,currentStyles:h,isError:m,error:g,loginAppTheme:f}=dt();if(m)throw new Error(g);const x=I(()=>$(u?.auth_strategies),[u]),{navigate:C}=vt(),{get:b}=ae({default_method:""}),k={defaultMethod:b("default_method")};try{Rs.validateSync(k,{abortEarly:!1})}catch(T){throw new Error("Invalid default method param")}const{defaultMethod:M}=k,{fetch:N,error:E,isError:S,isLoading:L}=nt(),A=e(M,"email_or_username")?"Enter the email address you used when you joined and we’ll send you instructions to reset your password.":"Enter the mobile phone number you used when you joined and we’ll send you the reset link.",_=e(M,"email_or_username")?"For security reasons, we do NOT store your password. So rest assured that we will never send your password via email.":"For security reasons, we do NOT store your password. So rest assured that we will never send your password via SMS.";/* @__PURE__ */
108
+ return v(ya,{title:"Forgot password?",subtitle:A,className:"passflow-forgot-password-wrapper",customCss:h?.custom_css,customLogo:h?.logo_url,removeBranding:f?.remove_passflow_logo,children:[/* @__PURE__ */y("span",{className:"passflow-form-subscriptions",children:_}),/* @__PURE__ */v("form",{onSubmit:e=>e.preventDefault(),className:"passflow-form",children:[/* @__PURE__ */y("div",{className:"passflow-form-container",children:/* @__PURE__ */v("div",{className:"passflow-form-field",children:[e(M,"email_or_username")&&/* @__PURE__ */v(w,{children:[/* @__PURE__ */y("div",{className:"passflow-form-field__header",children:/* @__PURE__ */y("label",{htmlFor:"identity",className:Q("passflow-field-label",{"passflow-field-label--error":S}),children:ee(x,"label")})}),/* @__PURE__ */y(V,{name:"email_or_username",control:o,rules:{required:"Email is required",pattern:{value:q,message:"Invalid email"}},render:({field:e})=>/* @__PURE__ */y(De,{...e,...l("email_or_username"),isError:S||t(c,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})})]}),e(M,"phone")&&/* @__PURE__ */v(w,{children:[/* @__PURE__ */y("div",{className:"passflow-form-field__header",children:/* @__PURE__ */y("label",{htmlFor:"phone",className:Q("passflow-field-label",{"passflow-field-label--error":S}),children:"Phone"})}),/* @__PURE__ */y(V,{name:"phone",control:o,rules:{required:"Phone is required",validate:e=>!!D(e).isValid||"Invalid phone number"},render:({field:e})=>/* @__PURE__ */y(jt,{...e,...l("phone"),onChange:t=>e.onChange(t),id:"phone",name:"phone",isError:S||t(c,"phone"),ref:null})})]}),S&&/* @__PURE__ */v("div",{className:"passflow-form-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:E})]})]})}),/* @__PURE__ */v("div",{className:"passflow-send-reset-wrapper",children:[/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"button",disabled:!d||!p||L,className:"passflow-button-send-reset-password",onClick:async()=>{const e=i(),t=e.email_or_username.match(q),s=!t&&n(e.email_or_username)>0,o=D(e.phone),l=o.isValid,c={...t&&{email:e.email_or_username},...s&&{username:e.email_or_username},...l&&{phone:o.phoneNumber},redirect_url:a??u?.defaults?.redirect};if(await N(c)){const e=new URLSearchParams(window.location.search),t=P.stringify({...Object.fromEntries(e.entries()),...c});C({to:r,search:t})}},children:"Send reset instructions"}),/* @__PURE__ */v("p",{className:"passflow-remember-password",children:["Remember your password?"," ",
109
+ /* @__PURE__ */y(Vt,{to:s??Ze.signin.path,className:"passflow-link",children:"Sign In"})," "]})]})]})]})},Ys=o.object().shape({identity:o.string().oneOf(["email","phone"]).required(),identityValue:o.string().required(),redirectUrl:o.string().required()}),zs=()=>{const{currentStyles:t,loginAppTheme:a}=dt(),{fetch:s}=nt(),{get:r}=ae(),n={identity:r("email")?"email":r("phone")?"phone":null,identityValue:r("email")?r("email"):r("phone")?r("phone"):null,redirectUrl:r("redirect_url")};try{Ys.validateSync(n,{abortEarly:!1})}catch(i){throw console.error("[passflow] invalid password-reset confirmation link",i),new Error(we)}/* @__PURE__ */
110
+ return y(ya,{title:`Check your ${n.identity}`,className:"passflow-forgot-password-success-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:/* @__PURE__ */v("div",{className:"passflow-forgot-password-success-container",children:[/* @__PURE__ */v("p",{className:"passflow-forgot-password-success-text",children:["We sent a link to ",e(n.identity,"phone")?"phone number":"email address"," ",
111
+ /* @__PURE__ */y("strong",{className:"passflow-forgot-password-success-text--strong",children:n.identityValue}),". Click the link to reset your password."]}),/* @__PURE__ */v(je,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-reset-password",onClick:async()=>{const e={..."email"===n.identity?{email:n.identityValue}:void 0,..."phone"===n.identity?{phone:n.identityValue}:void 0,redirect_url:n.redirectUrl};await s(e)},children:["Resend ",e(n.identity,"email")?"email":"SMS"]})]})})},js={password:""},Ds=o.object().shape({token:o.string().required()}),Vs=({successAuthRedirect:e})=>{const{getValues:a,control:s,register:r,trigger:n,formState:{errors:i,isDirty:o,isValid:l},clearErrors:c,setError:d}=B({defaultValues:js}),p=et(),{appSettings:u}=dt(),{fetch:h,error:g,isError:f,isLoading:w}=it(),{navigate:x}=vt(),{get:C}=ae(),{passwordPolicy:b,currentStyles:k,isError:M,error:N,loginAppTheme:E}=dt();if(M)throw new Error(N);const S={token:C("token")};try{Ds.validateSync(S,{abortEarly:!1})}catch(A){throw new Error("Invalid reset token.")}const{token:L}=S,I=L?X(m)(L):void 0;/* @__PURE__ */
112
+ return v(ya,{title:"Reset password",subtitle:"Let’s get you back in.",className:"passflow-reset-password-wrapper",customCss:k?.custom_css,customLogo:k?.logo_url,removeBranding:E?.remove_passflow_logo,children:[/* @__PURE__ */y("span",{className:"passflow-reset-password-text",children:"Enter your new password below."}),/* @__PURE__ */v("form",{onSubmit:t=>{t.preventDefault(),(async()=>{const t=a(),s=I;await h(t.password)&&(W(s?.redirect_url??e??u?.defaults?.redirect)?window.location.href=await K(p,s?.redirect_url??e??u?.defaults?.redirect):x({to:s?.redirect_url??e??u?.defaults?.redirect}))})()},className:"passflow-form passflow-reset-password-form",children:[/* @__PURE__ */y("div",{className:"passflow-form-container",children:/* @__PURE__ */v("div",{className:"passflow-form-field",children:[
113
+ /* @__PURE__ */y("div",{className:"passflow-form-field__header",children:/* @__PURE__ */y("label",{htmlFor:"password",className:Q("passflow-field-label",{"passflow-field-label--error":f}),children:"New password"})}),
114
+ /* @__PURE__ */y(V,{name:"password",control:s,rules:{required:"Password is required",validate:e=>{try{return J(b).validateSync(e),c("password"),!0}catch(A){const t=A;return d("password",{type:"manual",message:t.errors.join(", ")}),t.errors.join(", ")}}},render:({field:e})=>/* @__PURE__ */y(Be,{...e,...r("password"),isError:f,passwordPolicy:b,validationErrors:t(i,"password")&&i.password?.message?i.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:t=>{e.onChange(t),(async()=>{await n(["password"])})()}})}),f&&/* @__PURE__ */v("div",{className:"passflow-form-error",children:[/* @__PURE__ */y(Ye,{size:"small",id:"warning",type:"general",className:"icon-warning"}),/* @__PURE__ */y("span",{className:"passflow-form-error-text",children:g})]})]})}),/* @__PURE__ */y(je,{size:"big",variant:"primary",type:"submit",disabled:!o||!l||w,className:"passflow-button-reset-password",children:"Save new password"})]})]})},Bs=vs(({signInPath:e=Ze.signin.path,signUpPath:t=Ze.signup.path,successAuthRedirect:a})=>{const{appSettings:s,currentStyles:r,loginAppTheme:n}=dt(),{navigate:i}=vt(),{get:o}=ae(),l=et(),{fetch:c,isLoading:d,error:p,isError:u}=ft(),h=o("invite_token"),g=h?X(m)(h):void 0,f=l.getParsedTokens(),w=Boolean(f?.access_token);if(E(()=>{g&&!w&&i({to:e,search:window.location.search})},[w,g,i,e]),!g)throw console.error("[passflow] invitation token could not be parsed"),new Error("This invitation link is invalid or has expired.");if(!w)return null;const{inviter_name:v,tenant_name:x,redirect_url:C}=g;/* @__PURE__ */
115
+ return y(xa,{chrome:{title:`You've been invited to join ${x}.`,subtitle:"Review the invitation before continuing.",customCss:r?.custom_css,customLogo:r?.logo_url,customLogoAlt:`${n?.application_name??"Application"} logo`,removeBranding:n?.remove_passflow_logo},state:{kind:"invitation",identity:f?.id_token?.email,inviterName:v||void 0,busy:d,error:u?p:null,testId:"invitation-join",acceptTestId:"invitation-accept",onAccept:()=>{(async()=>{if(!h)return;if(!(await c(h)))return;const e=C??a??s?.defaults?.redirect??"";W(e)?window.location.href=await K(l,e):i({to:e})})()},onSwitchAccount:()=>i({to:e,search:window.location.search}),onCreateAccount:()=>i({to:t,search:window.location.search})}})},ws);function Gs(){return Gs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Gs.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(ra||(ra={}));var Hs,Os="popstate";function Zs(e,t){if(!1===e||null==e)throw new Error(t)}function qs(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(a){}}}function Js(e,t){return{usr:e.state,key:e.key,idx:t}}function Ws(e,t,a,s){return void 0===a&&(a=null),Gs({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?Qs(t):t,{state:a,key:t&&t.key||s||Math.random().toString(36).substr(2,8)})}function Ks(e){let{pathname:t="/",search:a="",hash:s=""}=e;return a&&"?"!==a&&(t+="?"===a.charAt(0)?a:"?"+a),s&&"#"!==s&&(t+="#"===s.charAt(0)?s:"#"+s),t}function Qs(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substr(a),e=e.substr(0,a));let s=e.indexOf("?");s>=0&&(t.search=e.substr(s),e=e.substr(0,s)),e&&(t.pathname=e)}return t}function Xs(e,t,a,s){void 0===s&&(s={});let{window:r=document.defaultView,v5Compat:n=!1}=s,i=r.history,o=ra.Pop,l=null,c=d();function d(){return(i.state||{idx:null}).idx}function p(){o=ra.Pop;let e=d(),t=null==e?null:e-c;c=e,l&&l({action:o,location:h.location,delta:t})}function u(e){let t="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof e?e:Ks(e);return a=a.replace(/ $/,"%20"),Zs(t,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,t)}null==c&&(c=0,i.replaceState(Gs({},i.state,{idx:c}),""));let h={get action(){return o},get location(){return e(r,i)},listen(e){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(Os,p),l=e,()=>{r.removeEventListener(Os,p),l=null}},createHref:e=>t(r,e),createURL:u,encodeLocation(e){let t=u(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){o=ra.Push;let s=Ws(h.location,e,t);a&&a(s,e),c=d()+1;let p=Js(s,c),u=h.createHref(s);try{i.pushState(p,"",u)}catch(m){if(m instanceof DOMException&&"DataCloneError"===m.name)throw m;r.location.assign(u)}n&&l&&l({action:o,location:h.location,delta:1})},replace:function(e,t){o=ra.Replace;let s=Ws(h.location,e,t);a&&a(s,e),c=d();let r=Js(s,c),p=h.createHref(s);i.replaceState(r,"",p),n&&l&&l({action:o,location:h.location,delta:0})},go:e=>i.go(e)};return h}function $s(e,t,a){return void 0===a&&(a="/"),function(e,t,a,s){let r=hr(("string"==typeof t?Qs(t):t).pathname||"/",a);if(null==r)return null;let n=er(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,a)=>e===t[a])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(n);let i=null;for(let o=0;null==i&&o<n.length;++o){let e=ur(r);i=dr(n[o],e,s)}return i}(e,t,a,!1)}function er(e,t,a,s){void 0===t&&(t=[]),void 0===a&&(a=[]),void 0===s&&(s="");let r=(e,r,n)=>{let i={relativePath:void 0===n?e.path||"":n,caseSensitive:!0===e.caseSensitive,childrenIndex:r,route:e};i.relativePath.startsWith("/")&&(Zs(i.relativePath.startsWith(s),'Absolute route path "'+i.relativePath+'" nested under path "'+s+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(s.length));let o=yr([s,i.relativePath]),l=a.concat(i);e.children&&e.children.length>0&&(Zs(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),er(e.children,t,l,o)),(null!=e.path||e.index)&&t.push({path:o,score:cr(o,e.index),routesMeta:l})};return e.forEach((e,t)=>{var a;if(""!==e.path&&null!=(a=e.path)&&a.includes("?"))for(let s of tr(e.path))r(e,t,s);else r(e,t)}),t}function tr(e){let t=e.split("/");if(0===t.length)return[];let[a,...s]=t,r=a.endsWith("?"),n=a.replace(/\?$/,"");if(0===s.length)return r?[n,""]:[n];let i=tr(s.join("/")),o=[];return o.push(...i.map(e=>""===e?n:[n,e].join("/"))),r&&o.push(...i),o.map(t=>e.startsWith("/")&&""===t?"/":t)}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Hs||(Hs={}));var ar=/^:[\w-]+$/,sr=3,rr=2,nr=1,ir=10,or=-2,lr=e=>"*"===e;function cr(e,t){let a=e.split("/"),s=a.length;return a.some(lr)&&(s+=or),t&&(s+=rr),a.filter(e=>!lr(e)).reduce((e,t)=>e+(ar.test(t)?sr:""===t?nr:ir),s)}function dr(e,t,a){void 0===a&&(a=!1);let{routesMeta:s}=e,r={},n="/",i=[];for(let o=0;o<s.length;++o){let e=s[o],l=o===s.length-1,c="/"===n?t:t.slice(n.length)||"/",d=pr({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},c),p=e.route;if(!d&&l&&a&&!s[s.length-1].route.index&&(d=pr({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},c)),!d)return null;Object.assign(r,d.params),i.push({params:r,pathname:yr([n,d.pathname]),pathnameBase:vr(yr([n,d.pathnameBase])),route:p}),"/"!==d.pathnameBase&&(n=yr([n,d.pathnameBase]))}return i}function pr(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[a,s]=function(e,t,a){void 0===t&&(t=!1);void 0===a&&(a=!0);qs("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let s=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,a)=>(s.push({paramName:t,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)"));e.endsWith("*")?(s.push({paramName:"*"}),r+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==e&&"/"!==e&&(r+="(?:(?=\\/|$))");return[new RegExp(r,t?void 0:"i"),s]}(e.path,e.caseSensitive,e.end),r=t.match(a);if(!r)return null;let n=r[0],i=n.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:s.reduce((e,t,a)=>{let{paramName:s,isOptional:r}=t;if("*"===s){let e=o[a]||"";i=n.slice(0,n.length-e.length).replace(/(.)\/+$/,"$1")}const l=o[a];return e[s]=r&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:n,pathnameBase:i,pattern:e}}function ur(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return qs(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function hr(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,s=e.charAt(a);return s&&"/"!==s?null:e.slice(a)||"/"}function mr(e,t){let a=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?a.length>1&&a.pop():"."!==e&&a.push(e)}),a.length>1?a.join("/"):"/"}function gr(e,t,a,s){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(s)+"]. Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function fr(e,t){let a=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t?a.map((e,t)=>t===a.length-1?e.pathname:e.pathnameBase):a.map(e=>e.pathnameBase)}function wr(e,t,a,s){let r;void 0===s&&(s=!1),"string"==typeof e?r=Qs(e):(r=Gs({},e),Zs(!r.pathname||!r.pathname.includes("?"),gr("?","pathname","search",r)),Zs(!r.pathname||!r.pathname.includes("#"),gr("#","pathname","hash",r)),Zs(!r.search||!r.search.includes("#"),gr("#","search","hash",r)));let n,i=""===e||""===r.pathname,o=i?"/":r.pathname;if(null==o)n=a;else{let e=t.length-1;if(!s&&o.startsWith("..")){let t=o.split("/");for(;".."===t[0];)t.shift(),e-=1;r.pathname=t.join("/")}n=e>=0?t[e]:"/"}let l=function(e,t){void 0===t&&(t="/");let{pathname:a,search:s="",hash:r=""}="string"==typeof e?Qs(e):e;return{pathname:a?a.startsWith("/")?a:mr(a,t):t,search:xr(s),hash:Cr(r)}}(r,n),c=o&&"/"!==o&&o.endsWith("/"),d=(i||"."===o)&&a.endsWith("/");return l.pathname.endsWith("/")||!c&&!d||(l.pathname+="/"),l}var yr=e=>e.join("/").replace(/\/\/+/g,"/"),vr=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),xr=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",Cr=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",br=class extends Error{};var kr=["post","put","patch","delete"],Mr=(new Set(kr),["get",...kr]);new Set(Mr);function Nr(){return Nr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Nr.apply(this,arguments)}var Er=/*#__PURE__*/x.createContext(null),Sr=/*#__PURE__*/x.createContext(null),Lr=/*#__PURE__*/x.createContext(null),Ir=/*#__PURE__*/x.createContext(null),Ar=/*#__PURE__*/x.createContext(null),_r=/*#__PURE__*/x.createContext({outlet:null,matches:[],isDataRoute:!1}),Tr=/*#__PURE__*/x.createContext(null);function Pr(){return null!=x.useContext(Ar)}function Fr(){return!Pr()&&Zs(!1),x.useContext(Ar).location}function Rr(e){x.useContext(Ir).static||x.useLayoutEffect(e)}function Ur(){let{isDataRoute:e}=x.useContext(_r);return e?function(){let{router:e}=function(){let e=x.useContext(Er);return!e&&Zs(!1),e}(Br.UseNavigateStable),t=Hr(Gr.UseNavigateStable),a=x.useRef(!1);return Rr(()=>{a.current=!0}),x.useCallback(function(s,r){void 0===r&&(r={}),a.current&&("number"==typeof s?e.navigate(s):e.navigate(s,Nr({fromRouteId:t},r)))},[e,t])}():function(){!Pr()&&Zs(!1);let e=x.useContext(Er),{basename:t,future:a,navigator:s}=x.useContext(Ir),{matches:r}=x.useContext(_r),{pathname:n}=Fr(),i=JSON.stringify(fr(r,a.v7_relativeSplatPath)),o=x.useRef(!1);return Rr(()=>{o.current=!0}),x.useCallback(function(a,r){if(void 0===r&&(r={}),!o.current)return;if("number"==typeof a)return void s.go(a);let l=wr(a,JSON.parse(i),n,"path"===r.relative);null==e&&"/"!==t&&(l.pathname="/"===l.pathname?t:yr([t,l.pathname])),(r.replace?s.replace:s.push)(l,r.state,r)},[t,s,i,n,e])}()}function Yr(e,t){return function(e,t,a,s){!Pr()&&Zs(!1);let{navigator:r,static:n}=x.useContext(Ir),{matches:i}=x.useContext(_r),o=i[i.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d,p=Fr();if(t){var u;let e="string"==typeof t?Qs(t):t;"/"!==c&&!(null==(u=e.pathname)?void 0:u.startsWith(c))&&Zs(!1),d=e}else d=p;let h=d.pathname||"/",m=h;if("/"!==c){let e=c.replace(/^\//,"").split("/");m="/"+h.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=!n&&a&&a.matches&&a.matches.length>0?a.matches:$s(e,{pathname:m}),f=function(e,t,a,s){var r;void 0===t&&(t=[]);void 0===a&&(a=null);void 0===s&&(s=null);if(null==e){var n;if(!a)return null;if(a.errors)e=a.matches;else{if(!(null!=(n=s)&&n.v7_partialHydration&&0===t.length&&!a.initialized&&a.matches.length>0))return null;e=a.matches}}let i=e,o=null==(r=a)?void 0:r.errors;if(null!=o){let e=i.findIndex(e=>e.route.id&&void 0!==(null==o?void 0:o[e.route.id]));!(e>=0)&&Zs(!1),i=i.slice(0,Math.min(i.length,e+1))}let l=!1,c=-1;if(a&&s&&s.v7_partialHydration)for(let d=0;d<i.length;d++){let e=i[d];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=d),e.route.id){let{loaderData:t,errors:s}=a,r=e.route.loader&&void 0===t[e.route.id]&&(!s||void 0===s[e.route.id]);if(e.route.lazy||r){l=!0,i=c>=0?i.slice(0,c+1):[i[0]];break}}}return i.reduceRight((e,s,r)=>{let n,d=!1,p=null,u=null;var h;a&&(n=o&&s.route.id?o[s.route.id]:void 0,p=s.route.errorElement||jr,l&&(c<0&&0===r?(h="route-fallback",!1||Or[h]||(Or[h]=!0),d=!0,u=null):c===r&&(d=!0,u=s.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,r+1)),g=()=>{let t;return t=n?p:d?u:s.route.Component?/*#__PURE__*/x.createElement(s.route.Component,null):s.route.element?s.route.element:e,/*#__PURE__*/x.createElement(Vr,{match:s,routeContext:{outlet:e,matches:m,isDataRoute:null!=a},children:t})};return a&&(s.route.ErrorBoundary||s.route.errorElement||0===r)?/*#__PURE__*/x.createElement(Dr,{location:a.location,revalidation:a.revalidation,component:p,error:n,children:g(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):g()},null)}(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:yr([c,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:yr([c,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,a,s);return t&&f?/*#__PURE__*/x.createElement(Ar.Provider,{value:{location:Nr({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:ra.Pop}},f):f}(e,t)}function zr(){let e=function(){var e;let t=x.useContext(Tr),a=function(){let e=x.useContext(Sr);return!e&&Zs(!1),e}(Gr.UseRouteError),s=Hr(Gr.UseRouteError);return void 0!==t?t:null==(e=a.errors)?void 0:e[s]}(),t=function(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null;/*#__PURE__*/
116
+ return x.createElement(x.Fragment,null,/*#__PURE__*/x.createElement("h2",null,"Unexpected Application Error!"),/*#__PURE__*/x.createElement("h3",{style:{fontStyle:"italic"}},t),a?/*#__PURE__*/x.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},a):null,null)}var jr=/*#__PURE__*/x.createElement(zr,null),Dr=class extends x.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?/*#__PURE__*/x.createElement(_r.Provider,{value:this.props.routeContext},/*#__PURE__*/x.createElement(Tr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Vr(e){let{routeContext:t,match:a,children:s}=e,r=x.useContext(Er);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),/*#__PURE__*/x.createElement(_r.Provider,{value:t},s)}var Br=/*#__PURE__*/function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Br||{}),Gr=/*#__PURE__*/function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Gr||{});function Hr(e){let t=function(){let e=x.useContext(_r);return!e&&Zs(!1),e}(),a=t.matches[t.matches.length-1];return!a.route.id&&Zs(!1),a.route.id}var Or={};function Zr(e,t){null==e||e.v7_startTransition,void 0!==(null==e?void 0:e.v7_relativeSplatPath)||t&&t.v7_relativeSplatPath,t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}var qr=x.startTransition;function Jr(e){let{basename:t,children:a,initialEntries:s,initialIndex:r,future:n}=e,i=x.useRef();null==i.current&&(i.current=function(e){void 0===e&&(e={});let t,{initialEntries:a=["/"],initialIndex:s,v5Compat:r=!1}=e;t=a.map((e,t)=>d(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let n=l(null==s?t.length-1:s),i=ra.Pop,o=null;function l(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[n]}function d(e,a,s){void 0===a&&(a=null);let r=Ws(t?c().pathname:"/",e,a,s);return qs("/"===r.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),r}function p(e){return"string"==typeof e?e:Ks(e)}return{get index(){return n},get action(){return i},get location(){return c()},createHref:p,createURL:e=>new URL(p(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?Qs(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,a){i=ra.Push;let s=d(e,a);n+=1,t.splice(n,t.length,s),r&&o&&o({action:i,location:s,delta:1})},replace(e,a){i=ra.Replace;let s=d(e,a);t[n]=s,r&&o&&o({action:i,location:s,delta:0})},go(e){i=ra.Pop;let a=l(n+e),s=t[a];n=a,o&&o({action:i,location:s,delta:e})},listen:e=>(o=e,()=>{o=null})}}({initialEntries:s,initialIndex:r,v5Compat:!0}));let o=i.current,[l,c]=x.useState({action:o.action,location:o.location}),{v7_startTransition:d}=n||{},p=x.useCallback(e=>{d&&qr?qr(()=>c(e)):c(e)},[c,d]);return x.useLayoutEffect(()=>o.listen(p),[o,p]),x.useEffect(()=>Zr(n),[n]),/*#__PURE__*/x.createElement(Qr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:o,future:n})}function Wr(e){let{to:t,replace:a,state:s,relative:r}=e;!Pr()&&Zs(!1);let{future:n,static:i}=x.useContext(Ir),{matches:o}=x.useContext(_r),{pathname:l}=Fr(),c=Ur(),d=wr(t,fr(o,n.v7_relativeSplatPath),l,"path"===r),p=JSON.stringify(d);return x.useEffect(()=>c(JSON.parse(p),{replace:a,state:s,relative:r}),[c,p,r,a,s]),null}function Kr(e){Zs(!1)}function Qr(e){let{basename:t="/",children:a=null,location:s,navigationType:r=ra.Pop,navigator:n,static:i=!1,future:o}=e;Pr()&&Zs(!1);let l=t.replace(/^\/*/,"/"),c=x.useMemo(()=>({basename:l,navigator:n,static:i,future:Nr({v7_relativeSplatPath:!1},o)}),[l,o,n,i]);"string"==typeof s&&(s=Qs(s));let{pathname:d="/",search:p="",hash:u="",state:h=null,key:m="default"}=s,g=x.useMemo(()=>{let e=hr(d,l);return null==e?null:{location:{pathname:e,search:p,hash:u,state:h,key:m},navigationType:r}},[l,d,p,u,h,m,r]);return null==g?null:/*#__PURE__*/x.createElement(Ir.Provider,{value:c},/*#__PURE__*/x.createElement(Ar.Provider,{children:a,value:g}))}function Xr(e){let{children:t,location:a}=e;return Yr(tn(t),a)}var $r=/*#__PURE__*/function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}($r||{}),en=new Promise(()=>{});x.Component;function tn(e,t){void 0===t&&(t=[]);let a=[];return x.Children.forEach(e,(e,s)=>{if(!/*#__PURE__*/x.isValidElement(e))return;let r=[...t,s];if(e.type===x.Fragment)return void a.push.apply(a,tn(e.props.children,r));e.type!==Kr&&Zs(!1),e.props.index&&e.props.children&&Zs(!1);let n={id:e.props.id||r.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(n.children=tn(e.props.children,r)),a.push(n)}),a}try{window.__reactRouterVersion="6"}catch(yn){}var an=x.startTransition;function sn(e){let{basename:t,children:a,future:s,window:r}=e,n=x.useRef();var i;null==n.current&&(n.current=(void 0===(i={window:r,v5Compat:!0})&&(i={}),Xs(function(e,t){let{pathname:a,search:s,hash:r}=e.location;return Ws("",{pathname:a,search:s,hash:r},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:Ks(t)},null,i)));let o=n.current,[l,c]=x.useState({action:o.action,location:o.location}),{v7_startTransition:d}=s||{},p=x.useCallback(e=>{d&&an?an(()=>c(e)):c(e)},[c,d]);return x.useLayoutEffect(()=>o.listen(p),[o,p]),x.useEffect(()=>Zr(s),[s]),/*#__PURE__*/x.createElement(Qr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:o,future:s})}function rn(e){let{basename:t,children:a,future:s,window:r}=e,n=x.useRef();var i;null==n.current&&(n.current=(void 0===(i={window:r,v5Compat:!0})&&(i={}),Xs(function(e,t){let{pathname:a="/",search:s="",hash:r=""}=Qs(e.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),Ws("",{pathname:a,search:s,hash:r},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let a=e.document.querySelector("base"),s="";if(a&&a.getAttribute("href")){let t=e.location.href,a=t.indexOf("#");s=-1===a?t:t.slice(0,a)}return s+"#"+("string"==typeof t?t:Ks(t))},function(e,t){qs("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},i)));let o=n.current,[l,c]=x.useState({action:o.action,location:o.location}),{v7_startTransition:d}=s||{},p=x.useCallback(e=>{d&&an?an(()=>c(e)):c(e)},[c,d]);return x.useLayoutEffect(()=>o.listen(p),[o,p]),x.useEffect(()=>Zr(s),[s]),/*#__PURE__*/x.createElement(Qr,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:o,future:s})}var nn,on;"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement;!function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"}(nn||(nn={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(on||(on={}));var ln=({children:e,routerType:t})=>{switch(t){case"hash":/* @__PURE__ */return y(rn,{children:e});case"memory":/* @__PURE__ */return y(Jr,{children:e});default:/* @__PURE__ */return y(sn,{children:e})}},cn=({children:e})=>{const t=Ur(),{setNavigate:a}=vt();return E(()=>{a(e=>t(e))},[t,a]),e},dn=vs(({successAuthRedirect:e,federatedDisplayMode:t="redirect",error:a,relyingPartyId:s=window.location.hostname,pathPrefix:r="",routerType:n="browser"})=>{const{error:i,message:o}=se(e);if(i)throw console.error("[passflow] authentication redirect returned an error",{error:i,message:o}),new Error(fe);const l=I(()=>{return e=r,Object.keys(Ze).reduce((t,a)=>(t[a]=`${(e=>{if(!e)return"";const t=e.replace(/^\/+|\/+$/g,"");return t.startsWith("/")?t:`/${t}`})(e)}${Ze[a]?.path}`,t),{});var e},[r]);if(a)throw new Error(a);/* @__PURE__ */
117
+ return y(ln,{routerType:n,children:/* @__PURE__ */y(cn,{children:/* @__PURE__ */v(Xr,{children:[
118
+ /* @__PURE__ */y(Kr,{path:l.signin,element:/* @__PURE__ */y(Cs,{successAuthRedirect:e,relyingPartyId:s,federatedDisplayMode:t,signUpPath:l.signup,forgotPasswordPath:l.forgot_password,verifyMagicLinkPath:l.verify_magic_link,verifyOTPPath:l.verify_otp,twoFactorVerifyPath:l.two_factor_verify})}),
119
+ /* @__PURE__ */y(Kr,{path:l.signup,element:/* @__PURE__ */y(ks,{successAuthRedirect:e,relyingPartyId:s,federatedDisplayMode:t,signInPath:l.signin,verifyMagicLinkPath:l.verify_magic_link,verifyOTPPath:l.verify_otp})}),
120
+ /* @__PURE__ */y(Kr,{path:l.verify_otp,element:/* @__PURE__ */y(Ps,{successAuthRedirect:e,numInputs:6,shouldAutoFocus:!0,signUpPath:l.signup})}),
121
+ /* @__PURE__ */y(Kr,{path:l.verify_magic_link,element:/* @__PURE__ */y(Ns,{})}),
122
+ /* @__PURE__ */y(Kr,{path:l.forgot_password,element:/* @__PURE__ */y(Us,{successResetRedirect:e,signInPath:l.signin,forgotPasswordSuccessPath:l.forgot_password_success})}),
123
+ /* @__PURE__ */y(Kr,{path:l.forgot_password_success,element:/* @__PURE__ */y(zs,{})}),
124
+ /* @__PURE__ */y(Kr,{path:l.reset_password,element:/* @__PURE__ */y(Vs,{successAuthRedirect:e})}),
125
+ /* @__PURE__ */y(Kr,{path:l.invitation,element:/* @__PURE__ */y(Bs,{successAuthRedirect:e,signInPath:l.signin,signUpPath:l.signup})}),
126
+ /* @__PURE__ */y(Kr,{path:l.two_factor_verify,element:/* @__PURE__ */y(fs,{successAuthRedirect:e,signInPath:l.signin,twoFactorSetupPath:l.two_factor_setup})}),
127
+ /* @__PURE__ */y(Kr,{path:l.two_factor_setup,element:/* @__PURE__ */y(qa,{successAuthRedirect:e,twoFactorVerifyPath:l.two_factor_verify,signInPath:l.signin})}),
128
+ /* @__PURE__ */y(Kr,{path:"*",element:/* @__PURE__ */y(Wr,{to:{pathname:l.signin,search:window.location.search}})})]})})})},ws),pn=e=>e?{message:e.message,scope:"bad_credentials"===e.type||"missing_credentials"===e.type?"credentials":"form"}:null,un=e=>{if("loading"===e.status)return null;if("code_entry"===e.status)return{chrome:{title:"Enter the code",subtitle:"Type the code shown on your device."},state:{kind:"code-entry",error:e.error?.message,testId:"device-code-entry",onSubmit:e.submitCode}};if("done"===e.status)return{chrome:{title:e.info?.app_name?`You're signed in to ${e.info.app_name}`:"You're signed in",subtitle:"Head back to your terminal — it's ready to go."},state:{kind:"status",tone:"success",message:"This device is approved",detail:"You can close this page.",testId:"passkey"===e.info?.mode?"device-auto-passkey-done":"device-done"}};if("refused"===e.status)return{chrome:{title:"Sign-in isn't available this way"},state:{kind:"status",tone:"disabled",message:(e.error??me("mode_disabled")).message,detail:"Nothing was approved, and nothing was sent to the device that showed you this code.",testId:"device-mode-disabled"}};if("failed"===e.status){const t=e.error??me("generic");return{chrome:{title:"That didn't work"},state:{kind:"status",tone:"error",message:t.message,recoverable:t.isRecoverable,testId:"device-failed",onRetry:t.isRecoverable?()=>e.submitCode(""):void 0}}}if(!e.info)return null;if("passkey"===e.info.mode){const t=("ready"===e.status||"working"===e.status)&&!e.error;return{chrome:{title:`Sign in to ${e.info.app_name}`,subtitle:"Confirm with your passkey to finish this device sign-in."},state:{kind:"passkey-progress",working:t,message:e.error?"Passkey sign-in couldn't continue.":"Waiting for your passkey — follow the prompt on your device.",error:e.error?.message,recoverable:e.error?.isRecoverable,testId:"device-auto-passkey",onRetry:e.error?.isRecoverable?()=>{e.confirmWithPasskey()}:void 0}}}const t="working"===e.status,a=e.isAuthenticated||"signed_in"===e.status,s=(e=>({identities:e.info?.methods.password?[{id:"email_or_username",label:"Email",selectLabel:"Use email",requiredMessage:"Email is required",format:"email",password:!0}]:[],passkey:Boolean(e.info?.methods.passkey),providers:[]}))(e),r=(e=>{if(e.info)return{code:e.info.user_code,appName:e.info.app_name,message:"requested this sign-in. Confirm that the code matches your terminal. If it doesn't, close this page.",codeTestId:"device-consent-user-code",appNameTestId:"device-consent-app-name"}})(e);return"full_login"===e.info.mode?a?{chrome:{title:`Approve sign-in to ${e.info.app_name}`,subtitle:"Confirm that the code matches your terminal before approving."},state:{kind:"device-approval",appName:e.info.app_name,code:e.info.user_code,identity:e.email,busy:t,error:e.error?.message,testId:"device-full-login-approval",actionTestId:"device-confirm",codeTestId:"device-consent-user-code",appNameTestId:"device-consent-app-name",onApprove:()=>{e.approve()}}}:{chrome:{title:`Sign in to approve ${e.info.app_name}`,subtitle:"Confirm the code, then sign in to continue.",variant:"sign-in"},state:{kind:"credentials",methods:s,passwordPolicy:null,notice:r,busy:t,error:pn(e.error),primaryLabel:t?"Signing in…":"Sign In",passkeyLabel:"Sign In with a Passkey",testId:"device-full-login",onPassword:t=>{e.signInWithPassword(t.emailOrUsername,t.password)},onPasskey:()=>{e.signInWithPasskey()}}}:{chrome:{title:`Approve sign-in to ${e.info.app_name}`,subtitle:"Confirm the code, then sign in to approve this request.",variant:"sign-in"},state:{kind:"credentials",methods:s,passwordPolicy:null,notice:r,busy:t,error:pn(e.error),primaryLabel:t?"Approving…":"Approve",primaryTestId:"device-confirm",passkeyLabel:"Approve with a Passkey",testId:"device-consent",onPassword:t=>{e.confirmWithPassword(t.emailOrUsername,t.password)},onPasskey:()=>{e.confirmWithPasskey()}}}},hn=()=>{const e=Pt(),t=_(null),{confirmWithPasskey:a}=e,s=e.info?.csrf_token??null,r="passkey"===e.info?.mode&&"ready"===e.status&&!e.error;E(()=>{r&&s&&t.current!==s&&(t.current=s,a())},[s,a,r]);const n=un(e);return n?/* @__PURE__ */y(xa,{...n}):null},mn=()=>{const e=(e=>{if("loading"===e.status)return null;if("invalid"===e.status)return{chrome:{title:e.error?.message??"Consent request unavailable"},state:{kind:"general-error",message:e.error?.message,detail:e.error?.description,actionLabel:"Back to login",testId:"consent-invalid",onAction:()=>{window.location.href="/web"}}};if("redirecting"===e.status)return{chrome:{title:"Taking you back",subtitle:`Returning you to ${e.info?.app_name||"the application"}.`},state:{kind:"status",tone:"success",message:"Decision recorded",detail:"You can close this page if it does not continue on its own.",testId:"consent-redirecting"}};const t=e.info;if(!t)return null;const a=t.app_name||t.client_id,s="working"===e.status;return{chrome:{title:`Allow ${a} to access your account?`,subtitle:"Choose what this application may use, then allow or deny.",customLogo:t.app_logo_url||void 0,customLogoAlt:`${a} logo`},state:{kind:"consent",appName:a,scopes:t.requested_scopes.map(t=>{const a=e.scopeMetadata(t);return{scope:t,label:a.label||t,description:a.description||void 0,granted:e.grantedScopes.includes(t)}}),busy:s,error:e.error?.message,allowLabel:"Allow",denyLabel:"Deny",busyLabel:"Submitting…",testId:"consent-screen",allowTestId:"consent-allow",denyTestId:"consent-deny",appNameTestId:"consent-app-name",onToggleScope:e.toggleScope,onAllow:()=>{e.allow()},onDeny:()=>{e.deny()}}}})(Ut());return e?/* @__PURE__ */y(xa,{...e}):null},gn=({onSuccess:e,onError:t,redirectOnSuccess:a=!0,signInPath:s=Ze.signin.path})=>{const{token:r}=function(){let{matches:e}=x.useContext(_r),t=e[e.length-1];return t?t.params:{}}(),{navigate:n}=vt(),{isLoading:i,isRetrying:o,isValidated:l,error:c,retry:d,retryCountdown:p}=Mt(r||"");E(()=>{c&&t?.(c)},[c,t]);if(i)/* @__PURE__ */return y(ya,{title:"Validating Magic Link",subtitle:"Please wait while we verify your link...",className:"passflow-2fa-magic-link-loading",children:/* @__PURE__ */v("div",{className:"passflow-loading-container",role:"status","aria-live":"polite","aria-busy":"true",children:[/* @__PURE__ */y(Ye,{id:"logo",type:"general",size:"large",className:"passflow-loading-spinner"}),/* @__PURE__ */y("p",{className:"passflow-loading-text",children:"Validating your magic link..."})]})});if(c){const e="SERVER_ERROR"===c.code||"RATE_LIMITED"===c.code,t="RATE_LIMITED"===c.code&&null!==p&&p>0;/* @__PURE__ */
129
+ return y(ya,{title:"Magic Link Validation Failed",subtitle:fn(c.code),className:"passflow-2fa-magic-link-error",children:/* @__PURE__ */v("div",{className:"passflow-error-container",role:"alert","aria-live":"assertive",children:[
130
+ /* @__PURE__ */y("div",{className:"passflow-error-icon",children:/* @__PURE__ */y(Ye,{id:"warning",type:"general",size:"large"})}),
131
+ /* @__PURE__ */y("p",{className:"passflow-error-message",id:"error-message",children:c.message}),
132
+ /* @__PURE__ */v("div",{className:"passflow-error-actions",children:[e&&/* @__PURE__ */y(je,{size:"big",type:"button",variant:"primary",onClick:d,disabled:t||o,"aria-describedby":"error-message",children:o?"Retrying...":t?`Try again in ${wn(p)}`:"Try Again"}),/* @__PURE__ */y(je,{size:"big",type:"button",variant:"secondary",onClick:()=>n({to:s}),children:"Back to Sign In"})]}),!e&&/* @__PURE__ */y("p",{className:"passflow-error-help-text",children:"Please contact your administrator to request a new magic link."})]})})}return l?/* @__PURE__ */y(Za,{onComplete:()=>{e?.(),a&&n({to:s})},onCancel:()=>{n({to:s})}}):null};function fn(e){switch(e){case"EXPIRED_TOKEN":return"This magic link has expired";case"INVALID_TOKEN":return"This magic link is invalid";case"REVOKED_TOKEN":return"This magic link has been revoked";case"RATE_LIMITED":return"Too many attempts";case"SERVER_ERROR":return"Something went wrong";default:return"An error occurred"}}function wn(e){return null===e?"":`${Math.floor(e/60)}:${(e%60).toString().padStart(2,"0")}`}export{je as Button,mn as ConsentFlow,Re as CountryFlag,Na as DEFAULT_FACTOR_LABELS,hn as DeviceVerifyFlow,Jt as Dialog,Qt as DialogClose,$t as DialogContent,sa as DialogDescription,ta as DialogFooter,ea as DialogHeader,Xt as DialogOverlay,Kt as DialogPortal,aa as DialogTitle,Wt as DialogTrigger,Be as FieldPassword,jt as FieldPhone,De as FieldText,Us as ForgotPassword,zs as ForgotPasswordSuccess,$e as INERT_UPGRADE_CONTEXT,Ye as Icon,Bs as InvitationJoin,Vt as Link,na as LoginAlert,xa as LoginScreen,dn as PassflowFlow,gs as PassflowProvider,Ht as Popover,Zt as PopoverAnchor,qt as PopoverContent,Ot as PopoverTrigger,Dt as ProvidersBox,Vs as ResetPassword,Cs as SignIn,xs as SignInForm,ks as SignUp,bs as SignUpForm,Bt as Spinner,Gt as Switch,Xa as TwoFactorChallenge,es as TwoFactorRecoveryForm,Za as TwoFactorSetupForm,gn as TwoFactorSetupMagicLinkFlow,$a as TwoFactorVerifyForm,Sa as UPGRADE_FACTOR_CODE_CONTRACTS,Ma as UpgradeChallengeView,Qe as UpgradeContext,Oa as UpgradeDialog,Ca as UpgradeFactorList,ns as UpgradeProvider,Ga as UpgradeStatus,Ns as VerifyChallengeMagicLink,Ps as VerifyChallengeOTP,Te as attachAuth,Ra as describeAssuranceBar,Pa as dialogOutcomeFromError,Fa as readAssuranceBar,La as toDialogFactors,ja as toDialogState,Da as upgradeDialogDismissHandler,dt as useAppSettings,ut as useAuth,gt as useAuthCloudRedirect,Ut as useConsent,Pt as useDeviceVerify,nt as useForgotPassword,ft as useJoinInvite,ht as useLogout,vt as useNavigation,wt as useOutsideClick,et as usePassflow,pt as usePasswordlessComplete,st as useProvider,it as useResetPassword,St as useSessionExpired,tt as useSignIn,rt as useSignUp,Nt as useTwoFactorChallenge,kt as useTwoFactorManage,Et as useTwoFactorMethods,Ct as useTwoFactorSetup,Mt as useTwoFactorSetupMagicLink,xt as useTwoFactorStatus,bt as useTwoFactorVerify,zt as useUpgrade,mt as useUserPasskeys,_e as withAuth};
123
133
  //# sourceMappingURL=index.es.js.map