@passflow/react 0.0.1 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +4 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1450 -136
- package/dist/index.es.js.map +1 -1
- package/dist/src/components/flow/index.d.ts +1 -0
- package/dist/src/components/flow/index.d.ts.map +1 -1
- package/dist/src/components/flow/passflow/index.d.ts +1 -1
- package/dist/src/components/flow/passflow/index.d.ts.map +1 -1
- package/dist/src/components/flow/two-factor-setup/index.d.ts +10 -0
- package/dist/src/components/flow/two-factor-setup/index.d.ts.map +1 -0
- package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts +35 -0
- package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts.map +1 -0
- package/dist/src/components/flow/two-factor-verify/index.d.ts +10 -0
- package/dist/src/components/flow/two-factor-verify/index.d.ts.map +1 -0
- package/dist/src/components/form/forgot-password/forgot-password.d.ts.map +1 -1
- package/dist/src/components/form/index.d.ts +2 -0
- package/dist/src/components/form/index.d.ts.map +1 -1
- package/dist/src/components/form/invitation-join/index.d.ts +1 -1
- package/dist/src/components/form/invitation-join/index.d.ts.map +1 -1
- package/dist/src/components/form/reset-password/index.d.ts.map +1 -1
- package/dist/src/components/form/signin/index.d.ts +2 -1
- package/dist/src/components/form/signin/index.d.ts.map +1 -1
- package/dist/src/components/form/signup/index.d.ts +1 -1
- package/dist/src/components/form/signup/index.d.ts.map +1 -1
- package/dist/src/components/form/two-factor-setup/index.d.ts +2 -0
- package/dist/src/components/form/two-factor-setup/index.d.ts.map +1 -0
- package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts +9 -0
- package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts.map +1 -0
- package/dist/src/components/form/two-factor-verify/index.d.ts +3 -0
- package/dist/src/components/form/two-factor-verify/index.d.ts.map +1 -0
- package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts +11 -0
- package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts.map +1 -0
- package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts +14 -0
- package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts.map +1 -0
- package/dist/src/components/form/verify-challenge/verify-challenge-otp-manual.d.ts.map +1 -1
- package/dist/src/components/form/verify-challenge/{varify-challenge-otp-redirect.d.ts → verify-challenge-otp-redirect.d.ts} +1 -1
- package/dist/src/components/form/verify-challenge/{varify-challenge-otp-redirect.d.ts.map → verify-challenge-otp-redirect.d.ts.map} +1 -1
- package/dist/src/components/form/verify-challenge/{varify-challenge-success.d.ts → verify-challenge-success.d.ts} +1 -1
- package/dist/src/components/form/verify-challenge/verify-challenge-success.d.ts.map +1 -0
- package/dist/src/components/provider/passflow-provider.d.ts.map +1 -1
- package/dist/src/context/passflow-context.d.ts +2 -0
- package/dist/src/context/passflow-context.d.ts.map +1 -1
- package/dist/src/context/router-context.d.ts +12 -0
- package/dist/src/context/router-context.d.ts.map +1 -1
- package/dist/src/hocs/with-error.d.ts +1 -1
- package/dist/src/hocs/with-error.d.ts.map +1 -1
- package/dist/src/hooks/index.d.ts +5 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/use-app-settings.d.ts.map +1 -1
- package/dist/src/hooks/use-passflow-store.d.ts.map +1 -1
- package/dist/src/hooks/use-signin.d.ts.map +1 -1
- package/dist/src/hooks/use-two-factor-manage.d.ts +15 -0
- package/dist/src/hooks/use-two-factor-manage.d.ts.map +1 -0
- package/dist/src/hooks/use-two-factor-setup-magic-link.d.ts +55 -0
- package/dist/src/hooks/use-two-factor-setup-magic-link.d.ts.map +1 -0
- package/dist/src/hooks/use-two-factor-setup.d.ts +18 -0
- package/dist/src/hooks/use-two-factor-setup.d.ts.map +1 -0
- package/dist/src/hooks/use-two-factor-status.d.ts +13 -0
- package/dist/src/hooks/use-two-factor-status.d.ts.map +1 -0
- package/dist/src/hooks/use-two-factor-verify.d.ts +18 -0
- package/dist/src/hooks/use-two-factor-verify.d.ts.map +1 -0
- package/dist/src/test/setup.d.ts +1 -0
- package/dist/src/test/setup.d.ts.map +1 -0
- package/dist/src/test/utils/render.d.ts +4 -0
- package/dist/src/test/utils/render.d.ts.map +1 -0
- package/dist/src/test/utils/test-passflow.d.ts +6 -0
- package/dist/src/test/utils/test-passflow.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/two-factor-errors.d.ts +14 -0
- package/dist/src/types/two-factor-errors.d.ts.map +1 -0
- package/dist/src/utils/classify-two-factor-error.d.ts +13 -0
- package/dist/src/utils/classify-two-factor-error.d.ts.map +1 -0
- package/dist/src/utils/{cn/index.d.ts → cn.d.ts} +1 -1
- package/dist/src/utils/cn.d.ts.map +1 -0
- package/dist/src/utils/{get-app-version/index.d.ts → get-app-version.d.ts} +1 -1
- package/dist/src/utils/get-app-version.d.ts.map +1 -0
- package/dist/src/utils/{get-auth-methods/index.d.ts → get-auth-methods.d.ts} +1 -1
- package/dist/src/utils/get-auth-methods.d.ts.map +1 -0
- package/dist/src/utils/{get-form-labels/index.d.ts → get-form-labels.d.ts} +3 -3
- package/dist/src/utils/get-form-labels.d.ts.map +1 -0
- package/dist/src/utils/{get-url-errors/index.d.ts → get-url-errors.d.ts} +1 -1
- package/dist/src/utils/get-url-errors.d.ts.map +1 -0
- package/dist/src/utils/get-url-with-tokens.d.ts +4 -0
- package/dist/src/utils/get-url-with-tokens.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +3 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/two-factor-loop-prevention.d.ts +40 -0
- package/dist/src/utils/two-factor-loop-prevention.d.ts.map +1 -0
- package/dist/src/utils/{undefined-on-catch/index.d.ts → undefined-on-catch.d.ts} +1 -1
- package/dist/src/utils/undefined-on-catch.d.ts.map +1 -0
- package/dist/src/utils/{url-params/index.d.ts → url-params.d.ts} +1 -1
- package/dist/src/utils/url-params.d.ts.map +1 -0
- package/dist/src/utils/{validate-url/index.d.ts → validate-url.d.ts} +1 -1
- package/dist/src/utils/validate-url.d.ts.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +31 -31
- package/dist/src/components/form/verify-challenge/varify-challenge-success.d.ts.map +0 -1
- package/dist/src/utils/cn/index.d.ts.map +0 -1
- package/dist/src/utils/get-app-version/index.d.ts.map +0 -1
- package/dist/src/utils/get-auth-methods/index.d.ts.map +0 -1
- package/dist/src/utils/get-form-labels/index.d.ts.map +0 -1
- package/dist/src/utils/get-url-errors/index.d.ts.map +0 -1
- package/dist/src/utils/get-url-with-tokens/index.d.ts +0 -3
- package/dist/src/utils/get-url-with-tokens/index.d.ts.map +0 -1
- package/dist/src/utils/undefined-on-catch/index.d.ts.map +0 -1
- package/dist/src/utils/url-params/index.d.ts.map +0 -1
- package/dist/src/utils/validate-url/index.d.ts.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("lodash"),t=require("yup");require("dayjs");const a=require("clsx"),r=require("tailwind-merge"),i=require("react"),o=require("query-string"),n=require("countries-and-timezones"),l=require("react-international-phone"),c=require("@radix-ui/react-popover"),p=require("@radix-ui/react-dialog"),d=require("react-helmet-async"),h=require("react-error-boundary"),u=require("phone"),m=require("react-hook-form"),g=require("react-otp-input"),w=require("@passflow/core");function f(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,a.get?a:{enumerable:!0,get:()=>e[t]})}return s.default=e,Object.freeze(s)}require("react-dom");const C=f(t),x=f(i),y=f(c),v=f(p);window.passflowReactAppVersion=()=>{console.log("App Version: 0.0.1")};const M=/^(([^<>()[\]\\.,;:\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=>C.string().required().test({test:t=>{const a=[];if(e){const{min_password_length:r,require_lowercase:i,require_number:o,require_symbol:n,require_uppercase:l}=e;s.size(t)<r&&a.push("length"),l&&!/[A-Z]/.test(t)&&a.push("uppercase"),i&&!/[a-z]/.test(t)&&a.push("lowercase"),o&&!/\d/.test(t)&&a.push("number"),n&&!/[!@#$%^&*()_+{}[\]:;<>,.?~\\-]/.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 C.ValidationError(e,t,"password")}return!0}}),k=e=>{try{const s=new URL(e);return"http:"===s.protocol||"https:"===s.protocol}catch{return!1}},b=async(e,s)=>{const t=await e.getTokens(!1);if(t){t.scopes=void 0;const e=Object.entries(t).filter((([e,s])=>s)).map((([e,s])=>`${e}=${encodeURIComponent(s)}`)).join("&");return`${s}?${e}`}return s},E=(...e)=>r.twMerge(a(e));function S(e){return s=>{try{return e(s)}catch(t){return}}}const L=e=>{const t={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(!e)return t;for(const a of e){const{identity:e,challenge:r,fim_type:i}=a.strategy;switch(a.type){case"internal":switch(e){case"email":s.eq(r,"magic_link")?t.internal.email.magicLink=!0:t.internal.email[r]=!0,t.hasEmailMethods=!0,(t.internal.email.magicLink||t.internal.email.otp||t.internal.email.password)&&(t.hasSignInEmailMethods=!0);break;case"phone":s.eq(r,"magic_link")?t.internal.phone.magicLink=!0:t.internal.phone[r]=!0,t.hasPhoneMethods=!0,(t.internal.phone.magicLink||t.internal.phone.otp||t.internal.phone.password)&&(t.hasSignInPhoneMethods=!0);break;case"username":t.internal.username[r]=!0,t.hasUsernameMethods=!0,t.internal.username.password&&(t.hasSignInUsernameMethods=!0);break;default:throw new Error(`Unsupported identity type: ${e}`)}break;case"fim":t.fim.providers.push(i);break;case"passkey":t.passkey=!0;break;default:throw new Error(`Unsupported strategy type: ${a.type}`)}}return t},N=(e,t)=>e.hasSignInEmailMethods&&e.hasSignInUsernameMethods?s.eq(t,"label")?"Email or username":"Use email or username":e.hasSignInEmailMethods?s.eq(t,"label")?"Email":"Use email":e.hasSignInUsernameMethods?s.eq(t,"label")?"Username":"Use username":null,I=(e,t)=>{if(s.eq(t,"phone")){if(e.internal.phone.otp)return{label:"SMS code",challengeType:"otp"};if(e.internal.phone.magicLink)return{label:"SMS link",challengeType:"magic_link"}}if(s.eq(t,"email_or_username")){if(e.internal.email.otp)return{label:"email code",challengeType:"otp"};if(e.internal.email.magicLink)return{label:"email link",challengeType:"magic_link"}}return null},P=e=>{const s=(t=window.location.search,(new DOMParser).parseFromString(t,"text/html").documentElement.textContent||"");var t;const a=new URLSearchParams(s);if(e){let s=!1;for(const[t,r]of Object.entries(e))a.has(t)||""===r||(a.set(t,r),s=!0);if(s){const e=`${window.location.pathname}${a.toString()?`?${a.toString()}`:""}${window.location.hash}`;window.history.replaceState(null,"",e)}}return{getAll:()=>{const e={};for(const[s,t]of a.entries())e[s]=t;return e},get:e=>{const s=a.get(e);return""===s?null:s},set:e=>{const s=new URLSearchParams(window.location.search);for(const[a,r]of Object.entries(e))null==r||""===r?s.delete(a):s.set(a,r);const t=`${window.location.pathname}${s.toString()?`?${s.toString()}`:""}${window.location.hash}`;window.history.pushState(null,"",t)}}},F=e=>{const s=new URLSearchParams(e?e.split("?")[1]:window.location.search),t=s.get("error"),a=s.get("message");return{error:t,message:a?decodeURIComponent(a):null}},Y=({type:s,id:t,size:a,className:r=""})=>{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",linledin:"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",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"}};return"flags"!==s?e.jsx("img",{className:E("passflow-icon",i,r),src:o[s][t],alt:t}):e.jsx("div",{className:E("passflow-icon",i,r),children:e.jsx("div",{className:E("passflow-flag",t.toLowerCase()),style:{backgroundImage:"url(data:image/png;base64,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)"}})})},A=({size:s,x:t,y:a})=>{const r={width:s,height:s,left:t,top:a};return e.jsx("span",{className:"passflow-ripple passflow-ripple-effect",style:r})},U=({size:s,variant:t,type:a,onClick:r,withIcon:o=!1,asIcon:n=!1,className:l="",children:c,withRipple:p=!0,...d})=>{const[h,u]=i.useState(),m={"passflow-button passflow-button--big":"big"===s,"passflow-button passflow-button--medium":"medium"===s,"passflow-button passflow-button--small":"small"===s,"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":o,"passflow-button--as-icon":n};return i.useEffect((()=>{let e;return h&&(e=setTimeout((()=>{u(void 0)}),1e3)),()=>clearTimeout(e)}),[h]),e.jsxs("button",{className:E(m,l),type:a,onClick:s=>{const t=s.currentTarget.getBoundingClientRect(),a=Math.max(t.width,t.height),i=s.clientX-t.left-a/2,o=s.clientY-t.top-a/2,n=e.jsx(A,{size:a,x:i,y:o},Date.now());u((e=>e?[...e,n]:[n])),r?.(s)},...d,children:[c,p&&e.jsx("div",{"aria-hidden":!0,className:"passflow-ripple-container",children:h})]})},z=i.forwardRef((({id:s,isError:t=!1,className:a="",disabled:r=!1,...i},o)=>{const n={"passflow-field--error":t};return e.jsx("input",{ref:o,id:s,type:"text",className:E("passflow-field-input passflow-field--focused",n,a),disabled:r,...i})})),R=e=>{const s={requireNumber:"number",requireSymbol:"symbol",requireLowerCase:"lowercase letter",requireUpperCase:"uppercase letter"},t=Object.keys(e).filter((s=>e[s]));return`Contain a ${new Intl.ListFormat("en").format(t.map((e=>s[e])))}`},G=i.forwardRef((({id:t,value:a,passwordPolicy:r,withMessages:o=!1,validationErrors:n=[],isError:l=!1,className:c="",disabled:p=!1,...d},h)=>{const[u,m]=i.useState(!1),g={"passflow-field--error":l},w=e=>s.size(a)>0&&0===s.size(s.intersection(n,e))?"passflow-password-validation-item--success":null,f=e=>s.size(a)>0&&0===s.size(s.intersection(n,e))?"check":"close",C=()=>m((e=>!e));if(null===r)return null;const{min_password_length:x,require_lowercase:y,require_number:v,require_symbol:M,require_uppercase:j}=r;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-field-wrapper",children:[e.jsx("input",{ref:h,id:t,value:a,type:u?"text":"password",className:E("passflow-field-input passflow-field--focused passflow-field-input--with-icon",g,c),disabled:p,...d}),u?e.jsx(U,{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,onClick:C,children:e.jsx(Y,{size:"small",type:"general",id:"eye-on"})}):e.jsx(U,{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,onClick:C,children:e.jsx(Y,{size:"small",type:"general",id:"eye-off"})})]}),o&&e.jsxs("div",{className:"passflow-password-validation",children:[e.jsxs("p",{className:E("passflow-password-validation-item",w(["length"])),children:[e.jsx(Y,{size:"small",id:f(["length"]),type:"general",className:E(w(["length"]))}),"At least ",x," characters"]}),e.jsxs("p",{className:E("passflow-password-validation-item",w(["uppercase","lowercase","number","symbol"])),children:[e.jsx(Y,{size:"small",id:f(["uppercase","lowercase","number","symbol"]),type:"general",className:E(w(["uppercase","lowercase","number","symbol"]))}),R({requireNumber:v,requireSymbol:M,requireLowerCase:y,requireUpperCase:j})]})]})]})})),T={appSettings:null,passwordPolicy:null,url:void 0,appId:void 0,scopes:void 0,createTenantForNewUser:void 0,parseQueryParams:!0},H=i.createContext(void 0),B=(e,s)=>"SET_PASSFLOW_STATE"===s.type?{...e,...s.payload}:e,V={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"}},Z=({to:e,search:s,replace:t})=>{const a=s?s.startsWith("?")?s:`?${s}`:"";t?window.location.replace(`${e}${a}`):window.location.href=`${e}${a}`},D=i.createContext({navigate:Z,setNavigate:()=>{},router:"default"}),O=i.createContext(void 0),J=({children:s})=>{const t=q(),[a,r]=i.useState(!1),o=i.useCallback((()=>t.isAuthenticated()),[t]),n=i.useCallback((async e=>{r(!0);try{const s=await t.getTokens(e);return{tokens:s,parsedTokens:s?t.getParsedTokenCache():void 0}}catch(s){return{tokens:void 0,parsedTokens:void 0}}finally{r(!1)}}),[t]),l={isAuthenticated:o,logout:i.useCallback((async()=>{await t.logOut()}),[t]),isLoading:a,getTokens:n};return e.jsx(O.Provider,{value:l,children:s})},q=()=>{const e=i.useContext(H);if(!e)throw new Error("useAuth must be used within an PassflowProvider");const{passflow:s}=e;return s},_=()=>{const e=q(),[s,t]=i.useState(""),[a,r]=i.useState(!1),[o,n]=i.useState(!1);return{fetch:i.useCallback((async(s,a)=>{n(!0);const i=()=>n(!1);try{if("password"===a)await e.signIn(s);else{if("passkey"!==a){const t=await e.passwordlessSignIn(s);return i(),t}await e.passkeyAuthenticate(s)}return i(),!0}catch(o){r(!0);return t(o.message),i(),!1}finally{i()}}),[e.passkeyAuthenticate,e.passwordlessSignIn,e.signIn]),isLoading:o,isError:a,error:s,reset:()=>{r(!1),t(""),n(!1)}}},W=e=>e&&k(e)?e:e?`${window.location.origin}${e.startsWith("/")?"":"/"}${e}`:"",K=(e,s)=>{const t=q(),a=i.useContext(H),r={redirect_url:W(e),scopes:a?.state.scopes,create_tenant:s};return{federatedWithPopup:(e,s)=>t.federatedAuthWithPopup({provider:e,invite_token:s,...r}),federatedWithRedirect:(e,s)=>t.federatedAuthWithRedirect({provider:e,invite_token:s,...r})}},Q=()=>{const e=q(),[s,t]=i.useState(!1),[a,r]=i.useState(""),[o,n]=i.useState(!1);return{fetch:i.useCallback((async(s,a)=>{n(!0);const i=()=>n(!1);try{if("password"===a)await e.signUp(s);else{if("passkey"!==a){const t=await e.passwordlessSignIn(s);return i(),t}await e.passkeyRegister(s)}return i(),!0}catch(o){t(!0);return r(o.message),i(),!1}finally{i()}}),[e.signUp,e.passkeyRegister,e.passwordlessSignIn]),isLoading:o,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},X=()=>{const e=q(),[s,t]=i.useState(!1),[a,r]=i.useState(""),[o,n]=i.useState(!1);return{fetch:i.useCallback((async s=>{try{return n(!0),await e.sendPasswordResetEmail(s),n(!1),!0}catch(a){t(!0);return r(a.message),!1}}),[e.sendPasswordResetEmail]),isLoading:o,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},$=()=>{const e=q(),[s,t]=i.useState(!1),[a,r]=i.useState(""),[o,n]=i.useState(!1);return{fetch:i.useCallback((async s=>{try{return n(!0),await e.resetPassword(s),n(!1),!0}catch(a){t(!0);return r(a.message),!1}}),[e.resetPassword]),isLoading:o,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},ee=()=>{const e=q(),t=i.useContext(H),[a,r]=i.useState(!1),[o,n]=i.useState(""),[l,c]=i.useState(!1);if(!t)throw new Error("useAppSetting must be used within an PassflowProvider");const{state:p,dispatch:d}=t;i.useLayoutEffect((()=>{if(!p.appSettings){(async()=>{c(!0);try{let a={};e.appId&&(a=await e.getAppSettings()),p.scopes||(p.scopes=a.defaults.scopes),s.isUndefined(p.createTenantForNewUser)&&(p.createTenantForNewUser=a.defaults.create_tenant_for_new_user);let r=null;a.auth_strategies&&(t=a.auth_strategies,s.some(t,(e=>"internal"===e.type&&"password"===e.strategy?.challenge)))&&(r=await e.getPasswordPolicySettings()),d({type:"SET_PASSFLOW_STATE",payload:{...p,appSettings:a,passwordPolicy:r}})}catch(a){r(!0);n(a.message)}finally{c(!1)}var t})()}}),[d,p.appSettings,e,p]);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})(),u=p.appSettings?.login_app_theme?"dark"===h?p.appSettings?.login_app_theme.dark_style:p.appSettings?.login_app_theme.light_style:null;return u&&(e=>{const t=document.documentElement;if(t.style.setProperty("--passflow-primary-color",e.primary_color),t.style.setProperty("--passflow-text-color",e.text_color),t.style.setProperty("--passflow-secondary-text-color",e.secondary_text_color),t.style.setProperty("--passflow-background-color",e.background_color),t.style.setProperty("--passflow-background-image",s.isEmpty(e.background_image)?"none":`url(${e.background_image})`),t.style.setProperty("--passflow-card-color",e.card_color),t.style.setProperty("--passflow-input-background-color",e.input_background_color),t.style.setProperty("--passflow-input-border-color",e.input_border_color),t.style.setProperty("--passflow-button-text-color",e.button_text_color),t.style.setProperty("--passflow-passkey-button-text-color",e.passkey_button_text_color),t.style.setProperty("--passflow-passkey-button-background-color",e.passkey_button_background_color),t.style.setProperty("--passflow-divider-color",e.divider_color),t.style.setProperty("--passflow-federated_button_background_color",e.federated_button_background_color),t.style.setProperty("--passflow-federated_button_text_color",e.federated_button_text_color),e.custom_css){const s=document.querySelector(".psfw-custom-styles");s&&(s.innerHTML=e.custom_css)}})(u),{appSettings:p.appSettings,scopes:p.scopes??[],createTenantForNewUser:p.createTenantForNewUser??!1,loginAppTheme:p.appSettings?.login_app_theme,passwordPolicy:p.passwordPolicy,currentStyles:u,currentTheme:h,isLoading:l,isError:a,error:o,reset:()=>{r(!1),n(""),c(!1)}}},se=()=>{const e=q(),[s,t]=i.useState(""),[a,r]=i.useState(!1),[o,n]=i.useState(!1);return{fetch:i.useCallback((async s=>{try{n(!0);const t=await e.passwordlessSignInComplete(s);return n(!1),t}catch(a){r(!0);return t(a.message),null}}),[e]),isLoading:o,isError:a,error:s,reset:()=>{r(!1),t(""),n(!1)}}},te=()=>{const e=q(),[s,t]=i.useState(""),[a,r]=i.useState(!1),[o,n]=i.useState(!1);return{fetch:i.useCallback((async s=>{try{return n(!0),await e.joinInvitation(s),n(!1),!0}catch(a){r(!0);return t(a.message),!1}}),[e.joinInvitation]),isLoading:o,isError:a,error:s}},ae=(e,s)=>{i.useEffect((()=>{const t=t=>{e.current&&!e.current.contains(t.target)&&s&&s()};return document.addEventListener("click",t,!0),()=>{document.removeEventListener("click",t,!0)}}),[s,e])},re=e=>{if(!e)return{};const s=o.parse(e.startsWith("?")?e.slice(1):e);return Object.fromEntries(Object.entries(s).map((([e,s])=>[e,String(s)])))},ie=()=>{const{navigate:e,setNavigate:s,router:t}=i.useContext(D),a=i.useCallback((e=>{if(!e)return void s(null);s((s=>{const{to:a,search:r="",replace:i=!1}=s;switch(t){case"react-router":e({pathname:a,search:r.startsWith("?")?r:`?${r}`,replace:i});break;case"tanstack-router":e({to:a,search:re(r),replace:i});break;case"wouter":{const s=r?r.startsWith("?")?r:`?${r}`:"";e({to:`${a}${s}`,replace:i});break}default:{const e=r?r.startsWith("?")?r:`?${r}`:"";i?window.location.replace(`${a}${e}`):window.location.href=`${a}${e}`}}}))}),[s,t]);return{navigate:e,setNavigate:a,router:t}},oe=({id:t,onChange:a,isError:r=!1,className:o=""})=>{const[c,p]=i.useState(!1),[d,h]=i.useState(""),[u,m]=i.useState(!1),g=i.useRef(null);ae(g,(()=>{p(!1),h("")}));const w=Intl.DateTimeFormat().resolvedOptions().timeZone,f=n.getCountryForTimezone(w),{inputValue:C,country:x,setCountry:y,handlePhoneValueChange:v,inputRef:M}=l.usePhoneInput({defaultCountry:f?.id.toLocaleLowerCase()||"us"}),j=i.useMemo((()=>l.defaultCountries.filter((e=>{const{name:s}=l.parseCountry(e);return s.toLowerCase().includes(d.toLowerCase())}))),[d]),k=i.useMemo((()=>l.defaultCountries.filter((e=>{const{iso2:t}=l.parseCountry(e);return s.eq(t,f?.id.toLocaleLowerCase())}))??null),[f?.id]),b=e=>{y(e),h(""),p(!1)};return e.jsxs("div",{ref:g,className:E("passflow-field-phone-wrapper",{"passflow-field-phone-wrapper--focus":u,"passflow-field-phone-wrapper--error":r},o),children:[c?e.jsxs("div",{className:E("passflow-field-country-search-wrapper"),children:[e.jsx("input",{value:d,onChange:e=>h(e.target.value),className:E("passflow-field-country-search"),onFocus:()=>m(!0),onBlur:()=>m(!1),placeholder:"Search for a country"}),e.jsx("div",{className:"passflow-field-country-search-icon",children:e.jsx(Y,{type:"general",id:"search",size:"small"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs(U,{type:"button",variant:"clean",onClick:()=>p(!0),size:"big",className:E("passflow-button-show-country"),children:[e.jsx(l.FlagImage,{iso2:x.iso2,className:"passflow-flag",style:{width:"21px"}}),e.jsx(Y,{type:"general",id:"caret-down",size:"small"})]}),e.jsx("input",{id:t,ref:M,value:C,onChange:e=>{v(e),a(e)},onFocus:()=>m(!0),onBlur:()=>m(!1),className:E("passflow-field-phone-input")})]}),e.jsx("ul",{className:E("passflow-country-search-wrapper",{"passflow-country-search-wrapper--show":c,"passflow-country-search-wrapper--hidden":!c}),children:s.size(j)>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-country-search-sticky-top"}),0===s.size(d)&&e.jsxs(e.Fragment,{children:[k.map((s=>{const{name:t,dialCode:a,iso2:r}=l.parseCountry(s);return e.jsxs("li",{title:t,onClick:()=>b(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),b(r))},className:"passflow-country-search-item",children:[e.jsx(l.FlagImage,{iso2:r,className:"passflow-country-search-flag"}),e.jsx("span",{className:"passflow-country-search-name",children:t}),e.jsxs("span",{className:"passflow-country-search-code",children:["+",a]})]},r)})),e.jsx("p",{className:"passflow-country-search-divider",children:"All contries"})]}),j.map((s=>{const{name:t,dialCode:a,iso2:r}=l.parseCountry(s);return e.jsxs("li",{title:t,onClick:()=>b(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),b(r))},className:"passflow-country-search-item",children:[e.jsx(l.FlagImage,{iso2:r,className:"passflow-country-search-flag"}),e.jsx("span",{className:"passflow-country-search-name",children:t}),e.jsxs("span",{className:"passflow-country-search-code",children:["+",a]})]},r)})),e.jsx("div",{className:"passflow-country-search-sticky-bottom"})]}):e.jsx("span",{className:"passflow-country-search-no-matches",children:"No matches"})})]})},ne=({providers:s,onClick:t,className:a=""})=>{const r={"passflow-providers-box--grid":s.length>1};return e.jsx("div",{className:E("passflow-providers-box",r,a),children:s.map((a=>e.jsxs(U,{onClick:()=>t(a),size:"big",variant:"provider",type:"button",withIcon:!0,className:"passflow-provider-item",children:[e.jsx(Y,{size:"small",type:"providers",id:a}),s.length<=2&&e.jsx("p",{className:"passflow-provider-text",children:a})]},a)))})},le=({to:s,search:t,replace:a=!1,children:r,className:i,onClick:o,...n})=>{const{navigate:l}=ie();return e.jsx("a",{href:(()=>{const e=t?t.startsWith("?")?t:`?${t}`:"";return`${s}${e}`})(),onClick:e=>{e.preventDefault(),o&&o(e),l({to:s,search:t,replace:a})},className:i,...n,children:r})},ce=({label:s,checked:t,onChange:a})=>e.jsxs("label",{className:"passflow-switch-wrapper",htmlFor:"switch",children:[e.jsx("span",{className:"passflow-switch-label",children:s}),e.jsx("input",{id:"switch",type:"checkbox",className:"passflow-switch-input",checked:t,onChange:a}),e.jsx("div",{className:"passflow-switch-track"})]}),pe=y.Root,de=y.Trigger,he=y.Anchor,ue=i.forwardRef((({className:s,align:t="center",sideOffset:a=4,...r},i)=>e.jsx(y.Portal,{children:e.jsx(y.Content,{ref:i,align:t,sideOffset:a,className:E("passflow-popover-content",s),...r})})));ue.displayName=y.Content.displayName;const me=v.Root,ge=v.Trigger,we=v.Portal,fe=v.Close,Ce=i.forwardRef((({className:s,...t},a)=>e.jsx(v.Overlay,{ref:a,className:E("passflow-dialog-overlay",s),...t})));Ce.displayName=v.Overlay.displayName;const xe=i.forwardRef((({className:s,children:t,...a},r)=>e.jsxs(we,{children:[e.jsx(Ce,{}),e.jsx(v.Content,{ref:r,className:E("passflow-dialog-content",s),...a,children:t})]})));xe.displayName=v.Content.displayName;const ye=({className:s,...t})=>e.jsx("div",{className:E("passflow-dialog-header",s),...t});ye.displayName="DialogHeader";const ve=({className:s,...t})=>e.jsx("div",{className:E("passflow-dialog-footer",s),...t});ve.displayName="DialogFooter";const Me=i.forwardRef((({className:s,...t},a)=>e.jsx(v.Title,{ref:a,className:E("passflow-dialog-title",s),...t})));Me.displayName=v.Title.displayName;const je=i.forwardRef((({className:s,...t},a)=>e.jsx(v.Description,{ref:a,className:E("passflow-dialog-description",s),...t})));je.displayName=v.Description.displayName;const ke=({iconId:s="logo",title:t="",subtitle:a="",className:r="",children:i,customCss:o,customLogo:n,removeBranding:l=!1})=>e.jsxs(d.HelmetProvider,{children:[e.jsx(d.Helmet,{children:e.jsx("style",{type:"text/css",children:o})}),e.jsxs("div",{id:"passflow-wrapper",className:"passflow-wrapper",children:[e.jsxs("div",{className:E("passflow-form-main-wrapper",r),children:[e.jsxs("div",{className:"passflow-form-main-container",children:[n?e.jsx("img",{src:n,alt:"custom logo",className:"passflow-form-main-container-logo"}):e.jsx(Y,{id:s,size:"large",type:"general"}),t&&e.jsxs("div",{className:"passflow-form-header",children:[e.jsx("h2",{className:"passflow-form-title",children:t}),a&&e.jsx("span",{className:"passflow-form-subtitle",children:a})]})]}),i]}),!l&&e.jsx("div",{className:"passflow-branding",children:e.jsxs("p",{className:"passflow-branding-text",children:["Secured by ",e.jsx("span",{className:"passflow-branding-text-secondary passflow-secondary-font",children:"PASSFLOW"})]})})]})]}),be=({error:s="Something went wrong",goBackRedirectTo:t})=>{const{navigate:a}=ie(),{currentStyles:r,loginAppTheme:i}=ee();return e.jsx(ke,{iconId:"logo-red",className:"passflow-error-wrapper",customCss:r?.custom_css,customLogo:r?.logo_url,removeBranding:i?.remove_passflow_logo,children:e.jsxs("div",{className:"passflow-error-container",children:[e.jsxs("div",{className:"passflow-error-container-text-wrapper",children:[s&&e.jsx("p",{className:"passflow-error-container-text",children:s}),e.jsx("p",{className:"passflow-error-container-text-secondary",children:"Please go back or try again later"})]}),e.jsx(U,{size:"big",type:"button",variant:"primary",onClick:()=>{k(t)?window.location.href=t:a({to:t})},className:"passflow-button-go-back-error",children:"Go back"})]})})},Ee=["verify-challenge-otp","password/reset"],Se=(s,t)=>a=>{const r=i.useContext(H),{successAuthRedirect:o}=a,{pathname:n}=window.location;if(!(r?.state.appId&&r.state.url||Ee.some((e=>n.includes(e))))){const s="Missing appId or url";return e.jsx(t,{goBackRedirectTo:o??"/",error:s})}return e.jsx(h.ErrorBoundary,{FallbackComponent:({error:s})=>e.jsx(t,{goBackRedirectTo:o??"/",error:s.message}),children:e.jsx(s,{...a})})},Le={password:"",email_or_username:"",phone:""},Ne=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signUpPath:r=V.signup.path,verifyOTPPath:n=V.verify_otp.path,verifyMagicLinkPath:l=V.verify_magic_link.path,forgotPasswordPath:c=V.forgot_password.path})=>{const{getValues:p,control:d,trigger:h,register:g,formState:{errors:w,isDirty:f,isValid:C},clearErrors:x,reset:y}=m.useForm({defaultValues:Le}),v=q(),{navigate:j}=ie(),{appSettings:S,scopes:A,createTenantForNewUser:R,passwordPolicy:T,currentStyles:H,isError:B,error:Z,loginAppTheme:D}=ee(),{federatedWithRedirect:O}=K(t,R);if(B)throw new Error(Z);const J=i.useMemo((()=>L(S?.auth_strategies)),[S]),{error:W,message:Q}=F();if(W&&Q)throw new Error(Q);const{get:X}=P({invite_token:""}),$=X("invite_token"),{fetch:se,isError:te,error:ae,reset:re,isLoading:pe}=_(),[de,he]=i.useState(S?.force_passwordless_login&&J.passkey||!1),[ue,me]=i.useState((()=>J.hasEmailMethods||J.hasUsernameMethods?"email_or_username":J.hasPhoneMethods?"phone":null));i.useEffect((()=>{he(S?.force_passwordless_login&&J.passkey||!1),J.hasSignInEmailMethods||J.hasSignInUsernameMethods?me("email_or_username"):J.hasSignInPhoneMethods?me("phone"):me(null)}),[S?.force_passwordless_login,J]);const ge=()=>{y(),x(),re()},we=e=>{me(e),ge()},fe=s.eq(ue,"phone")&&J.internal.phone.password||s.eq(ue,"email_or_username")&&(J.internal.email.password||J.internal.username.password),Ce=s.eq(ue,"phone")&&(J.internal.phone.otp||J.internal.phone.magicLink)||s.eq(ue,"email_or_username")&&(J.internal.email.otp||J.internal.email.magicLink),xe=J.passkey,ye=async(e,a)=>{s.eq(a,"password")&&await(async e=>{const a={...e,...!s.isEmpty($)&&{invite_token:$}};await se(a,"password")&&(k(t??S.defaults.redirect)?window.location.href=await b(v,t??S.defaults.redirect):j({to:t??S.defaults.redirect}))})(e),s.eq(a,"passkey")&&await(async e=>{const a={...e,...!s.isEmpty($)&&{invite_token:$}};await se(a,"passkey")&&(k(t??S.defaults.redirect)?window.location.href=await b(v,t??S.defaults.redirect):j({to:t??S.defaults.redirect}))})(e),s.eq(a,"passwordless")&&await(async e=>{const a=I(J,ue)?.challengeType,r={...e,challenge_type:I(J,ue)?.challengeType,create_tenant:R,redirect_url:t??S.defaults.redirect,...!s.isEmpty($)&&{invite_token:$}},i=await se(r,"passwordless"),c=new URLSearchParams(window.location.search),p={...r,...i,type:"passwordless",challenge_type:a,create_tenant:R},d=o.stringify({...Object.fromEntries(c.entries()),...p});s.eq(a,"otp")&&i&&j({to:n??V.verify_otp.path,search:d}),s.eq(a,"magic_link")&&i&&j({to:l??V.verify_magic_link.path,search:d})})(e)},ve=async()=>{let e=!1;if(s.eq(ue,"phone")&&(e=await h(["phone"])),s.eq(ue,"email_or_username")&&(e=await h(["email_or_username"])),e){const e=p(),s=e.email_or_username.match(M),t=u.phone(e.phone),a=t.isValid,r={...s&&{email:e.email_or_username},...a&&{phone:t.phoneNumber},scopes:A};await ye(r,"passwordless")}},Me=async()=>{const e={relying_party_id:a,scopes:A};await ye(e,"passkey")};return e.jsxs(ke,{title:"Sign In to your account",subtitle:"To Passflow by Madappgang",className:"passflow-signin-wrapper",customCss:H?.custom_css,customLogo:H?.logo_url,removeBranding:D?.remove_passflow_logo,children:[xe&&(Ce||fe)&&e.jsx("div",{className:"passflow-form-switch",children:e.jsx(ce,{label:"Passwordless experience",checked:de,onChange:e=>{const{checked:s}=e.target;he(s),ge()}})}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),de||(fe&&(async()=>{const e=p(),t=e.email_or_username.match(M),a=!t&&s.size(e.email_or_username)>0,r=u.phone(e.phone),i=r.isValid,o={...t&&{email:e.email_or_username},...a&&{username:e.email_or_username},...i&&{phone:r.phoneNumber},scopes:A,password:e.password};await ye(o,"password")})(),!fe&&Ce&&ve())},className:"passflow-form",children:[!de&&ue?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-form-container",children:[s.eq(ue,"email_or_username")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"identity",className:E("passflow-field-label",{"passflow-field-label--error":te||s.has(w,"email_or_username")}),children:N(J,"label")}),J.hasSignInPhoneMethods&&e.jsx(U,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>we("phone"),children:"Use phone"})]}),e.jsx(m.Controller,{name:"email_or_username",control:d,rules:{required:"Email is required"},render:({field:t})=>e.jsx(z,{...t,...g("email_or_username"),isError:te||s.has(w,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})}),s.has(w,"email_or_username")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.email_or_username?.message})]})]}),s.eq(ue,"phone")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"phone",className:E("passflow-field-label",{"passflow-field-label--error":te||s.has(w,"phone")}),children:"Phone number"}),(J.hasSignInEmailMethods||J.hasSignInUsernameMethods)&&e.jsx(U,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>we("email_or_username"),children:N(J,"button")})]}),e.jsx(m.Controller,{name:"phone",control:d,rules:{required:"Phone number is required",validate:e=>!!u.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(oe,{...g("phone"),ref:null,onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:te||s.has(w,"phone")})}),s.has(w,"phone")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.phone?.message})]})]}),fe?e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"password",className:E("passflow-field-label",{"passflow-field-label--error":te||s.has(w,"password")}),children:"Password"}),e.jsx(le,{to:c??V.forgot_password.path,search:o.stringify({...o.parse(window.location.search),default_method:ue}),className:"passflow-field-label-button",children:"Forgot Password?"})]}),e.jsx(m.Controller,{name:"password",control:d,rules:{required:"Password is required"},render:({field:t})=>e.jsx(G,{...t,...g("password"),isError:te||s.has(w,"password"),passwordPolicy:T,id:"password",name:"password"})}),s.has(w,"password")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.password?.message})]})]}):null,te&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:ae})]})]}),fe?e.jsx(U,{size:"big",variant:"primary",type:"submit",disabled:!f||!C||pe,className:"passflow-button-signin",children:"Sign In"}):null,Ce&&e.jsxs(U,{size:"big",variant:fe?"outlined":"primary",type:fe?"button":"submit",className:E("passflow-button-passwordless",{"passflow-button-passwordless--active":fe}),style:fe?{marginTop:"-16px"}:{},onClick:()=>fe?ve():null,disabled:(()=>{const e=p();return 0===s.size(e[ue])})(),children:["Sign In with ",I(J,ue)?.label]}),xe?e.jsxs(U,{size:"big",variant:"dark",type:"button",className:E("passflow-button-passkey"),style:fe||Ce?{marginTop:"-16px"}:{},withIcon:!0,onClick:Me,children:[e.jsx(Y,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign In with a Passkey"]}):null]}):null,de&&xe?e.jsxs(e.Fragment,{children:[te&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:ae})]}),e.jsxs(U,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:Me,children:[e.jsx(Y,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign In with a Passkey"]})]}):null,e.jsx("div",{className:E("passflow-form-actions",{"passflow-form-actions--top-space":fe||xe}),children:e.jsxs("p",{className:"passflow-dont-have-account",children:["Don't have an account?"," ",e.jsx(le,{to:r??V.signup.path,search:window.location.search,className:"passflow-link",children:"Sign Up"})]})}),s.size(J.fim.providers)>0&&e.jsxs("div",{className:"passflow-form-providers",children:[fe||Ce||xe?e.jsxs("div",{className:"passflow-form-divider",children:[e.jsx("div",{className:"passflow-form-divider__line-left"}),e.jsx("span",{className:"passflow-form-divider__text",children:"Or continue with"}),e.jsx("div",{className:"passflow-form-divider__line-right"})]}):null,e.jsx(ne,{providers:J.fim.providers,onClick:e=>O(e,$??void 0)})]})]})]})},Ie=Se(Ne,be),Pe={passkeyEmail:"",passkeyPhone:"",passkeyUsername:"",email_or_username:"",phone:"",password:""},Fe=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signInPath:r=V.signin.path,verifyOTPPath:n=V.verify_otp.path,verifyMagicLinkPath:l=V.verify_magic_link.path})=>{const{getValues:c,control:p,trigger:d,register:h,formState:{errors:g,isDirty:w,isValid:f},clearErrors:C,reset:x,setError:y}=m.useForm({defaultValues:Pe}),v=q(),{navigate:S}=ie(),{appSettings:A,scopes:R,createTenantForNewUser:T,passwordPolicy:H,currentStyles:B,isError:Z,error:D,loginAppTheme:O}=ee();if(Z)throw new Error(D);const{federatedWithRedirect:J}=K(t,T),_=i.useMemo((()=>L(A?.auth_strategies)),[A]),{error:W,message:X}=F();if(W&&X)throw new Error(X);const{get:$}=P({invite_token:""}),se=$("invite_token"),{fetch:te,isError:ae,error:re,reset:pe,isLoading:de}=Q(),[he,ue]=i.useState(A?.force_passwordless_login&&_.passkey||!1),[me,ge]=i.useState((()=>_.hasEmailMethods||_.hasUsernameMethods?"email_or_username":_.hasPhoneMethods?"phone":null));i.useEffect((()=>{ue(A?.force_passwordless_login&&_.passkey||!1),_.hasSignInEmailMethods||_.hasSignInUsernameMethods?ge("email_or_username"):_.hasSignInPhoneMethods?ge("phone"):ge(null)}),[A?.force_passwordless_login,_]);const we=()=>{x(),C(),pe()},fe=e=>{ge(e),we()},Ce=s.eq(me,"phone")&&_.internal.phone.password||s.eq(me,"email_or_username")&&(_.internal.email.password||_.internal.username.password),xe=s.eq(me,"phone")&&(_.internal.phone.otp||_.internal.phone.magicLink)||s.eq(me,"email_or_username")&&(_.internal.email.otp||_.internal.email.magicLink),ye=_.passkey,ve=async(e,a)=>{s.eq(a,"password")&&await(async e=>{const a={user:e,create_tenant:T,...!s.isEmpty(se)&&{invite_token:se}};await te(a,"password")&&(k(t??A.defaults.redirect)?window.location.href=await b(v,t??A.defaults.redirect):S({to:t??A.defaults.redirect}))})(e),s.eq(a,"passwordless")&&await(async e=>{const a=I(_,me)?.challengeType,r={...e,challenge_type:a,create_tenant:T,redirect_url:t??A.defaults.redirect,...!s.isEmpty(se)&&{invite_token:se}},i=await te(r,"passwordless"),c=new URLSearchParams(window.location.search),p={...r,...i,type:"passwordless",challenge_type:a,create_tenant:T},d=o.stringify({...Object.fromEntries(c.entries()),...p});s.eq(a,"otp")&&i&&S({to:n??V.verify_otp.path,search:d}),s.eq(a,"magic_link")&&i&&S({to:l??V.verify_magic_link.path,search:d})})(e)},Me=async()=>{let e=!1;if(s.eq(me,"phone")&&(e=await d(["phone"])),s.eq(me,"email_or_username")&&(e=await d(["email_or_username"])),e){const e=c(),s=e.email_or_username.match(M),t=u.phone(e.phone),a=t.isValid,r={...s&&{email:e.email_or_username},...a&&{phone:t.phoneNumber},scopes:R};await ve(r,"passwordless")}},je=async()=>(async()=>{const e={relying_party_id:a,create_tenant:T,redirect_url:t??A.defaults.redirect,...!s.isEmpty(se)&&{invite_token:se},scopes:R};await te(e,"passkey")&&(k(t??A.defaults.redirect)?window.location.href=await b(v,t??A.defaults.redirect):S({to:t??A.defaults.redirect}))})(),be=async()=>{const e=c(),t=e.email_or_username.match(M),a=!t&&s.size(e.email_or_username)>0,r=u.phone(e.phone),i=r.isValid,o={...t&&{email:e.email_or_username},...a&&{username:e.email_or_username},...i&&{phone_number:r.phoneNumber},password:e.password,scopes:R};await ve(o,"password")};return e.jsxs(ke,{title:"Create account to sign up",subtitle:"For Passflow by Madappgang",className:"passflow-signup-wrapper",customCss:B?.custom_css,customLogo:B?.logo_url,removeBranding:O?.remove_passflow_logo,children:[ye&&(xe||Ce)&&e.jsx("div",{className:"passflow-form-switch",children:e.jsx(ce,{label:"Passwordless experience",checked:he,onChange:e=>{const{checked:s}=e.target;ue(s),we()}})}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),he||(Ce&&be(),!Ce&&xe&&Me()),he&&ye&&je()},className:"passflow-form passflow-signup-form",children:[!he&&me?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-form-container",children:[s.eq(me,"email_or_username")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"identity",className:E("passflow-field-label",{"passflow-field-label--error":ae||s.has(g,"email_or_username")}),children:N(_,"label")}),_.hasPhoneMethods&&e.jsx(U,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>fe("phone"),children:"Use phone"})]}),e.jsx(m.Controller,{name:"email_or_username",control:p,rules:{required:(Ee=_,Ee.hasSignInEmailMethods&&Ee.hasSignInUsernameMethods?"Email or username is required":Ee.hasSignInEmailMethods?"Email is required":Ee.hasSignInUsernameMethods?"Username is required":"Field is required"),..._.hasEmailMethods&&!_.hasUsernameMethods?{pattern:{value:M,message:"Invalid email"}}:void 0},render:({field:t})=>e.jsx(z,{...t,...h("email_or_username"),isError:ae||s.has(g,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})}),s.has(g,"email_or_username")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:g.email_or_username?.message})]})]}),s.eq(me,"phone")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"phone",className:E("passflow-field-label",{"passflow-field-label--error":ae||s.has(g,"phone")}),children:"Phone number"}),(_.hasEmailMethods||_.hasUsernameMethods)&&e.jsx(U,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>fe("email_or_username"),children:N(_,"button")})]}),e.jsx(m.Controller,{name:"phone",control:p,rules:{required:"Phone number is required",validate:e=>!!u.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(oe,{...t,...h("phone"),onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:ae||s.has(g,"phone"),ref:null})}),s.has(g,"phone")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:g.phone?.message})]})]}),Ce?e.jsxs("div",{className:"passflow-form-field",children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"password",className:E("passflow-field-label",{"passflow-field-label--error":ae}),children:"Password"})}),e.jsx(m.Controller,{name:"password",control:p,rules:{required:"Password is required",validate:e=>{try{return j(H).validateSync(e),C("password"),!0}catch(s){const e=s;return y("password",{type:"manual",message:e.errors.join(", ")}),e.errors.join(", ")}}},render:({field:t})=>e.jsx(G,{...t,...h("password"),isError:ae,passwordPolicy:H,validationErrors:s.has(g,"password")&&g.password?.message?g.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:e=>{t.onChange(e),(async()=>{await d(["password"])})()}})})]}):null,ae&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:re})]})]}),Ce?e.jsx(U,{size:"big",variant:"primary",type:"submit",onClick:be,disabled:!w||!f||de,className:"passflow-button-signup",children:"Sign Up"}):null,xe&&e.jsxs(U,{size:"big",variant:Ce?"outlined":"primary",type:Ce?"button":"submit",className:E("passflow-button-passwordless",{"passflow-button-passwordless--active":Ce}),style:Ce?{marginTop:"-16px"}:{},onClick:()=>Ce?Me():null,disabled:(()=>{const e=c();return 0===s.size(e[me])})(),children:["Sign Up with ",I(_,me)?.label]}),ye?e.jsxs(U,{size:"big",variant:"dark",type:"button",className:E("passflow-button-passkey"),style:Ce||xe?{marginTop:"-16px"}:{},withIcon:!0,onClick:je,children:[e.jsx(Y,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign Up with a Passkey"]}):null]}):null,he&&ye?e.jsxs(e.Fragment,{children:[e.jsxs(U,{size:"big",variant:"dark",type:"submit",className:"passflow-button-passkey",withIcon:!0,children:[e.jsx(Y,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign Up with a Passkey"]}),ae&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:re})]})]}):null,e.jsx("div",{className:E("passflow-form-actions",{"passflow-form-actions--top-space":Ce||ye}),children:e.jsxs("p",{className:"passflow-have-account",children:["Already have an account?"," ",e.jsx(le,{to:r??V.signin.path,search:window.location.search,className:"passflow-link",children:"Sign In"})]})}),s.size(_.fim.providers)>0&&e.jsxs("div",{className:"passflow-form-providers",children:[Ce||xe||ye?e.jsxs("div",{className:"passflow-form-divider",children:[e.jsx("div",{className:"passflow-form-divider__line-left"}),e.jsx("span",{className:"passflow-form-divider__text",children:"Or continue with"}),e.jsx("div",{className:"passflow-form-divider__line-right"})]}):null,e.jsx(ne,{providers:_.fim.providers,onClick:e=>J(e,se??void 0)})]})]})]});var Ee},Ye=Se(Fe,be),Ae={email:"email address",phone:"phone number"},Ue=()=>{const{currentStyles:t,loginAppTheme:a}=ee(),{fetch:r}=_(),{get:i}=P({identity:"",identity_value:"",challenge_type:"",type:"",redirect_url:""}),o=i("email")?"email":i("phone")?"phone":void 0,n=i("email")?i("email"):i("phone")?i("phone"):void 0,l=i("challenge_type"),c=i("type"),p=i("redirect_url");return e.jsx(ke,{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:e.jsxs("div",{className:"passflow-verify-challenge-magic-link-container",children:[e.jsxs("p",{className:"passflow-verify-challenge-magic-link-text",children:["We sent a link to ",Ae[o]," ",n&&e.jsx("strong",{className:"passflow-verify-challenge-magic-link-text--strong",children:n}),". Click on the link to confirm your registration."]}),"passwordless"===c&&e.jsx(U,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-magic-link",onClick:async()=>{const e={...s.eq(o,"email")?{email:n}:void 0,...s.eq(o,"phone")?{phone:n}:void 0,challenge_type:l,redirect_url:p};await r(e,c)},children:"Resend email"})]})})},ze=()=>{const{currentStyles:s,loginAppTheme:t}=ee();return e.jsx(ke,{iconId:"logo",className:"passflow-verify-challenge-success-wrapper",customCss:s?.custom_css,customLogo:s?.logo_url,removeBranding:t?.remove_passflow_logo,children:e.jsx("div",{className:"passflow-verify-challenge-success-wrapper",children:e.jsxs("div",{className:"passflow-verify-challenge-success-container",children:[e.jsx("p",{className:"passflow-verify-challenge-success-text",children:"Successful verification!"}),e.jsx("p",{className:"passflow-verify-challenge-success-text-secondary",children:"But there is no redirect URL for further redirect."})]})})})},Re=({otp:s,challengeId:t,appId:a})=>{const r=q(),{navigate:o}=ie(),[n,l]=i.useState(null),[c,p]=i.useState(!1),{fetch:d,isError:h,error:u,isLoading:m}=se();if(i.useEffect((()=>{(async()=>{if(a)if(s)if(t){if(!m){const e=await d({otp:s,challenge_id:t});e?e.redirect_url?k(e.redirect_url)?window.location.href=await b(r,e.redirect_url):o({to:e.redirect_url}):p(!0):l("Something went wrong. Please try again later.")}}else l("Missing required param: challenge_id");else l("Missing required param: otp");else l("Missing required param: app_id")})()}),[]),h&&u)throw new Error(u);if(n)throw new Error(n);return c?e.jsx(ze,{}):null},Ge=({totalSecond:s,onClick:t,className:a="",...r})=>{const[o,n]=i.useState(s);i.useEffect((()=>{const e=setInterval((()=>{o>0&&n((e=>e-1))}),1e3);return()=>{clearInterval(e)}}),[o]);return e.jsxs(U,{disabled:o>0,size:"small",variant:"clean",type:"button",className:E("passflow-button-timer",{"passflow-button-timer--active":o>0,"passflow-button-timer--inactive":0===o},a),onClick:()=>{t(),n(s)},...r,children:["Resend ",o>0?`(${o})`:""]})},Te={email:"email address",phone:"phone number"},He=({identity:s,identityValue:t,challengeType:a,challengeId:r,type:o,numInputs:n,shouldAutoFocus:l,successAuthRedirect:c,signUpPath:p})=>{const d=q(),{appSettings:h,createTenantForNewUser:u,currentStyles:m,loginAppTheme:w}=ee(),{navigate:f}=ie(),{fetch:C}=_(),{fetch:x,isError:y,error:v}=se(),[M,j]=i.useState(""),[S,L]=i.useState(null),[N,I]=i.useState(!1),{set:F}=P();if(i.useEffect((()=>{if(M.length===n&&r){const e={challenge_id:r,challenge_type:"otp",otp:M};(async()=>{const s=await x(e);s&&(s.redirect_url?k(s.redirect_url)?window.location.href=await b(d,s.redirect_url):f({to:s.redirect_url}):I(!0))})()}}),[M,n,x,r,f,d]),S)throw new Error(S);if(N)return e.jsx(ze,{});return e.jsxs(ke,{title:`Verify your ${s}`,subtitle:`We sent OTP code to your ${Te[s]}`,className:"passflow-verify-otp",customCss:m?.custom_css,customLogo:m?.logo_url,removeBranding:w?.remove_passflow_logo,children:[e.jsxs("div",{className:"passflow-verify-otp-container",children:[t&&e.jsxs(U,{size:"big",type:"button",variant:"outlined",className:"passflow-verify-otp-button",withIcon:!0,onClick:()=>f({to:p}),children:[e.jsx(Y,{id:"email"===s?"mail":"phone",type:"general",size:"small"}),t,e.jsx(Y,{id:"edit",type:"general",size:"small",className:"passflow-verify-otp-button-icon"})]}),e.jsxs("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[e.jsx(g,{value:M,onChange:e=>j(e),numInputs:n,shouldAutoFocus:l,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:E("passflow-field-otp passflow-field-otp--focused",y&&"passflow-field-otp--error"),inputType:"text",renderInput:s=>e.jsx("input",{...s})}),y&&e.jsxs("div",{className:"passflow-verify-otp-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-verify-otp-error-text",children:v})]})]})]}),"passwordless"===o&&e.jsxs("p",{className:"passflow-verify-otp-resend",children:["Don't receive a code?",e.jsx(Ge,{totalSecond:30,onClick:()=>{(async()=>{if(o&&s&&t&&a){const e={create_tenant:u,challenge_type:a,redirect_url:c??h.defaults.redirect,..."email"===s?{email:t}:{phone:t}},r=await C(e,o);r?F({challenge_id:r.challenge_id}):L("Something went wrong. Please try again later.")}})()}})]})]})},Be=C.object().shape({appId:C.string().required(),challengeId:C.string().required(),otp:C.string().optional()}),Ve=C.object().shape({challengeId:C.string().required(),identity:C.string().oneOf(["email","phone"]).required(),identityValue:C.string().required(),challengeType:C.string().required(),type:C.string().oneOf(["passwordless","passkey"]).optional()}),Ze=({successAuthRedirect:s,numInputs:t,shouldAutoFocus:a,signUpPath:r})=>{const{get:i}=P({otp:"",app_id:"",challenge_id:"",identity:"",identity_value:"",challenge_type:"",type:""}),o=i("type");if("passwordless"!==o&&"passkey"!==o){const s={appId:i("app_id"),challengeId:i("challenge_id"),otp:i("otp")};try{Be.validateSync(s,{abortEarly:!1})}catch(u){throw new Error("Invalid search params")}const{appId:t,otp:a,challengeId:r}=s;return e.jsx(Re,{appId:t,challengeId:r,otp:a})}const n={challengeId:i("challenge_id"),identity:i("email")?"email":i("phone")?"phone":null,identityValue:i("email")?i("email"):i("phone")?i("phone"):null,challengeType:i("challenge_type"),type:i("type")};try{Ve.validateSync(n,{abortEarly:!1})}catch(u){throw new Error("Invalid search params")}const{challengeId:l,identity:c,identityValue:p,challengeType:d,type:h}=n;if(!h)throw new Error("Invalid type params");return e.jsx(He,{identity:c,identityValue:p,challengeType:d,challengeId:l,type:h,numInputs:t,shouldAutoFocus:a,signUpPath:r,successAuthRedirect:s})},De={email_or_username:"",phone:""},Oe=C.object().shape({defaultMethod:C.string().oneOf(["email_or_username","phone"]).required()}),Je=({successResetRedirect:t,signInPath:a=V.signin.path,forgotPasswordSuccessPath:r=V.forgot_password_success.path})=>{const{getValues:n,control:l,register:c,formState:{errors:p,isDirty:d,isValid:h}}=m.useForm({defaultValues:De}),{appSettings:g,currentStyles:w,isError:f,error:C,loginAppTheme:x}=ee();if(f)throw new Error(C);const y=i.useMemo((()=>L(g?.auth_strategies)),[g]),{navigate:v}=ie(),{get:j}=P({default_method:""}),k={defaultMethod:j("default_method")};try{Oe.validateSync(k,{abortEarly:!1})}catch(T){throw new Error("Invalid default method param")}const{defaultMethod:b}=k,{fetch:S,error:I,isError:F,isLoading:A}=X(),R=s.eq(b,"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.",G=s.eq(b,"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.";return e.jsxs(ke,{title:"Forgot password?",subtitle:R,className:"passflow-forgot-password-wrapper",customCss:w?.custom_css,customLogo:w?.logo_url,removeBranding:x?.remove_passflow_logo,children:[e.jsx("span",{className:"passflow-form-subscriptions",children:G}),e.jsxs("form",{onSubmit:e=>e.preventDefault(),className:"passflow-form",children:[e.jsx("div",{className:"passflow-form-container",children:e.jsxs("div",{className:"passflow-form-field",children:[s.eq(b,"email_or_username")&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"identity",className:E("passflow-field-label",{"passflow-field-label--error":F}),children:N(y,"label")})}),e.jsx(m.Controller,{name:"email_or_username",control:l,rules:{required:"Email is required",pattern:{value:M,message:"Invalid email"}},render:({field:t})=>e.jsx(z,{...t,...c("email_or_username"),isError:F||s.has(p,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})})]}),s.eq(b,"phone")&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"phone",className:E("passflow-field-label",{"passflow-field-label--error":F}),children:"Phone"})}),e.jsx(m.Controller,{name:"phone",control:l,rules:{required:"Phone is required",validate:e=>!!u.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(oe,{...t,...c("phone"),onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:F||s.has(p,"phone"),ref:null})})]}),F&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:I})]})]})}),e.jsxs("div",{className:"passflow-send-reset-wrapper",children:[e.jsx(U,{size:"big",variant:"primary",type:"button",disabled:!d||!h||A,className:"passflow-button-send-reset-password",onClick:async()=>{const e=n(),a=e.email_or_username.match(M),i=!a&&s.size(e.email_or_username)>0,l=u.phone(e.phone),c=l.isValid,p={...a&&{email:e.email_or_username},...i&&{username:e.email_or_username},...c&&{phone:l.phoneNumber},redirect_url:t??g.defaults.redirect};if(await S(p)){const e=new URLSearchParams(window.location.search),s=o.stringify({...Object.fromEntries(e.entries()),...p});v({to:r,search:s})}},children:"Send reset instructions"}),e.jsxs("p",{className:"passflow-remember-password",children:["Remember your password?"," ",e.jsx(le,{to:a??V.signin.path,className:"passflow-link",children:"Sign In"})," "]})]})]})]})},qe=C.object().shape({identity:C.string().oneOf(["email","phone"]).required(),identityValue:C.string().required(),redirectUrl:C.string().required()}),_e=()=>{const{currentStyles:t,loginAppTheme:a}=ee(),{fetch:r}=X(),{get:i}=P(),o={identity:i("email")?"email":i("phone")?"phone":null,identityValue:i("email")?i("email"):i("phone")?i("phone"):null,redirectUrl:i("redirect_url")};try{qe.validateSync(o,{abortEarly:!1})}catch(n){throw new Error("Invalid search params")}return e.jsx(ke,{title:`Check your ${o.identity}`,className:"passflow-forgot-password-success-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:e.jsxs("div",{className:"passflow-forgot-password-success-container",children:[e.jsxs("p",{className:"passflow-forgot-password-success-text",children:["We sent a link to ",s.eq(o.identity,"phone")?"phone number":"email address"," ",e.jsx("strong",{className:"passflow-forgot-password-success-text--strong",children:o.identityValue}),". Click the link to reset your password."]}),e.jsxs(U,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-reset-password",onClick:async()=>{const e={..."email"===o.identity?{email:o.identityValue}:void 0,..."phone"===o.identity?{phone:o.identityValue}:void 0,redirect_url:o.redirectUrl};await r(e)},children:["Resend ",s.eq(o.identity,"email")?"email":"SMS"]})]})})},We={password:""},Ke=C.object().shape({token:C.string().required()}),Qe=({successAuthRedirect:t})=>{const{getValues:a,control:r,register:i,trigger:o,formState:{errors:n,isDirty:l,isValid:c},clearErrors:p,setError:d}=m.useForm({defaultValues:We}),h=q(),{appSettings:u}=ee(),{fetch:g,error:f,isError:C,isLoading:x}=$(),{navigate:y}=ie(),{get:v}=P(),{passwordPolicy:M,currentStyles:L,isError:N,error:I,loginAppTheme:F}=ee();if(N)throw new Error(I);const A={token:v("token")};try{Ke.validateSync(A,{abortEarly:!1})}catch(T){throw new Error("Invalid reset token.")}const{token:z}=A,R=z?S(w.parseToken)(z):void 0;return e.jsxs(ke,{title:"Reset password",subtitle:"Let’s get you back in.",className:"passflow-reset-password-wrapper",customCss:L?.custom_css,customLogo:L?.logo_url,removeBranding:F?.remove_passflow_logo,children:[e.jsx("span",{className:"passflow-reset-password-text",children:"Enter your new password below."}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),(async()=>{const e=a(),s=R;await g(e.password)&&(k(s?.redirect_url??t??u.defaults.redirect)?window.location.href=await b(h,s?.redirect_url??t??u.defaults.redirect):y({to:s?.redirect_url??t??u.defaults.redirect}))})()},className:"passflow-form passflow-reset-password-form",children:[e.jsx("div",{className:"passflow-form-container",children:e.jsxs("div",{className:"passflow-form-field",children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"password",className:E("passflow-field-label",{"passflow-field-label--error":C}),children:"New password"})}),e.jsx(m.Controller,{name:"password",control:r,rules:{required:"Password is required",validate:e=>{try{return j(M).validateSync(e),p("password"),!0}catch(T){const s=T;return d("password",{type:"manual",message:s.errors.join(", ")}),s.errors.join(", ")}}},render:({field:t})=>e.jsx(G,{...t,...i("password"),isError:C,passwordPolicy:M,validationErrors:s.has(n,"password")&&n.password?.message?n.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:e=>{t.onChange(e),(async()=>{await o(["password"])})()}})}),C&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(Y,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:f})]})]})}),e.jsx(U,{size:"big",variant:"primary",type:"submit",disabled:!l||!c||x,className:"passflow-button-reset-password",children:"Save new password"})]})]})},Xe=C.object().shape({invite_token:C.string().required()}),$e=Se((({signInPath:s=V.signin.path,signUpPath:t=V.signup.path,successAuthRedirect:a})=>{const{appSettings:r,currentStyles:i,loginAppTheme:o}=ee(),{navigate:n}=ie(),{get:l}=P(),c=q(),{fetch:p,isLoading:d,error:h,isError:u}=te(),m={invite_token:l("invite_token")};try{Xe.validateSync(m,{abortEarly:!1})}catch(C){throw new Error("Invalid invitation token.")}const{invite_token:g}=m,f=g?S(w.parseToken)(g):void 0;if(u&&h)throw Error(h);if(!f)throw Error("Invalid invitation token.");if(f){const{inviter_name:l,tenant_name:h,redirect_url:u}=f,m=c.getParsedTokenCache(),w=()=>n({to:s,search:window.location.search}),C=()=>n({to:t,search:window.location.search});return m?.access_token||w(),e.jsxs(ke,{title:`${l||"Someone"} invited you to join the ${h} - want to accept?`,className:"passflow-invitation-join-wrapper",customCss:i?.custom_css,customLogo:i?.logo_url,removeBranding:o?.remove_passflow_logo,children:[m?.access_token&&m.id_token&&e.jsxs("span",{className:"passflow-invitation-join-text",children:["You're signed in as"," ",e.jsx("strong",{className:"passflow-invitation-join-text-strong",children:m.id_token?.email})," right now. Do you want keep going as"," ",e.jsx("strong",{className:"passflow-invitation-join-text-strong",children:m.id_token?.email})," or switch to different account?"]}),m?.access_token&&e.jsx(U,{size:"big",type:"button",variant:"primary",className:"passflow-button-invitation-join",onClick:()=>{(async e=>{g&&await p(g)&&(k(e)?window.location.href=await b(c,e):n({to:e}))})(u??a??r.defaults.redirect)},disabled:d,children:"Accept invitation"}),e.jsxs("div",{className:"passflow-invitation-join-actions",style:m?.access_token?{}:{marginTop:"32px"},children:[e.jsx(U,{size:"big",type:"button",variant:"secondary",className:"passflow-button-invitation-join-switch",onClick:w,disabled:d,children:"Switch account"}),e.jsx(U,{size:"big",type:"button",variant:"secondary",className:"passflow-button-invitation-join-register",onClick:C,disabled:d,children:"Register new user"})]})]})}return null}),be);
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("lodash"),t=require("yup");require("dayjs");const a=require("clsx"),r=require("tailwind-merge"),o=require("react"),i=require("query-string"),n=require("countries-and-timezones"),l=require("react-international-phone"),c=require("@radix-ui/react-popover"),p=require("@radix-ui/react-dialog"),d=require("react-otp-input"),u=require("react-helmet-async"),h=require("react-error-boundary"),m=require("phone"),f=require("react-hook-form"),g=require("@passflow/core");function w(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,a.get?a:{enumerable:!0,get:()=>e[t]})}return s.default=e,Object.freeze(s)}require("react-dom");const y=w(t),x=w(o),C=w(c),v=w(p);window.passflowReactAppVersion=()=>{console.log("App Version: 0.2.8")};const j=/^(([^<>()[\]\\.,;:\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,}))$/,M=e=>y.string().required().test({test:t=>{const a=[];if(e){const{min_password_length:r,require_lowercase:o,require_number:i,require_symbol:n,require_uppercase:l}=e;s.size(t)<r&&a.push("length"),l&&!/[A-Z]/.test(t)&&a.push("uppercase"),o&&!/[a-z]/.test(t)&&a.push("lowercase"),i&&!/\d/.test(t)&&a.push("number"),n&&!/[!@#$%^&*()_+{}[\]:;<>,.?~\\-]/.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 y.ValidationError(e,t,"password")}return!0}}),b=e=>{try{const s=new URL(e);return"http:"===s.protocol||"https:"===s.protocol}catch{return!1}},k=async(e,s,t="hash")=>{const a=await e.getTokens(!1);if(a){a.scopes=void 0;const e=Object.entries(a).filter(([e,s])=>s).map(([e,s])=>`${e}=${encodeURIComponent(s)}`).join("&");return"hash"===t?`${s}#${e}`:`${s}?${e}`}return s},S=(...e)=>r.twMerge(a(e));function E(e){return s=>{try{return e(s)}catch(t){return}}}const N=e=>{const t={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(!e)return t;for(const a of e){const{identity:e,challenge:r,fim_type:o}=a.strategy;switch(a.type){case"internal":switch(e){case"email":s.eq(r,"magic_link")?t.internal.email.magicLink=!0:t.internal.email[r]=!0,t.hasEmailMethods=!0,(t.internal.email.magicLink||t.internal.email.otp||t.internal.email.password)&&(t.hasSignInEmailMethods=!0);break;case"phone":s.eq(r,"magic_link")?t.internal.phone.magicLink=!0:t.internal.phone[r]=!0,t.hasPhoneMethods=!0,(t.internal.phone.magicLink||t.internal.phone.otp||t.internal.phone.password)&&(t.hasSignInPhoneMethods=!0);break;case"username":t.internal.username[r]=!0,t.hasUsernameMethods=!0,t.internal.username.password&&(t.hasSignInUsernameMethods=!0);break;default:throw new Error(`Unsupported identity type: ${e}`)}break;case"fim":t.fim.providers.push(o);break;case"passkey":t.passkey=!0;break;default:throw new Error(`Unsupported strategy type: ${a.type}`)}}return t},L=(e,t)=>e.hasSignInEmailMethods&&e.hasSignInUsernameMethods?s.eq(t,"label")?"Email or username":"Use email or username":e.hasSignInEmailMethods?s.eq(t,"label")?"Email":"Use email":e.hasSignInUsernameMethods?s.eq(t,"label")?"Username":"Use username":null,I=(e,t)=>{if(s.eq(t,"phone")){if(e.internal.phone.otp)return{label:"SMS code",challengeType:"otp"};if(e.internal.phone.magicLink)return{label:"SMS link",challengeType:"magic_link"}}if(s.eq(t,"email_or_username")){if(e.internal.email.otp)return{label:"email code",challengeType:"otp"};if(e.internal.email.magicLink)return{label:"email link",challengeType:"magic_link"}}return null},F=e=>{const s=(t=window.location.search,(new DOMParser).parseFromString(t,"text/html").documentElement.textContent||"");var t;const a=new URLSearchParams(s);if(e){let s=!1;for(const[t,r]of Object.entries(e))a.has(t)||""===r||(a.set(t,r),s=!0);if(s){const e=`${window.location.pathname}${a.toString()?`?${a.toString()}`:""}${window.location.hash}`;window.history.replaceState(null,"",e)}}return{getAll:()=>{const e={};for(const[s,t]of a.entries())e[s]=t;return e},get:e=>{const s=a.get(e);return""===s?null:s},set:e=>{const s=new URLSearchParams(window.location.search);for(const[a,r]of Object.entries(e))null==r||""===r?s.delete(a):s.set(a,r);const t=`${window.location.pathname}${s.toString()?`?${s.toString()}`:""}${window.location.hash}`;window.history.pushState(null,"",t)}}},P=e=>{const s=new URLSearchParams(e?e.split("?")[1]:window.location.search),t=s.get("error"),a=s.get("message");return{error:t,message:a?decodeURIComponent(a):null}},A={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 T(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}}const R="passflow_2fa",Y=`${R}_redirect_count`,U=`${R}_last_error_type`,z={canRedirect(){try{return this.getRedirectCount()<3}catch{return!0}},incrementRedirect(){try{const e=this.getRedirectCount();sessionStorage.setItem(Y,String(e+1))}catch{}},getRedirectCount(){try{const e=sessionStorage.getItem(Y);return e?Number.parseInt(e,10):0}catch{return 0}},reset(){try{sessionStorage.removeItem(Y),sessionStorage.removeItem(U)}catch{}},setLastErrorType(e){try{sessionStorage.setItem(U,e)}catch{}},getLastErrorType(){try{return sessionStorage.getItem(U)}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."},V=({type:s,id:t,size:a,className:r=""})=>{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",linledin:"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",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"}};return"flags"!==s?e.jsx("img",{className:S("passflow-icon",o,r),src:i[s][t],alt:t}):e.jsx("div",{className:S("passflow-icon",o,r),children:e.jsx("div",{className:S("passflow-flag",t.toLowerCase()),style:{backgroundImage:"url(data:image/png;base64,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)"}})})},D=({size:s,x:t,y:a})=>{const r={width:s,height:s,left:t,top:a};return e.jsx("span",{className:"passflow-ripple passflow-ripple-effect",style:r})},G=({size:s,variant:t,type:a,onClick:r,withIcon:i=!1,asIcon:n=!1,className:l="",children:c,withRipple:p=!0,...d})=>{const[u,h]=o.useState(),m={"passflow-button passflow-button--big":"big"===s,"passflow-button passflow-button--medium":"medium"===s,"passflow-button passflow-button--small":"small"===s,"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":i,"passflow-button--as-icon":n};return o.useEffect(()=>{let e;return u&&(e=setTimeout(()=>{h(void 0)},1e3)),()=>clearTimeout(e)},[u]),e.jsxs("button",{className:S(m,l),type:a,onClick:s=>{const t=s.currentTarget.getBoundingClientRect(),a=Math.max(t.width,t.height),o=s.clientX-t.left-a/2,i=s.clientY-t.top-a/2,n=e.jsx(D,{size:a,x:o,y:i},Date.now());h(e=>e?[...e,n]:[n]),r?.(s)},...d,children:[c,p&&e.jsx("div",{"aria-hidden":!0,className:"passflow-ripple-container",children:u})]})},_=o.forwardRef(({id:s,isError:t=!1,className:a="",disabled:r=!1,...o},i)=>{const n={"passflow-field--error":t};return e.jsx("input",{ref:i,id:s,type:"text",className:S("passflow-field-input passflow-field--focused",n,a),disabled:r,...o})}),H=e=>{const s={requireNumber:"number",requireSymbol:"symbol",requireLowerCase:"lowercase letter",requireUpperCase:"uppercase letter"},t=Object.keys(e).filter(s=>e[s]);return`Contain a ${new Intl.ListFormat("en").format(t.map(e=>s[e]))}`},B=o.forwardRef(({id:t,value:a,passwordPolicy:r,withMessages:i=!1,validationErrors:n=[],isError:l=!1,className:c="",disabled:p=!1,...d},u)=>{const[h,m]=o.useState(!1),f={"passflow-field--error":l},g=e=>s.size(a)>0&&0===s.size(s.intersection(n,e))?"passflow-password-validation-item--success":null,w=e=>s.size(a)>0&&0===s.size(s.intersection(n,e))?"check":"close",y=()=>m(e=>!e);if(null===r)return null;const{min_password_length:x,require_lowercase:C,require_number:v,require_symbol:j,require_uppercase:M}=r;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-field-wrapper",children:[e.jsx("input",{ref:u,id:t,value:a,type:h?"text":"password",className:S("passflow-field-input passflow-field--focused passflow-field-input--with-icon",f,c),disabled:p,...d}),h?e.jsx(G,{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,onClick:y,children:e.jsx(V,{size:"small",type:"general",id:"eye-on"})}):e.jsx(G,{className:"passflow-button-display-password passflow-field-icon-button",size:"small",type:"button",variant:"clean",asIcon:!0,withIcon:!0,onClick:y,children:e.jsx(V,{size:"small",type:"general",id:"eye-off"})})]}),i&&e.jsxs("div",{className:"passflow-password-validation",children:[e.jsxs("p",{className:S("passflow-password-validation-item",g(["length"])),children:[e.jsx(V,{size:"small",id:w(["length"]),type:"general",className:S(g(["length"]))}),"At least ",x," characters"]}),e.jsxs("p",{className:S("passflow-password-validation-item",g(["uppercase","lowercase","number","symbol"])),children:[e.jsx(V,{size:"small",id:w(["uppercase","lowercase","number","symbol"]),type:"general",className:S(g(["uppercase","lowercase","number","symbol"]))}),H({requireNumber:v,requireSymbol:j,requireLowerCase:C,requireUpperCase:M})]})]})]})}),Z={appSettings:null,passwordPolicy:null,url:void 0,appId:void 0,scopes:void 0,createTenantForNewUser:void 0,parseQueryParams:!0,isDiscoveringAppId:!1,hasSettingsError:!1},O=o.createContext(void 0),q=(e,s)=>"SET_PASSFLOW_STATE"===s.type?{...e,...s.payload}:e,J={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"}},W=({to:e,search:s,replace:t})=>{const a=s?s.startsWith("?")?s:`?${s}`:"";t?window.location.replace(`${e}${a}`):window.location.href=`${e}${a}`},K=o.createContext({navigate:W,setNavigate:()=>{},router:"default"}),Q=o.createContext(void 0),X=({children:s})=>{const t=$(),[a,r]=o.useState(!1),i=o.useCallback(()=>t.isAuthenticated(),[t]),n=o.useCallback(async e=>{r(!0);try{const s=await t.getTokens(e);return{tokens:s,parsedTokens:s?t.getParsedTokens():void 0}}catch(s){return{tokens:void 0,parsedTokens:void 0}}finally{r(!1)}},[t]),l={isAuthenticated:i,logout:o.useCallback(async()=>{await t.logOut()},[t]),isLoading:a,getTokens:n};return e.jsx(Q.Provider,{value:l,children:s})},$=()=>{const e=o.useContext(O);if(!e)throw new Error("useAuth must be used within an PassflowProvider");const{passflow:s}=e;return s},ee=()=>{const e=$(),[s,t]=o.useState(""),[a,r]=o.useState(!1),[i,n]=o.useState(!1);return{fetch:o.useCallback(async(s,a)=>{n(!0);try{if("password"===a)await e.signIn(s);else{if("passkey"!==a)return await e.passwordlessSignIn(s);await e.passkeyAuthenticate(s)}return!0}catch(o){r(!0);return t(o.message),!1}finally{n(!1)}},[e.passkeyAuthenticate,e.passwordlessSignIn,e.signIn]),isLoading:i,isError:a,error:s,reset:()=>{r(!1),t(""),n(!1)}}},se=e=>e&&b(e)?e:e?`${window.location.origin}${e.startsWith("/")?"":"/"}${e}`:"",te=(e,s)=>{const t=$(),a=o.useContext(O),r={redirect_url:se(e),scopes:a?.state.scopes,create_tenant:s};return{federatedWithPopup:(e,s)=>t.federatedAuthWithPopup({provider:e,invite_token:s,...r}),federatedWithRedirect:(e,s)=>t.federatedAuthWithRedirect({provider:e,invite_token:s,...r})}},ae=()=>{const e=$(),[s,t]=o.useState(!1),[a,r]=o.useState(""),[i,n]=o.useState(!1);return{fetch:o.useCallback(async(s,a)=>{n(!0);const o=()=>n(!1);try{if("password"===a)await e.signUp(s);else{if("passkey"!==a){const t=await e.passwordlessSignIn(s);return o(),t}await e.passkeyRegister(s)}return o(),!0}catch(i){t(!0);return r(i.message),o(),!1}finally{o()}},[e.signUp,e.passkeyRegister,e.passwordlessSignIn]),isLoading:i,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},re=()=>{const e=$(),[s,t]=o.useState(!1),[a,r]=o.useState(""),[i,n]=o.useState(!1);return{fetch:o.useCallback(async s=>{try{return n(!0),await e.sendPasswordResetEmail(s),n(!1),!0}catch(a){t(!0);return r(a.message),!1}},[e.sendPasswordResetEmail]),isLoading:i,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},oe=()=>{const e=$(),[s,t]=o.useState(!1),[a,r]=o.useState(""),[i,n]=o.useState(!1);return{fetch:o.useCallback(async s=>{try{return n(!0),await e.resetPassword(s),n(!1),!0}catch(a){t(!0);return r(a.message),!1}},[e.resetPassword]),isLoading:i,isError:s,error:a,reset:()=>{t(!1),r(""),n(!1)}}},ie=()=>{const e=$(),t=o.useContext(O),[a,r]=o.useState(!1),[i,n]=o.useState(""),[l,c]=o.useState(!1),p=o.useRef(!1);if(!t)throw new Error("useAppSetting must be used within an PassflowProvider");const{state:d,dispatch:u}=t;o.useLayoutEffect(()=>{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 s=await fetch(e);if(s.ok){a=s;break}}catch{}if(a?.ok){const t=await a.json(),r=t.login_app?.app_id||t.appId;if(r){e.setAppId(r);const a={appId:r};if(!d.scopes){const e=t.login_app?.scopes||t.scopes;e&&(a.scopes=e)}if(s.isUndefined(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 r={};e.appId&&(r=await e.getAppSettings());const o={appSettings:r};d.scopes||(o.scopes=r.defaults?.scopes),s.isUndefined(d.createTenantForNewUser)&&(o.createTenantForNewUser=r.defaults?.create_tenant_for_new_user);let i=null;r.auth_strategies&&(t=r.auth_strategies,s.some(t,e=>"internal"===e.type&&"password"===e.strategy?.challenge))&&(i=await e.getPasswordPolicySettings()),o.passwordPolicy=i,u({type:"SET_PASSFLOW_STATE",payload:{...d,...o}})}catch(o){r(!0);n(o.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=>{const t=document.documentElement;if(t.style.setProperty("--passflow-primary-color",e.primary_color),t.style.setProperty("--passflow-text-color",e.text_color),t.style.setProperty("--passflow-secondary-text-color",e.secondary_text_color),t.style.setProperty("--passflow-background-color",e.background_color),t.style.setProperty("--passflow-background-image",s.isEmpty(e.background_image)?"none":`url(${e.background_image})`),t.style.setProperty("--passflow-card-color",e.card_color),t.style.setProperty("--passflow-input-background-color",e.input_background_color),t.style.setProperty("--passflow-input-border-color",e.input_border_color),t.style.setProperty("--passflow-button-text-color",e.button_text_color),t.style.setProperty("--passflow-passkey-button-text-color",e.passkey_button_text_color),t.style.setProperty("--passflow-passkey-button-background-color",e.passkey_button_background_color),t.style.setProperty("--passflow-divider-color",e.divider_color),t.style.setProperty("--passflow-federated_button_background_color",e.federated_button_background_color),t.style.setProperty("--passflow-federated_button_text_color",e.federated_button_text_color),e.custom_css){const s=document.querySelector(".psfw-custom-styles");s&&(s.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:i,reset:()=>{r(!1),n(""),c(!1),u({type:"SET_PASSFLOW_STATE",payload:{...d,hasSettingsError:!1}})}}},ne=()=>{const e=$(),[s,t]=o.useState(""),[a,r]=o.useState(!1),[i,n]=o.useState(!1);return{fetch:o.useCallback(async s=>{try{n(!0);const t=await e.passwordlessSignInComplete(s);return n(!1),t}catch(a){r(!0);return t(a.message),null}},[e]),isLoading:i,isError:a,error:s,reset:()=>{r(!1),t(""),n(!1)}}},le=()=>{const e=$(),[s,t]=o.useState(""),[a,r]=o.useState(!1),[i,n]=o.useState(!1);return{fetch:o.useCallback(async s=>{try{return n(!0),await e.joinInvitation(s),n(!1),!0}catch(a){r(!0);return t(a.message),!1}},[e.joinInvitation]),isLoading:i,isError:a,error:s}},ce=(e,s)=>{o.useEffect(()=>{const t=t=>{e.current&&!e.current.contains(t.target)&&s&&s()};return document.addEventListener("click",t,!0),()=>{document.removeEventListener("click",t,!0)}},[s,e])},pe=e=>{if(!e)return{};const s=i.parse(e.startsWith("?")?e.slice(1):e);return Object.fromEntries(Object.entries(s).map(([e,s])=>[e,String(s)]))},de=()=>{const{navigate:e,setNavigate:s,router:t}=o.useContext(K),a=o.useCallback(e=>{if(!e)return void s(null);s(s=>{const{to:a,search:r="",replace:o=!1}=s;switch(t){case"react-router":e({pathname:a,search:r.startsWith("?")?r:`?${r}`,replace:o});break;case"tanstack-router":e({to:a,search:pe(r),replace:o});break;case"wouter":{const s=r?r.startsWith("?")?r:`?${r}`:"";e({to:`${a}${s}`,replace:o});break}default:{const e=r?r.startsWith("?")?r:`?${r}`:"";o?window.location.replace(`${a}${e}`):window.location.href=`${a}${e}`}}})},[s,t]);return{navigate:e,setNavigate:a,router:t}},ue=()=>{const e=$(),[s,t]=o.useState(null),[a,r]=o.useState([]),[i,n]=o.useState(!1),[l,c]=o.useState(!1),[p,d]=o.useState(""),[u,h]=o.useState("idle");return{setupData:s,recoveryCodes:a,step:u,beginSetup:o.useCallback(async()=>{n(!0),c(!1),d("");try{const s=await e.beginTwoFactorSetup();return t(s),h("setup"),s}catch(s){c(!0);return d(s.message),null}finally{n(!1)}},[e]),confirmSetup:o.useCallback(async s=>{n(!0),c(!1),d("");try{const t=await e.confirmTwoFactorSetup(s);return r(t.recovery_codes),h("complete"),t}catch(t){c(!0);return d(t.message),null}finally{n(!1)}},[e]),reset:o.useCallback(()=>{t(null),r([]),c(!1),d(""),h("idle")},[]),isLoading:i,isError:l,error:p}},he=()=>{const e=$(),[s,t]=o.useState(!1),[a,r]=o.useState(!1),[i,n]=o.useState(""),[l,c]=o.useState(null),[p,d]=o.useState(null),u=o.useCallback(()=>e.isTwoFactorVerificationRequired(),[e]),h=o.useCallback(e=>{const s=e,t=function(e){const s=e.toLowerCase();return A.expired.some(e=>s.includes(e.toLowerCase()))?{type:"expired",message:e,isRecoverable:!0,shouldAutoRedirect:!0}:A.not_enabled.some(e=>s.includes(e.toLowerCase()))?{type:"not_enabled",message:e,isRecoverable:!1,shouldAutoRedirect:!1}:A.invalid_code.some(e=>s.includes(e.toLowerCase()))?{type:"invalid_code",message:e,isRecoverable:!0,shouldAutoRedirect:!1}:{type:"generic",message:e,isRecoverable:!0,shouldAutoRedirect:!1}}(s.message);r(!0),n(s.message),c(t.type),d(t)},[]);return{isVerificationRequired:u,verify:o.useCallback(async s=>{t(!0),r(!1),n(""),c(null),d(null);try{return await e.verifyTwoFactor(s)}catch(a){return h(a),null}finally{t(!1)}},[e,h]),useRecoveryCode:o.useCallback(async s=>{t(!0),r(!1),n(""),c(null),d(null);try{return await e.useTwoFactorRecoveryCode(s)}catch(a){return h(a),null}finally{t(!1)}},[e,h]),reset:o.useCallback(()=>{r(!1),n(""),c(null),d(null)},[]),isLoading:s,isError:a,error:i,errorType:l,errorDetails:p}},me=e=>{const s=$(),[t,a]=o.useState(!0),[r,i]=o.useState(!1),[n,l]=o.useState(!1),[c,p]=o.useState(null),[d,u]=o.useState(null),[h,m]=o.useState(null),[f,g]=o.useState(null),[w,y]=o.useState(null),[x,C]=o.useState(null),[v,j]=o.useState(null),M=o.useRef(!0),b=o.useRef(null),k=o.useCallback(e=>{b.current&&clearInterval(b.current),C(e),b.current=setInterval(()=>{C(e=>null===e||e<=1?(b.current&&(clearInterval(b.current),b.current=null),null):e-1)},1e3)},[]),S=o.useCallback(async(t=!1)=>{if(t||v!==e||!n){t?i(!0):a(!0),p(null);try{const t=s,a=await t.validateTwoFactorSetupMagicLink(e);a.success&&a.sessionToken&&a.userId?(u(a.sessionToken),m(a.userId),g(a.appId??null),y(a.expiresIn??null),l(!0),j(e),C(null),M.current=!1):a.error&&(p(a.error),l(!1),M.current=!0,"RATE_LIMITED"===a.error.code&&a.error.retryAfter&&k(a.error.retryAfter))}catch(r){p({code:"SERVER_ERROR",message:r instanceof Error?r.message:"An unexpected error occurred"}),l(!1),M.current=!0}finally{a(!1),i(!1)}}},[e,v,n,s,k]),E=o.useCallback(async()=>{null!==x&&x>0||(j(null),await S(!0))},[S,x]);return o.useEffect(()=>{if(!e)return p({code:"INVALID_TOKEN",message:"No token provided"}),void a(!1);e!==v&&S()},[e,v,S]),o.useEffect(()=>()=>{if(b.current&&clearInterval(b.current),M.current){const e=s;e.clearMagicLinkSession?.()}},[s]),{isLoading:t,isRetrying:r,isValidated:n,error:c,sessionToken:d,userId:h,appId:f,expiresIn:w,retryCountdown:x,retry:E}},fe=({id:t,onChange:a,isError:r=!1,className:i=""})=>{const[c,p]=o.useState(!1),[d,u]=o.useState(""),[h,m]=o.useState(!1),f=o.useRef(null);ce(f,()=>{p(!1),u("")});const g=Intl.DateTimeFormat().resolvedOptions().timeZone,w=n.getCountryForTimezone(g),{inputValue:y,country:x,setCountry:C,handlePhoneValueChange:v,inputRef:j}=l.usePhoneInput({defaultCountry:w?.id.toLocaleLowerCase()||"us"}),M=o.useMemo(()=>l.defaultCountries.filter(e=>{const{name:s}=l.parseCountry(e);return s.toLowerCase().includes(d.toLowerCase())}),[d]),b=o.useMemo(()=>l.defaultCountries.filter(e=>{const{iso2:t}=l.parseCountry(e);return s.eq(t,w?.id.toLocaleLowerCase())})??null,[w?.id]),k=e=>{C(e),u(""),p(!1)};return e.jsxs("div",{ref:f,className:S("passflow-field-phone-wrapper",{"passflow-field-phone-wrapper--focus":h,"passflow-field-phone-wrapper--error":r},i),children:[c?e.jsxs("div",{className:S("passflow-field-country-search-wrapper"),children:[e.jsx("input",{value:d,onChange:e=>u(e.target.value),className:S("passflow-field-country-search"),onFocus:()=>m(!0),onBlur:()=>m(!1),placeholder:"Search for a country"}),e.jsx("div",{className:"passflow-field-country-search-icon",children:e.jsx(V,{type:"general",id:"search",size:"small"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs(G,{type:"button",variant:"clean",onClick:()=>p(!0),size:"big",className:S("passflow-button-show-country"),children:[e.jsx(l.FlagImage,{iso2:x.iso2,className:"passflow-flag",style:{width:"21px"}}),e.jsx(V,{type:"general",id:"caret-down",size:"small"})]}),e.jsx("input",{id:t,ref:j,value:y,onChange:e=>{v(e),a(e)},onFocus:()=>m(!0),onBlur:()=>m(!1),className:S("passflow-field-phone-input")})]}),e.jsx("ul",{className:S("passflow-country-search-wrapper",{"passflow-country-search-wrapper--show":c,"passflow-country-search-wrapper--hidden":!c}),children:s.size(M)>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-country-search-sticky-top"}),0===s.size(d)&&e.jsxs(e.Fragment,{children:[b.map(s=>{const{name:t,dialCode:a,iso2:r}=l.parseCountry(s);return e.jsxs("li",{title:t,onClick:()=>k(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),k(r))},className:"passflow-country-search-item",children:[e.jsx(l.FlagImage,{iso2:r,className:"passflow-country-search-flag"}),e.jsx("span",{className:"passflow-country-search-name",children:t}),e.jsxs("span",{className:"passflow-country-search-code",children:["+",a]})]},r)}),e.jsx("p",{className:"passflow-country-search-divider",children:"All contries"})]}),M.map(s=>{const{name:t,dialCode:a,iso2:r}=l.parseCountry(s);return e.jsxs("li",{title:t,onClick:()=>k(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),k(r))},className:"passflow-country-search-item",children:[e.jsx(l.FlagImage,{iso2:r,className:"passflow-country-search-flag"}),e.jsx("span",{className:"passflow-country-search-name",children:t}),e.jsxs("span",{className:"passflow-country-search-code",children:["+",a]})]},r)}),e.jsx("div",{className:"passflow-country-search-sticky-bottom"})]}):e.jsx("span",{className:"passflow-country-search-no-matches",children:"No matches"})})]})},ge=({providers:s,onClick:t,className:a=""})=>{const r={"passflow-providers-box--grid":s.length>1};return e.jsx("div",{className:S("passflow-providers-box",r,a),children:s.map(a=>e.jsxs(G,{onClick:()=>t(a),size:"big",variant:"provider",type:"button",withIcon:!0,className:"passflow-provider-item",children:[e.jsx(V,{size:"small",type:"providers",id:a}),s.length<=2&&e.jsx("p",{className:"passflow-provider-text",children:a})]},a))})},we=({to:s,search:t,replace:a=!1,children:r,className:o,onClick:i,...n})=>{const{navigate:l}=de();return e.jsx("a",{href:(()=>{const e=t?t.startsWith("?")?t:`?${t}`:"";return`${s}${e}`})(),onClick:e=>{e.preventDefault(),i&&i(e),l({to:s,search:t,replace:a})},className:o,...n,children:r})},ye=({label:s,checked:t,onChange:a})=>e.jsxs("label",{className:"passflow-switch-wrapper",htmlFor:"switch",children:[e.jsx("span",{className:"passflow-switch-label",children:s}),e.jsx("input",{id:"switch",type:"checkbox",className:"passflow-switch-input",checked:t,onChange:a}),e.jsx("div",{className:"passflow-switch-track"})]}),xe=C.Root,Ce=C.Trigger,ve=C.Anchor,je=o.forwardRef(({className:s,align:t="center",sideOffset:a=4,...r},o)=>e.jsx(C.Portal,{children:e.jsx(C.Content,{ref:o,align:t,sideOffset:a,className:S("passflow-popover-content",s),...r})}));je.displayName=C.Content.displayName;const Me=v.Root,be=v.Trigger,ke=v.Portal,Se=v.Close,Ee=o.forwardRef(({className:s,...t},a)=>e.jsx(v.Overlay,{ref:a,className:S("passflow-dialog-overlay",s),...t}));Ee.displayName=v.Overlay.displayName;const Ne=o.forwardRef(({className:s,children:t,...a},r)=>e.jsxs(ke,{children:[e.jsx(Ee,{}),e.jsx(v.Content,{ref:r,className:S("passflow-dialog-content",s),...a,children:t})]}));Ne.displayName=v.Content.displayName;const Le=({className:s,...t})=>e.jsx("div",{className:S("passflow-dialog-header",s),...t});Le.displayName="DialogHeader";const Ie=({className:s,...t})=>e.jsx("div",{className:S("passflow-dialog-footer",s),...t});Ie.displayName="DialogFooter";const Fe=o.forwardRef(({className:s,...t},a)=>e.jsx(v.Title,{ref:a,className:S("passflow-dialog-title",s),...t}));Fe.displayName=v.Title.displayName;const Pe=o.forwardRef(({className:s,...t},a)=>e.jsx(v.Description,{ref:a,className:S("passflow-dialog-description",s),...t}));Pe.displayName=v.Description.displayName;const Ae=({iconId:s="logo",title:t="",subtitle:a="",className:r="",children:o,customCss:i,customLogo:n,removeBranding:l=!1})=>e.jsxs(u.HelmetProvider,{children:[e.jsx(u.Helmet,{children:e.jsx("style",{type:"text/css",children:i})}),e.jsxs("div",{id:"passflow-wrapper",className:"passflow-wrapper",children:[e.jsxs("div",{className:S("passflow-form-main-wrapper",r),children:[e.jsxs("div",{className:"passflow-form-main-container",children:[n?e.jsx("img",{src:n,alt:"custom logo",className:"passflow-form-main-container-logo"}):e.jsx(V,{id:s,size:"large",type:"general"}),t&&e.jsxs("div",{className:"passflow-form-header",children:[e.jsx("h2",{className:"passflow-form-title",children:t}),a&&e.jsx("span",{className:"passflow-form-subtitle",children:a})]})]}),o]}),!l&&e.jsx("div",{className:"passflow-branding",children:e.jsxs("p",{className:"passflow-branding-text",children:["Secured by ",e.jsx("span",{className:"passflow-branding-text-secondary passflow-secondary-font",children:"PASSFLOW"})]})})]})]}),Te=({onComplete:s,onCancel:t,numInputs:a})=>{const[r,i]=o.useState(""),[n,l]=o.useState(!1),{setupData:c,recoveryCodes:p,step:u,beginSetup:h,confirmSetup:m,reset:f,isLoading:g,isError:w,error:y}=ue(),x=a??6,C=e=>{i(e)},v=async e=>{e.preventDefault(),await m(r)},j=()=>{navigator.clipboard.writeText(p.join("\n"))},M=()=>{s?.(p),f()};return"idle"===u?e.jsx(Ae,{title:"Enable Two-Factor Authentication",subtitle:"Add an extra layer of security to your account",className:"passflow-2fa-setup",children:e.jsxs("div",{className:"passflow-2fa-setup-start",children:[e.jsx(G,{size:"big",type:"button",variant:"primary",onClick:()=>h(),disabled:g,children:g?"Loading...":"Get Started"}),t&&e.jsx("button",{type:"button",className:"passflow-link-button",onClick:t,children:"Cancel"}),w&&e.jsxs("div",{className:"passflow-field-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-field-error-text",children:y})]})]})}):"setup"===u&&c?e.jsx(Ae,{title:"Scan QR Code",subtitle:"Scan this code with your authenticator app (Google Authenticator, Authy, etc.)",className:"passflow-2fa-setup",children:e.jsxs("form",{onSubmit:v,className:"passflow-2fa-setup-qr",children:[e.jsx("div",{className:"passflow-2fa-qr-container",children:e.jsx("img",{src:`data:image/png;base64,${c.qr_code}`,alt:"2FA QR Code",className:"passflow-2fa-qr-image"})}),e.jsxs("div",{className:"passflow-2fa-secret-toggle",children:[e.jsx("button",{type:"button",className:"passflow-link-button",onClick:()=>l(!n),children:n?"Hide manual code":"Can't scan? Enter code manually"}),n&&e.jsx("code",{className:"passflow-2fa-secret-code",children:c.secret})]}),e.jsxs("div",{className:"passflow-2fa-confirm-section",children:[e.jsxs("p",{className:"passflow-2fa-confirm-label",children:["Enter the ",x,"-digit code from your app to confirm:"]}),e.jsxs("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[e.jsx(d,{value:r,onChange:C,numInputs:x,shouldAutoFocus:!0,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:S("passflow-field-otp passflow-field-otp--focused",w&&"passflow-field-otp--error"),inputType:"text",renderInput:s=>e.jsx("input",{...s})}),w&&e.jsxs("div",{className:"passflow-verify-otp-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-verify-otp-error-text",children:y})]})]})]}),e.jsx(G,{size:"big",type:"submit",variant:"primary",disabled:r.length!==x||g,children:g?"Confirming...":"Confirm & Enable"})]})}):"complete"===u&&p.length>0?e.jsx(Ae,{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:e.jsxs("div",{className:"passflow-2fa-setup-complete",children:[e.jsxs("div",{className:"passflow-2fa-warning",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{children:"These codes will only be shown once. Make sure to save them!"})]}),e.jsx("div",{className:"passflow-2fa-recovery-codes",children:p.map(s=>e.jsx("code",{className:"passflow-2fa-recovery-code",children:s},s))}),e.jsx(G,{size:"big",type:"button",variant:"secondary",onClick:j,children:"Copy to Clipboard"}),e.jsx(G,{size:"big",type:"button",variant:"primary",onClick:M,children:"I've Saved These Codes"})]})}):null},Re=({twoFactorVerifyPath:s=J.two_factor_verify.path,signInPath:t=J.signin.path})=>{const[a,r]=o.useState(!1),{navigate:i}=de(),n=$();o.useEffect(()=>{n.isTwoFactorVerificationRequired()||(z.canRedirect()?(z.incrementRedirect(),i({to:t}),r(!0)):r(!1))},[n,i,t]);return a||!n.isTwoFactorVerificationRequired()&&z.canRedirect()?null:e.jsx(Te,{onComplete:()=>{i({to:s})},onCancel:()=>{z.reset(),i({to:t})}})},Ye=({onSuccess:s,onUseRecovery:t,title:a="Two-Factor Authentication",subtitle:r,numInputs:i,shouldAutoFocus:n=!0,signInPath:l,twoFactorSetupPath:c})=>{const[p,u]=o.useState(""),{verify:h,isLoading:m,isError:f,errorDetails:g,reset:w}=he(),y=i??6,x=r??`Enter the ${y}-digit code from your authenticator app`,C=()=>{z.reset(),window.location.href=l||"/signin"},v=()=>{window.location.href=c||"/two-factor-setup"},j=!z.canRedirect(),M=m||"not_enabled"===g?.type||"expired"===g?.type||j;return e.jsx(Ae,{title:a,subtitle:x,className:"passflow-2fa-verify",children:e.jsxs("form",{onSubmit:async e=>{e.preventDefault();await h(p)&&s?.()},className:"passflow-form",children:[e.jsxs("div",{className:"passflow-form-container",children:[e.jsx("div",{className:"passflow-verify-otp-wrapper",children:e.jsx(d,{value:p,onChange:async e=>{if((e=>{w(),u(e)})(e),e.length===y){await h(e)&&s?.()}},numInputs:y,shouldAutoFocus:n&&!M,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:S("passflow-field-otp passflow-field-otp--focused",f&&"passflow-field-otp--error",M&&"passflow-field-otp--disabled"),inputType:"text",renderInput:s=>e.jsx("input",{...s,disabled:M})})}),f&&g?j?e.jsxs("div",{className:"passflow-form-error passflow-form-error--critical",children:[e.jsx(V,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),e.jsxs("div",{className:"passflow-form-error-content",children:[e.jsx("span",{className:"passflow-form-error-text",children:z.getLoopDetectedMessage()}),l&&e.jsx(G,{type:"button",size:"medium",variant:"secondary",onClick:C,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===g.type?e.jsxs("div",{className:"passflow-form-error passflow-form-error--persistent",children:[e.jsx(V,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),e.jsxs("div",{className:"passflow-form-error-content",children:[e.jsx("span",{className:"passflow-form-error-text",children:"You need to set up two-factor authentication first."}),e.jsxs("div",{className:"passflow-form-error-actions",children:[c&&e.jsx(G,{type:"button",size:"medium",variant:"primary",onClick:v,className:"passflow-button-setup-2fa",children:"Set Up 2FA"}),l&&e.jsx(G,{type:"button",size:"medium",variant:"secondary",onClick:C,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]})]}):"expired"===g.type?e.jsxs("div",{className:"passflow-form-info",children:[e.jsx(V,{size:"small",id:"info",type:"general",className:"icon-info"}),e.jsx("span",{className:"passflow-form-info-text",children:T(g)})]}):e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:T(g)})]}):null]}),!M&&e.jsx(G,{size:"big",type:"submit",variant:"primary",disabled:p.length!==y||m,className:"passflow-button-signin",children:m?"Verifying...":"Verify"}),t&&!M&&e.jsx("div",{className:"passflow-form-actions",children:e.jsxs("p",{className:"passflow-dont-have-account",children:["Lost your device?"," ",e.jsx("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use recovery code"})]})})]})})},Ue=({onSuccess:s,onBack:t,title:a="Use Recovery Code",subtitle:r="Enter one of your recovery codes",signInPath:i})=>{const[n,l]=o.useState(""),{useRecoveryCode:c,isLoading:p,isError:d,errorDetails:u,reset:h}=he(),m=()=>{z.reset(),window.location.href=i||"/signin"},f=!z.canRedirect(),g=p||"not_enabled"===u?.type||"expired"===u?.type||f;return e.jsx(Ae,{title:a,subtitle:r,className:"passflow-2fa-recovery",children:e.jsxs("form",{onSubmit:async e=>{e.preventDefault();await c(n)&&s?.()},className:"passflow-form",children:[e.jsx("div",{className:"passflow-form-container",children:e.jsxs("div",{className:"passflow-form-field",children:[e.jsx("label",{htmlFor:"recovery-code",className:S("passflow-field-label",d&&"passflow-field-label--error"),children:"Recovery Code"}),e.jsx("input",{id:"recovery-code",type:"text",value:n,onChange:e=>{h(),l(e.target.value.toUpperCase().replace(/\s/g,""))},placeholder:"XXXX-XXXX",className:S("passflow-field passflow-field--text passflow-field--focused",d&&"passflow-field--error",g&&"passflow-field--disabled"),autoComplete:"off",disabled:g}),d&&u?f?e.jsxs("div",{className:"passflow-form-error passflow-form-error--critical",children:[e.jsx(V,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),e.jsxs("div",{className:"passflow-form-error-content",children:[e.jsx("span",{className:"passflow-form-error-text",children:z.getLoopDetectedMessage()}),i&&e.jsx(G,{type:"button",size:"medium",variant:"secondary",onClick:m,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"not_enabled"===u.type?e.jsxs("div",{className:"passflow-form-error passflow-form-error--persistent",children:[e.jsx(V,{size:"medium",id:"warning",type:"general",className:"icon-warning"}),e.jsxs("div",{className:"passflow-form-error-content",children:[e.jsx("span",{className:"passflow-form-error-text",children:T(u)}),i&&e.jsx(G,{type:"button",size:"medium",variant:"secondary",onClick:m,className:"passflow-button-back-to-signin",children:"Back to Sign In"})]})]}):"expired"===u.type?e.jsxs("div",{className:"passflow-form-info",children:[e.jsx(V,{size:"small",id:"info",type:"general",className:"icon-info"}),e.jsx("span",{className:"passflow-form-info-text",children:T(u)})]}):e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:T(u)})]}):null]})}),!g&&e.jsx(G,{size:"big",type:"submit",variant:"primary",disabled:n.length<8||p,className:"passflow-button-signin",children:p?"Verifying...":"Verify"}),t&&!g&&e.jsx("div",{className:"passflow-form-actions",children:e.jsxs("p",{className:"passflow-dont-have-account",children:["Have your device?"," ",e.jsx("button",{type:"button",onClick:t,className:"passflow-link",style:{background:"none",border:"none",cursor:"pointer"},children:"Use authenticator code"})]})})]})})},ze=({successAuthRedirect:s,signInPath:t=J.signin.path,twoFactorSetupPath:a=J.two_factor_setup?.path})=>{const[r,i]=o.useState("verify"),[n,l]=o.useState(!1),{navigate:c}=de(),p=$(),{errorType:d}=he();o.useEffect(()=>{p.isTwoFactorVerificationRequired()||(z.canRedirect()?(z.incrementRedirect(),c({to:t}),l(!0)):l(!1))},[p,c,t]),o.useEffect(()=>{"expired"===d?z.canRedirect()&&(z.incrementRedirect(),z.setLastErrorType("expired"),setTimeout(()=>{c({to:t})},1500)):"not_enabled"===d&&z.setLastErrorType("not_enabled")},[d,c,t]);const u=async()=>{z.reset(),s&&(b(s)?window.location.href=await k(p,s):c({to:s}))};return n||!p.isTwoFactorVerificationRequired()&&z.canRedirect()?null:e.jsx(e.Fragment,{children:"verify"===r?e.jsx(Ye,{onSuccess:u,onUseRecovery:()=>{i("recovery")},signInPath:t,twoFactorSetupPath:a}):e.jsx(Ue,{onSuccess:u,onBack:()=>{i("verify")},signInPath:t})})},Ve=({error:s="Something went wrong",goBackRedirectTo:t})=>{const{navigate:a}=de(),{currentStyles:r,loginAppTheme:o}=ie();return e.jsx(Ae,{iconId:"logo-red",className:"passflow-error-wrapper",customCss:r?.custom_css,customLogo:r?.logo_url,removeBranding:o?.remove_passflow_logo,children:e.jsxs("div",{className:"passflow-error-container",children:[e.jsxs("div",{className:"passflow-error-container-text-wrapper",children:[s&&e.jsx("p",{className:"passflow-error-container-text",children:s}),e.jsx("p",{className:"passflow-error-container-text-secondary",children:"Please go back or try again later"})]}),e.jsx(G,{size:"big",type:"button",variant:"primary",onClick:()=>{b(t)?window.location.href=t:a({to:t})},className:"passflow-button-go-back-error",children:"Go back"})]})})},De=["verify-challenge-otp","password/reset","two-factor-verify","two-factor-recovery"],Ge=(s,t)=>a=>{const r=o.useContext(O),{successAuthRedirect:i}=a,{pathname:n}=window.location;if(De.some(e=>n.includes(e)))return e.jsx(h.ErrorBoundary,{FallbackComponent:({error:s})=>e.jsx(t,{goBackRedirectTo:i??"/",error:s.message}),children:e.jsx(s,{...a})});if(r?.state.isDiscoveringAppId)return null;if(!r?.state.appId){const s="Missing appId";return e.jsx(t,{goBackRedirectTo:i??"/",error:s})}return e.jsx(h.ErrorBoundary,{FallbackComponent:({error:s})=>e.jsx(t,{goBackRedirectTo:i??"/",error:s.message}),children:e.jsx(s,{...a})})},_e={password:"",email_or_username:"",phone:""},He=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signUpPath:r=J.signup.path,verifyOTPPath:n=J.verify_otp.path,verifyMagicLinkPath:l=J.verify_magic_link.path,forgotPasswordPath:c=J.forgot_password.path,twoFactorVerifyPath:p=J.two_factor_verify.path})=>{const{getValues:d,control:u,trigger:h,register:g,formState:{errors:w,isDirty:y,isValid:x},clearErrors:C,reset:v}=f.useForm({defaultValues:_e}),M=$(),{navigate:E}=de(),{appSettings:A,scopes:T,createTenantForNewUser:R,passwordPolicy:Y,currentStyles:U,isError:z,error:D,loginAppTheme:H}=ie(),{federatedWithRedirect:Z}=te(t,R);if(z)throw new Error(D);const O=o.useMemo(()=>N(A?.auth_strategies),[A]),{error:q,message:W}=P();if(q&&W)throw new Error(W);const{get:K}=F({invite_token:""}),Q=K("invite_token"),{fetch:X,isError:se,error:ae,reset:re,isLoading:oe}=ee(),[ne,le]=o.useState(A?.force_passwordless_login&&O.passkey||!1),[ce,pe]=o.useState(()=>O.hasEmailMethods||O.hasUsernameMethods?"email_or_username":O.hasPhoneMethods?"phone":null);o.useEffect(()=>{le(A?.force_passwordless_login&&O.passkey||!1),O.hasSignInEmailMethods||O.hasSignInUsernameMethods?pe("email_or_username"):O.hasSignInPhoneMethods?pe("phone"):pe(null)},[A?.force_passwordless_login,O]);const ue=()=>{v(),C(),re()},he=e=>{pe(e),ue()},me=s.eq(ce,"phone")&&O.internal.phone.password||s.eq(ce,"email_or_username")&&(O.internal.email.password||O.internal.username.password),xe=s.eq(ce,"phone")&&(O.internal.phone.otp||O.internal.phone.magicLink)||s.eq(ce,"email_or_username")&&(O.internal.email.otp||O.internal.email.magicLink),Ce=O.passkey,ve=async(e,a)=>{s.eq(a,"password")&&await(async e=>{const a={...e,...!s.isEmpty(Q)&&{invite_token:Q}};if(await X(a,"password")){if(M.isTwoFactorVerificationRequired())return void E({to:p??J.two_factor_verify.path});const e=t??A?.defaults.redirect??"";b(e)?window.location.href=await k(M,e):E({to:e})}})(e),s.eq(a,"passkey")&&await(async e=>{const a={...e,...!s.isEmpty(Q)&&{invite_token:Q}};if(await X(a,"passkey")){if(M.isTwoFactorVerificationRequired())return void E({to:p??J.two_factor_verify.path});const e=t??A?.defaults.redirect??"";b(e)?window.location.href=await k(M,e):E({to:e})}})(e),s.eq(a,"passwordless")&&await(async e=>{const a=I(O,ce)?.challengeType,r={...e,challenge_type:I(O,ce)?.challengeType,create_tenant:R,redirect_url:t??A?.defaults.redirect,...!s.isEmpty(Q)&&{invite_token:Q}},o=await X(r,"passwordless"),c=new URLSearchParams(window.location.search),p={...r,...o,type:"passwordless",challenge_type:a,create_tenant:R},d=i.stringify({...Object.fromEntries(c.entries()),...p});s.eq(a,"otp")&&o&&E({to:n??J.verify_otp.path,search:d}),s.eq(a,"magic_link")&&o&&E({to:l??J.verify_magic_link.path,search:d})})(e)},je=async()=>{let e=!1;if(s.eq(ce,"phone")&&(e=await h(["phone"])),s.eq(ce,"email_or_username")&&(e=await h(["email_or_username"])),e){const e=d(),s=e.email_or_username.match(j),t=m.phone(e.phone),a=t.isValid,r={...s&&{email:e.email_or_username},...a&&{phone:t.phoneNumber},scopes:T};await ve(r,"passwordless")}},Me=async()=>{const e={relying_party_id:a,scopes:T};await ve(e,"passkey")};return e.jsxs(Ae,{title:"Sign In to your account",subtitle:"To Passflow by Madappgang",className:"passflow-signin-wrapper",customCss:U?.custom_css,customLogo:U?.logo_url,removeBranding:H?.remove_passflow_logo,children:[Ce&&(xe||me)&&e.jsx("div",{className:"passflow-form-switch",children:e.jsx(ye,{label:"Passwordless experience",checked:ne,onChange:e=>{const{checked:s}=e.target;le(s),ue()}})}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),ne||(me&&(async()=>{const e=d(),t=e.email_or_username.match(j),a=!t&&s.size(e.email_or_username)>0,r=m.phone(e.phone),o=r.isValid,i={...t&&{email:e.email_or_username},...a&&{username:e.email_or_username},...o&&{phone:r.phoneNumber},scopes:T,password:e.password};await ve(i,"password")})(),!me&&xe&&je())},className:"passflow-form",children:[!ne&&ce?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-form-container",children:[s.eq(ce,"email_or_username")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"identity",className:S("passflow-field-label",{"passflow-field-label--error":se||s.has(w,"email_or_username")}),children:L(O,"label")}),O.hasSignInPhoneMethods&&e.jsx(G,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>he("phone"),children:"Use phone"})]}),e.jsx(f.Controller,{name:"email_or_username",control:u,rules:{required:"Email is required"},render:({field:t})=>e.jsx(_,{...t,...g("email_or_username"),isError:se||s.has(w,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})}),s.has(w,"email_or_username")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.email_or_username?.message})]})]}),s.eq(ce,"phone")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"phone",className:S("passflow-field-label",{"passflow-field-label--error":se||s.has(w,"phone")}),children:"Phone number"}),(O.hasSignInEmailMethods||O.hasSignInUsernameMethods)&&e.jsx(G,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>he("email_or_username"),children:L(O,"button")})]}),e.jsx(f.Controller,{name:"phone",control:u,rules:{required:"Phone number is required",validate:e=>!!m.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(fe,{...g("phone"),ref:null,onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:se||s.has(w,"phone")})}),s.has(w,"phone")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.phone?.message})]})]}),me?e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"password",className:S("passflow-field-label",{"passflow-field-label--error":se||s.has(w,"password")}),children:"Password"}),e.jsx(we,{to:c??J.forgot_password.path,search:i.stringify({...i.parse(window.location.search),default_method:ce}),className:"passflow-field-label-button",children:"Forgot Password?"})]}),e.jsx(f.Controller,{name:"password",control:u,rules:{required:"Password is required"},render:({field:t})=>e.jsx(B,{...t,...g("password"),isError:se||s.has(w,"password"),passwordPolicy:Y,id:"password",name:"password"})}),s.has(w,"password")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w.password?.message})]})]}):null,se&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:ae})]})]}),me?e.jsx(G,{size:"big",variant:"primary",type:"submit",disabled:!y||!x||oe,className:"passflow-button-signin",children:"Sign In"}):null,xe&&e.jsxs(G,{size:"big",variant:me?"outlined":"primary",type:me?"button":"submit",className:S("passflow-button-passwordless",{"passflow-button-passwordless--active":me}),style:me?{marginTop:"-16px"}:{},onClick:()=>me?je():null,disabled:(()=>{const e=d();return 0===s.size(e[ce])})(),children:["Sign In with ",I(O,ce)?.label]}),Ce?e.jsxs(G,{size:"big",variant:"dark",type:"button",className:S("passflow-button-passkey"),style:me||xe?{marginTop:"-16px"}:{},withIcon:!0,onClick:Me,children:[e.jsx(V,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign In with a Passkey"]}):null]}):null,ne&&Ce?e.jsxs(e.Fragment,{children:[se&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:ae})]}),e.jsxs(G,{size:"big",variant:"dark",type:"button",className:"passflow-button-passkey",withIcon:!0,onClick:Me,children:[e.jsx(V,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign In with a Passkey"]})]}):null,e.jsx("div",{className:S("passflow-form-actions",{"passflow-form-actions--top-space":me||Ce}),children:e.jsxs("p",{className:"passflow-dont-have-account",children:["Don't have an account?"," ",e.jsx(we,{to:r??J.signup.path,search:window.location.search,className:"passflow-link",children:"Sign Up"})]})}),s.size(O.fim.providers)>0&&e.jsxs("div",{className:"passflow-form-providers",children:[me||xe||Ce?e.jsxs("div",{className:"passflow-form-divider",children:[e.jsx("div",{className:"passflow-form-divider__line-left"}),e.jsx("span",{className:"passflow-form-divider__text",children:"Or continue with"}),e.jsx("div",{className:"passflow-form-divider__line-right"})]}):null,e.jsx(ge,{providers:O.fim.providers,onClick:e=>Z(e,Q??void 0)})]})]})]})},Be=Ge(He,Ve),Ze={passkeyEmail:"",passkeyPhone:"",passkeyUsername:"",email_or_username:"",phone:"",password:""},Oe=({successAuthRedirect:t,relyingPartyId:a=window.location.hostname,signInPath:r=J.signin.path,verifyOTPPath:n=J.verify_otp.path,verifyMagicLinkPath:l=J.verify_magic_link.path})=>{const{getValues:c,control:p,trigger:d,register:u,formState:{errors:h,isDirty:g,isValid:w},clearErrors:y,reset:x,setError:C}=f.useForm({defaultValues:Ze}),v=$(),{navigate:E}=de(),{appSettings:A,scopes:T,createTenantForNewUser:R,passwordPolicy:Y,currentStyles:U,isError:z,error:D,loginAppTheme:H}=ie();if(z)throw new Error(D);const{federatedWithRedirect:Z}=te(t,R),O=o.useMemo(()=>N(A?.auth_strategies),[A]),{error:q,message:W}=P();if(q&&W)throw new Error(W);const{get:K}=F({invite_token:""}),Q=K("invite_token"),{fetch:X,isError:ee,error:se,reset:re,isLoading:oe}=ae(),[ne,le]=o.useState(A?.force_passwordless_login&&O.passkey||!1),[ce,pe]=o.useState(()=>O.hasEmailMethods||O.hasUsernameMethods?"email_or_username":O.hasPhoneMethods?"phone":null);o.useEffect(()=>{le(A?.force_passwordless_login&&O.passkey||!1),O.hasSignInEmailMethods||O.hasSignInUsernameMethods?pe("email_or_username"):O.hasSignInPhoneMethods?pe("phone"):pe(null)},[A?.force_passwordless_login,O]);const ue=()=>{x(),y(),re()},he=e=>{pe(e),ue()},me=s.eq(ce,"phone")&&O.internal.phone.password||s.eq(ce,"email_or_username")&&(O.internal.email.password||O.internal.username.password),xe=s.eq(ce,"phone")&&(O.internal.phone.otp||O.internal.phone.magicLink)||s.eq(ce,"email_or_username")&&(O.internal.email.otp||O.internal.email.magicLink),Ce=O.passkey,ve=async(e,a)=>{s.eq(a,"password")&&await(async e=>{const a={user:e,create_tenant:R,...!s.isEmpty(Q)&&{invite_token:Q}};if(await X(a,"password")){const e=t??A?.defaults.redirect??"";b(e)?window.location.href=await k(v,e):E({to:e})}})(e),s.eq(a,"passwordless")&&await(async e=>{const a=I(O,ce)?.challengeType,r={...e,challenge_type:a,create_tenant:R,redirect_url:t??A?.defaults.redirect,...!s.isEmpty(Q)&&{invite_token:Q}},o=await X(r,"passwordless"),c=new URLSearchParams(window.location.search),p={...r,...o,type:"passwordless",challenge_type:a,create_tenant:R},d=i.stringify({...Object.fromEntries(c.entries()),...p});s.eq(a,"otp")&&o&&E({to:n??J.verify_otp.path,search:d}),s.eq(a,"magic_link")&&o&&E({to:l??J.verify_magic_link.path,search:d})})(e)},je=async()=>{let e=!1;if(s.eq(ce,"phone")&&(e=await d(["phone"])),s.eq(ce,"email_or_username")&&(e=await d(["email_or_username"])),e){const e=c(),s=e.email_or_username.match(j),t=m.phone(e.phone),a=t.isValid,r={...s&&{email:e.email_or_username},...a&&{phone:t.phoneNumber},scopes:T};await ve(r,"passwordless")}},Me=async()=>(async()=>{const e=t??A?.defaults.redirect??"",r={relying_party_id:a,create_tenant:R,redirect_url:e,...!s.isEmpty(Q)&&{invite_token:Q},scopes:T};await X(r,"passkey")&&(b(e)?window.location.href=await k(v,e):E({to:e}))})(),be=async()=>{const e=c(),t=e.email_or_username.match(j),a=!t&&s.size(e.email_or_username)>0,r=m.phone(e.phone),o=r.isValid,i={...t&&{email:e.email_or_username},...a&&{username:e.email_or_username},...o&&{phone_number:r.phoneNumber},password:e.password,scopes:T};await ve(i,"password")};return e.jsxs(Ae,{title:"Create account to sign up",subtitle:"For Passflow by Madappgang",className:"passflow-signup-wrapper",customCss:U?.custom_css,customLogo:U?.logo_url,removeBranding:H?.remove_passflow_logo,children:[Ce&&(xe||me)&&e.jsx("div",{className:"passflow-form-switch",children:e.jsx(ye,{label:"Passwordless experience",checked:ne,onChange:e=>{const{checked:s}=e.target;le(s),ue()}})}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),ne||(me&&be(),!me&&xe&&je()),ne&&Ce&&Me()},className:"passflow-form passflow-signup-form",children:[!ne&&ce?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"passflow-form-container",children:[s.eq(ce,"email_or_username")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"identity",className:S("passflow-field-label",{"passflow-field-label--error":ee||s.has(h,"email_or_username")}),children:L(O,"label")}),O.hasPhoneMethods&&e.jsx(G,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>he("phone"),children:"Use phone"})]}),e.jsx(f.Controller,{name:"email_or_username",control:p,rules:{required:(ke=O,ke.hasSignInEmailMethods&&ke.hasSignInUsernameMethods?"Email or username is required":ke.hasSignInEmailMethods?"Email is required":ke.hasSignInUsernameMethods?"Username is required":"Field is required"),...O.hasEmailMethods&&!O.hasUsernameMethods?{pattern:{value:j,message:"Invalid email"}}:void 0},render:({field:t})=>e.jsx(_,{...t,...u("email_or_username"),isError:ee||s.has(h,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})}),s.has(h,"email_or_username")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:h.email_or_username?.message})]})]}),s.eq(ce,"phone")&&e.jsxs("div",{className:"passflow-form-field",children:[e.jsxs("div",{className:"passflow-form-field__header",children:[e.jsx("label",{htmlFor:"phone",className:S("passflow-field-label",{"passflow-field-label--error":ee||s.has(h,"phone")}),children:"Phone number"}),(O.hasEmailMethods||O.hasUsernameMethods)&&e.jsx(G,{size:"small",variant:"clean",type:"button",className:"passflow-field-label-button",onClick:()=>he("email_or_username"),children:L(O,"button")})]}),e.jsx(f.Controller,{name:"phone",control:p,rules:{required:"Phone number is required",validate:e=>!!m.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(fe,{...t,...u("phone"),onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:ee||s.has(h,"phone"),ref:null})}),s.has(h,"phone")&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:h.phone?.message})]})]}),me?e.jsxs("div",{className:"passflow-form-field",children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"password",className:S("passflow-field-label",{"passflow-field-label--error":ee}),children:"Password"})}),e.jsx(f.Controller,{name:"password",control:p,rules:{required:"Password is required",validate:e=>{try{return M(Y).validateSync(e),y("password"),!0}catch(s){const e=s;return C("password",{type:"manual",message:e.errors.join(", ")}),e.errors.join(", ")}}},render:({field:t})=>e.jsx(B,{...t,...u("password"),isError:ee,passwordPolicy:Y,validationErrors:s.has(h,"password")&&h.password?.message?h.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:e=>{t.onChange(e),(async()=>{await d(["password"])})()}})})]}):null,ee&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:se})]})]}),me?e.jsx(G,{size:"big",variant:"primary",type:"submit",onClick:be,disabled:!g||!w||oe,className:"passflow-button-signup",children:"Sign Up"}):null,xe&&e.jsxs(G,{size:"big",variant:me?"outlined":"primary",type:me?"button":"submit",className:S("passflow-button-passwordless",{"passflow-button-passwordless--active":me}),style:me?{marginTop:"-16px"}:{},onClick:()=>me?je():null,disabled:(()=>{const e=c();return 0===s.size(e[ce])})(),children:["Sign Up with ",I(O,ce)?.label]}),Ce?e.jsxs(G,{size:"big",variant:"dark",type:"button",className:S("passflow-button-passkey"),style:me||xe?{marginTop:"-16px"}:{},withIcon:!0,onClick:Me,children:[e.jsx(V,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign Up with a Passkey"]}):null]}):null,ne&&Ce?e.jsxs(e.Fragment,{children:[e.jsxs(G,{size:"big",variant:"dark",type:"submit",className:"passflow-button-passkey",withIcon:!0,children:[e.jsx(V,{id:"key",size:"small",type:"general",className:"icon-white passflow-button-passkey-icon"}),"Sign Up with a Passkey"]}),ee&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:se})]})]}):null,e.jsx("div",{className:S("passflow-form-actions",{"passflow-form-actions--top-space":me||Ce}),children:e.jsxs("p",{className:"passflow-have-account",children:["Already have an account?"," ",e.jsx(we,{to:r??J.signin.path,search:window.location.search,className:"passflow-link",children:"Sign In"})]})}),s.size(O.fim.providers)>0&&e.jsxs("div",{className:"passflow-form-providers",children:[me||xe||Ce?e.jsxs("div",{className:"passflow-form-divider",children:[e.jsx("div",{className:"passflow-form-divider__line-left"}),e.jsx("span",{className:"passflow-form-divider__text",children:"Or continue with"}),e.jsx("div",{className:"passflow-form-divider__line-right"})]}):null,e.jsx(ge,{providers:O.fim.providers,onClick:e=>Z(e,Q??void 0)})]})]})]});var ke},qe=Ge(Oe,Ve),Je={email:"email address",phone:"phone number"},We=()=>{const{currentStyles:t,loginAppTheme:a}=ie(),{fetch:r}=ee(),{get:o}=F({identity:"",identity_value:"",challenge_type:"",type:"",redirect_url:""}),i=o("email")?"email":o("phone")?"phone":void 0,n=o("email")?o("email"):o("phone")?o("phone"):void 0,l=o("challenge_type"),c=o("type"),p=o("redirect_url");return e.jsx(Ae,{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:e.jsxs("div",{className:"passflow-verify-challenge-magic-link-container",children:[e.jsxs("p",{className:"passflow-verify-challenge-magic-link-text",children:["We sent a link to ",Je[i]," ",n&&e.jsx("strong",{className:"passflow-verify-challenge-magic-link-text--strong",children:n}),". Click on the link to confirm your registration."]}),"passwordless"===c&&e.jsx(G,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-magic-link",onClick:async()=>{const e={...s.eq(i,"email")?{email:n}:void 0,...s.eq(i,"phone")?{phone:n}:void 0,challenge_type:l,redirect_url:p};await r(e,c)},children:"Resend email"})]})})},Ke=({totalSecond:s,onClick:t,className:a="",...r})=>{const[i,n]=o.useState(s);o.useEffect(()=>{const e=setInterval(()=>{i>0&&n(e=>e-1)},1e3);return()=>{clearInterval(e)}},[i]);return e.jsxs(G,{disabled:i>0,size:"small",variant:"clean",type:"button",className:S("passflow-button-timer",{"passflow-button-timer--active":i>0,"passflow-button-timer--inactive":0===i},a),onClick:()=>{t(),n(s)},...r,children:["Resend ",i>0?`(${i})`:""]})},Qe=()=>{const{currentStyles:s,loginAppTheme:t}=ie();return e.jsx(Ae,{iconId:"logo",className:"passflow-verify-challenge-success-wrapper",customCss:s?.custom_css,customLogo:s?.logo_url,removeBranding:t?.remove_passflow_logo,children:e.jsx("div",{className:"passflow-verify-challenge-success-wrapper",children:e.jsxs("div",{className:"passflow-verify-challenge-success-container",children:[e.jsx("p",{className:"passflow-verify-challenge-success-text",children:"Successful verification!"}),e.jsx("p",{className:"passflow-verify-challenge-success-text-secondary",children:"But there is no redirect URL for further redirect."})]})})})},Xe={email:"email address",phone:"phone number"},$e=({identity:s,identityValue:t,challengeType:a,challengeId:r,type:i,numInputs:n,shouldAutoFocus:l,successAuthRedirect:c,signUpPath:p})=>{const u=$(),{appSettings:h,createTenantForNewUser:m,currentStyles:f,loginAppTheme:g}=ie(),{navigate:w}=de(),{fetch:y}=ee(),{fetch:x,isError:C,error:v}=ne(),[j,M]=o.useState(""),[E,N]=o.useState(null),[L,I]=o.useState(!1),{set:P}=F();if(o.useEffect(()=>{if(j.length===n&&r){const e={challenge_id:r,challenge_type:"otp",otp:j};(async()=>{const s=await x(e);s&&(s.redirect_url?b(s.redirect_url)?window.location.href=await k(u,s.redirect_url):w({to:s.redirect_url}):I(!0))})()}},[j,n,x,r,w,u]),E)throw new Error(E);if(L)return e.jsx(Qe,{});return e.jsxs(Ae,{title:`Verify your ${s}`,subtitle:`We sent OTP code to your ${Xe[s]}`,className:"passflow-verify-otp",customCss:f?.custom_css,customLogo:f?.logo_url,removeBranding:g?.remove_passflow_logo,children:[e.jsxs("div",{className:"passflow-verify-otp-container",children:[t&&e.jsxs(G,{size:"big",type:"button",variant:"outlined",className:"passflow-verify-otp-button",withIcon:!0,onClick:()=>w({to:p}),children:[e.jsx(V,{id:"email"===s?"mail":"phone",type:"general",size:"small"}),t,e.jsx(V,{id:"edit",type:"general",size:"small",className:"passflow-verify-otp-button-icon"})]}),e.jsxs("div",{id:"otp-wrapper",className:"passflow-verify-otp-wrapper",children:[e.jsx(d,{value:j,onChange:e=>M(e),numInputs:n,shouldAutoFocus:l,skipDefaultStyles:!0,containerStyle:"passflow-verify-otp-inputs",inputStyle:S("passflow-field-otp passflow-field-otp--focused",C&&"passflow-field-otp--error"),inputType:"text",renderInput:s=>e.jsx("input",{...s})}),C&&e.jsxs("div",{className:"passflow-verify-otp-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-verify-otp-error-text",children:v})]})]})]}),"passwordless"===i&&e.jsxs("p",{className:"passflow-verify-otp-resend",children:["Don't receive a code?",e.jsx(Ke,{totalSecond:30,onClick:()=>{(async()=>{if(i&&s&&t&&a){const e={create_tenant:m,challenge_type:a,redirect_url:c??h?.defaults.redirect??"",..."email"===s?{email:t}:{phone:t}},r=await y(e,i);r?P({challenge_id:r.challenge_id}):N("Something went wrong. Please try again later.")}})()}})]})]})},es=({otp:s,challengeId:t,appId:a})=>{const r=$(),{navigate:i}=de(),[n,l]=o.useState(null),[c,p]=o.useState(!1),{fetch:d,isError:u,error:h,isLoading:m}=ne();if(o.useEffect(()=>{(async()=>{if(a)if(s)if(t){if(!m){const e=await d({otp:s,challenge_id:t});e?e.redirect_url?b(e.redirect_url)?window.location.href=await k(r,e.redirect_url):i({to:e.redirect_url}):p(!0):l("Something went wrong. Please try again later.")}}else l("Missing required param: challenge_id");else l("Missing required param: otp");else l("Missing required param: app_id")})()},[]),u&&h)throw new Error(h);if(n)throw new Error(n);return c?e.jsx(Qe,{}):null},ss=y.object().shape({appId:y.string().required(),challengeId:y.string().required(),otp:y.string().optional()}),ts=y.object().shape({challengeId:y.string().required(),identity:y.string().oneOf(["email","phone"]).required(),identityValue:y.string().required(),challengeType:y.string().required(),type:y.string().oneOf(["passwordless","passkey"]).optional()}),as=({successAuthRedirect:s,numInputs:t,shouldAutoFocus:a,signUpPath:r})=>{const{get:o}=F({otp:"",app_id:"",challenge_id:"",identity:"",identity_value:"",challenge_type:"",type:""}),i=o("type");if("passwordless"!==i&&"passkey"!==i){const s={appId:o("app_id"),challengeId:o("challenge_id"),otp:o("otp")};try{ss.validateSync(s,{abortEarly:!1})}catch(h){throw new Error("Invalid search params")}const{appId:t,otp:a,challengeId:r}=s;return e.jsx(es,{appId:t,challengeId:r,otp:a})}const n={challengeId:o("challenge_id"),identity:o("email")?"email":o("phone")?"phone":null,identityValue:o("email")?o("email"):o("phone")?o("phone"):null,challengeType:o("challenge_type"),type:o("type")};try{ts.validateSync(n,{abortEarly:!1})}catch(h){throw new Error("Invalid search params")}const{challengeId:l,identity:c,identityValue:p,challengeType:d,type:u}=n;if(!u)throw new Error("Invalid type params");return e.jsx($e,{identity:c,identityValue:p,challengeType:d,challengeId:l,type:u,numInputs:t,shouldAutoFocus:a,signUpPath:r,successAuthRedirect:s})},rs={email_or_username:"",phone:""},os=y.object().shape({defaultMethod:y.string().oneOf(["email_or_username","phone"]).required()}),is=({successResetRedirect:t,signInPath:a=J.signin.path,forgotPasswordSuccessPath:r=J.forgot_password_success.path})=>{const{getValues:n,control:l,register:c,formState:{errors:p,isDirty:d,isValid:u}}=f.useForm({defaultValues:rs}),{appSettings:h,currentStyles:g,isError:w,error:y,loginAppTheme:x}=ie();if(w)throw new Error(y);const C=o.useMemo(()=>N(h?.auth_strategies),[h]),{navigate:v}=de(),{get:M}=F({default_method:""}),b={defaultMethod:M("default_method")};try{os.validateSync(b,{abortEarly:!1})}catch(Y){throw new Error("Invalid default method param")}const{defaultMethod:k}=b,{fetch:E,error:I,isError:P,isLoading:A}=re(),T=s.eq(k,"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.",R=s.eq(k,"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.";return e.jsxs(Ae,{title:"Forgot password?",subtitle:T,className:"passflow-forgot-password-wrapper",customCss:g?.custom_css,customLogo:g?.logo_url,removeBranding:x?.remove_passflow_logo,children:[e.jsx("span",{className:"passflow-form-subscriptions",children:R}),e.jsxs("form",{onSubmit:e=>e.preventDefault(),className:"passflow-form",children:[e.jsx("div",{className:"passflow-form-container",children:e.jsxs("div",{className:"passflow-form-field",children:[s.eq(k,"email_or_username")&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"identity",className:S("passflow-field-label",{"passflow-field-label--error":P}),children:L(C,"label")})}),e.jsx(f.Controller,{name:"email_or_username",control:l,rules:{required:"Email is required",pattern:{value:j,message:"Invalid email"}},render:({field:t})=>e.jsx(_,{...t,...c("email_or_username"),isError:P||s.has(p,"email_or_username"),id:"email_or_username",type:"text",name:"email_or_username"})})]}),s.eq(k,"phone")&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"phone",className:S("passflow-field-label",{"passflow-field-label--error":P}),children:"Phone"})}),e.jsx(f.Controller,{name:"phone",control:l,rules:{required:"Phone is required",validate:e=>!!m.phone(e).isValid||"Invalid phone number"},render:({field:t})=>e.jsx(fe,{...t,...c("phone"),onChange:e=>t.onChange(e),id:"phone",name:"phone",isError:P||s.has(p,"phone"),ref:null})})]}),P&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:I})]})]})}),e.jsxs("div",{className:"passflow-send-reset-wrapper",children:[e.jsx(G,{size:"big",variant:"primary",type:"button",disabled:!d||!u||A,className:"passflow-button-send-reset-password",onClick:async()=>{const e=n(),a=e.email_or_username.match(j),o=!a&&s.size(e.email_or_username)>0,l=m.phone(e.phone),c=l.isValid,p={...a&&{email:e.email_or_username},...o&&{username:e.email_or_username},...c&&{phone:l.phoneNumber},redirect_url:t??h?.defaults.redirect};if(await E(p)){const e=new URLSearchParams(window.location.search),s=i.stringify({...Object.fromEntries(e.entries()),...p});v({to:r,search:s})}},children:"Send reset instructions"}),e.jsxs("p",{className:"passflow-remember-password",children:["Remember your password?"," ",e.jsx(we,{to:a??J.signin.path,className:"passflow-link",children:"Sign In"})," "]})]})]})]})},ns=y.object().shape({identity:y.string().oneOf(["email","phone"]).required(),identityValue:y.string().required(),redirectUrl:y.string().required()}),ls=()=>{const{currentStyles:t,loginAppTheme:a}=ie(),{fetch:r}=re(),{get:o}=F(),i={identity:o("email")?"email":o("phone")?"phone":null,identityValue:o("email")?o("email"):o("phone")?o("phone"):null,redirectUrl:o("redirect_url")};try{ns.validateSync(i,{abortEarly:!1})}catch(n){throw new Error("Invalid search params")}return e.jsx(Ae,{title:`Check your ${i.identity}`,className:"passflow-forgot-password-success-wrapper",customCss:t?.custom_css,customLogo:t?.logo_url,removeBranding:a?.remove_passflow_logo,children:e.jsxs("div",{className:"passflow-forgot-password-success-container",children:[e.jsxs("p",{className:"passflow-forgot-password-success-text",children:["We sent a link to ",s.eq(i.identity,"phone")?"phone number":"email address"," ",e.jsx("strong",{className:"passflow-forgot-password-success-text--strong",children:i.identityValue}),". Click the link to reset your password."]}),e.jsxs(G,{size:"big",variant:"secondary",type:"button",className:"passflow-button-resend-reset-password",onClick:async()=>{const e={..."email"===i.identity?{email:i.identityValue}:void 0,..."phone"===i.identity?{phone:i.identityValue}:void 0,redirect_url:i.redirectUrl};await r(e)},children:["Resend ",s.eq(i.identity,"email")?"email":"SMS"]})]})})},cs={password:""},ps=y.object().shape({token:y.string().required()}),ds=({successAuthRedirect:t})=>{const{getValues:a,control:r,register:o,trigger:i,formState:{errors:n,isDirty:l,isValid:c},clearErrors:p,setError:d}=f.useForm({defaultValues:cs}),u=$(),{appSettings:h}=ie(),{fetch:m,error:w,isError:y,isLoading:x}=oe(),{navigate:C}=de(),{get:v}=F(),{passwordPolicy:j,currentStyles:N,isError:L,error:I,loginAppTheme:P}=ie();if(L)throw new Error(I);const A={token:v("token")};try{ps.validateSync(A,{abortEarly:!1})}catch(Y){throw new Error("Invalid reset token.")}const{token:T}=A,R=T?E(g.parseToken)(T):void 0;return e.jsxs(Ae,{title:"Reset password",subtitle:"Let’s get you back in.",className:"passflow-reset-password-wrapper",customCss:N?.custom_css,customLogo:N?.logo_url,removeBranding:P?.remove_passflow_logo,children:[e.jsx("span",{className:"passflow-reset-password-text",children:"Enter your new password below."}),e.jsxs("form",{onSubmit:e=>{e.preventDefault(),(async()=>{const e=a(),s=R;await m(e.password)&&(b(s?.redirect_url??t??h?.defaults.redirect)?window.location.href=await k(u,s?.redirect_url??t??h?.defaults.redirect):C({to:s?.redirect_url??t??h?.defaults.redirect}))})()},className:"passflow-form passflow-reset-password-form",children:[e.jsx("div",{className:"passflow-form-container",children:e.jsxs("div",{className:"passflow-form-field",children:[e.jsx("div",{className:"passflow-form-field__header",children:e.jsx("label",{htmlFor:"password",className:S("passflow-field-label",{"passflow-field-label--error":y}),children:"New password"})}),e.jsx(f.Controller,{name:"password",control:r,rules:{required:"Password is required",validate:e=>{try{return M(j).validateSync(e),p("password"),!0}catch(Y){const s=Y;return d("password",{type:"manual",message:s.errors.join(", ")}),s.errors.join(", ")}}},render:({field:t})=>e.jsx(B,{...t,...o("password"),isError:y,passwordPolicy:j,validationErrors:s.has(n,"password")&&n.password?.message?n.password.message.split(", "):void 0,id:"password",name:"password",withMessages:!0,onChange:e=>{t.onChange(e),(async()=>{await i(["password"])})()}})}),y&&e.jsxs("div",{className:"passflow-form-error",children:[e.jsx(V,{size:"small",id:"warning",type:"general",className:"icon-warning"}),e.jsx("span",{className:"passflow-form-error-text",children:w})]})]})}),e.jsx(G,{size:"big",variant:"primary",type:"submit",disabled:!l||!c||x,className:"passflow-button-reset-password",children:"Save new password"})]})]})},us=y.object().shape({invite_token:y.string().required()}),hs=Ge(({signInPath:s=J.signin.path,signUpPath:t=J.signup.path,successAuthRedirect:a})=>{const{appSettings:r,currentStyles:o,loginAppTheme:i}=ie(),{navigate:n}=de(),{get:l}=F(),c=$(),{fetch:p,isLoading:d,error:u,isError:h}=le(),m={invite_token:l("invite_token")};try{us.validateSync(m,{abortEarly:!1})}catch(y){throw new Error("Invalid invitation token.")}const{invite_token:f}=m,w=f?E(g.parseToken)(f):void 0;if(h&&u)throw Error(u);if(!w)throw Error("Invalid invitation token.");if(w){const{inviter_name:l,tenant_name:u,redirect_url:h}=w,m=c.getParsedTokens(),g=()=>n({to:s,search:window.location.search}),y=()=>n({to:t,search:window.location.search});return m?.access_token||g(),e.jsxs(Ae,{title:`${l||"Someone"} invited you to join the ${u} - want to accept?`,className:"passflow-invitation-join-wrapper",customCss:o?.custom_css,customLogo:o?.logo_url,removeBranding:i?.remove_passflow_logo,children:[m?.access_token&&m.id_token&&e.jsxs("span",{className:"passflow-invitation-join-text",children:["You're signed in as"," ",e.jsx("strong",{className:"passflow-invitation-join-text-strong",children:m.id_token?.email})," right now. Do you want keep going as"," ",e.jsx("strong",{className:"passflow-invitation-join-text-strong",children:m.id_token?.email})," or switch to different account?"]}),m?.access_token&&e.jsx(G,{size:"big",type:"button",variant:"primary",className:"passflow-button-invitation-join",onClick:()=>{(async e=>{f&&await p(f)&&(b(e)?window.location.href=await k(c,e):n({to:e}))})(h??a??r?.defaults.redirect)},disabled:d,children:"Accept invitation"}),e.jsxs("div",{className:"passflow-invitation-join-actions",style:m?.access_token?{}:{marginTop:"32px"},children:[e.jsx(G,{size:"big",type:"button",variant:"secondary",className:"passflow-button-invitation-join-switch",onClick:g,disabled:d,children:"Switch account"}),e.jsx(G,{size:"big",type:"button",variant:"secondary",className:"passflow-button-invitation-join-register",onClick:y,disabled:d,children:"Register new user"})]})]})}return null},Ve);
|
|
2
2
|
/**
|
|
3
3
|
* @remix-run/router v1.23.0
|
|
4
4
|
*
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @license MIT
|
|
11
11
|
*/
|
|
12
|
-
function
|
|
12
|
+
function ms(){return ms=Object.assign?Object.assign.bind():function(e){for(var s=1;s<arguments.length;s++){var t=arguments[s];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},ms.apply(this,arguments)}var fs;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(fs||(fs={}));const gs="popstate";function ws(e,s){if(!1===e||null==e)throw new Error(s)}function ys(e,s){if(!e){"undefined"!=typeof console&&console.warn(s);try{throw new Error(s)}catch(t){}}}function xs(e,s){return{usr:e.state,key:e.key,idx:s}}function Cs(e,s,t,a){return void 0===t&&(t=null),ms({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof s?js(s):s,{state:t,key:s&&s.key||a||Math.random().toString(36).substr(2,8)})}function vs(e){let{pathname:s="/",search:t="",hash:a=""}=e;return t&&"?"!==t&&(s+="?"===t.charAt(0)?t:"?"+t),a&&"#"!==a&&(s+="#"===a.charAt(0)?a:"#"+a),s}function js(e){let s={};if(e){let t=e.indexOf("#");t>=0&&(s.hash=e.substr(t),e=e.substr(0,t));let a=e.indexOf("?");a>=0&&(s.search=e.substr(a),e=e.substr(0,a)),e&&(s.pathname=e)}return s}function Ms(e,s,t,a){void 0===a&&(a={});let{window:r=document.defaultView,v5Compat:o=!1}=a,i=r.history,n=fs.Pop,l=null,c=p();function p(){return(i.state||{idx:null}).idx}function d(){n=fs.Pop;let e=p(),s=null==e?null:e-c;c=e,l&&l({action:n,location:h.location,delta:s})}function u(e){let s="null"!==r.location.origin?r.location.origin:r.location.href,t="string"==typeof e?e:vs(e);return t=t.replace(/ $/,"%20"),ws(s,"No window.location.(origin|href) available to create URL for href: "+t),new URL(t,s)}null==c&&(c=0,i.replaceState(ms({},i.state,{idx:c}),""));let h={get action(){return n},get location(){return e(r,i)},listen(e){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(gs,d),l=e,()=>{r.removeEventListener(gs,d),l=null}},createHref:e=>s(r,e),createURL:u,encodeLocation(e){let s=u(e);return{pathname:s.pathname,search:s.search,hash:s.hash}},push:function(e,s){n=fs.Push;let a=Cs(h.location,e,s);t&&t(a,e),c=p()+1;let d=xs(a,c),u=h.createHref(a);try{i.pushState(d,"",u)}catch(m){if(m instanceof DOMException&&"DataCloneError"===m.name)throw m;r.location.assign(u)}o&&l&&l({action:n,location:h.location,delta:1})},replace:function(e,s){n=fs.Replace;let a=Cs(h.location,e,s);t&&t(a,e),c=p();let r=xs(a,c),d=h.createHref(a);i.replaceState(r,"",d),o&&l&&l({action:n,location:h.location,delta:0})},go:e=>i.go(e)};return h}var bs;function ks(e,s,t){return void 0===t&&(t="/"),function(e,s,t){let a="string"==typeof s?js(s):s,r=Vs(a.pathname||"/",t);if(null==r)return null;let o=Ss(e);!function(e){e.sort((e,s)=>e.score!==s.score?s.score-e.score:function(e,s){let t=e.length===s.length&&e.slice(0,-1).every((e,t)=>e===s[t]);return t?e[e.length-1]-s[s.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),s.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let n=0;null==i&&n<o.length;++n){let e=zs(r);i=Ys(o[n],e)}return i}(e,s,t)}function Ss(e,s,t,a){void 0===s&&(s=[]),void 0===t&&(t=[]),void 0===a&&(a="");let r=(e,r,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:r,route:e};i.relativePath.startsWith("/")&&(ws(i.relativePath.startsWith(a),'Absolute route path "'+i.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(a.length));let n=Bs([a,i.relativePath]),l=t.concat(i);e.children&&e.children.length>0&&(ws(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+n+'".'),Ss(e.children,s,l,n)),(null!=e.path||e.index)&&s.push({path:n,score:Rs(n,e.index),routesMeta:l})};return e.forEach((e,s)=>{var t;if(""!==e.path&&null!=(t=e.path)&&t.includes("?"))for(let a of Es(e.path))r(e,s,a);else r(e,s)}),s}function Es(e){let s=e.split("/");if(0===s.length)return[];let[t,...a]=s,r=t.endsWith("?"),o=t.replace(/\?$/,"");if(0===a.length)return r?[o,""]:[o];let i=Es(a.join("/")),n=[];return n.push(...i.map(e=>""===e?o:[o,e].join("/"))),r&&n.push(...i),n.map(s=>e.startsWith("/")&&""===s?"/":s)}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(bs||(bs={}));const Ns=/^:[\w-]+$/,Ls=3,Is=2,Fs=1,Ps=10,As=-2,Ts=e=>"*"===e;function Rs(e,s){let t=e.split("/"),a=t.length;return t.some(Ts)&&(a+=As),s&&(a+=Is),t.filter(e=>!Ts(e)).reduce((e,s)=>e+(Ns.test(s)?Ls:""===s?Fs:Ps),a)}function Ys(e,s,t){let{routesMeta:a}=e,r={},o="/",i=[];for(let n=0;n<a.length;++n){let e=a[n],t=n===a.length-1,l="/"===o?s:s.slice(o.length)||"/",c=Us({path:e.relativePath,caseSensitive:e.caseSensitive,end:t},l),p=e.route;if(!c)return null;Object.assign(r,c.params),i.push({params:r,pathname:Bs([o,c.pathname]),pathnameBase:Zs(Bs([o,c.pathnameBase])),route:p}),"/"!==c.pathnameBase&&(o=Bs([o,c.pathnameBase]))}return i}function Us(e,s){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[t,a]=function(e,s,t){void 0===s&&(s=!1);void 0===t&&(t=!0);ys("*"===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 a=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,s,t)=>(a.push({paramName:s,isOptional:null!=t}),t?"/?([^\\/]+)?":"/([^\\/]+)"));e.endsWith("*")?(a.push({paramName:"*"}),r+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":""!==e&&"/"!==e&&(r+="(?:(?=\\/|$))");let o=new RegExp(r,s?void 0:"i");return[o,a]}(e.path,e.caseSensitive,e.end),r=s.match(t);if(!r)return null;let o=r[0],i=o.replace(/(.)\/+$/,"$1"),n=r.slice(1),l=a.reduce((e,s,t)=>{let{paramName:a,isOptional:r}=s;if("*"===a){let e=n[t]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const l=n[t];return e[a]=r&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{});return{params:l,pathname:o,pathnameBase:i,pattern:e}}function zs(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(s){return ys(!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 ('+s+")."),e}}function Vs(e,s){if("/"===s)return e;if(!e.toLowerCase().startsWith(s.toLowerCase()))return null;let t=s.endsWith("/")?s.length-1:s.length,a=e.charAt(t);return a&&"/"!==a?null:e.slice(t)||"/"}function Ds(e,s){void 0===s&&(s="/");let{pathname:t,search:a="",hash:r=""}="string"==typeof e?js(e):e,o=t?t.startsWith("/")?t:function(e,s){let t=s.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?t.length>1&&t.pop():"."!==e&&t.push(e)}),t.length>1?t.join("/"):"/"}(t,s):s;return{pathname:o,search:Os(a),hash:qs(r)}}function Gs(e,s,t,a){return"Cannot include a '"+e+"' character in a manually specified `to."+s+"` field ["+JSON.stringify(a)+"]. Please separate it out to the `to."+t+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function _s(e,s){let t=function(e){return e.filter((e,s)=>0===s||e.route.path&&e.route.path.length>0)}(e);return s?t.map((e,s)=>s===t.length-1?e.pathname:e.pathnameBase):t.map(e=>e.pathnameBase)}function Hs(e,s,t,a){let r;void 0===a&&(a=!1),"string"==typeof e?r=js(e):(r=ms({},e),ws(!r.pathname||!r.pathname.includes("?"),Gs("?","pathname","search",r)),ws(!r.pathname||!r.pathname.includes("#"),Gs("#","pathname","hash",r)),ws(!r.search||!r.search.includes("#"),Gs("#","search","hash",r)));let o,i=""===e||""===r.pathname,n=i?"/":r.pathname;if(null==n)o=t;else{let e=s.length-1;if(!a&&n.startsWith("..")){let s=n.split("/");for(;".."===s[0];)s.shift(),e-=1;r.pathname=s.join("/")}o=e>=0?s[e]:"/"}let l=Ds(r,o),c=n&&"/"!==n&&n.endsWith("/"),p=(i||"."===n)&&t.endsWith("/");return l.pathname.endsWith("/")||!c&&!p||(l.pathname+="/"),l}const Bs=e=>e.join("/").replace(/\/\/+/g,"/"),Zs=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Os=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",qs=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function Js(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}const Ws=["post","put","patch","delete"];new Set(Ws);const Ks=["get",...Ws];
|
|
13
13
|
/**
|
|
14
14
|
* React Router v6.30.0
|
|
15
15
|
*
|
|
@@ -20,7 +20,7 @@ function es(){return es=Object.assign?Object.assign.bind():function(e){for(var s
|
|
|
20
20
|
*
|
|
21
21
|
* @license MIT
|
|
22
22
|
*/
|
|
23
|
-
function
|
|
23
|
+
function Qs(){return Qs=Object.assign?Object.assign.bind():function(e){for(var s=1;s<arguments.length;s++){var t=arguments[s];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Qs.apply(this,arguments)}new Set(Ks);const Xs=x.createContext(null),$s=x.createContext(null),et=x.createContext(null),st=x.createContext(null),tt=x.createContext({outlet:null,matches:[],isDataRoute:!1}),at=x.createContext(null);function rt(){return null!=x.useContext(st)}function ot(){return rt()||ws(!1),x.useContext(st).location}function it(e){x.useContext(et).static||x.useLayoutEffect(e)}function nt(){let{isDataRoute:e}=x.useContext(tt);return e?function(){let{router:e}=function(){let e=x.useContext(Xs);return e||ws(!1),e}(mt.UseNavigateStable),s=gt(ft.UseNavigateStable),t=x.useRef(!1);return it(()=>{t.current=!0}),x.useCallback(function(a,r){void 0===r&&(r={}),t.current&&("number"==typeof a?e.navigate(a):e.navigate(a,Qs({fromRouteId:s},r)))},[e,s])}():function(){rt()||ws(!1);let e=x.useContext(Xs),{basename:s,future:t,navigator:a}=x.useContext(et),{matches:r}=x.useContext(tt),{pathname:o}=ot(),i=JSON.stringify(_s(r,t.v7_relativeSplatPath)),n=x.useRef(!1);return it(()=>{n.current=!0}),x.useCallback(function(t,r){if(void 0===r&&(r={}),!n.current)return;if("number"==typeof t)return void a.go(t);let l=Hs(t,JSON.parse(i),o,"path"===r.relative);null==e&&"/"!==s&&(l.pathname="/"===l.pathname?s:Bs([s,l.pathname])),(r.replace?a.replace:a.push)(l,r.state,r)},[s,a,i,o,e])}()}function lt(){let{matches:e}=x.useContext(tt),s=e[e.length-1];return s?s.params:{}}function ct(e,s){return function(e,s,t,a){rt()||ws(!1);let{navigator:r,static:o}=x.useContext(et),{matches:i}=x.useContext(tt),n=i[i.length-1],l=n?n.params:{};!n||n.pathname;let c=n?n.pathnameBase:"/";n&&n.route;let p,d=ot();if(s){var u;let e="string"==typeof s?js(s):s;"/"===c||(null==(u=e.pathname)?void 0:u.startsWith(c))||ws(!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 f=ks(e,{pathname:m}),g=function(e,s,t,a){var r;void 0===s&&(s=[]);void 0===t&&(t=null);void 0===a&&(a=null);if(null==e){var o;if(!t)return null;if(t.errors)e=t.matches;else{if(!(null!=(o=a)&&o.v7_partialHydration&&0===s.length&&!t.initialized&&t.matches.length>0))return null;e=t.matches}}let i=e,n=null==(r=t)?void 0:r.errors;if(null!=n){let e=i.findIndex(e=>e.route.id&&void 0!==(null==n?void 0:n[e.route.id]));e>=0||ws(!1),i=i.slice(0,Math.min(i.length,e+1))}let l=!1,c=-1;if(t&&a&&a.v7_partialHydration)for(let p=0;p<i.length;p++){let e=i[p];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=p),e.route.id){let{loaderData:s,errors:a}=t,r=e.route.loader&&void 0===s[e.route.id]&&(!a||void 0===a[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,a,r)=>{let o,p=!1,d=null,u=null;t&&(o=n&&a.route.id?n[a.route.id]:void 0,d=a.route.errorElement||dt,l&&(c<0&&0===r?(!function(e){yt[e]||(yt[e]=!0)}("route-fallback"),p=!0,u=null):c===r&&(p=!0,u=a.route.hydrateFallbackElement||null)));let h=s.concat(i.slice(0,r+1)),m=()=>{let s;return s=o?d:p?u:a.route.Component?x.createElement(a.route.Component,null):a.route.element?a.route.element:e,x.createElement(ht,{match:a,routeContext:{outlet:e,matches:h,isDataRoute:null!=t},children:s})};return t&&(a.route.ErrorBoundary||a.route.errorElement||0===r)?x.createElement(ut,{location:t.location,revalidation:t.revalidation,component:d,error:o,children:m(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):m()},null)}(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:Bs([c,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:Bs([c,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,t,a);if(s&&g)return x.createElement(st.Provider,{value:{location:Qs({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:fs.Pop}},g);return g}(e,s)}function pt(){let e=wt(),s=Js(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},s),t?x.createElement("pre",{style:a},t):null,null)}const dt=x.createElement(pt,null);class ut 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,s){return s.location!==e.location||"idle"!==s.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:s.error,location:s.location,revalidation:e.revalidation||s.revalidation}}componentDidCatch(e,s){console.error("React Router caught the following error during render",e,s)}render(){return void 0!==this.state.error?x.createElement(tt.Provider,{value:this.props.routeContext},x.createElement(at.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ht(e){let{routeContext:s,match:t,children:a}=e,r=x.useContext(Xs);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),x.createElement(tt.Provider,{value:s},a)}var mt=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(mt||{}),ft=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}(ft||{});function gt(e){let s=function(){let e=x.useContext(tt);return e||ws(!1),e}(),t=s.matches[s.matches.length-1];return t.route.id||ws(!1),t.route.id}function wt(){var e;let s=x.useContext(at),t=function(){let e=x.useContext($s);return e||ws(!1),e}(ft.UseRouteError),a=gt(ft.UseRouteError);return void 0!==s?s:null==(e=t.errors)?void 0:e[a]}const yt={};function xt(e,s){null==e||e.v7_startTransition,null==e||e.v7_relativeSplatPath}const Ct=x.startTransition;function vt(e){let{basename:s,children:t,initialEntries:a,initialIndex:r,future:o}=e,i=x.useRef();null==i.current&&(i.current=function(e){void 0===e&&(e={});let s,{initialEntries:t=["/"],initialIndex:a,v5Compat:r=!1}=e;s=t.map((e,s)=>p(e,"string"==typeof e?null:e.state,0===s?"default":void 0));let o=l(null==a?s.length-1:a),i=fs.Pop,n=null;function l(e){return Math.min(Math.max(e,0),s.length-1)}function c(){return s[o]}function p(e,t,a){void 0===t&&(t=null);let r=Cs(s?c().pathname:"/",e,t,a);return ys("/"===r.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),r}function d(e){return"string"==typeof e?e:vs(e)}return{get index(){return o},get action(){return i},get location(){return c()},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let s="string"==typeof e?js(e):e;return{pathname:s.pathname||"",search:s.search||"",hash:s.hash||""}},push(e,t){i=fs.Push;let a=p(e,t);o+=1,s.splice(o,s.length,a),r&&n&&n({action:i,location:a,delta:1})},replace(e,t){i=fs.Replace;let a=p(e,t);s[o]=a,r&&n&&n({action:i,location:a,delta:0})},go(e){i=fs.Pop;let t=l(o+e),a=s[t];o=t,n&&n({action:i,location:a,delta:e})},listen:e=>(n=e,()=>{n=null})}}({initialEntries:a,initialIndex:r,v5Compat:!0}));let n=i.current,[l,c]=x.useState({action:n.action,location:n.location}),{v7_startTransition:p}=o||{},d=x.useCallback(e=>{p&&Ct?Ct(()=>c(e)):c(e)},[c,p]);return x.useLayoutEffect(()=>n.listen(d),[n,d]),x.useEffect(()=>xt(o),[o]),x.createElement(bt,{basename:s,children:t,location:l.location,navigationType:l.action,navigator:n,future:o})}function jt(e){let{to:s,replace:t,state:a,relative:r}=e;rt()||ws(!1);let{future:o,static:i}=x.useContext(et),{matches:n}=x.useContext(tt),{pathname:l}=ot(),c=nt(),p=Hs(s,_s(n,o.v7_relativeSplatPath),l,"path"===r),d=JSON.stringify(p);return x.useEffect(()=>c(JSON.parse(d),{replace:t,state:a,relative:r}),[c,d,r,t,a]),null}function Mt(e){ws(!1)}function bt(e){let{basename:s="/",children:t=null,location:a,navigationType:r=fs.Pop,navigator:o,static:i=!1,future:n}=e;rt()&&ws(!1);let l=s.replace(/^\/*/,"/"),c=x.useMemo(()=>({basename:l,navigator:o,static:i,future:Qs({v7_relativeSplatPath:!1},n)}),[l,n,o,i]);"string"==typeof a&&(a=js(a));let{pathname:p="/",search:d="",hash:u="",state:h=null,key:m="default"}=a,f=x.useMemo(()=>{let e=Vs(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==f?null:x.createElement(et.Provider,{value:c},x.createElement(st.Provider,{children:t,value:f}))}function kt(e){let{children:s,location:t}=e;return ct(St(s),t)}function St(e,s){void 0===s&&(s=[]);let t=[];return x.Children.forEach(e,(e,a)=>{if(!x.isValidElement(e))return;let r=[...s,a];if(e.type===x.Fragment)return void t.push.apply(t,St(e.props.children,r));e.type!==Mt&&ws(!1),e.props.index&&e.props.children&&ws(!1);let o={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&&(o.children=St(e.props.children,r)),t.push(o)}),t}
|
|
24
24
|
/**
|
|
25
25
|
* React Router DOM v6.30.0
|
|
26
26
|
*
|
|
@@ -30,5 +30,5 @@ function Rs(){return Rs=Object.assign?Object.assign.bind():function(e){for(var s
|
|
|
30
30
|
* LICENSE.md file in the root directory of this source tree.
|
|
31
31
|
*
|
|
32
32
|
* @license MIT
|
|
33
|
-
*/new Promise((()=>{}));try{window.__reactRouterVersion="6"}catch(jt){}const ht=x.startTransition;function ut(e){let{basename:s,children:t,future:a,window:r}=e,i=x.useRef();var o;null==i.current&&(i.current=(void 0===(o={window:r,v5Compat:!0})&&(o={}),cs((function(e,s){let{pathname:t,search:a,hash:r}=e.location;return os("",{pathname:t,search:a,hash:r},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}),(function(e,s){return"string"==typeof s?s:ns(s)}),null,o)));let n=i.current,[l,c]=x.useState({action:n.action,location:n.location}),{v7_startTransition:p}=a||{},d=x.useCallback((e=>{p&&ht?ht((()=>c(e))):c(e)}),[c,p]);return x.useLayoutEffect((()=>n.listen(d)),[n,d]),x.useEffect((()=>rt(a)),[a]),x.createElement(ct,{basename:s,children:t,location:l.location,navigationType:l.action,navigator:n,future:a})}function mt(e){let{basename:s,children:t,future:a,window:r}=e,i=x.useRef();var o;null==i.current&&(i.current=(void 0===(o={window:r,v5Compat:!0})&&(o={}),cs((function(e,s){let{pathname:t="/",search:a="",hash:r=""}=ls(e.location.hash.substr(1));return t.startsWith("/")||t.startsWith(".")||(t="/"+t),os("",{pathname:t,search:a,hash:r},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}),(function(e,s){let t=e.document.querySelector("base"),a="";if(t&&t.getAttribute("href")){let s=e.location.href,t=s.indexOf("#");a=-1===t?s:s.slice(0,t)}return a+"#"+("string"==typeof s?s:ns(s))}),(function(e,s){rs("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(s)+")")}),o)));let n=i.current,[l,c]=x.useState({action:n.action,location:n.location}),{v7_startTransition:p}=a||{},d=x.useCallback((e=>{p&&ht?ht((()=>c(e))):c(e)}),[c,p]);return x.useLayoutEffect((()=>n.listen(d)),[n,d]),x.useEffect((()=>rt(a)),[a]),x.createElement(ct,{basename:s,children:t,location:l.location,navigationType:l.action,navigator:n,future:a})}var gt,wt,ft,Ct;(wt=gt||(gt={})).UseScrollRestoration="useScrollRestoration",wt.UseSubmit="useSubmit",wt.UseSubmitFetcher="useSubmitFetcher",wt.UseFetcher="useFetcher",wt.useViewTransitionState="useViewTransitionState",(Ct=ft||(ft={})).UseFetcher="useFetcher",Ct.UseFetchers="useFetchers",Ct.UseScrollRestoration="useScrollRestoration";const xt=Object.freeze(Object.defineProperty({__proto__:null,BrowserRouter:ut,HashRouter:mt,MemoryRouter:ot,Navigate:nt,get NavigationType(){return ss},Route:lt,Router:ct,Routes:pt,UNSAFE_DataRouterContext:Gs,UNSAFE_DataRouterStateContext:Ts,UNSAFE_LocationContext:Bs,UNSAFE_NavigationContext:Hs,UNSAFE_RouteContext:Vs,createPath:ns,createRoutesFromChildren:dt,createRoutesFromElements:dt,isRouteErrorResponse:As,matchPath:js,matchRoutes:ds,parsePath:ls,resolvePath:Es,useInRouterContext:Ds,useLocation:Os,useNavigate:qs,useRouteError:tt,useRoutes:_s},Symbol.toStringTag,{value:"Module"})),yt=({children:s,routerType:t})=>{switch(t){case"hash":return e.jsx(mt,{children:s});case"memory":return e.jsx(ot,{children:s});default:return e.jsx(ut,{children:s})}},vt=({children:e})=>{const s=qs(),{setNavigate:t}=ie();return i.useEffect((()=>{t((e=>s(e)))}),[s,t]),e},Mt=Se((({successAuthRedirect:s,federatedDisplayMode:t="redirect",error:a,relyingPartyId:r=window.location.hostname,pathPrefix:o="",routerType:n="browser"})=>{const[l,c]=i.useState(!0),[p,d]=i.useState(!1),[h,u]=i.useState(""),{error:m,message:g}=F(s);if(m&&g)throw new Error(g);const w=i.useMemo((()=>{return e=o,Object.keys(V).reduce(((s,t)=>(s[t]=`${(e=>{if(!e)return"";const s=e.replace(/^\/+|\/+$/g,"");return s.startsWith("/")?s:`/${s}`})(e)}${V[t]?.path}`,s)),{});var e}),[o]);if(i.useEffect((()=>{(async()=>{c(!0);try{await Promise.resolve().then((()=>xt)),d(!0)}catch(jt){u("[Passflow SDK] PassflowFlow requires react-router-dom to be installed. Please install it using: pnpm add react-router-dom"),d(!1)}finally{c(!1)}})()}),[]),l)return null;if(!p)throw new Error(h);if(a)throw new Error(a);return e.jsx(yt,{routerType:n,children:e.jsx(vt,{children:e.jsxs(pt,{children:[e.jsx(lt,{path:w.signin,element:e.jsx(Ie,{successAuthRedirect:s,relyingPartyId:r,federatedDisplayMode:t,signUpPath:w.signup,forgotPasswordPath:w.forgot_password,verifyMagicLinkPath:w.verify_magic_link,verifyOTPPath:w.verify_otp})}),e.jsx(lt,{path:w.signup,element:e.jsx(Ye,{successAuthRedirect:s,relyingPartyId:r,federatedDisplayMode:t,signInPath:w.signin,verifyMagicLinkPath:w.verify_magic_link,verifyOTPPath:w.verify_otp})}),e.jsx(lt,{path:w.verify_otp,element:e.jsx(Ze,{successAuthRedirect:s,numInputs:6,shouldAutoFocus:!0,signUpPath:w.signup})}),e.jsx(lt,{path:w.verify_magic_link,element:e.jsx(Ue,{})}),e.jsx(lt,{path:w.forgot_password,element:e.jsx(Je,{successResetRedirect:s,signInPath:w.signin,forgotPasswordSuccessPath:w.forgot_password_success})}),e.jsx(lt,{path:w.forgot_password_success,element:e.jsx(_e,{})}),e.jsx(lt,{path:w.reset_password,element:e.jsx(Qe,{successAuthRedirect:s})}),e.jsx(lt,{path:w.invitation,element:e.jsx($e,{successAuthRedirect:s,signInPath:w.signin,signUpPath:w.signup})}),e.jsx(lt,{path:"*",element:e.jsx(nt,{to:{pathname:w.signin,search:window.location.search}})})]})})})}),be);exports.Button=U,exports.Dialog=me,exports.DialogClose=fe,exports.DialogContent=xe,exports.DialogDescription=je,exports.DialogFooter=ve,exports.DialogHeader=ye,exports.DialogOverlay=Ce,exports.DialogPortal=we,exports.DialogTitle=Me,exports.DialogTrigger=ge,exports.FieldPassword=G,exports.FieldPhone=oe,exports.FieldText=z,exports.ForgotPassword=Je,exports.ForgotPasswordSuccess=_e,exports.Icon=Y,exports.InvitationJoin=$e,exports.Link=le,exports.PassflowFlow=Mt,exports.PassflowProvider=({children:s,navigate:t,router:a="default",...r})=>{const[o,n]=i.useReducer(B,{...T,...r}),[l,c]=i.useState((()=>t||Z)),p=i.useMemo((()=>new w.Passflow(o)),[o]),d=i.useMemo((()=>({state:o,dispatch:n,passflow:p})),[o,p]),h=i.useCallback((e=>{c((()=>e||Z))}),[]),u=i.useMemo((()=>({navigate:l,setNavigate:h,router:a})),[l,h,a]);return e.jsx(H.Provider,{value:d,children:e.jsx(D.Provider,{value:u,children:e.jsx(J,{children:s})})})},exports.Popover=pe,exports.PopoverAnchor=he,exports.PopoverContent=ue,exports.PopoverTrigger=de,exports.ProvidersBox=ne,exports.ResetPassword=Qe,exports.SignIn=Ie,exports.SignInForm=Ne,exports.SignUp=Ye,exports.SignUpForm=Fe,exports.Switch=ce,exports.VerifyChallengeMagicLink=Ue,exports.VerifyChallengeOTP=Ze,exports.Wrapper=ke,exports.useAppSettings=ee,exports.useAuth=()=>{const e=i.useContext(O);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},exports.useAuthCloudRedirect=e=>{const s=q();return()=>s.authRedirect({url:e})},exports.useForgotPassword=X,exports.useJoinInvite=te,exports.useLogout=()=>{const e=q(),[s,t]=i.useState(""),[a,r]=i.useState(!1),[o,n]=i.useState(!1);return{fetch:i.useCallback((async()=>{try{return n(!0),await e.logOut(),n(!1),!0}catch(jt){r(!0);return t(jt.message),!1}}),[e]),isLoading:o,isError:a,error:s}},exports.useNavigation=ie,exports.useOutsideClick=ae,exports.usePassflow=q,exports.usePasswordlessComplete=se,exports.useProvider=K,exports.useResetPassword=$,exports.useSignIn=_,exports.useSignUp=Q,exports.useUserPasskeys=()=>{const e=q(),[s,t]=i.useState([]),[a,r]=i.useState(!1),[o,n]=i.useState(""),[l,c]=i.useState(!1);i.useLayoutEffect((()=>{(async()=>{c(!0);try{const s=await e.getUserPasskeys();t(s)}catch(jt){r(!0);n(jt.message)}finally{c(!1)}})()}),[e]);return{data:s,createUserPasskey:async(s,t,a)=>{c(!0);try{await e.addUserPasskey({relyingPartyId:s,passkeyUsername:t,passkeyDisplayName:a})}catch(jt){r(!0);n(jt.message)}finally{c(!1)}},editUserPasskey:async(s,a)=>{c(!0);try{if(await e.renameUserPasskey(s,a)){const s=await e.getUserPasskeys();t(s)}}catch(jt){r(!0);n(jt.message)}finally{c(!1)}},deleteUserPasskey:async s=>{c(!0);try{if(await e.deleteUserPasskey(s)){const s=await e.getUserPasskeys();t(s)}}catch(jt){r(!0);n(jt.message)}finally{c(!1)}},isLoading:l,isError:a,errorMessage:o}},Object.keys(w).forEach((e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>w[e]})}));
|
|
33
|
+
*/new Promise(()=>{});try{window.__reactRouterVersion="6"}catch(Dt){}const Et=x.startTransition;function Nt(e){let{basename:s,children:t,future:a,window:r}=e,o=x.useRef();var i;null==o.current&&(o.current=(void 0===(i={window:r,v5Compat:!0})&&(i={}),Ms(function(e,s){let{pathname:t,search:a,hash:r}=e.location;return Cs("",{pathname:t,search:a,hash:r},s.state&&s.state.usr||null,s.state&&s.state.key||"default")},function(e,s){return"string"==typeof s?s:vs(s)},null,i)));let n=o.current,[l,c]=x.useState({action:n.action,location:n.location}),{v7_startTransition:p}=a||{},d=x.useCallback(e=>{p&&Et?Et(()=>c(e)):c(e)},[c,p]);return x.useLayoutEffect(()=>n.listen(d),[n,d]),x.useEffect(()=>xt(a),[a]),x.createElement(bt,{basename:s,children:t,location:l.location,navigationType:l.action,navigator:n,future:a})}function Lt(e){let{basename:s,children:t,future:a,window:r}=e,o=x.useRef();var i;null==o.current&&(o.current=(void 0===(i={window:r,v5Compat:!0})&&(i={}),Ms(function(e,s){let{pathname:t="/",search:a="",hash:r=""}=js(e.location.hash.substr(1));return t.startsWith("/")||t.startsWith(".")||(t="/"+t),Cs("",{pathname:t,search:a,hash:r},s.state&&s.state.usr||null,s.state&&s.state.key||"default")},function(e,s){let t=e.document.querySelector("base"),a="";if(t&&t.getAttribute("href")){let s=e.location.href,t=s.indexOf("#");a=-1===t?s:s.slice(0,t)}return a+"#"+("string"==typeof s?s:vs(s))},function(e,s){ys("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(s)+")")},i)));let n=o.current,[l,c]=x.useState({action:n.action,location:n.location}),{v7_startTransition:p}=a||{},d=x.useCallback(e=>{p&&Et?Et(()=>c(e)):c(e)},[c,p]);return x.useLayoutEffect(()=>n.listen(d),[n,d]),x.useEffect(()=>xt(a),[a]),x.createElement(bt,{basename:s,children:t,location:l.location,navigationType:l.action,navigator:n,future:a})}var It,Ft,Pt,At;(Ft=It||(It={})).UseScrollRestoration="useScrollRestoration",Ft.UseSubmit="useSubmit",Ft.UseSubmitFetcher="useSubmitFetcher",Ft.UseFetcher="useFetcher",Ft.useViewTransitionState="useViewTransitionState",(At=Pt||(Pt={})).UseFetcher="useFetcher",At.UseFetchers="useFetchers",At.UseScrollRestoration="useScrollRestoration";const Tt=Object.freeze(Object.defineProperty({__proto__:null,BrowserRouter:Nt,HashRouter:Lt,MemoryRouter:vt,Navigate:jt,get NavigationType(){return fs},Route:Mt,Router:bt,Routes:kt,UNSAFE_DataRouterContext:Xs,UNSAFE_DataRouterStateContext:$s,UNSAFE_LocationContext:st,UNSAFE_NavigationContext:et,UNSAFE_RouteContext:tt,createPath:vs,createRoutesFromChildren:St,createRoutesFromElements:St,isRouteErrorResponse:Js,matchPath:Us,matchRoutes:ks,parsePath:js,resolvePath:Ds,useInRouterContext:rt,useLocation:ot,useNavigate:nt,useParams:lt,useRouteError:wt,useRoutes:ct},Symbol.toStringTag,{value:"Module"})),Rt=({children:s,routerType:t})=>{switch(t){case"hash":return e.jsx(Lt,{children:s});case"memory":return e.jsx(vt,{children:s});default:return e.jsx(Nt,{children:s})}},Yt=({children:e})=>{const s=nt(),{setNavigate:t}=de();return o.useEffect(()=>{t(e=>s(e))},[s,t]),e},Ut=Ge(({successAuthRedirect:s,federatedDisplayMode:t="redirect",error:a,relyingPartyId:r=window.location.hostname,pathPrefix:i="",routerType:n="browser"})=>{const[l,c]=o.useState(!0),[p,d]=o.useState(!1),[u,h]=o.useState(""),{error:m,message:f}=P(s);if(m&&f)throw new Error(f);const g=o.useMemo(()=>{return e=i,Object.keys(J).reduce((s,t)=>(s[t]=`${(e=>{if(!e)return"";const s=e.replace(/^\/+|\/+$/g,"");return s.startsWith("/")?s:`/${s}`})(e)}${J[t]?.path}`,s),{});var e},[i]);if(o.useEffect(()=>{(async()=>{c(!0);try{await Promise.resolve().then(()=>Tt),d(!0)}catch(Dt){h("[Passflow SDK] PassflowFlow requires react-router-dom to be installed. Please install it using: pnpm add react-router-dom"),d(!1)}finally{c(!1)}})()},[]),l)return null;if(!p)throw new Error(u);if(a)throw new Error(a);return e.jsx(Rt,{routerType:n,children:e.jsx(Yt,{children:e.jsxs(kt,{children:[e.jsx(Mt,{path:g.signin,element:e.jsx(Be,{successAuthRedirect:s,relyingPartyId:r,federatedDisplayMode:t,signUpPath:g.signup,forgotPasswordPath:g.forgot_password,verifyMagicLinkPath:g.verify_magic_link,verifyOTPPath:g.verify_otp,twoFactorVerifyPath:g.two_factor_verify})}),e.jsx(Mt,{path:g.signup,element:e.jsx(qe,{successAuthRedirect:s,relyingPartyId:r,federatedDisplayMode:t,signInPath:g.signin,verifyMagicLinkPath:g.verify_magic_link,verifyOTPPath:g.verify_otp})}),e.jsx(Mt,{path:g.verify_otp,element:e.jsx(as,{successAuthRedirect:s,numInputs:6,shouldAutoFocus:!0,signUpPath:g.signup})}),e.jsx(Mt,{path:g.verify_magic_link,element:e.jsx(We,{})}),e.jsx(Mt,{path:g.forgot_password,element:e.jsx(is,{successResetRedirect:s,signInPath:g.signin,forgotPasswordSuccessPath:g.forgot_password_success})}),e.jsx(Mt,{path:g.forgot_password_success,element:e.jsx(ls,{})}),e.jsx(Mt,{path:g.reset_password,element:e.jsx(ds,{successAuthRedirect:s})}),e.jsx(Mt,{path:g.invitation,element:e.jsx(hs,{successAuthRedirect:s,signInPath:g.signin,signUpPath:g.signup})}),e.jsx(Mt,{path:g.two_factor_verify,element:e.jsx(ze,{successAuthRedirect:s,signInPath:g.signin,twoFactorSetupPath:g.two_factor_setup})}),e.jsx(Mt,{path:g.two_factor_setup,element:e.jsx(Re,{successAuthRedirect:s,twoFactorVerifyPath:g.two_factor_verify,signInPath:g.signin})}),e.jsx(Mt,{path:"*",element:e.jsx(jt,{to:{pathname:g.signin,search:window.location.search}})})]})})})},Ve);function zt(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 Vt(e){if(null===e)return"";return`${Math.floor(e/60)}:${(e%60).toString().padStart(2,"0")}`}exports.Button=G,exports.Dialog=Me,exports.DialogClose=Se,exports.DialogContent=Ne,exports.DialogDescription=Pe,exports.DialogFooter=Ie,exports.DialogHeader=Le,exports.DialogOverlay=Ee,exports.DialogPortal=ke,exports.DialogTitle=Fe,exports.DialogTrigger=be,exports.FieldPassword=B,exports.FieldPhone=fe,exports.FieldText=_,exports.ForgotPassword=is,exports.ForgotPasswordSuccess=ls,exports.Icon=V,exports.InvitationJoin=hs,exports.Link=we,exports.PassflowFlow=Ut,exports.PassflowProvider=({children:s,navigate:t,router:a="default",...r})=>{const i=!r.appId,[n,l]=o.useReducer(q,{...Z,...r,isDiscoveringAppId:i}),[c,p]=o.useState(()=>t||W),d=o.useMemo(()=>new g.Passflow(n),[n]),u=o.useRef(!1);o.useEffect(()=>{if(i&&!u.current&&n.isDiscoveringAppId){u.current=!0;(async()=>{const e=["/settings"];r.url&&e.push(`${r.url}/settings`);for(const t of e)try{const e=await fetch(t);if(e.ok){const s=await e.json(),t=s.login_app?.app_id||s.appId;if(t)return d.setAppId(t),void l({type:"SET_PASSFLOW_STATE",payload:{...n,appId:t,scopes:s.login_app?.scopes||s.scopes||n.scopes,createTenantForNewUser:s.login_app?.create_tenant_for_new_user??s.createTenantForNewUser??n.createTenantForNewUser,isDiscoveringAppId:!1}})}}catch(s){}console.warn("Failed to discover appId from /settings"),l({type:"SET_PASSFLOW_STATE",payload:{...n,isDiscoveringAppId:!1}})})()}},[i,n.isDiscoveringAppId,r.url,d,n]);const h=o.useMemo(()=>({state:n,dispatch:l,passflow:d}),[n,d]),m=o.useCallback(e=>{p(()=>e||W)},[]),f=o.useMemo(()=>({navigate:c,setNavigate:m,router:a}),[c,m,a]);return e.jsx(O.Provider,{value:h,children:e.jsx(K.Provider,{value:f,children:e.jsx(X,{children:s})})})},exports.Popover=xe,exports.PopoverAnchor=ve,exports.PopoverContent=je,exports.PopoverTrigger=Ce,exports.ProvidersBox=ge,exports.ResetPassword=ds,exports.SignIn=Be,exports.SignInForm=He,exports.SignUp=qe,exports.SignUpForm=Oe,exports.Switch=ye,exports.TwoFactorRecoveryForm=Ue,exports.TwoFactorSetupForm=Te,exports.TwoFactorSetupMagicLinkFlow=({onSuccess:s,onError:t,redirectOnSuccess:a=!0,signInPath:r=J.signin.path})=>{const{token:i}=lt(),{navigate:n}=de(),{isLoading:l,isRetrying:c,isValidated:p,error:d,retry:u,retryCountdown:h}=me(i||"");o.useEffect(()=>{d&&t?.(d)},[d,t]);const m=()=>{s?.(),a&&n({to:r})},f=()=>{n({to:r})};if(l)return e.jsx(Ae,{title:"Validating Magic Link",subtitle:"Please wait while we verify your link...",className:"passflow-2fa-magic-link-loading",children:e.jsxs("div",{className:"passflow-loading-container",role:"status","aria-live":"polite","aria-busy":"true",children:[e.jsx(V,{id:"logo",type:"general",size:"large",className:"passflow-loading-spinner"}),e.jsx("p",{className:"passflow-loading-text",children:"Validating your magic link..."})]})});if(d){const s="SERVER_ERROR"===d.code||"RATE_LIMITED"===d.code,t="RATE_LIMITED"===d.code&&null!==h&&h>0;return e.jsx(Ae,{title:"Magic Link Validation Failed",subtitle:zt(d.code),className:"passflow-2fa-magic-link-error",children:e.jsxs("div",{className:"passflow-error-container",role:"alert","aria-live":"assertive",children:[e.jsx("div",{className:"passflow-error-icon",children:e.jsx(V,{id:"warning",type:"general",size:"large"})}),e.jsx("p",{className:"passflow-error-message",id:"error-message",children:d.message}),e.jsxs("div",{className:"passflow-error-actions",children:[s&&e.jsx(G,{size:"big",type:"button",variant:"primary",onClick:u,disabled:t||c,"aria-describedby":"error-message",children:c?"Retrying...":t?`Try again in ${Vt(h)}`:"Try Again"}),e.jsx(G,{size:"big",type:"button",variant:"secondary",onClick:()=>n({to:r}),children:"Back to Sign In"})]}),!s&&e.jsx("p",{className:"passflow-error-help-text",children:"Please contact your administrator to request a new magic link."})]})})}return p?e.jsx(Te,{onComplete:m,onCancel:f}):null},exports.TwoFactorVerifyForm=Ye,exports.VerifyChallengeMagicLink=We,exports.VerifyChallengeOTP=as,exports.Wrapper=Ae,exports.useAppSettings=ie,exports.useAuth=()=>{const e=o.useContext(Q);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},exports.useAuthCloudRedirect=e=>{const s=$();return()=>s.authRedirect({url:e})},exports.useForgotPassword=re,exports.useJoinInvite=le,exports.useLogout=()=>{const e=$(),[s,t]=o.useState(""),[a,r]=o.useState(!1),[i,n]=o.useState(!1);return{fetch:o.useCallback(async()=>{try{return n(!0),await e.logOut(),n(!1),!0}catch(Dt){r(!0);return t(Dt.message),!1}},[e]),isLoading:i,isError:a,error:s}},exports.useNavigation=de,exports.useOutsideClick=ce,exports.usePassflow=$,exports.usePasswordlessComplete=ne,exports.useProvider=te,exports.useResetPassword=oe,exports.useSignIn=ee,exports.useSignUp=ae,exports.useTwoFactorManage=()=>{const e=$(),[s,t]=o.useState([]),[a,r]=o.useState(!1),[i,n]=o.useState(!1),[l,c]=o.useState("");return{recoveryCodes:s,disable:o.useCallback(async s=>{r(!0),n(!1),c("");try{return await e.disableTwoFactor(s),!0}catch(Dt){n(!0);return c(Dt.message),!1}finally{r(!1)}},[e]),regenerateCodes:o.useCallback(async s=>{r(!0),n(!1),c("");try{const a=await e.regenerateTwoFactorRecoveryCodes(s);return t(a.recovery_codes),a}catch(Dt){n(!0);return c(Dt.message),null}finally{r(!1)}},[e]),reset:o.useCallback(()=>{t([]),n(!1),c("")},[]),isLoading:a,isError:i,error:l}},exports.useTwoFactorSetup=ue,exports.useTwoFactorSetupMagicLink=me,exports.useTwoFactorStatus=()=>{const e=$(),[s,t]=o.useState(null),[a,r]=o.useState(!1),[i,n]=o.useState(!1),[l,c]=o.useState(""),p=o.useCallback(async()=>{r(!0),n(!1),c("");try{const s=await e.getTwoFactorStatus();return t(s),s}catch(Dt){n(!0);return c(Dt.message),null}finally{r(!1)}},[e]);return o.useLayoutEffect(()=>{p()},[p]),{data:s,refetch:p,isLoading:a,isError:i,errorMessage:l}},exports.useTwoFactorVerify=he,exports.useUserPasskeys=()=>{const e=$(),[s,t]=o.useState([]),[a,r]=o.useState(!1),[i,n]=o.useState(""),[l,c]=o.useState(!1);o.useLayoutEffect(()=>{(async()=>{c(!0);try{const s=await e.getUserPasskeys();t(s)}catch(Dt){r(!0);n(Dt.message)}finally{c(!1)}})()},[e]);return{data:s,createUserPasskey:async(s,t,a)=>{c(!0);try{await e.addUserPasskey({relyingPartyId:s,passkeyUsername:t,passkeyDisplayName:a})}catch(Dt){r(!0);n(Dt.message)}finally{c(!1)}},editUserPasskey:async(s,a)=>{c(!0);try{if(await e.renameUserPasskey(s,a)){const s=await e.getUserPasskeys();t(s)}}catch(Dt){r(!0);n(Dt.message)}finally{c(!1)}},deleteUserPasskey:async s=>{c(!0);try{if(await e.deleteUserPasskey(s)){const s=await e.getUserPasskeys();t(s)}}catch(Dt){r(!0);n(Dt.message)}finally{c(!1)}},isLoading:l,isError:a,errorMessage:i}},Object.keys(g).forEach(e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>g[e]})});
|
|
34
34
|
//# sourceMappingURL=index.cjs.js.map
|