@hotosm/hanko-auth 0.4.6 → 0.4.7
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/README.md +25 -9
- package/dist/hanko-auth.esm.js +18 -23
- package/dist/hanko-auth.iife.js +26 -31
- package/dist/hanko-auth.umd.js +27 -32
- package/package.json +1 -1
- package/src/hanko-auth.styles.ts +17 -22
package/dist/hanko-auth.iife.js
CHANGED
|
@@ -2,21 +2,21 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2019 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/var Ki;const Vt=globalThis,In=Vt.ShadowRoot&&(Vt.ShadyCSS===void 0||Vt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Dn=Symbol(),So=new WeakMap;let
|
|
5
|
+
*/var Ki;const Vt=globalThis,In=Vt.ShadowRoot&&(Vt.ShadyCSS===void 0||Vt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Dn=Symbol(),So=new WeakMap;let xo=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Dn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(In&&e===void 0){const n=t!==void 0&&t.length===1;n&&(e=So.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&So.set(t,e))}return e}toString(){return this.cssText}};const Zi=o=>new xo(typeof o=="string"?o:o+"",void 0,Dn),Ji=(o,...e)=>{const t=o.length===1?o[0]:e.reduce((n,i,a)=>n+(s=>{if(s._$cssResult$===!0)return s.cssText;if(typeof s=="number")return s;throw Error("Value passed to 'css' function must be a 'css' function result: "+s+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+o[a+1],o[0]);return new xo(t,o,Dn)},Yi=(o,e)=>{if(In)o.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const n=document.createElement("style"),i=Vt.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,o.appendChild(n)}},Ao=In?o=>o:o=>o instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return Zi(t)})(o):o;/**
|
|
6
6
|
* @license
|
|
7
7
|
* Copyright 2017 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
-
*/const{is:Qi,defineProperty:Gi,getOwnPropertyDescriptor:Xi,getOwnPropertyNames:ea,getOwnPropertySymbols:ta,getPrototypeOf:na}=Object,at=globalThis,Co=at.trustedTypes,oa=Co?Co.emptyScript:"",jn=at.reactiveElementPolyfillSupport,yt=(o,e)=>o,Bt={toAttribute(o,e){switch(e){case Boolean:o=o?oa:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,e){let t=o;switch(e){case Boolean:t=o!==null;break;case Number:t=o===null?null:Number(o);break;case Object:case Array:try{t=JSON.parse(o)}catch{t=null}}return t}},Ln=(o,e)=>!Qi(o,e),Oo={attribute:!0,type:String,converter:Bt,reflect:!1,useDefault:!1,hasChanged:Ln};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),at.litPropertyMetadata??(at.litPropertyMetadata=new WeakMap);let pt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Oo){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Gi(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){const{get:i,set:a}=Xi(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:i,set(s){const d=i==null?void 0:i.call(this);a==null||a.call(this,s),this.requestUpdate(e,d,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Oo}static _$Ei(){if(this.hasOwnProperty(yt("elementProperties")))return;const e=na(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(yt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(yt("properties"))){const t=this.properties,n=[...ea(t),...ta(t)];for(const i of n)this.createProperty(i,t[i])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(const[t,n]of this.elementProperties){const i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(
|
|
9
|
+
*/const{is:Qi,defineProperty:Gi,getOwnPropertyDescriptor:Xi,getOwnPropertyNames:ea,getOwnPropertySymbols:ta,getPrototypeOf:na}=Object,at=globalThis,Co=at.trustedTypes,oa=Co?Co.emptyScript:"",jn=at.reactiveElementPolyfillSupport,yt=(o,e)=>o,Bt={toAttribute(o,e){switch(e){case Boolean:o=o?oa:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,e){let t=o;switch(e){case Boolean:t=o!==null;break;case Number:t=o===null?null:Number(o);break;case Object:case Array:try{t=JSON.parse(o)}catch{t=null}}return t}},Ln=(o,e)=>!Qi(o,e),Oo={attribute:!0,type:String,converter:Bt,reflect:!1,useDefault:!1,hasChanged:Ln};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),at.litPropertyMetadata??(at.litPropertyMetadata=new WeakMap);let pt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Oo){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Gi(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){const{get:i,set:a}=Xi(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:i,set(s){const d=i==null?void 0:i.call(this);a==null||a.call(this,s),this.requestUpdate(e,d,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Oo}static _$Ei(){if(this.hasOwnProperty(yt("elementProperties")))return;const e=na(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(yt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(yt("properties"))){const t=this.properties,n=[...ea(t),...ta(t)];for(const i of n)this.createProperty(i,t[i])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(const[t,n]of this.elementProperties){const i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(Ao(i))}else e!==void 0&&t.push(Ao(e));return t}static _$Eu(e,t){const n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Yi(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostConnected)==null?void 0:n.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostDisconnected)==null?void 0:n.call(t)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){var a;const n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){const s=(((a=n.converter)==null?void 0:a.toAttribute)!==void 0?n.converter:Bt).toAttribute(t,n.type);this._$Em=e,s==null?this.removeAttribute(i):this.setAttribute(i,s),this._$Em=null}}_$AK(e,t){var a,s;const n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const d=n.getPropertyOptions(i),c=typeof d.converter=="function"?{fromAttribute:d.converter}:((a=d.converter)==null?void 0:a.fromAttribute)!==void 0?d.converter:Bt;this._$Em=i;const l=c.fromAttribute(t,d.type);this[i]=l??((s=this._$Ej)==null?void 0:s.get(i))??l,this._$Em=null}}requestUpdate(e,t,n,i=!1,a){var s;if(e!==void 0){const d=this.constructor;if(i===!1&&(a=this[e]),n??(n=d.getPropertyOptions(e)),!((n.hasChanged??Ln)(a,t)||n.useDefault&&n.reflect&&a===((s=this._$Ej)==null?void 0:s.get(e))&&!this.hasAttribute(d._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:i,wrapped:a},s){n&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,s??t??this[e]),a!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),i===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var n;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[a,s]of this._$Ep)this[a]=s;this._$Ep=void 0}const i=this.constructor.elementProperties;if(i.size>0)for(const[a,s]of i){const{wrapped:d}=s,c=this[a];d!==!0||this._$AL.has(a)||c===void 0||this.C(a,void 0,s,c)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(n=this._$EO)==null||n.forEach(i=>{var a;return(a=i.hostUpdate)==null?void 0:a.call(i)}),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(n=>{var i;return(i=n.hostUpdated)==null?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};pt.elementStyles=[],pt.shadowRootOptions={mode:"open"},pt[yt("elementProperties")]=new Map,pt[yt("finalized")]=new Map,jn==null||jn({ReactiveElement:pt}),(at.reactiveElementVersions??(at.reactiveElementVersions=[])).push("2.1.2");/**
|
|
10
10
|
* @license
|
|
11
11
|
* Copyright 2017 Google LLC
|
|
12
12
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
13
|
*/const bt=globalThis,Po=o=>o,Zt=bt.trustedTypes,Eo=Zt?Zt.createPolicy("lit-html",{createHTML:o=>o}):void 0,Io="$lit$",rt=`lit$${Math.random().toFixed(9).slice(2)}$`,Do="?"+rt,ia=`<${Do}>`,ct=document,kt=()=>ct.createComment(""),wt=o=>o===null||typeof o!="object"&&typeof o!="function",$n=Array.isArray,aa=o=>$n(o)||typeof(o==null?void 0:o[Symbol.iterator])=="function",Tn=`[
|
|
14
14
|
\f\r]`,St=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,jo=/-->/g,Lo=/>/g,dt=RegExp(`>|${Tn}(?:([^\\s"'>=/]+)(${Tn}*=${Tn}*(?:[^
|
|
15
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),$o=/'/g,To=/"/g,Uo=/^(?:script|style|textarea|title)$/i,ra=o=>(e,...t)=>({_$litType$:o,strings:e,values:t}),we=ra(1),mt=Symbol.for("lit-noChange"),$e=Symbol.for("lit-nothing"),No=new WeakMap,ut=ct.createTreeWalker(ct,129);function Mo(o,e){if(!$n(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Eo!==void 0?Eo.createHTML(e):e}const sa=(o,e)=>{const t=o.length-1,n=[];let i,a=e===2?"<svg>":e===3?"<math>":"",s=St;for(let d=0;d<t;d++){const c=o[d];let l,u,h=-1,f=0;for(;f<c.length&&(s.lastIndex=f,u=s.exec(c),u!==null);)f=s.lastIndex,s===St?u[1]==="!--"?s=jo:u[1]!==void 0?s=Lo:u[2]!==void 0?(Uo.test(u[2])&&(i=RegExp("</"+u[2],"g")),s=dt):u[3]!==void 0&&(s=dt):s===dt?u[0]===">"?(s=i??St,h=-1):u[1]===void 0?h=-2:(h=s.lastIndex-u[2].length,l=u[1],s=u[3]===void 0?dt:u[3]==='"'?To:$o):s===To||s===$o?s=dt:s===jo||s===Lo?s=St:(s=dt,i=void 0);const m=s===dt&&o[d+1].startsWith("/>")?" ":"";a+=s===St?c+ia:h>=0?(n.push(l),c.slice(0,h)+Io+c.slice(h)+rt+m):c+rt+(h===-2?d:m)}return[Mo(o,a+(o[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]};let Un=class Vi{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let a=0,s=0;const d=e.length-1,c=this.parts,[l,u]=sa(e,t);if(this.el=Vi.createElement(l,n),ut.currentNode=this.el.content,t===2||t===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=ut.nextNode())!==null&&c.length<d;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(Io)){const f=u[s++],m=i.getAttribute(h).split(rt),
|
|
15
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),$o=/'/g,To=/"/g,Uo=/^(?:script|style|textarea|title)$/i,ra=o=>(e,...t)=>({_$litType$:o,strings:e,values:t}),we=ra(1),mt=Symbol.for("lit-noChange"),$e=Symbol.for("lit-nothing"),No=new WeakMap,ut=ct.createTreeWalker(ct,129);function Mo(o,e){if(!$n(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Eo!==void 0?Eo.createHTML(e):e}const sa=(o,e)=>{const t=o.length-1,n=[];let i,a=e===2?"<svg>":e===3?"<math>":"",s=St;for(let d=0;d<t;d++){const c=o[d];let l,u,h=-1,f=0;for(;f<c.length&&(s.lastIndex=f,u=s.exec(c),u!==null);)f=s.lastIndex,s===St?u[1]==="!--"?s=jo:u[1]!==void 0?s=Lo:u[2]!==void 0?(Uo.test(u[2])&&(i=RegExp("</"+u[2],"g")),s=dt):u[3]!==void 0&&(s=dt):s===dt?u[0]===">"?(s=i??St,h=-1):u[1]===void 0?h=-2:(h=s.lastIndex-u[2].length,l=u[1],s=u[3]===void 0?dt:u[3]==='"'?To:$o):s===To||s===$o?s=dt:s===jo||s===Lo?s=St:(s=dt,i=void 0);const m=s===dt&&o[d+1].startsWith("/>")?" ":"";a+=s===St?c+ia:h>=0?(n.push(l),c.slice(0,h)+Io+c.slice(h)+rt+m):c+rt+(h===-2?d:m)}return[Mo(o,a+(o[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]};let Un=class Vi{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let a=0,s=0;const d=e.length-1,c=this.parts,[l,u]=sa(e,t);if(this.el=Vi.createElement(l,n),ut.currentNode=this.el.content,t===2||t===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=ut.nextNode())!==null&&c.length<d;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(Io)){const f=u[s++],m=i.getAttribute(h).split(rt),x=/([.?@])?(.*)/.exec(f);c.push({type:1,index:a,name:x[2],strings:m,ctor:x[1]==="."?ca:x[1]==="?"?da:x[1]==="@"?ua:Jt}),i.removeAttribute(h)}else h.startsWith(rt)&&(c.push({type:6,index:a}),i.removeAttribute(h));if(Uo.test(i.tagName)){const h=i.textContent.split(rt),f=h.length-1;if(f>0){i.textContent=Zt?Zt.emptyScript:"";for(let m=0;m<f;m++)i.append(h[m],kt()),ut.nextNode(),c.push({type:2,index:++a});i.append(h[f],kt())}}}else if(i.nodeType===8)if(i.data===Do)c.push({type:2,index:a});else{let h=-1;for(;(h=i.data.indexOf(rt,h+1))!==-1;)c.push({type:7,index:a}),h+=rt.length-1}a++}}static createElement(e,t){const n=ct.createElement("template");return n.innerHTML=e,n}};function gt(o,e,t=o,n){var s,d;if(e===mt)return e;let i=n!==void 0?(s=t._$Co)==null?void 0:s[n]:t._$Cl;const a=wt(e)?void 0:e._$litDirective$;return(i==null?void 0:i.constructor)!==a&&((d=i==null?void 0:i._$AO)==null||d.call(i,!1),a===void 0?i=void 0:(i=new a(o),i._$AT(o,t,n)),n!==void 0?(t._$Co??(t._$Co=[]))[n]=i:t._$Cl=i),i!==void 0&&(e=gt(o,i._$AS(o,e.values),i,n)),e}let la=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:n}=this._$AD,i=((e==null?void 0:e.creationScope)??ct).importNode(t,!0);ut.currentNode=i;let a=ut.nextNode(),s=0,d=0,c=n[0];for(;c!==void 0;){if(s===c.index){let l;c.type===2?l=new Nn(a,a.nextSibling,this,e):c.type===1?l=new c.ctor(a,c.name,c.strings,this,e):c.type===6&&(l=new ha(a,this,e)),this._$AV.push(l),c=n[++d]}s!==(c==null?void 0:c.index)&&(a=ut.nextNode(),s++)}return ut.currentNode=ct,i}p(e){let t=0;for(const n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,t),t+=n.strings.length-2):n._$AI(e[t])),t++}},Nn=class Bi{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,t,n,i){this.type=2,this._$AH=$e,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=i,this._$Cv=(i==null?void 0:i.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=gt(this,e,t),wt(e)?e===$e||e==null||e===""?(this._$AH!==$e&&this._$AR(),this._$AH=$e):e!==this._$AH&&e!==mt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):aa(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==$e&&wt(this._$AH)?this._$AA.nextSibling.data=e:this.T(ct.createTextNode(e)),this._$AH=e}$(e){var a;const{values:t,_$litType$:n}=e,i=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=Un.createElement(Mo(n.h,n.h[0]),this.options)),n);if(((a=this._$AH)==null?void 0:a._$AD)===i)this._$AH.p(t);else{const s=new la(i,this),d=s.u(this.options);s.p(t),this.T(d),this._$AH=s}}_$AC(e){let t=No.get(e.strings);return t===void 0&&No.set(e.strings,t=new Un(e)),t}k(e){$n(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,i=0;for(const a of e)i===t.length?t.push(n=new Bi(this.O(kt()),this.O(kt()),this,this.options)):n=t[i],n._$AI(a),i++;i<t.length&&(this._$AR(n&&n._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){var n;for((n=this._$AP)==null?void 0:n.call(this,!1,!0,t);e!==this._$AB;){const i=Po(e).nextSibling;Po(e).remove(),e=i}}setConnected(e){var t;this._$AM===void 0&&(this._$Cv=e,(t=this._$AP)==null||t.call(this,e))}},Jt=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,i,a){this.type=1,this._$AH=$e,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=a,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=$e}_$AI(e,t=this,n,i){const a=this.strings;let s=!1;if(a===void 0)e=gt(this,e,t,0),s=!wt(e)||e!==this._$AH&&e!==mt,s&&(this._$AH=e);else{const d=e;let c,l;for(e=a[0],c=0;c<a.length-1;c++)l=gt(this,d[n+c],t,c),l===mt&&(l=this._$AH[c]),s||(s=!wt(l)||l!==this._$AH[c]),l===$e?e=$e:e!==$e&&(e+=(l??"")+a[c+1]),this._$AH[c]=l}s&&!i&&this.j(e)}j(e){e===$e?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},ca=class extends Jt{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===$e?void 0:e}},da=class extends Jt{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==$e)}},ua=class extends Jt{constructor(e,t,n,i,a){super(e,t,n,i,a),this.type=5}_$AI(e,t=this){if((e=gt(this,e,t,0)??$e)===mt)return;const n=this._$AH,i=e===$e&&n!==$e||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,a=e!==$e&&(n===$e||i);i&&this.element.removeEventListener(this.name,this,n),a&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;typeof this._$AH=="function"?this._$AH.call(((t=this.options)==null?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}},ha=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){gt(this,e)}};const Mn=bt.litHtmlPolyfillSupport;Mn==null||Mn(Un,Nn),(bt.litHtmlVersions??(bt.litHtmlVersions=[])).push("3.3.2");const pa=(o,e,t)=>{const n=(t==null?void 0:t.renderBefore)??e;let i=n._$litPart$;if(i===void 0){const a=(t==null?void 0:t.renderBefore)??null;n._$litPart$=i=new Nn(e.insertBefore(kt(),a),a,void 0,t??{})}return i._$AI(o),i};/**
|
|
16
16
|
* @license
|
|
17
17
|
* Copyright 2017 Google LLC
|
|
18
18
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
-
*/const ht=globalThis;let
|
|
19
|
+
*/const ht=globalThis;let xt=class extends pt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=pa(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return mt}};xt._$litElement$=!0,xt.finalized=!0,(Ki=ht.litElementHydrateSupport)==null||Ki.call(ht,{LitElement:xt});const Rn=ht.litElementPolyfillSupport;Rn==null||Rn({LitElement:xt}),(ht.litElementVersions??(ht.litElementVersions=[])).push("4.2.2");/**
|
|
20
20
|
* @license
|
|
21
21
|
* Copyright 2017 Google LLC
|
|
22
22
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -40,12 +40,12 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2021 Google LLC
|
|
42
42
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
43
|
-
*/const ka=va(class extends _a{constructor(){super(...arguments),this.key=$e}render(o,e){return this.key=o,e}update(o,[e,t]){return e!==this.key&&(ba(o),this.key=e),t}});/*! For license information please see elements.js.LICENSE.txt */var wa={7:function(o,e,t){(function(n,i,a){var s=function(){return s=Object.assign||function(A){for(var O,x=1,S=arguments.length;x<S;x++)for(var P in O=arguments[x])Object.prototype.hasOwnProperty.call(O,P)&&(A[P]=O[P]);return A},s.apply(this,arguments)};function d(A,O){var x=typeof Symbol=="function"&&A[Symbol.iterator];if(!x)return A;var S,P,j=x.call(A),U=[];try{for(;(O===void 0||O-- >0)&&!(S=j.next()).done;)U.push(S.value)}catch(N){P={error:N}}finally{try{S&&!S.done&&(x=j.return)&&x.call(j)}finally{if(P)throw P.error}}return U}function c(A,O){return[A,!A||A.endsWith("/")?"":"/",O,".json"].join("")}function l(A,O){var x=A;return O&&Object.keys(O).forEach(function(S){var P=O[S],j=new RegExp("{".concat(S,"}"),"gm");x=x.replace(j,P.toString())}),x}function u(A,O,x){var S=A[O];if(!S)return x;var P=x.split("."),j="";do{var U=S[j+=P.shift()];U===void 0||typeof U!="object"&&P.length?P.length?j+=".":S=x:(S=U,j="")}while(P.length);return S}var h={},f={root:"",lang:"en",fallbackLang:"en"},m=i.createContext(null);n.TranslateContext=m,n.TranslateProvider=function(A){var O=function(U,N){U=Object.assign({},f,U),h=N||h;var re=d(a.useState(U.lang),2),be=re[0],se=re[1],xe=d(a.useState(h),2),M=xe[0],z=xe[1],_e=d(a.useState(!1),2),Me=_e[0],je=_e[1],Re=function(le){if(!M.hasOwnProperty(le)){je(!1);var ce=c(U.root,le);fetch(ce).then(function(me){return me.json()}).then(function(me){h[le]=me,z(s({},h)),je(!0)}).catch(function(me){console.log("Aww, snap.",me),z(s({},h)),je(!0)})}};return a.useEffect(function(){Re(U.fallbackLang),Re(be)},[be]),{lang:be,setLang:se,t:function(le,ce){if(!M.hasOwnProperty(be))return le;var me=u(M,be,le);return me===le&&be!==U.fallbackLang&&(me=u(M,U.fallbackLang,le)),l(me,ce)},isReady:Me}}({root:A.root||"assets",lang:A.lang||"en",fallbackLang:A.fallbackLang||"en"},A.translations),x=O.t,S=O.setLang,P=O.lang,j=O.isReady;return i.h(m.Provider,{value:{t:x,setLang:S,lang:P,isReady:j}},A.children)},n.format=l,n.getResourceUrl=c,n.getValue=u,Object.defineProperty(n,"__esModule",{value:!0})})(e,t(616),t(78))},633:(o,e)=>{var t;(function(){var n={}.hasOwnProperty;function i(){for(var a=[],s=0;s<arguments.length;s++){var d=arguments[s];if(d){var c=typeof d;if(c==="string"||c==="number")a.push(d);else if(Array.isArray(d)){if(d.length){var l=i.apply(null,d);l&&a.push(l)}}else if(c==="object"){if(d.toString!==Object.prototype.toString&&!d.toString.toString().includes("[native code]")){a.push(d.toString());continue}for(var u in d)n.call(d,u)&&d[u]&&a.push(u)}}}return a.join(" ")}o.exports?(i.default=i,o.exports=i):(t=(function(){return i}).apply(e,[]))===void 0||(o.exports=t)})()},21:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,'.hanko_accordion{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);width:100%;overflow:hidden}.hanko_accordion .hanko_accordionItem{color:var(--color, #333333);margin:.25rem 0;overflow:hidden}.hanko_accordion .hanko_accordionItem.hanko_dropdown{margin:0}.hanko_accordion .hanko_accordionItem .hanko_label{border-radius:var(--border-radius, 8px);border-style:none;height:var(--item-height, 42px);background:var(--background-color, white);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;margin:0;cursor:pointer;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_label .hanko_labelText{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hanko_accordion .hanko_accordionItem .hanko_label .hanko_labelText .hanko_description{color:var(--color-shade-1, #8f9095)}.hanko_accordion .hanko_accordionItem .hanko_label.hanko_dropdown{margin:0;color:var(--link-color, #506cf0);justify-content:flex-start}.hanko_accordion .hanko_accordionItem .hanko_label:hover{color:var(--brand-contrast-color, white);background:var(--brand-color-shade-1, #6b84fb)}.hanko_accordion .hanko_accordionItem .hanko_label:hover .hanko_description{color:var(--brand-contrast-color, white)}.hanko_accordion .hanko_accordionItem .hanko_label:hover.hanko_dropdown{color:var(--link-color, #506cf0);background:none}.hanko_accordion .hanko_accordionItem .hanko_label:not(.hanko_dropdown)::after{content:"❯";width:1rem;text-align:center;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_accordionInput{position:absolute;opacity:0;z-index:-1}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label .hanko_description{color:var(--brand-contrast-color, white)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label.hanko_dropdown{color:var(--link-color, #506cf0);background:none}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label:not(.hanko_dropdown)::after{transform:rotate(90deg)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label~.hanko_accordionContent{margin:.25rem 1rem;opacity:1;max-height:100vh}.hanko_accordion .hanko_accordionItem .hanko_accordionContent{max-height:0;margin:0 1rem;opacity:0;overflow:hidden;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_accordionContent.hanko_dropdownContent{border-style:none}',""]),s.locals={accordion:"hanko_accordion",accordionItem:"hanko_accordionItem",dropdown:"hanko_dropdown",label:"hanko_label",labelText:"hanko_labelText",description:"hanko_description",accordionInput:"hanko_accordionInput",accordionContent:"hanko_accordionContent",dropdownContent:"hanko_dropdownContent"};const d=s},905:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_errorBox{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);color:var(--error-color, #e82020);background:var(--background-color, white);margin:var(--item-margin, 0.5rem 0);display:flex;align-items:start;box-sizing:border-box;line-height:1.5rem;padding:.25em;gap:.2em}.hanko_errorBox>span{display:inline-flex}.hanko_errorBox>span:first-child{padding:.25em 0 .25em .19em}.hanko_errorBox[hidden]{display:none}.hanko_errorMessage{color:var(--error-color, #e82020)}",""]),s.locals={errorBox:"hanko_errorBox",errorMessage:"hanko_errorMessage"};const d=s},577:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,'.hanko_form{display:flex;flex-grow:1}.hanko_form .hanko_ul{flex-grow:1;margin:var(--item-margin, 0.5rem 0);padding-inline-start:0;list-style-type:none;display:flex;flex-wrap:wrap;gap:1em}.hanko_form .hanko_li{display:flex;max-width:100%;flex-grow:1;flex-basis:min-content}.hanko_form .hanko_li.hanko_maxWidth{min-width:100%}.hanko_button{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);white-space:nowrap;width:100%;min-width:var(--button-min-width, 7em);min-height:var(--item-height, 42px);outline:none;cursor:pointer;transition:.1s ease-out;flex-grow:1;flex-shrink:1;display:inline-flex}.hanko_button:disabled{cursor:default}.hanko_button.hanko_primary{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0);border-color:var(--brand-color, #506cf0);justify-content:center}.hanko_button.hanko_primary:hover{color:var(--brand-contrast-color, white);background:var(--brand-color-shade-1, #6b84fb);border-color:var(--brand-color, #506cf0)}.hanko_button.hanko_primary:focus{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0);border-color:var(--color, #333333)}.hanko_button.hanko_primary:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-2, #e5e6ef)}.hanko_button.hanko_secondary{color:var(--color, #333333);background:var(--background-color, white);border-color:var(--color, #333333);justify-content:flex-start}.hanko_button.hanko_secondary:hover{color:var(--color, #333333);background:var(--color-shade-2, #e5e6ef);border-color:var(--color, #333333)}.hanko_button.hanko_secondary:focus{color:var(--color, #333333);background:var(--background-color, white);border-color:var(--brand-color, #506cf0)}.hanko_button.hanko_secondary:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_button.hanko_dangerous{color:var(--error-color, #e82020);background:var(--background-color, white);border-color:var(--error-color, #e82020);flex-grow:0;width:auto}.hanko_caption{flex-grow:1;flex-wrap:wrap;display:flex;justify-content:space-between;align-items:baseline}.hanko_lastUsed{color:var(--color-shade-1, #8f9095);font-size:smaller}.hanko_inputWrapper{flex-grow:1;position:relative;display:flex;min-width:var(--input-min-width, 14em);max-width:100%}.hanko_input{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);height:var(--item-height, 42px);color:var(--color, #333333);border-color:var(--color-shade-1, #8f9095);background:var(--background-color, white);padding:0 .5rem;outline:none;width:100%;box-sizing:border-box;transition:.1s ease-out}.hanko_input.hanko_error{border-color:var(--error-color, #e82020)}.hanko_input:-webkit-autofill,.hanko_input:-webkit-autofill:hover,.hanko_input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color, #333333);-webkit-box-shadow:0 0 0 50px var(--background-color, white) inset}.hanko_input::-ms-reveal,.hanko_input::-ms-clear{display:none}.hanko_input::placeholder{color:var(--color-shade-1, #8f9095)}.hanko_input:focus{color:var(--color, #333333);border-color:var(--color, #333333)}.hanko_input:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_passcodeInputWrapper{flex-grow:1;min-width:var(--input-min-width, 14em);max-width:fit-content;position:relative;display:flex;justify-content:space-between}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper{flex-grow:1;margin:0 .5rem 0 0}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper:last-child{margin:0}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper .hanko_input{text-align:center}.hanko_checkboxWrapper{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);align-items:center;display:flex}.hanko_checkboxWrapper .hanko_label{color:inherit;padding-left:.5rem;cursor:pointer}.hanko_checkboxWrapper .hanko_label.hanko_disabled{cursor:default;color:var(--color-shade-1, #8f9095)}.hanko_checkboxWrapper .hanko_checkbox{border:currentColor solid 1px;border-radius:.15em;appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;margin:0;color:currentColor;background-color:var(--background-color, white);font:inherit;box-shadow:none;display:inline-flex;place-content:center;cursor:pointer}.hanko_checkboxWrapper .hanko_checkbox:checked{background-color:var(--color, #333333)}.hanko_checkboxWrapper .hanko_checkbox:disabled{cursor:default;background-color:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_checkboxWrapper .hanko_checkbox:checked:after{content:"✓";color:var(--background-color, white);position:absolute;line-height:1.1rem}.hanko_checkboxWrapper .hanko_checkbox:disabled:after{color:var(--color-shade-1, #8f9095)}',""]),s.locals={form:"hanko_form",ul:"hanko_ul",li:"hanko_li",maxWidth:"hanko_maxWidth",button:"hanko_button",primary:"hanko_primary",secondary:"hanko_secondary",dangerous:"hanko_dangerous",caption:"hanko_caption",lastUsed:"hanko_lastUsed",inputWrapper:"hanko_inputWrapper",input:"hanko_input",error:"hanko_error",passcodeInputWrapper:"hanko_passcodeInputWrapper",passcodeDigitWrapper:"hanko_passcodeDigitWrapper",checkboxWrapper:"hanko_checkboxWrapper",label:"hanko_label",disabled:"hanko_disabled",checkbox:"hanko_checkbox"};const d=s},619:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_headline{color:var(--color, #333333);font-family:var(--font-family, sans-serif);text-align:left;letter-spacing:0;font-style:normal;line-height:1.1}.hanko_headline.hanko_grade1{font-size:var(--headline1-font-size, 24px);font-weight:var(--headline1-font-weight, 600);margin:var(--headline1-margin, 0 0 0.5rem)}.hanko_headline.hanko_grade2{font-size:var(--headline2-font-size, 16px);font-weight:var(--headline2-font-weight, 600);margin:var(--headline2-margin, 1rem 0 0.5rem)}",""]),s.locals={headline:"hanko_headline",grade1:"hanko_grade1",grade2:"hanko_grade2"};const d=s},697:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_icon,.hanko_loadingSpinnerWrapper .hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_loadingSpinner,.hanko_exclamationMark,.hanko_checkmark{display:inline-block;fill:var(--brand-contrast-color, white);width:18px}.hanko_icon.hanko_secondary,.hanko_loadingSpinnerWrapper .hanko_secondary.hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_secondary.hanko_loadingSpinner,.hanko_secondary.hanko_exclamationMark,.hanko_secondary.hanko_checkmark{fill:var(--color, #333333)}.hanko_icon.hanko_disabled,.hanko_loadingSpinnerWrapper .hanko_disabled.hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_disabled.hanko_loadingSpinner,.hanko_disabled.hanko_exclamationMark,.hanko_disabled.hanko_checkmark{fill:var(--color-shade-1, #8f9095)}.hanko_checkmark{fill:var(--brand-color, #506cf0)}.hanko_checkmark.hanko_secondary{fill:var(--color-shade-1, #8f9095)}.hanko_checkmark.hanko_fadeOut{animation:hanko_fadeOut ease-out 1.5s forwards !important}@keyframes hanko_fadeOut{0%{opacity:1}100%{opacity:0}}.hanko_exclamationMark{fill:var(--error-color, #e82020)}.hanko_loadingSpinnerWrapperIcon{width:100%;column-gap:10px;margin-left:10px}.hanko_loadingSpinnerWrapper,.hanko_loadingSpinnerWrapperIcon{display:inline-flex;align-items:center;height:100%;margin:0 5px;justify-content:inherit;flex-wrap:inherit}.hanko_loadingSpinnerWrapper.hanko_centerContent,.hanko_centerContent.hanko_loadingSpinnerWrapperIcon{justify-content:center}.hanko_loadingSpinnerWrapper.hanko_maxWidth,.hanko_maxWidth.hanko_loadingSpinnerWrapperIcon{width:100%}.hanko_loadingSpinnerWrapper .hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_loadingSpinner{fill:var(--brand-color, #506cf0);animation:hanko_spin 500ms ease-in-out infinite}.hanko_loadingSpinnerWrapper.hanko_secondary,.hanko_secondary.hanko_loadingSpinnerWrapperIcon{fill:var(--color-shade-1, #8f9095)}@keyframes hanko_spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.hanko_googleIcon.hanko_disabled{fill:var(--color-shade-1, #8f9095)}.hanko_googleIcon.hanko_blue{fill:#4285f4}.hanko_googleIcon.hanko_green{fill:#34a853}.hanko_googleIcon.hanko_yellow{fill:#fbbc05}.hanko_googleIcon.hanko_red{fill:#ea4335}.hanko_microsoftIcon.hanko_disabled{fill:var(--color-shade-1, #8f9095)}.hanko_microsoftIcon.hanko_blue{fill:#00a4ef}.hanko_microsoftIcon.hanko_green{fill:#7fba00}.hanko_microsoftIcon.hanko_yellow{fill:#ffb900}.hanko_microsoftIcon.hanko_red{fill:#f25022}.hanko_facebookIcon.hanko_outline{fill:#0866ff}.hanko_facebookIcon.hanko_disabledOutline{fill:var(--color-shade-1, #8f9095)}.hanko_facebookIcon.hanko_letter{fill:#fff}.hanko_facebookIcon.hanko_disabledLetter{fill:var(--color-shade-2, #e5e6ef)}",""]),s.locals={icon:"hanko_icon",loadingSpinnerWrapper:"hanko_loadingSpinnerWrapper",loadingSpinner:"hanko_loadingSpinner",loadingSpinnerWrapperIcon:"hanko_loadingSpinnerWrapperIcon",exclamationMark:"hanko_exclamationMark",checkmark:"hanko_checkmark",secondary:"hanko_secondary",disabled:"hanko_disabled",fadeOut:"hanko_fadeOut",centerContent:"hanko_centerContent",maxWidth:"hanko_maxWidth",spin:"hanko_spin",googleIcon:"hanko_googleIcon",blue:"hanko_blue",green:"hanko_green",yellow:"hanko_yellow",red:"hanko_red",microsoftIcon:"hanko_microsoftIcon",facebookIcon:"hanko_facebookIcon",outline:"hanko_outline",disabledOutline:"hanko_disabledOutline",letter:"hanko_letter",disabledLetter:"hanko_disabledLetter"};const d=s},995:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_link{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--link-color, #506cf0);text-decoration:var(--link-text-decoration, none);cursor:pointer;background:none !important;border:none;padding:0 !important;transition:all .1s}.hanko_link:hover{text-decoration:var(--link-text-decoration-hover, underline)}.hanko_link:disabled{color:var(--color, #333333) !important;pointer-events:none;cursor:default}.hanko_link.hanko_danger{color:var(--error-color, #e82020)}.hanko_linkWrapper{display:inline-flex;flex-direction:row;justify-content:space-between;align-items:center;overflow:hidden}.hanko_linkWrapper.hanko_reverse{flex-direction:row-reverse}",""]),s.locals={link:"hanko_link",danger:"hanko_danger",linkWrapper:"hanko_linkWrapper",reverse:"hanko_reverse"};const d=s},560:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_otpCreationDetails{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);margin:var(--item-margin, 0.5rem 0);display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:smaller}",""]),s.locals={otpCreationDetails:"hanko_otpCreationDetails"};const d=s},489:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_paragraph{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);margin:var(--item-margin, 0.5rem 0);text-align:left;word-break:break-word}",""]),s.locals={paragraph:"hanko_paragraph"};const d=s},111:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_spacer{height:1em}.hanko_divider{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);display:flex;visibility:var(--divider-visibility, visible);color:var(--color-shade-1, #8f9095);margin:var(--item-margin, 0.5rem 0);padding:.5em 0}.hanko_divider .hanko_line{border-bottom-style:var(--border-style, solid);border-bottom-width:var(--border-width, 1px);color:inherit;font:inherit;width:100%}.hanko_divider .hanko_text{font:inherit;color:inherit;background:var(--background-color, white);padding:var(--divider-padding, 0 42px);line-height:.1em}",""]),s.locals={spacer:"hanko_spacer",divider:"hanko_divider",line:"hanko_line",text:"hanko_text"};const d=s},914:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_container{background-color:var(--background-color, white);padding:var(--container-padding, 30px);max-width:var(--container-max-width, 410px);display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;align-content:flex-start;box-sizing:border-box}.hanko_content{box-sizing:border-box;flex:0 1 auto;width:100%;height:100%}.hanko_footer{padding:.5rem 0 0;box-sizing:border-box;width:100%}.hanko_footer :nth-child(1){float:left}.hanko_footer :nth-child(2){float:right}.hanko_clipboardContainer{display:flex}.hanko_clipboardIcon{display:flex;margin:auto;cursor:pointer}",""]),s.locals={container:"hanko_container",content:"hanko_content",footer:"hanko_footer",clipboardContainer:"hanko_clipboardContainer",clipboardIcon:"hanko_clipboardIcon"};const d=s},278:o=>{o.exports=function(e){var t=[];return t.toString=function(){return this.map(function(n){var i="",a=n[5]!==void 0;return n[4]&&(i+="@supports (".concat(n[4],") {")),n[2]&&(i+="@media ".concat(n[2]," {")),a&&(i+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),i+=e(n),a&&(i+="}"),n[2]&&(i+="}"),n[4]&&(i+="}"),i}).join("")},t.i=function(n,i,a,s,d){typeof n=="string"&&(n=[[null,n,void 0]]);var c={};if(a)for(var l=0;l<this.length;l++){var u=this[l][0];u!=null&&(c[u]=!0)}for(var h=0;h<n.length;h++){var f=[].concat(n[h]);a&&c[f[0]]||(d!==void 0&&(f[5]===void 0||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=d),i&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=i),s&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=s):f[4]="".concat(s)),t.push(f))}},t}},645:o=>{o.exports=function(e){return e[1]}},616:(o,e,t)=>{t.r(e),t.d(e,{Component:()=>N,Fragment:()=>U,cloneElement:()=>Ke,createContext:()=>Ve,createElement:()=>S,createRef:()=>j,h:()=>S,hydrate:()=>Fe,isValidElement:()=>s,options:()=>i,render:()=>ge,toChildArray:()=>_e});var n,i,a,s,d,c,l,u,h,f={},m=[],A=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function O(g,v){for(var b in v)g[b]=v[b];return g}function x(g){var v=g.parentNode;v&&v.removeChild(g)}function S(g,v,b){var D,T,I,q={};for(I in v)I=="key"?D=v[I]:I=="ref"?T=v[I]:q[I]=v[I];if(arguments.length>2&&(q.children=arguments.length>3?n.call(arguments,2):b),typeof g=="function"&&g.defaultProps!=null)for(I in g.defaultProps)q[I]===void 0&&(q[I]=g.defaultProps[I]);return P(g,q,D,T,null)}function P(g,v,b,D,T){var I={type:g,props:v,key:b,ref:D,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:T??++a};return T==null&&i.vnode!=null&&i.vnode(I),I}function j(){return{current:null}}function U(g){return g.children}function N(g,v){this.props=g,this.context=v}function re(g,v){if(v==null)return g.__?re(g.__,g.__.__k.indexOf(g)+1):null;for(var b;v<g.__k.length;v++)if((b=g.__k[v])!=null&&b.__e!=null)return b.__e;return typeof g.type=="function"?re(g):null}function be(g){var v,b;if((g=g.__)!=null&&g.__c!=null){for(g.__e=g.__c.base=null,v=0;v<g.__k.length;v++)if((b=g.__k[v])!=null&&b.__e!=null){g.__e=g.__c.base=b.__e;break}return be(g)}}function se(g){(!g.__d&&(g.__d=!0)&&d.push(g)&&!xe.__r++||c!==i.debounceRendering)&&((c=i.debounceRendering)||l)(xe)}function xe(){var g,v,b,D,T,I,q,te;for(d.sort(u);g=d.shift();)g.__d&&(v=d.length,D=void 0,T=void 0,q=(I=(b=g).__v).__e,(te=b.__P)&&(D=[],(T=O({},I)).__v=I.__v+1,Le(te,I,T,b.__n,te.ownerSVGElement!==void 0,I.__h!=null?[q]:null,D,q??re(I),I.__h),k(D,I),I.__e!=q&&be(I)),d.length>v&&d.sort(u));xe.__r=0}function M(g,v,b,D,T,I,q,te,X,ye){var w,ke,Q,R,E,Ce,V,F=D&&D.__k||m,He=F.length;for(b.__k=[],w=0;w<v.length;w++)if((R=b.__k[w]=(R=v[w])==null||typeof R=="boolean"||typeof R=="function"?null:typeof R=="string"||typeof R=="number"||typeof R=="bigint"?P(null,R,null,null,R):Array.isArray(R)?P(U,{children:R},null,null,null):R.__b>0?P(R.type,R.props,R.key,R.ref?R.ref:null,R.__v):R)!=null){if(R.__=b,R.__b=b.__b+1,(Q=F[w])===null||Q&&R.key==Q.key&&R.type===Q.type)F[w]=void 0;else for(ke=0;ke<He;ke++){if((Q=F[ke])&&R.key==Q.key&&R.type===Q.type){F[ke]=void 0;break}Q=null}Le(g,R,Q=Q||f,T,I,q,te,X,ye),E=R.__e,(ke=R.ref)&&Q.ref!=ke&&(V||(V=[]),Q.ref&&V.push(Q.ref,null,R),V.push(ke,R.__c||E,R)),E!=null?(Ce==null&&(Ce=E),typeof R.type=="function"&&R.__k===Q.__k?R.__d=X=z(R,X,g):X=Me(g,R,Q,F,E,X),typeof b.type=="function"&&(b.__d=X)):X&&Q.__e==X&&X.parentNode!=g&&(X=re(Q))}for(b.__e=Ce,w=He;w--;)F[w]!=null&&(typeof b.type=="function"&&F[w].__e!=null&&F[w].__e==b.__d&&(b.__d=je(D).nextSibling),$(F[w],F[w]));if(V)for(w=0;w<V.length;w++)y(V[w],V[++w],V[++w])}function z(g,v,b){for(var D,T=g.__k,I=0;T&&I<T.length;I++)(D=T[I])&&(D.__=g,v=typeof D.type=="function"?z(D,v,b):Me(b,D,D,T,D.__e,v));return v}function _e(g,v){return v=v||[],g==null||typeof g=="boolean"||(Array.isArray(g)?g.some(function(b){_e(b,v)}):v.push(g)),v}function Me(g,v,b,D,T,I){var q,te,X;if(v.__d!==void 0)q=v.__d,v.__d=void 0;else if(b==null||T!=I||T.parentNode==null)e:if(I==null||I.parentNode!==g)g.appendChild(T),q=null;else{for(te=I,X=0;(te=te.nextSibling)&&X<D.length;X+=1)if(te==T)break e;g.insertBefore(T,I),q=I}return q!==void 0?q:T.nextSibling}function je(g){var v,b,D;if(g.type==null||typeof g.type=="string")return g.__e;if(g.__k){for(v=g.__k.length-1;v>=0;v--)if((b=g.__k[v])&&(D=je(b)))return D}return null}function Re(g,v,b){v[0]==="-"?g.setProperty(v,b??""):g[v]=b==null?"":typeof b!="number"||A.test(v)?b:b+"px"}function le(g,v,b,D,T){var I;e:if(v==="style")if(typeof b=="string")g.style.cssText=b;else{if(typeof D=="string"&&(g.style.cssText=D=""),D)for(v in D)b&&v in b||Re(g.style,v,"");if(b)for(v in b)D&&b[v]===D[v]||Re(g.style,v,b[v])}else if(v[0]==="o"&&v[1]==="n")I=v!==(v=v.replace(/Capture$/,"")),v=v.toLowerCase()in g?v.toLowerCase().slice(2):v.slice(2),g.l||(g.l={}),g.l[v+I]=b,b?D||g.addEventListener(v,I?me:ce,I):g.removeEventListener(v,I?me:ce,I);else if(v!=="dangerouslySetInnerHTML"){if(T)v=v.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(v!=="width"&&v!=="height"&&v!=="href"&&v!=="list"&&v!=="form"&&v!=="tabIndex"&&v!=="download"&&v in g)try{g[v]=b??"";break e}catch{}typeof b=="function"||(b==null||b===!1&&v.indexOf("-")==-1?g.removeAttribute(v):g.setAttribute(v,b))}}function ce(g){return this.l[g.type+!1](i.event?i.event(g):g)}function me(g){return this.l[g.type+!0](i.event?i.event(g):g)}function Le(g,v,b,D,T,I,q,te,X){var ye,w,ke,Q,R,E,Ce,V,F,He,it,ve,En,lt,H,Z=v.type;if(v.constructor!==void 0)return null;b.__h!=null&&(X=b.__h,te=v.__e=b.__e,v.__h=null,I=[te]),(ye=i.__b)&&ye(v);try{e:if(typeof Z=="function"){if(V=v.props,F=(ye=Z.contextType)&&D[ye.__c],He=ye?F?F.props.value:ye.__:D,b.__c?Ce=(w=v.__c=b.__c).__=w.__E:("prototype"in Z&&Z.prototype.render?v.__c=w=new Z(V,He):(v.__c=w=new N(V,He),w.constructor=Z,w.render=K),F&&F.sub(w),w.props=V,w.state||(w.state={}),w.context=He,w.__n=D,ke=w.__d=!0,w.__h=[],w._sb=[]),w.__s==null&&(w.__s=w.state),Z.getDerivedStateFromProps!=null&&(w.__s==w.state&&(w.__s=O({},w.__s)),O(w.__s,Z.getDerivedStateFromProps(V,w.__s))),Q=w.props,R=w.state,w.__v=v,ke)Z.getDerivedStateFromProps==null&&w.componentWillMount!=null&&w.componentWillMount(),w.componentDidMount!=null&&w.__h.push(w.componentDidMount);else{if(Z.getDerivedStateFromProps==null&&V!==Q&&w.componentWillReceiveProps!=null&&w.componentWillReceiveProps(V,He),!w.__e&&w.shouldComponentUpdate!=null&&w.shouldComponentUpdate(V,w.__s,He)===!1||v.__v===b.__v){for(v.__v!==b.__v&&(w.props=V,w.state=w.__s,w.__d=!1),w.__e=!1,v.__e=b.__e,v.__k=b.__k,v.__k.forEach(function(ot){ot&&(ot.__=v)}),it=0;it<w._sb.length;it++)w.__h.push(w._sb[it]);w._sb=[],w.__h.length&&q.push(w);break e}w.componentWillUpdate!=null&&w.componentWillUpdate(V,w.__s,He),w.componentDidUpdate!=null&&w.__h.push(function(){w.componentDidUpdate(Q,R,E)})}if(w.context=He,w.props=V,w.__P=g,ve=i.__r,En=0,"prototype"in Z&&Z.prototype.render){for(w.state=w.__s,w.__d=!1,ve&&ve(v),ye=w.render(w.props,w.state,w.context),lt=0;lt<w._sb.length;lt++)w.__h.push(w._sb[lt]);w._sb=[]}else do w.__d=!1,ve&&ve(v),ye=w.render(w.props,w.state,w.context),w.state=w.__s;while(w.__d&&++En<25);w.state=w.__s,w.getChildContext!=null&&(D=O(O({},D),w.getChildContext())),ke||w.getSnapshotBeforeUpdate==null||(E=w.getSnapshotBeforeUpdate(Q,R)),H=ye!=null&&ye.type===U&&ye.key==null?ye.props.children:ye,M(g,Array.isArray(H)?H:[H],v,b,D,T,I,q,te,X),w.base=v.__e,v.__h=null,w.__h.length&&q.push(w),Ce&&(w.__E=w.__=null),w.__e=!1}else I==null&&v.__v===b.__v?(v.__k=b.__k,v.__e=b.__e):v.__e=p(b.__e,v,b,D,T,I,q,X);(ye=i.diffed)&&ye(v)}catch(ot){v.__v=null,(X||I!=null)&&(v.__e=te,v.__h=!!X,I[I.indexOf(te)]=null),i.__e(ot,v,b)}}function k(g,v){i.__c&&i.__c(v,g),g.some(function(b){try{g=b.__h,b.__h=[],g.some(function(D){D.call(b)})}catch(D){i.__e(D,b.__v)}})}function p(g,v,b,D,T,I,q,te){var X,ye,w,ke=b.props,Q=v.props,R=v.type,E=0;if(R==="svg"&&(T=!0),I!=null){for(;E<I.length;E++)if((X=I[E])&&"setAttribute"in X==!!R&&(R?X.localName===R:X.nodeType===3)){g=X,I[E]=null;break}}if(g==null){if(R===null)return document.createTextNode(Q);g=T?document.createElementNS("http://www.w3.org/2000/svg",R):document.createElement(R,Q.is&&Q),I=null,te=!1}if(R===null)ke===Q||te&&g.data===Q||(g.data=Q);else{if(I=I&&n.call(g.childNodes),ye=(ke=b.props||f).dangerouslySetInnerHTML,w=Q.dangerouslySetInnerHTML,!te){if(I!=null)for(ke={},E=0;E<g.attributes.length;E++)ke[g.attributes[E].name]=g.attributes[E].value;(w||ye)&&(w&&(ye&&w.__html==ye.__html||w.__html===g.innerHTML)||(g.innerHTML=w&&w.__html||""))}if(function(Ce,V,F,He,it){var ve;for(ve in F)ve==="children"||ve==="key"||ve in V||le(Ce,ve,null,F[ve],He);for(ve in V)it&&typeof V[ve]!="function"||ve==="children"||ve==="key"||ve==="value"||ve==="checked"||F[ve]===V[ve]||le(Ce,ve,V[ve],F[ve],He)}(g,Q,ke,T,te),w)v.__k=[];else if(E=v.props.children,M(g,Array.isArray(E)?E:[E],v,b,D,T&&R!=="foreignObject",I,q,I?I[0]:b.__k&&re(b,0),te),I!=null)for(E=I.length;E--;)I[E]!=null&&x(I[E]);te||("value"in Q&&(E=Q.value)!==void 0&&(E!==g.value||R==="progress"&&!E||R==="option"&&E!==ke.value)&&le(g,"value",E,ke.value,!1),"checked"in Q&&(E=Q.checked)!==void 0&&E!==g.checked&&le(g,"checked",E,ke.checked,!1))}return g}function y(g,v,b){try{typeof g=="function"?g(v):g.current=v}catch(D){i.__e(D,b)}}function $(g,v,b){var D,T;if(i.unmount&&i.unmount(g),(D=g.ref)&&(D.current&&D.current!==g.__e||y(D,null,v)),(D=g.__c)!=null){if(D.componentWillUnmount)try{D.componentWillUnmount()}catch(I){i.__e(I,v)}D.base=D.__P=null,g.__c=void 0}if(D=g.__k)for(T=0;T<D.length;T++)D[T]&&$(D[T],v,b||typeof g.type!="function");b||g.__e==null||x(g.__e),g.__=g.__e=g.__d=void 0}function K(g,v,b){return this.constructor(g,b)}function ge(g,v,b){var D,T,I;i.__&&i.__(g,v),T=(D=typeof b=="function")?null:b&&b.__k||v.__k,I=[],Le(v,g=(!D&&b||v).__k=S(U,null,[g]),T||f,f,v.ownerSVGElement!==void 0,!D&&b?[b]:T?null:v.firstChild?n.call(v.childNodes):null,I,!D&&b?b:T?T.__e:v.firstChild,D),k(I,g)}function Fe(g,v){ge(g,v,Fe)}function Ke(g,v,b){var D,T,I,q=O({},g.props);for(I in v)I=="key"?D=v[I]:I=="ref"?T=v[I]:q[I]=v[I];return arguments.length>2&&(q.children=arguments.length>3?n.call(arguments,2):b),P(g.type,q,D||g.key,T||g.ref,null)}function Ve(g,v){var b={__c:v="__cC"+h++,__:g,Consumer:function(D,T){return D.children(T)},Provider:function(D){var T,I;return this.getChildContext||(T=[],(I={})[v]=this,this.getChildContext=function(){return I},this.shouldComponentUpdate=function(q){this.props.value!==q.value&&T.some(function(te){te.__e=!0,se(te)})},this.sub=function(q){T.push(q);var te=q.componentWillUnmount;q.componentWillUnmount=function(){T.splice(T.indexOf(q),1),te&&te.call(q)}}),D.children}};return b.Provider.__=b.Consumer.contextType=b}n=m.slice,i={__e:function(g,v,b,D){for(var T,I,q;v=v.__;)if((T=v.__c)&&!T.__)try{if((I=T.constructor)&&I.getDerivedStateFromError!=null&&(T.setState(I.getDerivedStateFromError(g)),q=T.__d),T.componentDidCatch!=null&&(T.componentDidCatch(g,D||{}),q=T.__d),q)return T.__E=T}catch(te){g=te}throw g}},a=0,s=function(g){return g!=null&&g.constructor===void 0},N.prototype.setState=function(g,v){var b;b=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=O({},this.state),typeof g=="function"&&(g=g(O({},b),this.props)),g&&O(b,g),g!=null&&this.__v&&(v&&this._sb.push(v),se(this))},N.prototype.forceUpdate=function(g){this.__v&&(this.__e=!0,g&&this.__h.push(g),se(this))},N.prototype.render=U,d=[],l=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,u=function(g,v){return g.__v.__b-v.__v.__b},xe.__r=0,h=0},78:(o,e,t)=>{t.r(e),t.d(e,{useCallback:()=>se,useContext:()=>xe,useDebugValue:()=>M,useEffect:()=>j,useErrorBoundary:()=>z,useId:()=>_e,useImperativeHandle:()=>re,useLayoutEffect:()=>U,useMemo:()=>be,useReducer:()=>P,useRef:()=>N,useState:()=>S});var n,i,a,s,d=t(616),c=0,l=[],u=[],h=d.options.__b,f=d.options.__r,m=d.options.diffed,A=d.options.__c,O=d.options.unmount;function x(k,p){d.options.__h&&d.options.__h(i,k,c||p),c=0;var y=i.__H||(i.__H={__:[],__h:[]});return k>=y.__.length&&y.__.push({__V:u}),y.__[k]}function S(k){return c=1,P(Le,k)}function P(k,p,y){var $=x(n++,2);if($.t=k,!$.__c&&($.__=[y?y(p):Le(void 0,p),function(Ke){var Ve=$.__N?$.__N[0]:$.__[0],g=$.t(Ve,Ke);Ve!==g&&($.__N=[g,$.__[1]],$.__c.setState({}))}],$.__c=i,!i.u)){var K=function(Ke,Ve,g){if(!$.__c.__H)return!0;var v=$.__c.__H.__.filter(function(D){return D.__c});if(v.every(function(D){return!D.__N}))return!ge||ge.call(this,Ke,Ve,g);var b=!1;return v.forEach(function(D){if(D.__N){var T=D.__[0];D.__=D.__N,D.__N=void 0,T!==D.__[0]&&(b=!0)}}),!(!b&&$.__c.props===Ke)&&(!ge||ge.call(this,Ke,Ve,g))};i.u=!0;var ge=i.shouldComponentUpdate,Fe=i.componentWillUpdate;i.componentWillUpdate=function(Ke,Ve,g){if(this.__e){var v=ge;ge=void 0,K(Ke,Ve,g),ge=v}Fe&&Fe.call(this,Ke,Ve,g)},i.shouldComponentUpdate=K}return $.__N||$.__}function j(k,p){var y=x(n++,3);!d.options.__s&&me(y.__H,p)&&(y.__=k,y.i=p,i.__H.__h.push(y))}function U(k,p){var y=x(n++,4);!d.options.__s&&me(y.__H,p)&&(y.__=k,y.i=p,i.__h.push(y))}function N(k){return c=5,be(function(){return{current:k}},[])}function re(k,p,y){c=6,U(function(){return typeof k=="function"?(k(p()),function(){return k(null)}):k?(k.current=p(),function(){return k.current=null}):void 0},y==null?y:y.concat(k))}function be(k,p){var y=x(n++,7);return me(y.__H,p)?(y.__V=k(),y.i=p,y.__h=k,y.__V):y.__}function se(k,p){return c=8,be(function(){return k},p)}function xe(k){var p=i.context[k.__c],y=x(n++,9);return y.c=k,p?(y.__==null&&(y.__=!0,p.sub(i)),p.props.value):k.__}function M(k,p){d.options.useDebugValue&&d.options.useDebugValue(p?p(k):k)}function z(k){var p=x(n++,10),y=S();return p.__=k,i.componentDidCatch||(i.componentDidCatch=function($,K){p.__&&p.__($,K),y[1]($)}),[y[0],function(){y[1](void 0)}]}function _e(){var k=x(n++,11);if(!k.__){for(var p=i.__v;p!==null&&!p.__m&&p.__!==null;)p=p.__;var y=p.__m||(p.__m=[0,0]);k.__="P"+y[0]+"-"+y[1]++}return k.__}function Me(){for(var k;k=l.shift();)if(k.__P&&k.__H)try{k.__H.__h.forEach(le),k.__H.__h.forEach(ce),k.__H.__h=[]}catch(p){k.__H.__h=[],d.options.__e(p,k.__v)}}d.options.__b=function(k){i=null,h&&h(k)},d.options.__r=function(k){f&&f(k),n=0;var p=(i=k.__c).__H;p&&(a===i?(p.__h=[],i.__h=[],p.__.forEach(function(y){y.__N&&(y.__=y.__N),y.__V=u,y.__N=y.i=void 0})):(p.__h.forEach(le),p.__h.forEach(ce),p.__h=[])),a=i},d.options.diffed=function(k){m&&m(k);var p=k.__c;p&&p.__H&&(p.__H.__h.length&&(l.push(p)!==1&&s===d.options.requestAnimationFrame||((s=d.options.requestAnimationFrame)||Re)(Me)),p.__H.__.forEach(function(y){y.i&&(y.__H=y.i),y.__V!==u&&(y.__=y.__V),y.i=void 0,y.__V=u})),a=i=null},d.options.__c=function(k,p){p.some(function(y){try{y.__h.forEach(le),y.__h=y.__h.filter(function($){return!$.__||ce($)})}catch($){p.some(function(K){K.__h&&(K.__h=[])}),p=[],d.options.__e($,y.__v)}}),A&&A(k,p)},d.options.unmount=function(k){O&&O(k);var p,y=k.__c;y&&y.__H&&(y.__H.__.forEach(function($){try{le($)}catch(K){p=K}}),y.__H=void 0,p&&d.options.__e(p,y.__v))};var je=typeof requestAnimationFrame=="function";function Re(k){var p,y=function(){clearTimeout($),je&&cancelAnimationFrame(p),setTimeout(k)},$=setTimeout(y,100);je&&(p=requestAnimationFrame(y))}function le(k){var p=i,y=k.__c;typeof y=="function"&&(k.__c=void 0,y()),i=p}function ce(k){var p=i;k.__c=k.__(),i=p}function me(k,p){return!k||k.length!==p.length||p.some(function(y,$){return y!==k[$]})}function Le(k,p){return typeof p=="function"?p(k):p}},292:o=>{var e=[];function t(a){for(var s=-1,d=0;d<e.length;d++)if(e[d].identifier===a){s=d;break}return s}function n(a,s){for(var d={},c=[],l=0;l<a.length;l++){var u=a[l],h=s.base?u[0]+s.base:u[0],f=d[h]||0,m="".concat(h," ").concat(f);d[h]=f+1;var A=t(m),O={css:u[1],media:u[2],sourceMap:u[3],supports:u[4],layer:u[5]};if(A!==-1)e[A].references++,e[A].updater(O);else{var x=i(O,s);s.byIndex=l,e.splice(l,0,{identifier:m,updater:x,references:1})}c.push(m)}return c}function i(a,s){var d=s.domAPI(s);return d.update(a),function(c){if(c){if(c.css===a.css&&c.media===a.media&&c.sourceMap===a.sourceMap&&c.supports===a.supports&&c.layer===a.layer)return;d.update(a=c)}else d.remove()}}o.exports=function(a,s){var d=n(a=a||[],s=s||{});return function(c){c=c||[];for(var l=0;l<d.length;l++){var u=t(d[l]);e[u].references--}for(var h=n(c,s),f=0;f<d.length;f++){var m=t(d[f]);e[m].references===0&&(e[m].updater(),e.splice(m,1))}d=h}}},88:o=>{o.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},884:(o,e,t)=>{o.exports=function(n){var i=t.nc;i&&n.setAttribute("nonce",i)}},360:o=>{var e,t=(e=[],function(a,s){return e[a]=s,e.filter(Boolean).join(`
|
|
44
|
-
`)});function n(a,s,d,c){var l;if(d)l="";else{l="",c.supports&&(l+="@supports (".concat(c.supports,") {")),c.media&&(l+="@media ".concat(c.media," {"));var u=c.layer!==void 0;u&&(l+="@layer".concat(c.layer.length>0?" ".concat(c.layer):""," {")),l+=c.css,u&&(l+="}"),c.media&&(l+="}"),c.supports&&(l+="}")}if(a.styleSheet)a.styleSheet.cssText=t(s,l);else{var h=document.createTextNode(l),f=a.childNodes;f[s]&&a.removeChild(f[s]),f.length?a.insertBefore(h,f[s]):a.appendChild(h)}}var i={singleton:null,singletonCounter:0};o.exports=function(a){if(typeof document>"u")return{update:function(){},remove:function(){}};var s=i.singletonCounter++,d=i.singleton||(i.singleton=a.insertStyleElement(a));return{update:function(c){n(d,s,!1,c)},remove:function(c){n(d,s,!0,c)}}}},6:(o,e,t)=>{t.d(e,{en:()=>n});const n={headlines:{error:"An error has occurred",loginEmail:"Sign in or create account",loginEmailNoSignup:"Sign in",loginFinished:"Login successful",loginPasscode:"Enter passcode",loginPassword:"Enter password",registerAuthenticator:"Create a passkey",registerConfirm:"Create account?",registerPassword:"Set new password",otpSetUp:"Set up authenticator app",profileEmails:"Emails",profilePassword:"Password",profilePasskeys:"Passkeys",isPrimaryEmail:"Primary email address",setPrimaryEmail:"Set primary email address",createEmail:"Enter a new email",createUsername:"Enter a new username",emailVerified:"Verified",emailUnverified:"Unverified",emailDelete:"Delete",renamePasskey:"Rename passkey",deletePasskey:"Delete passkey",lastUsedAt:"Last used at",createdAt:"Created at",connectedAccounts:"Connected accounts",deleteAccount:"Delete account",accountNotFound:"Account not found",signIn:"Sign in",signUp:"Create account",selectLoginMethod:"Select login method",setupLoginMethod:"Set up login method",lastUsed:"Last seen",ipAddress:"IP address",revokeSession:"Revoke session",profileSessions:"Sessions",mfaSetUp:"Set up MFA",securityKeySetUp:"Add security key",securityKeyLogin:"Security key",otpLogin:"Authentication code",renameSecurityKey:"Rename security key",deleteSecurityKey:"Delete security key",securityKeys:"Security keys",authenticatorApp:"Authenticator app",authenticatorAppAlreadySetUp:"Authenticator app is set up",authenticatorAppNotSetUp:"Set up authenticator app",trustDevice:"Trust this browser?"},texts:{enterPasscode:'Enter the passcode that was sent to "{emailAddress}".',enterPasscodeNoEmail:"Enter the passcode that was sent to your primary email address.",setupPasskey:"Sign in to your account easily and securely with a passkey. Note: Your biometric data is only stored on your devices and will never be shared with anyone.",createAccount:'No account exists for "{emailAddress}". Do you want to create a new account?',otpEnterVerificationCode:"Enter the one-time password (OTP) obtained from your authenticator app below:",otpScanQRCode:"Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manually enter the OTP secret key into the app.",otpSecretKey:"OTP secret key",passwordFormatHint:"Must be between {minLength} and {maxLength} characters long.",securityKeySetUp:"Use a dedicated security key via USB, Bluetooth, or NFC, or your mobile phone. Connect or activate your security key, then click the button below and follow the prompts to complete the registration.",setPrimaryEmail:"Set this email address to be used for contacting you.",isPrimaryEmail:"This email address will be used to contact you if necessary.",emailVerified:"This email address has been verified.",emailUnverified:"This email address has not been verified.",emailDelete:"If you delete this email address, it can no longer be used to sign in.",renamePasskey:"Set a name for the passkey.",deletePasskey:"Delete this passkey from your account.",deleteAccount:"Are you sure you want to delete this account? All data will be deleted immediately and cannot be recovered.",noAccountExists:'No account exists for "{emailAddress}".',selectLoginMethodForFutureLogins:"Select one of the following login methods to use for future logins.",howDoYouWantToLogin:"How do you want to login?",mfaSetUp:"Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is compromised, your account stays secure.",securityKeyLogin:"Connect or activate your security key, then click the button below. Once ready, use it via USB, NFC, your mobile phone. Follow the prompts to complete the login process.",otpLogin:"Open your authenticator app to obtain the one-time password (OTP). Enter the code in the field below to complete your login.",renameSecurityKey:"Set a name for the security key.",deleteSecurityKey:"Delete this security key from your account.",authenticatorAppAlreadySetUp:"Your account is secured with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",authenticatorAppNotSetUp:"Secure your account with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",trustDevice:"If you trust this browser, you won’t need to enter your OTP (One-Time-Password) or use your security key for multi-factor authentication (MFA) the next time you log in."},labels:{or:"or",no:"no",yes:"yes",email:"Email",continue:"Continue",copied:"copied",skip:"Skip",save:"Save",password:"Password",passkey:"Passkey",passcode:"Passcode",signInPassword:"Sign in with a password",signInPasscode:"Sign in with a passcode",forgotYourPassword:"Forgot your password?",back:"Back",signInPasskey:"Sign in with a passkey",registerAuthenticator:"Create a passkey",signIn:"Sign in",signUp:"Create account",sendNewPasscode:"Send new code",passwordRetryAfter:"Retry in {passwordRetryAfter}",passcodeResendAfter:"Request a new code in {passcodeResendAfter}",unverifiedEmail:"unverified",primaryEmail:"primary",setAsPrimaryEmail:"Set as primary",verify:"Verify",delete:"Delete",newEmailAddress:"New email address",newPassword:"New password",rename:"Rename",newPasskeyName:"New passkey name",addEmail:"Add email",createPasskey:"Create a passkey",webauthnUnsupported:"Passkeys are not supported by your browser",signInWith:"Sign in with {provider}",deleteAccount:"Yes, delete this account.",emailOrUsername:"Email or username",username:"Username",optional:"optional",dontHaveAnAccount:"Don't have an account?",alreadyHaveAnAccount:"Already have an account?",changeUsername:"Change username",setUsername:"Set username",changePassword:"Change password",setPassword:"Set password",revoke:"Revoke",currentSession:"Current session",authenticatorApp:"Authenticator app",securityKey:"Security key",securityKeyUse:"Use security key",newSecurityKeyName:"New security key name",createSecurityKey:"Add a security key",authenticatorAppManage:"Manage authenticator app",authenticatorAppAdd:"Set up",configured:"configured",useAnotherMethod:"Use another method",lastUsed:"Last used",trustDevice:"Trust this browser",staySignedIn:"Stay signed in"},errors:{somethingWentWrong:"A technical error has occurred. Please try again later.",requestTimeout:"The request timed out.",invalidPassword:"Wrong email or password.",invalidPasscode:"The passcode provided was not correct.",passcodeAttemptsReached:"The passcode was entered incorrectly too many times. Please request a new code.",tooManyRequests:"Too many requests have been made. Please wait to repeat the requested operation.",unauthorized:"Your session has expired. Please log in again.",invalidWebauthnCredential:"This passkey cannot be used anymore.",passcodeExpired:"The passcode has expired. Please request a new one.",userVerification:"User verification required. Please ensure your authenticator device is protected with a PIN or biometric.",emailAddressAlreadyExistsError:"The email address already exists.",maxNumOfEmailAddressesReached:"No further email addresses can be added.",thirdPartyAccessDenied:"Access denied. The request was cancelled by the user or the provider has denied access for other reasons.",thirdPartyMultipleAccounts:"Cannot identify account. The email address is used by multiple accounts.",thirdPartyUnverifiedEmail:"Email verification required. Please verify the used email address with your provider.",signupDisabled:"Account registration is disabled.",handlerNotFoundError:"The current step in your process is not supported by this application version. Please try again later or contact support if the issue persists."},flowErrors:{technical_error:"A technical error has occurred. Please try again later.",flow_expired_error:"The session has expired, please click the button to restart.",value_invalid_error:"The entered value is invalid.",passcode_invalid:"The passcode provided was not correct.",passkey_invalid:"This passkey cannot be used anymore",passcode_max_attempts_reached:"The passcode was entered incorrectly too many times. Please request a new code.",rate_limit_exceeded:"Too many requests have been made. Please wait to repeat the requested operation.",unknown_username_error:"The username is unknown.",unknown_email_error:"The email address is unknown.",username_already_exists:"The username is already taken.",invalid_username_error:"The username must contain only letters, numbers, and underscores.",email_already_exists:"The email is already taken.",not_found:"The requested resource was not found.",operation_not_permitted_error:"The operation is not permitted.",flow_discontinuity_error:"The process cannot be continued due to user settings or the provider's configuration.",form_data_invalid_error:"The submitted form data contains errors.",unauthorized:"Your session has expired. Please log in again.",value_missing_error:"The value is missing.",value_too_long_error:"Value is too long.",value_too_short_error:"The value is too short.",webauthn_credential_invalid_mfa_only:"This credential can be used as a second factor security key only.",webauthn_credential_already_exists:"The request either timed out, was canceled or the device is already registered. Please try again or try using another device.",platform_authenticator_required:"Your account is configured to use platform authenticators, but your current device or browser does not support this feature. Please try again with a compatible device or browser."}}}},Ro={};function G(o){var e=Ro[o];if(e!==void 0)return e.exports;var t=Ro[o]={id:o,exports:{}};return wa[o].call(t.exports,t,t.exports,G),t.exports}G.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return G.d(e,{a:e}),e},G.d=(o,e)=>{for(var t in e)G.o(e,t)&&!G.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},G.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e),G.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},G.nc=void 0;var oe={};G.d(oe,{fK:()=>Xt,tJ:()=>ui,Z7:()=>on,Q9:()=>gi,Lv:()=>pi,qQ:()=>tn,I4:()=>bi,O8:()=>Ae,ku:()=>Vn,ls:()=>Kn,bO:()=>Bn,yv:()=>nn,AT:()=>Jn,m_:()=>xt,KG:()=>Zn,DH:()=>en,kf:()=>oo,oY:()=>Ie,xg:()=>fi,Wg:()=>Je,J:()=>vi,AC:()=>Yn,D_:()=>Qe,jx:()=>mi,nX:()=>Qn,Nx:()=>Fn,Sd:()=>_t,kz:()=>ms,fX:()=>Gn,qA:()=>Xn,tz:()=>to,gN:()=>eo});var Hn={};G.r(Hn),G.d(Hn,{apple:()=>hr,checkmark:()=>pr,copy:()=>mr,customProvider:()=>gr,discord:()=>fr,exclamation:()=>vr,facebook:()=>_r,github:()=>yr,google:()=>br,linkedin:()=>kr,mail:()=>wr,microsoft:()=>Sr,passkey:()=>Ar,password:()=>xr,qrCodeScanner:()=>Cr,securityKey:()=>Or,spinner:()=>Pr});var C=G(616),Sa=0;function r(o,e,t,n,i,a){var s,d,c={};for(d in e)d=="ref"?s=e[d]:c[d]=e[d];var l={type:o,props:c,key:t,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Sa,__source:i,__self:a};if(typeof o=="function"&&(s=o.defaultProps))for(d in s)c[d]===void 0&&(c[d]=s[d]);return C.options.vnode&&C.options.vnode(l),l}function Yt(){return Yt=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}return o},Yt.apply(this,arguments)}var Aa=["context","children"];function xa(o){this.getChildContext=function(){return o.context};var e=o.children,t=function(n,i){if(n==null)return{};var a,s,d={},c=Object.keys(n);for(s=0;s<c.length;s++)i.indexOf(a=c[s])>=0||(d[a]=n[a]);return d}(o,Aa);return(0,C.cloneElement)(e,t)}function Ca(){var o=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(o),this._vdom=(0,C.h)(xa,Yt({},this._props,{context:o.detail.context}),zo(this,this._vdomComponent)),(this.hasAttribute("hydrate")?C.hydrate:C.render)(this._vdom,this._root)}function Ho(o){return o.replace(/-(\w)/g,function(e,t){return t?t.toUpperCase():""})}function Oa(o,e,t){if(this._vdom){var n={};n[o]=t=t??void 0,n[Ho(o)]=t,this._vdom=(0,C.cloneElement)(this._vdom,n),(0,C.render)(this._vdom,this._root)}}function Pa(){(0,C.render)(this._vdom=null,this._root)}function qo(o,e){var t=this;return(0,C.h)("slot",Yt({},o,{ref:function(n){n?(t.ref=n,t._listener||(t._listener=function(i){i.stopPropagation(),i.detail.context=e},n.addEventListener("_preact",t._listener))):t.ref.removeEventListener("_preact",t._listener)}}))}function zo(o,e){if(o.nodeType===3)return o.data;if(o.nodeType!==1)return null;var t=[],n={},i=0,a=o.attributes,s=o.childNodes;for(i=a.length;i--;)a[i].name!=="slot"&&(n[a[i].name]=a[i].value,n[Ho(a[i].name)]=a[i].value);for(i=s.length;i--;){var d=zo(s[i],null),c=s[i].slot;c?n[c]=(0,C.h)(qo,{name:c},d):t[i]=d}var l=e?(0,C.h)(qo,null,t):t;return(0,C.h)(e||o.nodeName.toLowerCase(),n,l)}var J=G(7),_=G(78);function Wo(o,e){for(var t in e)o[t]=e[t];return o}function Fo(o,e){for(var t in o)if(t!=="__source"&&!(t in e))return!0;for(var n in e)if(n!=="__source"&&o[n]!==e[n])return!0;return!1}function Ko(o){this.props=o}(Ko.prototype=new C.Component).isPureReactComponent=!0,Ko.prototype.shouldComponentUpdate=function(o,e){return Fo(this.props,o)||Fo(this.state,e)};var Vo=C.options.__b;C.options.__b=function(o){o.type&&o.type.__f&&o.ref&&(o.props.ref=o.ref,o.ref=null),Vo&&Vo(o)};var Ea=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Ia=(C.toChildArray,C.options.__e);C.options.__e=function(o,e,t,n){if(o.then){for(var i,a=e;a=a.__;)if((i=a.__c)&&i.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),i.__c(o,e)}Ia(o,e,t,n)};var Bo=C.options.unmount;function Zo(o,e,t){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(n){typeof n.__c=="function"&&n.__c()}),o.__c.__H=null),(o=Wo({},o)).__c!=null&&(o.__c.__P===t&&(o.__c.__P=e),o.__c=null),o.__k=o.__k&&o.__k.map(function(n){return Zo(n,e,t)})),o}function Jo(o,e,t){return o&&(o.__v=null,o.__k=o.__k&&o.__k.map(function(n){return Jo(n,e,t)}),o.__c&&o.__c.__P===e&&(o.__e&&t.insertBefore(o.__e,o.__d),o.__c.__e=!0,o.__c.__P=t)),o}function qn(){this.__u=0,this.t=null,this.__b=null}function Yo(o){var e=o.__.__c;return e&&e.__a&&e.__a(o)}function Qt(){this.u=null,this.o=null}C.options.unmount=function(o){var e=o.__c;e&&e.__R&&e.__R(),e&&o.__h===!0&&(o.type=null),Bo&&Bo(o)},(qn.prototype=new C.Component).__c=function(o,e){var t=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(t);var i=Yo(n.__v),a=!1,s=function(){a||(a=!0,t.__R=null,i?i(d):d())};t.__R=s;var d=function(){if(!--n.__u){if(n.state.__a){var l=n.state.__a;n.__v.__k[0]=Jo(l,l.__c.__P,l.__c.__O)}var u;for(n.setState({__a:n.__b=null});u=n.t.pop();)u.forceUpdate()}},c=e.__h===!0;n.__u++||c||n.setState({__a:n.__b=n.__v.__k[0]}),o.then(s,s)},qn.prototype.componentWillUnmount=function(){this.t=[]},qn.prototype.render=function(o,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=Zo(this.__b,t,n.__O=n.__P)}this.__b=null}var i=e.__a&&(0,C.createElement)(C.Fragment,null,o.fallback);return i&&(i.__h=null),[(0,C.createElement)(C.Fragment,null,e.__a?null:o.children),i]};var Qo=function(o,e,t){if(++t[1]===t[0]&&o.o.delete(e),o.props.revealOrder&&(o.props.revealOrder[0]!=="t"||!o.o.size))for(t=o.u;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;o.u=t=t[2]}};(Qt.prototype=new C.Component).__a=function(o){var e=this,t=Yo(e.__v),n=e.o.get(o);return n[0]++,function(i){var a=function(){e.props.revealOrder?(n.push(i),Qo(e,o,n)):i()};t?t(a):a()}},Qt.prototype.render=function(o){this.u=null,this.o=new Map;var e=(0,C.toChildArray)(o.children);o.revealOrder&&o.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return o.children},Qt.prototype.componentDidUpdate=Qt.prototype.componentDidMount=function(){var o=this;this.o.forEach(function(e,t){Qo(o,t,e)})};var Da=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,ja=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,La=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,$a=/[A-Z0-9]/g,Ta=typeof document<"u",Ua=function(o){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(o)};C.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(o){Object.defineProperty(C.Component.prototype,o,{configurable:!0,get:function(){return this["UNSAFE_"+o]},set:function(e){Object.defineProperty(this,o,{configurable:!0,writable:!0,value:e})}})});var Go=C.options.event;function Na(){}function Ma(){return this.cancelBubble}function Ra(){return this.defaultPrevented}C.options.event=function(o){return Go&&(o=Go(o)),o.persist=Na,o.isPropagationStopped=Ma,o.isDefaultPrevented=Ra,o.nativeEvent=o};var Xo={configurable:!0,get:function(){return this.class}},ei=C.options.vnode;C.options.vnode=function(o){var e=o.type,t=o.props,n=t;if(typeof e=="string"){for(var i in n={},t){var a=t[i];if(!(i==="value"&&"defaultValue"in t&&a==null||Ta&&i==="children"&&e==="noscript")){var s=i.toLowerCase();i==="defaultValue"&&"value"in t&&t.value==null?i="value":i==="download"&&a===!0?a="":s==="ondoubleclick"?i="ondblclick":s!=="onchange"||e!=="input"&&e!=="textarea"||Ua(t.type)?s==="onfocus"?i="onfocusin":s==="onblur"?i="onfocusout":La.test(i)?i=s:e.indexOf("-")===-1&&ja.test(i)?i=i.replace($a,"-$&").toLowerCase():a===null&&(a=void 0):s=i="oninput",s==="oninput"&&n[i=s]&&(i="oninputCapture"),n[i]=a}}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=(0,C.toChildArray)(t.children).forEach(function(d){d.props.selected=n.value.indexOf(d.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=(0,C.toChildArray)(t.children).forEach(function(d){d.props.selected=n.multiple?n.defaultValue.indexOf(d.props.value)!=-1:n.defaultValue==d.props.value})),o.props=n,t.class!=t.className&&(Xo.enumerable="className"in t,t.className!=null&&(n.class=t.className),Object.defineProperty(n,"className",Xo))}o.$$typeof=Da,ei&&ei(o)};var ti=C.options.__r;C.options.__r=function(o){ti&&ti(o),o.__c};var ni=C.options.diffed;function oi(o){const e="==".slice(0,(4-o.length%4)%4),t=o.replace(/-/g,"+").replace(/_/g,"/")+e,n=atob(t),i=new ArrayBuffer(n.length),a=new Uint8Array(i);for(let s=0;s<n.length;s++)a[s]=n.charCodeAt(s);return i}function ii(o){const e=new Uint8Array(o);let t="";for(const n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}C.options.diffed=function(o){ni&&ni(o);var e=o.props,t=o.__e;t!=null&&o.type==="textarea"&&"value"in e&&e.value!==t.value&&(t.value=e.value==null?"":e.value)},C.Fragment,_.useLayoutEffect,_.useState,_.useId,_.useReducer,_.useEffect,_.useLayoutEffect,_.useRef,_.useImperativeHandle,_.useMemo,_.useCallback,_.useContext,_.useDebugValue,C.createElement,C.createContext,C.createRef,C.Fragment,C.Component;var ue="copy",Be="convert";function ft(o,e,t){if(e===ue)return t;if(e===Be)return o(t);if(e instanceof Array)return t.map(n=>ft(o,e[0],n));if(e instanceof Object){const n={};for(const[i,a]of Object.entries(e)){if(a.derive){const s=a.derive(t);s!==void 0&&(t[i]=s)}if(i in t)t[i]!=null?n[i]=ft(o,a.schema,t[i]):n[i]=null;else if(a.required)throw new Error(`Missing key: ${i}`)}return n}}function zn(o,e){return{required:!0,schema:o,derive:e}}function fe(o){return{required:!0,schema:o}}function Se(o){return{required:!1,schema:o}}var ai={type:fe(ue),id:fe(Be),transports:Se(ue)},ri={appid:Se(ue),appidExclude:Se(ue),credProps:Se(ue)},si={appid:Se(ue),appidExclude:Se(ue),credProps:Se(ue)},Ha={publicKey:fe({rp:fe(ue),user:fe({id:fe(Be),name:fe(ue),displayName:fe(ue)}),challenge:fe(Be),pubKeyCredParams:fe(ue),timeout:Se(ue),excludeCredentials:Se([ai]),authenticatorSelection:Se(ue),attestation:Se(ue),extensions:Se(ri)}),signal:Se(ue)},qa={type:fe(ue),id:fe(ue),rawId:fe(Be),authenticatorAttachment:Se(ue),response:fe({clientDataJSON:fe(Be),attestationObject:fe(Be),transports:zn(ue,o=>{var e;return((e=o.getTransports)==null?void 0:e.call(o))||[]})}),clientExtensionResults:zn(si,o=>o.getClientExtensionResults())},za={mediation:Se(ue),publicKey:fe({challenge:fe(Be),timeout:Se(ue),rpId:Se(ue),allowCredentials:Se([ai]),userVerification:Se(ue),extensions:Se(ri)}),signal:Se(ue)},Wa={type:fe(ue),id:fe(ue),rawId:fe(Be),authenticatorAttachment:Se(ue),response:fe({clientDataJSON:fe(Be),authenticatorData:fe(Be),signature:fe(Be),userHandle:fe(Be)}),clientExtensionResults:zn(si,o=>o.getClientExtensionResults())};async function li(o){const e=await navigator.credentials.create(function(t){return ft(oi,Ha,t)}(o));return function(t){return ft(ii,qa,t)}(e)}async function ci(o){const e=await navigator.credentials.get(function(t){return ft(oi,za,t)}(o));return function(t){return ft(ii,Wa,t)}(e)}function Gt(){return Gt=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}return o},Gt.apply(this,arguments)}var Fa=0;function di(o){return"__private_"+Fa+++"_"+o}function Wn(o,e){if(!Object.prototype.hasOwnProperty.call(o,e))throw new TypeError("attempted to use private field on non-instance");return o}class Ae extends Error{constructor(e,t,n){super(e),this.code=void 0,this.cause=void 0,this.code=t,this.cause=n,Object.setPrototypeOf(this,Ae.prototype)}}class Ie extends Ae{constructor(e){super("Technical error","somethingWentWrong",e),Object.setPrototypeOf(this,Ie.prototype)}}class Xt extends Ae{constructor(e,t){super("Conflict error","conflict",t),Object.setPrototypeOf(this,Xt.prototype)}}class en extends Ae{constructor(e){super("Request timed out error","requestTimeout",e),Object.setPrototypeOf(this,en.prototype)}}class Fn extends Ae{constructor(e){super("Request cancelled error","requestCancelled",e),Object.setPrototypeOf(this,Fn.prototype)}}class Kn extends Ae{constructor(e){super("Invalid password error","invalidPassword",e),Object.setPrototypeOf(this,Kn.prototype)}}class Vn extends Ae{constructor(e){super("Invalid Passcode error","invalidPasscode",e),Object.setPrototypeOf(this,Vn.prototype)}}class Bn extends Ae{constructor(e){super("Invalid WebAuthn credential error","invalidWebauthnCredential",e),Object.setPrototypeOf(this,Bn.prototype)}}class Zn extends Ae{constructor(e){super("Passcode expired error","passcodeExpired",e),Object.setPrototypeOf(this,Zn.prototype)}}class Jn extends Ae{constructor(e){super("Maximum number of Passcode attempts reached error","passcodeAttemptsReached",e),Object.setPrototypeOf(this,Jn.prototype)}}class xt extends Ae{constructor(e){super("Not found error","notFound",e),Object.setPrototypeOf(this,xt.prototype)}}class Yn extends Ae{constructor(e,t){super("Too many requests error","tooManyRequests",t),this.retryAfter=void 0,this.retryAfter=e,Object.setPrototypeOf(this,Yn.prototype)}}class Qe extends Ae{constructor(e){super("Unauthorized error","unauthorized",e),Object.setPrototypeOf(this,Qe.prototype)}}class tn extends Ae{constructor(e){super("Forbidden error","forbidden",e),Object.setPrototypeOf(this,tn.prototype)}}class Qn extends Ae{constructor(e){super("User verification error","userVerification",e),Object.setPrototypeOf(this,Qn.prototype)}}class nn extends Ae{constructor(e){super("Maximum number of email addresses reached error","maxNumOfEmailAddressesReached",e),Object.setPrototypeOf(this,nn.prototype)}}class on extends Ae{constructor(e){super("The email address already exists","emailAddressAlreadyExistsError",e),Object.setPrototypeOf(this,on.prototype)}}class Je extends Ae{constructor(e,t){super("An error occurred during third party sign up/sign in",e,t),Object.setPrototypeOf(this,Je.prototype)}}const Gn="hanko-session-created",Xn="hanko-session-expired",eo="hanko-user-logged-out",to="hanko-user-deleted";class ui extends CustomEvent{constructor(e,t){super(e,{detail:t})}}class hi{constructor(){this._dispatchEvent=document.dispatchEvent.bind(document)}dispatch(e,t){this._dispatchEvent(new ui(e,t))}dispatchSessionCreatedEvent(e){this.dispatch(Gn,e)}dispatchSessionExpiredEvent(){this.dispatch(Xn,null)}dispatchUserLoggedOutEvent(){this.dispatch(eo,null)}dispatchUserDeletedEvent(){this.dispatch(to,null)}}function an(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)o[n]=t[n]}return o}var no=function o(e,t){function n(i,a,s){if(typeof document<"u"){typeof(s=an({},t,s)).expires=="number"&&(s.expires=new Date(Date.now()+864e5*s.expires)),s.expires&&(s.expires=s.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var d="";for(var c in s)s[c]&&(d+="; "+c,s[c]!==!0&&(d+="="+s[c].split(";")[0]));return document.cookie=i+"="+e.write(a,i)+d}}return Object.create({set:n,get:function(i){if(typeof document<"u"&&(!arguments.length||i)){for(var a=document.cookie?document.cookie.split("; "):[],s={},d=0;d<a.length;d++){var c=a[d].split("="),l=c.slice(1).join("=");try{var u=decodeURIComponent(c[0]);if(s[u]=e.read(l,u),i===u)break}catch{}}return i?s[i]:s}},remove:function(i,a){n(i,"",an({},a,{expires:-1}))},withAttributes:function(i){return o(this.converter,an({},this.attributes,i))},withConverter:function(i){return o(an({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}({read:function(o){return o[0]==='"'&&(o=o.slice(1,-1)),o.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(o){return encodeURIComponent(o).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});class Ka{constructor(e){var t;this.authCookieName=void 0,this.authCookieDomain=void 0,this.authCookieSameSite=void 0,this.authCookieName=e.cookieName,this.authCookieDomain=e.cookieDomain,this.authCookieSameSite=(t=e.cookieSameSite)!=null?t:"lax"}getAuthCookie(){return no.get(this.authCookieName)}setAuthCookie(e,t){const n={secure:!0,sameSite:this.authCookieSameSite};this.authCookieDomain!==void 0&&(n.domain=this.authCookieDomain);const i=Gt({},n,t);if((i.sameSite==="none"||i.sameSite==="None")&&i.secure===!1)throw new Ie(new Error("Secure attribute must be set when SameSite=None"));no.set(this.authCookieName,e,i)}removeAuthCookie(){no.remove(this.authCookieName)}}class Va{constructor(e){this.keyName=void 0,this.keyName=e.keyName}getSessionToken(){return sessionStorage.getItem(this.keyName)}setSessionToken(e){sessionStorage.setItem(this.keyName,e)}removeSessionToken(){sessionStorage.removeItem(this.keyName)}}class Ba{constructor(e){this._xhr=void 0,this._xhr=e}getResponseHeader(e){return this._xhr.getResponseHeader(e)}}class Za{constructor(e){this.headers=void 0,this.ok=void 0,this.status=void 0,this.statusText=void 0,this.url=void 0,this._decodedJSON=void 0,this.xhr=void 0,this.headers=new Ba(e),this.ok=e.status>=200&&e.status<=299,this.status=e.status,this.statusText=e.statusText,this.url=e.responseURL,this.xhr=e}json(){return this._decodedJSON||(this._decodedJSON=JSON.parse(this.xhr.response)),this._decodedJSON}parseNumericHeader(e){const t=parseInt(this.headers.getResponseHeader(e),10);return isNaN(t)?0:t}}class Ja{constructor(e,t){this.timeout=void 0,this.api=void 0,this.dispatcher=void 0,this.cookie=void 0,this.sessionTokenStorage=void 0,this.lang=void 0,this.sessionTokenLocation=void 0,this.api=e,this.timeout=t.timeout,this.dispatcher=new hi,this.cookie=new Ka(Gt({},t)),this.sessionTokenStorage=new Va({keyName:t.cookieName}),this.lang=t.lang,this.sessionTokenLocation=t.sessionTokenLocation}_fetch(e,t,n=new XMLHttpRequest){const i=this,a=this.api+e,s=this.timeout,d=this.getAuthToken(),c=this.lang;return new Promise(function(l,u){n.open(t.method,a,!0),n.setRequestHeader("Accept","application/json"),n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("X-Language",c),d&&n.setRequestHeader("Authorization",`Bearer ${d}`),n.timeout=s,n.withCredentials=!0,n.onload=()=>{i.processHeaders(n),l(new Za(n))},n.onerror=()=>{u(new Ie)},n.ontimeout=()=>{u(new en)},n.send(t.body?t.body.toString():null)})}_fetch_blocking(e,t,n=new XMLHttpRequest){const i=this.api+e,a=this.getAuthToken();return n.open(t.method,i,!1),n.setRequestHeader("Accept","application/json"),n.setRequestHeader("Content-Type","application/json"),a&&n.setRequestHeader("Authorization",`Bearer ${a}`),n.withCredentials=!0,n.send(t.body?t.body.toString():null),n.responseText}processHeaders(e){let t="",n=0,i="";if(e.getAllResponseHeaders().split(`\r
|
|
45
|
-
`).forEach(a=>{const s=a.toLowerCase();s.startsWith("x-auth-token")?t=e.getResponseHeader("X-Auth-Token"):s.startsWith("x-session-lifetime")?n=parseInt(e.getResponseHeader("X-Session-Lifetime"),10):s.startsWith("x-session-retention")&&(i=e.getResponseHeader("X-Session-Retention"))}),t){const a=new RegExp("^https://"),s=!!this.api.match(a)&&!!window.location.href.match(a),d=i==="session"?void 0:new Date(new Date().getTime()+1e3*n);this.setAuthToken(t,{secure:s,expires:d})}}get(e){return this._fetch(e,{method:"GET"})}post(e,t){return this._fetch(e,{method:"POST",body:JSON.stringify(t)})}put(e,t){return this._fetch(e,{method:"PUT",body:JSON.stringify(t)})}patch(e,t){return this._fetch(e,{method:"PATCH",body:JSON.stringify(t)})}delete(e){return this._fetch(e,{method:"DELETE"})}getAuthToken(){let e="";switch(this.sessionTokenLocation){case"cookie":e=this.cookie.getAuthCookie();break;case"sessionStorage":e=this.sessionTokenStorage.getSessionToken()}return e}setAuthToken(e,t){switch(this.sessionTokenLocation){case"cookie":return this.cookie.setAuthCookie(e,t);case"sessionStorage":return this.sessionTokenStorage.setSessionToken(e)}}}class st{constructor(e,t){this.client=void 0,this.client=new Ja(e,t)}}class pi extends st{getDomain(e){if(!e)throw new Je("somethingWentWrong",new Error("email missing from request"));const t=e.split("@");if(t.length!==2)throw new Je("somethingWentWrong",new Error("email is not in a valid email format."));const n=t[1].trim();if(n==="")throw new Je("somethingWentWrong",new Error("email is not in a valid email format."));return n}async hasProvider(e){const t=this.getDomain(e);return this.client.get(`/saml/provider?domain=${t}`).then(n=>{if(n.status==404)throw new xt(new Error("provider not found"));if(!n.ok)throw new Ie(new Error("unable to fetch provider"));return n.ok})}auth(e,t){const n=new URL("/saml/auth",this.client.api),i=this.getDomain(e);if(!t)throw new Je("somethingWentWrong",new Error("redirectTo missing from request"));n.searchParams.append("domain",i),n.searchParams.append("redirect_to",t),window.location.assign(n.href)}getError(){const e=new URLSearchParams(window.location.search),t=e.get("error"),n=e.get("error_description");if(t){let i;switch(t){case"access_denied":i="enterpriseAccessDenied";break;case"user_conflict":i="emailAddressAlreadyExistsError";break;case"multiple_accounts":i="enterpriseMultipleAccounts";break;case"unverified_email":i="enterpriseUnverifiedEmail";break;case"email_maxnum":i="maxNumOfEmailAddressesReached";break;default:i="somethingWentWrong"}return new Je(i,new Error(n))}}}class mi extends st{async getInfo(e){const t=await this.client.post("/user",{email:e});if(t.status===404)throw new xt;if(!t.ok)throw new Ie;return t.json()}async create(e){const t=await this.client.post("/users",{email:e});if(t.status===409)throw new Xt;if(t.status===403)throw new tn;if(!t.ok)throw new Ie;return t.json()}async getCurrent(){const e=await this.client.get("/me");if(e.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!e.ok)throw new Ie;const t=e.json(),n=await this.client.get(`/users/${t.id}`);if(n.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!n.ok)throw new Ie;return n.json()}async delete(){const e=await this.client.delete("/user");if(e.ok)return this.client.sessionTokenStorage.removeSessionToken(),this.client.cookie.removeAuthCookie(),void this.client.dispatcher.dispatchUserDeletedEvent();throw e.status===401?(this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe):new Ie}async logout(){const e=await this.client.post("/logout");if(this.client.sessionTokenStorage.removeSessionToken(),this.client.cookie.removeAuthCookie(),this.client.dispatcher.dispatchUserLoggedOutEvent(),e.status!==401&&!e.ok)throw new Ie}}class gi extends st{async list(){const e=await this.client.get("/emails");if(e.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!e.ok)throw new Ie;return e.json()}async create(e){const t=await this.client.post("/emails",{address:e});if(t.ok)return t.json();throw t.status===400?new on:t.status===401?(this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe):t.status===409?new nn:new Ie}async setPrimaryEmail(e){const t=await this.client.post(`/emails/${e}/set_primary`);if(t.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!t.ok)throw new Ie}async delete(e){const t=await this.client.delete(`/emails/${e}`);if(t.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!t.ok)throw new Ie}}class fi extends st{async auth(e,t){const n=new URL("/thirdparty/auth",this.client.api);if(!e)throw new Je("somethingWentWrong",new Error("provider missing from request"));if(!t)throw new Je("somethingWentWrong",new Error("redirectTo missing from request"));n.searchParams.append("provider",e),n.searchParams.append("redirect_to",t),window.location.assign(n.href)}getError(){const e=new URLSearchParams(window.location.search),t=e.get("error"),n=e.get("error_description");if(t){let i="";switch(t){case"access_denied":i="thirdPartyAccessDenied";break;case"user_conflict":i="emailAddressAlreadyExistsError";break;case"multiple_accounts":i="thirdPartyMultipleAccounts";break;case"unverified_email":i="thirdPartyUnverifiedEmail";break;case"email_maxnum":i="maxNumOfEmailAddressesReached";break;case"signup_disabled":i="signupDisabled";break;default:i="somethingWentWrong"}return new Je(i,new Error(n))}}}class vi extends st{async validate(){const e=new URLSearchParams(window.location.search).get("hanko_token");if(!e)return;window.history.replaceState(null,null,window.location.pathname);const t=await this.client.post("/token",{value:e});if(!t.ok)throw new Ie;return t.json()}}class Ya{static throttle(e,t,n={}){const{leading:i=!0,trailing:a=!0}=n;let s,d,c,l=0;const u=()=>{l=i===!1?0:Date.now(),c=null,e.apply(s,d)};return function(...h){const f=Date.now();l||i!==!1||(l=f);const m=t-(f-l);s=this,d=h,m<=0||m>t?(c&&(window.clearTimeout(c),c=null),l=f,e.apply(s,d)):c||a===!1||(c=window.setTimeout(u,m))}}}class rn{constructor(){this.throttleLimit=1e3,this._addEventListener=document.addEventListener.bind(document),this._removeEventListener=document.removeEventListener.bind(document),this._throttle=Ya.throttle}wrapCallback(e,t){const n=i=>{e(i.detail)};return t?this._throttle(n,this.throttleLimit,{leading:!0,trailing:!1}):n}addEventListenerWithType({type:e,callback:t,once:n=!1,throttle:i=!1}){const a=this.wrapCallback(t,i);return this._addEventListener(e,a,{once:n}),()=>this._removeEventListener(e,a)}static mapAddEventListenerParams(e,{once:t,callback:n},i){return{type:e,callback:n,once:t,throttle:i}}addEventListener(e,t,n){return this.addEventListenerWithType(rn.mapAddEventListenerParams(e,t,n))}onSessionCreated(e,t){return this.addEventListener(Gn,{callback:e,once:t},!0)}onSessionExpired(e,t){return this.addEventListener(Xn,{callback:e,once:t},!0)}onUserLoggedOut(e,t){return this.addEventListener(eo,{callback:e,once:t})}onUserDeleted(e,t){return this.addEventListener(to,{callback:e,once:t})}}class oo extends st{async validate(){const e=await this.client.get("/sessions/validate");if(!e.ok)throw new Ie;return await e.json()}}class Qa extends st{isValid(){let e;try{const t=this.client._fetch_blocking("/sessions/validate",{method:"GET"});e=JSON.parse(t)}catch(t){throw new Ie(t)}return!!e&&e.is_valid}}class Ga{constructor(e){this.storageKey=void 0,this.defaultState={expiration:0,lastCheck:0},this.storageKey=e}load(){const e=window.localStorage.getItem(this.storageKey);return e==null?this.defaultState:JSON.parse(e)}save(e){window.localStorage.setItem(this.storageKey,JSON.stringify(e||this.defaultState))}}class Xa{constructor(e,t){this.onActivityCallback=void 0,this.onInactivityCallback=void 0,this.handleFocus=()=>{this.onActivityCallback()},this.handleBlur=()=>{this.onInactivityCallback()},this.handleVisibilityChange=()=>{document.visibilityState==="visible"?this.onActivityCallback():this.onInactivityCallback()},this.hasFocus=()=>document.hasFocus(),this.onActivityCallback=e,this.onInactivityCallback=t,window.addEventListener("focus",this.handleFocus),window.addEventListener("blur",this.handleBlur),document.addEventListener("visibilitychange",this.handleVisibilityChange)}}class er{constructor(e,t,n){this.intervalID=null,this.timeoutID=null,this.checkInterval=void 0,this.checkSession=void 0,this.onSessionExpired=void 0,this.checkInterval=e,this.checkSession=t,this.onSessionExpired=n}scheduleSessionExpiry(e){var t=this;this.stop(),this.timeoutID=setTimeout(async function(){t.stop(),t.onSessionExpired()},e)}start(e=0,t=0){var n=this;const i=this.calcTimeToNextCheck(e);this.sessionExpiresSoon(t)?this.scheduleSessionExpiry(i):this.timeoutID=setTimeout(async function(){let a=await n.checkSession();if(a.is_valid){if(n.sessionExpiresSoon(a.expiration))return void n.scheduleSessionExpiry(a.expiration-Date.now());n.intervalID=setInterval(async function(){a=await n.checkSession(),a.is_valid?n.sessionExpiresSoon(a.expiration)&&n.scheduleSessionExpiry(a.expiration-Date.now()):n.stop()},n.checkInterval)}else n.stop()},i)}stop(){this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=null),this.intervalID&&(clearInterval(this.intervalID),this.intervalID=null)}isRunning(){return this.timeoutID!==null||this.intervalID!==null}sessionExpiresSoon(e){return e>0&&e-Date.now()<=this.checkInterval}calcTimeToNextCheck(e){const t=Date.now()-e;return this.checkInterval>=t?this.checkInterval-t%this.checkInterval:0}}class tr{constructor(e="hanko_session",t,n,i){this.channel=void 0,this.onSessionExpired=void 0,this.onSessionCreated=void 0,this.onLeadershipRequested=void 0,this.handleMessage=a=>{const s=a.data;switch(s.action){case"sessionExpired":this.onSessionExpired(s);break;case"sessionCreated":this.onSessionCreated(s);break;case"requestLeadership":this.onLeadershipRequested(s)}},this.onSessionExpired=t,this.onSessionCreated=n,this.onLeadershipRequested=i,this.channel=new BroadcastChannel(e),this.channel.onmessage=this.handleMessage}post(e){this.channel.postMessage(e)}}class nr extends hi{constructor(e,t){super(),this.listener=new rn,this.checkInterval=3e4,this.client=void 0,this.sessionState=void 0,this.windowActivityManager=void 0,this.scheduler=void 0,this.sessionChannel=void 0,this.isLoggedIn=void 0,this.client=new oo(e,t),this.checkInterval=t.sessionCheckInterval,this.sessionState=new Ga(`${t.cookieName}_session_state`),this.sessionChannel=new tr(this.getSessionCheckChannelName(t.sessionTokenLocation,t.sessionCheckChannelName),()=>this.onChannelSessionExpired(),a=>this.onChannelSessionCreated(a),()=>this.onChannelLeadershipRequested()),this.scheduler=new er(this.checkInterval,()=>this.checkSession(),()=>this.onSessionExpired()),this.windowActivityManager=new Xa(()=>this.startSessionCheck(),()=>this.scheduler.stop());const n=Date.now(),{expiration:i}=this.sessionState.load();this.isLoggedIn=n<i,this.initializeEventListeners(),this.startSessionCheck()}initializeEventListeners(){this.listener.onSessionCreated(e=>{const{claims:t}=e,n=Date.parse(t.expiration),i=Date.now();this.isLoggedIn=!0,this.sessionState.save({expiration:n,lastCheck:i}),this.sessionChannel.post({action:"sessionCreated",claims:t}),this.startSessionCheck()}),this.listener.onUserLoggedOut(()=>{this.isLoggedIn=!1,this.sessionChannel.post({action:"sessionExpired"}),this.sessionState.save(null),this.scheduler.stop()}),window.addEventListener("beforeunload",()=>this.scheduler.stop())}startSessionCheck(){if(!this.windowActivityManager.hasFocus()||(this.sessionChannel.post({action:"requestLeadership"}),this.scheduler.isRunning()))return;const{lastCheck:e,expiration:t}=this.sessionState.load();this.isLoggedIn&&this.scheduler.start(e,t)}async checkSession(){const e=Date.now(),{is_valid:t,claims:n,expiration_time:i}=await this.client.validate(),a=i?Date.parse(i):0;return!t&&this.isLoggedIn&&this.dispatchSessionExpiredEvent(),t?(this.isLoggedIn=!0,this.sessionState.save({lastCheck:e,expiration:a})):(this.isLoggedIn=!1,this.sessionState.save(null),this.sessionChannel.post({action:"sessionExpired"})),{is_valid:t,claims:n,expiration:a}}onSessionExpired(){this.isLoggedIn&&(this.isLoggedIn=!1,this.sessionState.save(null),this.sessionChannel.post({action:"sessionExpired"}),this.dispatchSessionExpiredEvent())}onChannelSessionExpired(){this.isLoggedIn&&(this.isLoggedIn=!1,this.dispatchSessionExpiredEvent())}onChannelSessionCreated(e){const{claims:t}=e,n=Date.now(),i=Date.parse(t.expiration)-n;this.isLoggedIn=!0,this.dispatchSessionCreatedEvent({claims:t,expirationSeconds:i})}onChannelLeadershipRequested(){this.windowActivityManager.hasFocus()||this.scheduler.stop()}getSessionCheckChannelName(e,t){if(e=="cookie")return t;let n=sessionStorage.getItem("sessionCheckChannelName");return n!=null&&n!==""||(n=`${t}-${Math.floor(100*Math.random())+1}`,sessionStorage.setItem("sessionCheckChannelName",n)),n}}var vt,Ct=di("actionDefinitions"),io=di("createActionsProxy");class ao{toJSON(){return{name:this.name,payload:this.payload,error:this.error,status:this.status,csrf_token:this.csrf_token,actions:Wn(this,Ct)[Ct]}}constructor({name:e,payload:t,error:n,status:i,actions:a,csrf_token:s},d){Object.defineProperty(this,io,{value:or}),this.name=void 0,this.payload=void 0,this.error=void 0,this.status=void 0,this.csrf_token=void 0,Object.defineProperty(this,Ct,{writable:!0,value:void 0}),this.actions=void 0,this.fetchNextState=void 0,this.name=e,this.payload=t,this.error=n,this.status=i,this.csrf_token=s,Wn(this,Ct)[Ct]=a,this.actions=Wn(this,io)[io](a,s),this.fetchNextState=d}runAction(e,t){const n={};if("inputs"in e&&typeof e.inputs=="object"&&e.inputs!==null){const i=e.inputs;for(const a in e.inputs){const s=i[a];s&&"value"in s&&(n[a]=s.value)}}return this.fetchNextState(e.href,{input_data:n,csrf_token:t})}validateAction(e){if("inputs"in e)for(const t in e.inputs){let i=function(s,d,c,l){throw new _i({reason:s,inputName:t,wanted:c,actual:l,message:d})};const n=e.inputs[t],a=n.value;n.required&&!a&&i(vt.Required,"is required"),(n.min_length!=null||n.max_length!=null)&&("length"in a||i(vt.InvalidInputDefinition,'has min/max length requirement, but is missing "length" property',"string",typeof a),n.min_length!=null&&a<n.min_length&&i(vt.MinLength,`too short (min ${n.min_length})`,n.min_length,a.length),n.max_length!=null&&a>n.max_length&&i(vt.MaxLength,`too long (max ${n.max_length})`,n.max_length,a.length))}}}function or(o,e){const t=i=>this.runAction(i,e),n=i=>this.validateAction(i);return new Proxy(o,{get(i,a){if(typeof a=="symbol")return i[a];const s=i[a];return s==null?null:d=>{const c=Object.assign(JSON.parse(JSON.stringify(s)),{validate:()=>(n(c),c),tryValidate(){try{n(c)}catch(l){if(l instanceof _i)return l;throw l}},run:()=>t(c)});if(c!==null&&typeof c=="object"&&"inputs"in c)for(const l in d){const u=c.inputs;u[l]||(u[l]={name:l,type:""}),u[l].value=d[l]}return c}}})}(function(o){o[o.InvalidInputDefinition=0]="InvalidInputDefinition",o[o.MinLength=1]="MinLength",o[o.MaxLength=2]="MaxLength",o[o.Required=3]="Required"})(vt||(vt={}));class _i extends Error{constructor(e){super(`"${e.inputName}" ${e.message}`),this.reason=void 0,this.inputName=void 0,this.wanted=void 0,this.actual=void 0,this.name="ValidationError",this.reason=e.reason,this.inputName=e.inputName,this.wanted=e.wanted,this.actual=e.actual}}function yi(o){return typeof o=="object"&&o!==null&&"status"in o&&"error"in o&&"name"in o&&!!o.name&&!!o.status}class ir extends st{constructor(...e){var t;super(...e),t=this,this.run=async function(n,i){try{if(!yi(n))throw new ar(n);const s=i[n.name];if(!s)throw new ro(n);let d=await s(n);if(typeof(a=d)=="object"&&a!==null&&"href"in a&&"inputs"in a&&(d=await d.run()),yi(d))return t.run(d,i)}catch(s){if(typeof i.onError=="function")return i.onError(s)}var a}}async init(e,t){var n=this;const i=await async function a(s,d){try{const c=await n.client.post(s,d);return new ao(c.json(),a)}catch(c){t.onError==null||t.onError(c)}}(e);await this.run(i,t)}async fromString(e,t){var n=this;const i=new ao(JSON.parse(e),async function a(s,d){try{const c=await n.client.post(s,d);return new ao(c.json(),a)}catch(c){t.onError==null||t.onError(c)}});await this.run(i,t)}}class ro extends Ae{constructor(e){super("No handler found for state: "+(typeof e.name=="string"?`"${e.name}"`:`(${typeof e.name})`),"handlerNotFoundError"),this.state=void 0,this.state=e,Object.setPrototypeOf(this,ro.prototype)}}class ar extends Error{constructor(e){super("Invalid state: "+(typeof e.name=="string"?`"${e.name}"`:`(${typeof e.name})`)),this.state=void 0,this.state=e}}class bi extends rn{constructor(e,t){super(),this.api=void 0,this.user=void 0,this.email=void 0,this.thirdParty=void 0,this.enterprise=void 0,this.token=void 0,this.sessionClient=void 0,this.session=void 0,this.relay=void 0,this.flow=void 0;const n={timeout:13e3,cookieName:"hanko",localStorageKey:"hanko",sessionCheckInterval:3e4,sessionCheckChannelName:"hanko-session-check",sessionTokenLocation:"cookie"};(t==null?void 0:t.cookieName)!==void 0&&(n.cookieName=t.cookieName),(t==null?void 0:t.timeout)!==void 0&&(n.timeout=t.timeout),(t==null?void 0:t.localStorageKey)!==void 0&&(n.localStorageKey=t.localStorageKey),(t==null?void 0:t.cookieDomain)!==void 0&&(n.cookieDomain=t.cookieDomain),(t==null?void 0:t.cookieSameSite)!==void 0&&(n.cookieSameSite=t.cookieSameSite),(t==null?void 0:t.lang)!==void 0&&(n.lang=t.lang),(t==null?void 0:t.sessionCheckInterval)!==void 0&&(n.sessionCheckInterval=t.sessionCheckInterval<3e3?3e3:t.sessionCheckInterval),(t==null?void 0:t.sessionCheckChannelName)!==void 0&&(n.sessionCheckChannelName=t.sessionCheckChannelName),(t==null?void 0:t.sessionTokenLocation)!==void 0&&(n.sessionTokenLocation=t.sessionTokenLocation),this.api=e,this.user=new mi(e,n),this.email=new gi(e,n),this.thirdParty=new fi(e,n),this.enterprise=new pi(e,n),this.token=new vi(e,n),this.sessionClient=new oo(e,n),this.session=new Qa(e,n),this.relay=new nr(e,n),this.flow=new ir(e,n)}setLang(e){this.flow.client.lang=e}}class _t{static supported(){return!!(navigator.credentials&&navigator.credentials.create&&navigator.credentials.get&&window.PublicKeyCredential)}static async isPlatformAuthenticatorAvailable(){return!(!this.supported()||!window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)&&window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}static async isSecurityKeySupported(){return window.PublicKeyCredential!==void 0&&window.PublicKeyCredential.isExternalCTAP2SecurityKeySupported?window.PublicKeyCredential.isExternalCTAP2SecurityKeySupported():this.supported()}static async isConditionalMediationAvailable(){return!(!window.PublicKeyCredential||!window.PublicKeyCredential.isConditionalMediationAvailable)&&window.PublicKeyCredential.isConditionalMediationAvailable()}}var rr=G(292),Ge=G.n(rr),sr=G(360),Xe=G.n(sr),lr=G(884),et=G.n(lr),cr=G(88),tt=G.n(cr),sn=G(914),Ot={};Ot.setAttributes=et(),Ot.insert=o=>{window._hankoStyle=o},Ot.domAPI=Xe(),Ot.insertStyleElement=tt(),Ge()(sn.A,Ot);const Pt=sn.A&&sn.A.locals?sn.A.locals:void 0,dr=function(o){function e(t){var n=Wo({},t);return delete n.ref,o(n,t.ref||null)}return e.$$typeof=Ea,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(o.displayName||o.name)+")",e}((o,e)=>{const{lang:t,hanko:n,setHanko:i}=(0,_.useContext)(pe),{setLang:a}=(0,_.useContext)(J.TranslateContext);return(0,_.useEffect)(()=>{a(t.replace(/[-]/,"")),i(s=>(s.setLang(t),s))},[n,t,i,a]),r("section",Object.assign({part:"container",className:Pt.container,ref:e},{children:o.children}))});var ln=G(697),Et={};Et.setAttributes=et(),Et.insert=o=>{window._hankoStyle=o},Et.domAPI=Xe(),Et.insertStyleElement=tt(),Ge()(ln.A,Et);const L=ln.A&&ln.A.locals?ln.A.locals:void 0;var ur=G(633),Y=G.n(ur);const hr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-apple",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"20.5 16 15 19",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M28.2226562,20.3846154 C29.0546875,20.3846154 30.0976562,19.8048315 30.71875,19.0317864 C31.28125,18.3312142 31.6914062,17.352829 31.6914062,16.3744437 C31.6914062,16.2415766 31.6796875,16.1087095 31.65625,16 C30.7304687,16.0362365 29.6171875,16.640178 28.9492187,17.4494596 C28.421875,18.06548 27.9414062,19.0317864 27.9414062,20.0222505 C27.9414062,20.1671964 27.9648438,20.3121424 27.9765625,20.3604577 C28.0351562,20.3725366 28.1289062,20.3846154 28.2226562,20.3846154 Z M25.2929688,35 C26.4296875,35 26.9335938,34.214876 28.3515625,34.214876 C29.7929688,34.214876 30.109375,34.9758423 31.375,34.9758423 C32.6171875,34.9758423 33.4492188,33.792117 34.234375,32.6325493 C35.1132812,31.3038779 35.4765625,29.9993643 35.5,29.9389701 C35.4179688,29.9148125 33.0390625,28.9122695 33.0390625,26.0979021 C33.0390625,23.6579784 34.9140625,22.5588048 35.0195312,22.474253 C33.7773438,20.6382708 31.890625,20.5899555 31.375,20.5899555 C29.9804688,20.5899555 28.84375,21.4596313 28.1289062,21.4596313 C27.3554688,21.4596313 26.3359375,20.6382708 25.1289062,20.6382708 C22.8320312,20.6382708 20.5,22.5950413 20.5,26.2911634 C20.5,28.5861411 21.3671875,31.013986 22.4335938,32.5842339 C23.3476562,33.9129053 24.1445312,35 25.2929688,35 Z"})})),pr=({secondary:o,size:e,fadeOut:t,disabled:n})=>r("svg",Object.assign({id:"icon-checkmark",xmlns:"http://www.w3.org/2000/svg",viewBox:"4 4 40 40",width:e,height:e,className:Y()(L.checkmark,o&&L.secondary,t&&L.fadeOut,n&&L.disabled)},{children:r("path",{d:"M21.05 33.1 35.2 18.95l-2.3-2.25-11.85 11.85-6-6-2.25 2.25ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm0-3q7.1 0 12.05-4.975Q41 31.05 41 24q0-7.1-4.95-12.05Q31.1 7 24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24 41Zm0-17Z"})})),mr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"})})),gr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-custom-provider",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:[r("path",{d:"M0 0h24v24H0z",fill:"none"}),r("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"})]})),fr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-discord",fill:"#fff",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 127.14 96.36",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"})})),vr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-exclamation",xmlns:"http://www.w3.org/2000/svg",viewBox:"5 2 13 20",width:o,height:o,className:Y()(L.exclamationMark,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})),_r=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({width:o,height:o,viewBox:"0 0 666.66668 666.66717",xmlns:"http://www.w3.org/2000/svg"},{children:[r("defs",Object.assign({id:"defs13"},{children:r("clipPath",Object.assign({clipPathUnits:"userSpaceOnUse",id:"clipPath25"},{children:r("path",{d:"M 0,700 H 700 V 0 H 0 Z",id:"path23"})}))})),r("g",Object.assign({id:"g17",transform:"matrix(1.3333333,0,0,-1.3333333,-133.33333,799.99999)"},{children:r("g",Object.assign({id:"g19"},{children:r("g",Object.assign({id:"g21",clipPath:"url(#clipPath25)"},{children:[r("g",Object.assign({id:"g27",transform:"translate(600,350)"},{children:r("path",{className:Y()(L.facebookIcon,t?L.disabledOutline:L.outline),d:"m 0,0 c 0,138.071 -111.929,250 -250,250 -138.071,0 -250,-111.929 -250,-250 0,-117.245 80.715,-215.622 189.606,-242.638 v 166.242 h -51.552 V 0 h 51.552 v 32.919 c 0,85.092 38.508,124.532 122.048,124.532 15.838,0 43.167,-3.105 54.347,-6.211 V 81.986 c -5.901,0.621 -16.149,0.932 -28.882,0.932 -40.993,0 -56.832,-15.528 -56.832,-55.9 V 0 h 81.659 l -14.028,-76.396 h -67.631 V -248.169 C -95.927,-233.218 0,-127.818 0,0",id:"path29"})})),r("g",Object.assign({id:"g31",transform:"translate(447.9175,273.6036)"},{children:r("path",{className:Y()(L.facebookIcon,t?L.disabledLetter:L.letter),d:"M 0,0 14.029,76.396 H -67.63 v 27.019 c 0,40.372 15.838,55.899 56.831,55.899 12.733,0 22.981,-0.31 28.882,-0.931 v 69.253 c -11.18,3.106 -38.509,6.212 -54.347,6.212 -83.539,0 -122.048,-39.441 -122.048,-124.533 V 76.396 h -51.552 V 0 h 51.552 v -166.242 c 19.343,-4.798 39.568,-7.362 60.394,-7.362 10.254,0 20.358,0.632 30.288,1.831 L -67.63,0 Z",id:"path33"})}))]}))}))}))]})),yr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-github",xmlns:"http://www.w3.org/2000/svg",fill:"#fff",viewBox:"0 0 97.63 96",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:[r("path",{d:"M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"})," "]})),br=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-google",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:L.googleIcon},{children:[r("path",{className:Y()(L.googleIcon,e?L.disabled:L.blue),d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.green),d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.yellow),d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.red),d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"}),r("path",{d:"M1 1h22v22H1z",fill:"none"})]})),kr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-linkedin",fill:"#fff",xmlns:"http://www.w3.org/2000/svg",width:o,viewBox:"0 0 24 24",height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z"})})),wr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-mail",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 -960 960 960",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z"})})),Sr=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-microsoft",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:L.microsoftIcon},{children:[r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.blue),x:"1",y:"1",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.green),x:"1",y:"11",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.yellow),x:"11",y:"1",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.red),x:"11",y:"11",width:"9",height:"9"})]})),Ar=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-passkey",xmlns:"http://www.w3.org/2000/svg",viewBox:"3 1.5 19.5 19",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("g",Object.assign({id:"icon-passkey-all"},{children:[r("circle",{id:"icon-passkey-head",cx:"10.5",cy:"6",r:"4.5"}),r("path",{id:"icon-passkey-key",d:"M22.5,10.5a3.5,3.5,0,1,0-5,3.15V19L19,20.5,21.5,18,20,16.5,21.5,15l-1.24-1.24A3.5,3.5,0,0,0,22.5,10.5Zm-3.5,0a1,1,0,1,1,1-1A1,1,0,0,1,19,10.5Z"}),r("path",{id:"icon-passkey-body",d:"M14.44,12.52A6,6,0,0,0,12,12H9a6,6,0,0,0-6,6v2H16V14.49A5.16,5.16,0,0,1,14.44,12.52Z"})]}))})),xr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-password",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 -960 960 960",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M80-200v-80h800v80H80Zm46-242-52-30 34-60H40v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Zm320 0-52-30 34-60h-68v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Zm320 0-52-30 34-60h-68v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Z"})})),Cr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M80-680v-200h200v80H160v120H80Zm0 600v-200h80v120h120v80H80Zm600 0v-80h120v-120h80v200H680Zm120-600v-120H680v-80h200v200h-80ZM700-260h60v60h-60v-60Zm0-120h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60-60h60v60h-60v-60Zm120-120h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60-60h60v60h-60v-60Zm240-320v240H520v-240h240ZM440-440v240H200v-240h240Zm0-320v240H200v-240h240Zm-60 500v-120H260v120h120Zm0-320v-120H260v120h120Zm320 0v-120H580v120h120Z"})})),Or=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M280-240q-100 0-170-70T40-480q0-100 70-170t170-70q66 0 121 33t87 87h432v240h-80v120H600v-120H488q-32 54-87 87t-121 33Zm0-80q66 0 106-40.5t48-79.5h246v120h80v-120h80v-80H434q-8-39-48-79.5T280-640q-66 0-113 47t-47 113q0 66 47 113t113 47Zm0-80q33 0 56.5-23.5T360-480q0-33-23.5-56.5T280-560q-33 0-56.5 23.5T200-480q0 33 23.5 56.5T280-400Zm0-80Z"})})),Pr=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-spinner",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:Y()(L.loadingSpinner,e&&L.disabled)},{children:[r("path",{d:"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z",opacity:".25"}),r("path",{d:"M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z"})]})),It=({name:o,secondary:e,size:t=18,fadeOut:n,disabled:i})=>r(Hn[o],{size:t,secondary:e,fadeOut:n,disabled:i}),so=({children:o,isLoading:e,isSuccess:t,fadeOut:n,secondary:i,hasIcon:a,maxWidth:s})=>r(C.Fragment,{children:r("div",e?Object.assign({className:Y()(L.loadingSpinnerWrapper,L.centerContent,s&&L.maxWidth)},{children:r(It,{name:"spinner",secondary:i})}):t?Object.assign({className:Y()(L.loadingSpinnerWrapper,L.centerContent,s&&L.maxWidth)},{children:r(It,{name:"checkmark",secondary:i,fadeOut:n})}):Object.assign({className:a?L.loadingSpinnerWrapperIcon:L.loadingSpinnerWrapper},{children:o}))}),Er=()=>{const{setLoadingAction:o}=(0,_.useContext)(pe);return(0,_.useEffect)(()=>{o(null)},[]),r(so,{isLoading:!0})},Ue=o=>{const[e,t]=(0,_.useState)(o);return(0,_.useEffect)(()=>{o&&t(o)},[o]),{flowState:e}};var cn=G(577),Dt={};Dt.setAttributes=et(),Dt.insert=o=>{window._hankoStyle=o},Dt.domAPI=Xe(),Dt.insertStyleElement=tt(),Ge()(cn.A,Dt);const Oe=cn.A&&cn.A.locals?cn.A.locals:void 0,Ir=()=>{const{t:o}=(0,_.useContext)(J.TranslateContext);return r("span",Object.assign({className:Y()(Oe.lastUsed)},{children:o("labels.lastUsed")}))},ie=o=>{var{uiAction:e,title:t,children:n,secondary:i,dangerous:a,autofocus:s,showLastUsed:d,onClick:c,icon:l}=o,u=function(S,P){var j={};for(var U in S)Object.prototype.hasOwnProperty.call(S,U)&&P.indexOf(U)<0&&(j[U]=S[U]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function"){var N=0;for(U=Object.getOwnPropertySymbols(S);N<U.length;N++)P.indexOf(U[N])<0&&Object.prototype.propertyIsEnumerable.call(S,U[N])&&(j[U[N]]=S[U[N]])}return j}(o,["uiAction","title","children","secondary","dangerous","autofocus","showLastUsed","onClick","icon"]);const h=(0,_.useRef)(null),{uiState:f,isDisabled:m}=(0,_.useContext)(pe);(0,_.useEffect)(()=>{const{current:S}=h;S&&s&&S.focus()},[s]);const A=(0,_.useMemo)(()=>e&&f.loadingAction===e||u.isLoading,[u,e,f]),O=(0,_.useMemo)(()=>e&&f.succeededAction===e||u.isSuccess,[u,e,f]),x=(0,_.useMemo)(()=>m||u.disabled,[u,m]);return r("button",Object.assign({part:a?"button dangerous-button":i?"button secondary-button":"button primary-button",title:t,ref:h,type:"submit",disabled:x,onClick:c,className:Y()(Oe.button,a?Oe.dangerous:i?Oe.secondary:Oe.primary)},{children:r(so,Object.assign({isLoading:A,isSuccess:O,secondary:!0,hasIcon:!!l,maxWidth:!0},{children:[l?r(It,{name:l,secondary:i,disabled:x}):null,r("div",Object.assign({className:Oe.caption},{children:[r("span",{children:n}),d?r(Ir,{}):null]}))]}))}))},ze=o=>{var e,t,n,i,a,{label:s}=o,d=function(m,A){var O={};for(var x in m)Object.prototype.hasOwnProperty.call(m,x)&&A.indexOf(x)<0&&(O[x]=m[x]);if(m!=null&&typeof Object.getOwnPropertySymbols=="function"){var S=0;for(x=Object.getOwnPropertySymbols(m);S<x.length;S++)A.indexOf(x[S])<0&&Object.prototype.propertyIsEnumerable.call(m,x[S])&&(O[x[S]]=m[x[S]])}return O}(o,["label"]);const c=(0,_.useRef)(null),{isDisabled:l}=(0,_.useContext)(pe),{t:u}=(0,_.useContext)(J.TranslateContext),h=(0,_.useMemo)(()=>l||d.disabled,[d,l]);(0,_.useEffect)(()=>{const{current:m}=c;m&&d.autofocus&&(m.focus(),m.select())},[d.autofocus]);const f=(0,_.useMemo)(()=>{var m;return d.markOptional&&!(!((m=d.flowInput)===null||m===void 0)&&m.required)?`${d.placeholder} (${u("labels.optional")})`:d.placeholder},[d.markOptional,d.placeholder,d.flowInput,u]);return r("div",Object.assign({className:Oe.inputWrapper},{children:r("input",Object.assign({part:"input text-input",required:(e=d.flowInput)===null||e===void 0?void 0:e.required,maxLength:(t=d.flowInput)===null||t===void 0?void 0:t.max_length,minLength:(n=d.flowInput)===null||n===void 0?void 0:n.min_length,hidden:(i=d.flowInput)===null||i===void 0?void 0:i.hidden},d,{ref:c,"aria-label":f,placeholder:f,className:Y()(Oe.input,!!(!((a=d.flowInput)===null||a===void 0)&&a.error)&&d.markError&&Oe.error),disabled:h}))}))},Pe=({children:o})=>r("section",Object.assign({className:Pt.content},{children:o})),ae=({onSubmit:o,children:e,hidden:t,maxWidth:n})=>t?null:r("form",Object.assign({onSubmit:o,className:Oe.form},{children:r("ul",Object.assign({className:Oe.ul},{children:(0,C.toChildArray)(e).map((i,a)=>r("li",Object.assign({part:"form-item",className:Y()(Oe.li,n?Oe.maxWidth:null)},{children:i}),a))}))}));var dn=G(111),jt={};jt.setAttributes=et(),jt.insert=o=>{window._hankoStyle=o},jt.domAPI=Xe(),jt.insertStyleElement=tt(),Ge()(dn.A,jt);const Lt=dn.A&&dn.A.locals?dn.A.locals:void 0,lo=({children:o,hidden:e})=>e?null:r("section",Object.assign({part:"divider",className:Lt.divider},{children:[r("div",{part:"divider-line",className:Lt.line}),o?r("div",Object.assign({part:"divider-text",class:Lt.text},{children:o})):null,r("div",{part:"divider-line",className:Lt.line})]}));var un=G(905),$t={};$t.setAttributes=et(),$t.insert=o=>{window._hankoStyle=o},$t.domAPI=Xe(),$t.insertStyleElement=tt(),Ge()(un.A,$t);const ki=un.A&&un.A.locals?un.A.locals:void 0,Ee=({state:o,error:e,flowError:t})=>{var n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{uiState:s,setUIState:d}=(0,_.useContext)(pe);return(0,_.useEffect)(()=>{var c,l;if(((c=o==null?void 0:o.error)===null||c===void 0?void 0:c.code)=="form_data_invalid_error")for(const u of Object.values(o==null?void 0:o.actions)){const h=u==null?void 0:u(null);let f=!1;for(const m of Object.values(h==null?void 0:h.inputs))if(!((l=m.error)===null||l===void 0)&&l.code)return d(Object.assign(Object.assign({},s),{error:m.error})),void(f=!0);f||d(Object.assign(Object.assign({},s),{error:o.error}))}else o!=null&&o.error&&d(Object.assign(Object.assign({},s),{error:o==null?void 0:o.error}))},[o]),r("section",Object.assign({part:"error",className:ki.errorBox,hidden:!(!((n=s.error)===null||n===void 0)&&n.code)&&!(t!=null&&t.code)&&!e},{children:[r("span",{children:r(It,{name:"exclamation",size:15})}),r("span",Object.assign({id:"errorMessage",part:"error-text"},{children:a(e?`errors.${e.code}`:`flowErrors.${((i=s.error)===null||i===void 0?void 0:i.code)||(t==null?void 0:t.code)}`)}))]}))};var hn=G(619),Tt={};Tt.setAttributes=et(),Tt.insert=o=>{window._hankoStyle=o},Tt.domAPI=Xe(),Tt.insertStyleElement=tt(),Ge()(hn.A,Tt);const pn=hn.A&&hn.A.locals?hn.A.locals:void 0,he=({children:o})=>r("h1",Object.assign({part:"headline1",className:Y()(pn.headline,pn.grade1)},{children:o}));var mn=G(995),Ut={};Ut.setAttributes=et(),Ut.insert=o=>{window._hankoStyle=o},Ut.domAPI=Xe(),Ut.insertStyleElement=tt(),Ge()(mn.A,Ut);const gn=mn.A&&mn.A.locals?mn.A.locals:void 0,co=o=>{var{loadingSpinnerPosition:e,dangerous:t=!1,onClick:n,uiAction:i}=o,a=function(P,j){var U={};for(var N in P)Object.prototype.hasOwnProperty.call(P,N)&&j.indexOf(N)<0&&(U[N]=P[N]);if(P!=null&&typeof Object.getOwnPropertySymbols=="function"){var re=0;for(N=Object.getOwnPropertySymbols(P);re<N.length;re++)j.indexOf(N[re])<0&&Object.prototype.propertyIsEnumerable.call(P,N[re])&&(U[N[re]]=P[N[re]])}return U}(o,["loadingSpinnerPosition","dangerous","onClick","uiAction"]);const{t:s}=(0,_.useContext)(J.TranslateContext),{uiState:d,isDisabled:c}=(0,_.useContext)(pe),[l,u]=(0,_.useState)();let h;const f=P=>{P.preventDefault(),u(!0)},m=P=>{P.preventDefault(),u(!1)},A=(0,_.useMemo)(()=>i&&d.loadingAction===i||a.isLoading,[a,i,d]),O=(0,_.useMemo)(()=>i&&d.succeededAction===i||a.isSuccess,[a,i,d]),x=(0,_.useCallback)(P=>{P.preventDefault(),u(!1),n(P)},[n]),S=(0,_.useCallback)(()=>r(C.Fragment,{children:[l?r(C.Fragment,{children:[r(co,Object.assign({onClick:x},{children:s("labels.yes")}))," / ",r(co,Object.assign({onClick:m},{children:s("labels.no")}))," "]}):null,r("button",Object.assign({},a,{onClick:t?f:n,disabled:l||a.disabled||c,part:"link",className:Y()(gn.link,t?gn.danger:null)},{children:a.children}))]}),[l,t,n,x,a,s,c]);return r(C.Fragment,{children:r("span",Object.assign({className:Y()(gn.linkWrapper,e==="right"?gn.reverse:null),hidden:a.hidden,onMouseEnter:()=>{h&&window.clearTimeout(h)},onMouseLeave:()=>{h=window.setTimeout(()=>{u(!1)},1e3)}},{children:r(C.Fragment,e&&(A||O)?{children:[r(so,{isLoading:A,isSuccess:O,secondary:a.secondary,fadeOut:!0}),S()]}:{children:S()})}))})},ee=co,Ne=({children:o,hidden:e=!1})=>e?null:r("section",Object.assign({className:Pt.footer},{children:o})),uo=o=>{var{label:e}=o,t=function(n,i){var a={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&i.indexOf(s)<0&&(a[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function"){var d=0;for(s=Object.getOwnPropertySymbols(n);d<s.length;d++)i.indexOf(s[d])<0&&Object.prototype.propertyIsEnumerable.call(n,s[d])&&(a[s[d]]=n[s[d]])}return a}(o,["label"]);return r("div",Object.assign({className:Oe.inputWrapper},{children:r("label",Object.assign({className:Oe.checkboxWrapper},{children:[r("input",Object.assign({part:"input checkbox-input",type:"checkbox","aria-label":e,className:Oe.checkbox},t)),r("span",Object.assign({className:Y()(Oe.label,t.disabled?Oe.disabled:null)},{children:e}))]}))}))},fn=()=>r("section",{className:Lt.spacer});var Nt=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Dr=o=>{var e,t,n,i,a,s,d,c,l;const{t:u}=(0,_.useContext)(J.TranslateContext),{init:h,hanko:f,initialComponentName:m,setLoadingAction:A,uiState:O,setUIState:x,stateHandler:S,hidePasskeyButtonOnLogin:P,lastLogin:j}=(0,_.useContext)(pe),[U,N]=(0,_.useState)(null),[re,be]=(0,_.useState)(O.username||O.email),{flowState:se}=Ue(o.state),xe=_t.supported(),[M,z]=(0,_.useState)(void 0),[_e,Me]=(0,_.useState)(null),[je,Re]=(0,_.useState)(!1),le=k=>{if(k.preventDefault(),k.target instanceof HTMLInputElement){const{value:p}=k.target;be(p),ce(p)}},ce=k=>{const p=()=>x($=>Object.assign(Object.assign({},$),{email:k,username:null})),y=()=>x($=>Object.assign(Object.assign({},$),{email:null,username:k}));switch(U){case"email":p();break;case"username":y();break;case"identifier":k.match(/^[^@]+@[^@]+\.[^@]+$/)?p():y()}},me=(0,_.useMemo)(()=>{var k,p,y,$;return!!(!((p=(k=se.actions).webauthn_generate_request_options)===null||p===void 0)&&p.call(k,null))||!!(!(($=(y=se.actions).thirdparty_oauth)===null||$===void 0)&&$.call(y,null))},[se.actions]),Le=(t=(e=se.actions).continue_with_login_identifier)===null||t===void 0?void 0:t.call(e,null).inputs;return(0,_.useEffect)(()=>{var k,p;const y=(p=(k=se.actions).continue_with_login_identifier)===null||p===void 0?void 0:p.call(k,null).inputs;N(y!=null&&y.email?"email":y!=null&&y.username?"username":"identifier")},[se]),(0,_.useEffect)(()=>{const k=new URLSearchParams(window.location.search);if(k.get("error")==null||k.get("error").length===0)return;let p="";p=k.get("error")==="access_denied"?"thirdPartyAccessDenied":"somethingWentWrong";const y={name:p,code:p,message:k.get("error_description")};z(y),k.delete("error"),k.delete("error_description"),history.replaceState(null,null,window.location.pathname+(k.size<1?"":`?${k.toString()}`))},[]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:u("headlines.signIn")}),r(Ee,{state:se,error:M}),Le?r(C.Fragment,{children:[r(ae,Object.assign({onSubmit:k=>Nt(void 0,void 0,void 0,function*(){k.preventDefault(),A("email-submit");const p=yield se.actions.continue_with_login_identifier({[U]:re}).run();ce(re),A(null),yield f.flow.run(p,S)}),maxWidth:!0},{children:[Le.email?r(ze,{type:"email",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.email,onInput:le,value:re,placeholder:u("labels.email"),pattern:"^[^@]+@[^@]+\\.[^@]+$"}):Le.username?r(ze,{type:"text",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.username,onInput:le,value:re,placeholder:u("labels.username")}):r(ze,{type:"text",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.identifier,onInput:le,value:re,placeholder:u("labels.emailOrUsername")}),r(ie,Object.assign({uiAction:"email-submit"},{children:u("labels.continue")}))]})),r(lo,Object.assign({hidden:!me},{children:u("labels.or")}))]}):null,!((i=(n=se.actions).webauthn_generate_request_options)===null||i===void 0)&&i.call(n,null)&&!P?r(ae,Object.assign({onSubmit:k=>(p=>Nt(void 0,void 0,void 0,function*(){p.preventDefault(),A("passkey-submit");const y=yield se.actions.webauthn_generate_request_options(null).run();yield f.flow.run(y,S)}))(k)},{children:r(ie,Object.assign({uiAction:"passkey-submit",secondary:!0,title:xe?null:u("labels.webauthnUnsupported"),disabled:!xe,icon:"passkey"},{children:u("labels.signInPasskey")}))})):null,!((s=(a=se.actions).thirdparty_oauth)===null||s===void 0)&&s.call(a,null)?(d=se.actions.thirdparty_oauth(null).inputs.provider.allowed_values)===null||d===void 0?void 0:d.map(k=>r(ae,Object.assign({onSubmit:p=>((y,$)=>Nt(void 0,void 0,void 0,function*(){y.preventDefault(),Me($);const K=yield se.actions.thirdparty_oauth({provider:$,redirect_to:window.location.toString()}).run();K.error&&Me(null),yield f.flow.run(K,S)}))(p,k.value)},{children:r(ie,Object.assign({isLoading:k.value==_e,secondary:!0,icon:k.value.startsWith("custom_")?"customProvider":k.value,showLastUsed:(j==null?void 0:j.login_method)=="third_party"&&(j==null?void 0:j.third_party_provider)==k.value},{children:u("labels.signInWith",{provider:k.name})}))}),k.value)):null,((l=(c=se.actions).remember_me)===null||l===void 0?void 0:l.call(c,null))&&r(C.Fragment,{children:[r(fn,{}),r(uo,{required:!1,type:"checkbox",label:u("labels.staySignedIn"),checked:je,onChange:k=>Nt(void 0,void 0,void 0,function*(){const p=yield se.actions.remember_me({remember_me:!je}).run();Re(y=>!y),yield f.flow.run(p,S)})})]})]}),r(Ne,Object.assign({hidden:m!=="auth"},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"switch-flow",onClick:k=>Nt(void 0,void 0,void 0,function*(){k.preventDefault(),h("registration")}),loadingSpinnerPosition:"left"},{children:u("labels.dontHaveAnAccount")}))]}))]})},jr=o=>{var{index:e,focus:t,digit:n=""}=o,i=function(l,u){var h={};for(var f in l)Object.prototype.hasOwnProperty.call(l,f)&&u.indexOf(f)<0&&(h[f]=l[f]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function"){var m=0;for(f=Object.getOwnPropertySymbols(l);m<f.length;m++)u.indexOf(f[m])<0&&Object.prototype.propertyIsEnumerable.call(l,f[m])&&(h[f[m]]=l[f[m]])}return h}(o,["index","focus","digit"]);const a=(0,_.useRef)(null),{isDisabled:s}=(0,_.useContext)(pe),d=()=>{const{current:l}=a;l&&(l.focus(),l.select())},c=(0,_.useMemo)(()=>s||i.disabled,[i,s]);return(0,_.useEffect)(()=>{e===0&&d()},[e,i.disabled]),(0,_.useMemo)(()=>{t&&d()},[t]),r("div",Object.assign({className:Oe.passcodeDigitWrapper},{children:r("input",Object.assign({},i,{part:"input passcode-input","aria-label":`${i.name}-digit-${e+1}`,name:i.name+e.toString(10),type:"text",inputMode:"numeric",maxLength:1,ref:a,value:n.charAt(0),required:!0,className:Oe.input,disabled:c}))}))},ho=({passcodeDigits:o=[],numberOfInputs:e=6,onInput:t,disabled:n=!1})=>{const[i,a]=(0,_.useState)(0),s=()=>o.slice(),d=()=>{i<e-1&&a(i+1)},c=()=>{i>0&&a(i-1)},l=m=>{const A=s();A[i]=m.charAt(0),t(A)},u=m=>{if(m.preventDefault(),n)return;const A=m.clipboardData.getData("text/plain").slice(0,e-i).split(""),O=s();let x=i;for(let S=0;S<e;++S)S>=i&&A.length>0&&(O[S]=A.shift(),x++);a(x),t(O)},h=m=>{m.key==="Backspace"?(m.preventDefault(),l(""),c()):m.key==="Delete"?(m.preventDefault(),l("")):m.key==="ArrowLeft"?(m.preventDefault(),c()):m.key==="ArrowRight"?(m.preventDefault(),d()):m.key!==" "&&m.key!=="Spacebar"&&m.key!=="Space"||m.preventDefault()},f=m=>{m.target instanceof HTMLInputElement&&l(m.target.value),d()};return(0,_.useEffect)(()=>{o.length===0&&a(0)},[o]),r("div",Object.assign({className:Oe.passcodeInputWrapper},{children:Array.from(Array(e)).map((m,A)=>r(jr,{name:"passcode",index:A,focus:i===A,digit:o[A],onKeyDown:h,onInput:f,onPaste:u,onFocus:()=>(O=>{a(O)})(A),disabled:n},A))}))};var vn=G(489),Mt={};Mt.setAttributes=et(),Mt.insert=o=>{window._hankoStyle=o},Mt.domAPI=Xe(),Mt.insertStyleElement=tt(),Ge()(vn.A,Mt);const Lr=vn.A&&vn.A.locals?vn.A.locals:void 0,W=({children:o,hidden:e})=>e?null:r("p",Object.assign({part:"paragraph",className:Lr.paragraph},{children:o}));var _n=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const $r=o=>{var e,t;const{t:n}=(0,_.useContext)(J.TranslateContext),{flowState:i}=Ue(o.state),{hanko:a,uiState:s,setUIState:d,setLoadingAction:c,setSucceededAction:l,stateHandler:u}=(0,_.useContext)(pe),[h,f]=(0,_.useState)(),[m,A]=(0,_.useState)(i.payload.resend_after),[O,x]=(0,_.useState)([]),S=(0,_.useMemo)(()=>{var j;return((j=i.error)===null||j===void 0?void 0:j.code)==="passcode_max_attempts_reached"},[i]),P=(0,_.useCallback)(j=>_n(void 0,void 0,void 0,function*(){c("passcode-submit");const U=yield i.actions.verify_passcode({code:j}).run();c(null),yield a.flow.run(U,u)}),[a,i,c,u]);return(0,_.useEffect)(()=>{i.payload.passcode_resent&&(l("passcode-resend"),setTimeout(()=>l(null),1e3))},[i,l]),(0,_.useEffect)(()=>{h<=0&&s.succeededAction},[s,h]),(0,_.useEffect)(()=>{const j=h>0&&setInterval(()=>f(h-1),1e3);return()=>clearInterval(j)},[h]),(0,_.useEffect)(()=>{const j=m>0&&setInterval(()=>{A(m-1)},1e3);return()=>clearInterval(j)},[m]),(0,_.useEffect)(()=>{var j;m==0&&((j=i.error)===null||j===void 0?void 0:j.code)=="rate_limit_exceeded"&&d(U=>Object.assign(Object.assign({},U),{error:null}))},[m]),(0,_.useEffect)(()=>{var j;((j=i.error)===null||j===void 0?void 0:j.code)==="passcode_invalid"&&x([]),i.payload.resend_after>=0&&A(i.payload.resend_after)},[i]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:n("headlines.loginPasscode")}),r(Ee,{state:i}),r(W,{children:s.email?n("texts.enterPasscode",{emailAddress:s.email}):n("texts.enterPasscodeNoEmail")}),r(ae,Object.assign({onSubmit:j=>_n(void 0,void 0,void 0,function*(){return j.preventDefault(),P(O.join(""))})},{children:[r(ho,{onInput:j=>{if(x(j),j.filter(U=>U!=="").length===6)return P(j.join(""))},passcodeDigits:O,numberOfInputs:6,disabled:h<=0||S}),r(ie,Object.assign({disabled:h<=0||S,uiAction:"passcode-submit"},{children:n("labels.continue")}))]}))]}),r(Ne,{children:[r(ee,Object.assign({hidden:!(!((t=(e=i.actions).back)===null||t===void 0)&&t.call(e,null)),onClick:j=>_n(void 0,void 0,void 0,function*(){j.preventDefault(),c("back");const U=yield i.actions.back(null).run();c(null),yield a.flow.run(U,u)}),loadingSpinnerPosition:"right",isLoading:s.loadingAction==="back"},{children:n("labels.back")})),r(ee,Object.assign({uiAction:"passcode-resend",disabled:m>0,onClick:j=>_n(void 0,void 0,void 0,function*(){j.preventDefault(),c("passcode-resend");const U=yield i.actions.resend_passcode(null).run();c(null),yield a.flow.run(U,u)}),loadingSpinnerPosition:"left"},{children:m>0?n("labels.passcodeResendAfter",{passcodeResendAfter:m}):n("labels.sendNewPasscode")}))]})]})};var po=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Tr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,setLoadingAction:h,stateHandler:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.registerAuthenticator")}),r(Ee,{state:m}),r(W,{children:l("texts.setupPasskey")}),r(ae,Object.assign({onSubmit:A=>po(void 0,void 0,void 0,function*(){A.preventDefault(),h("passkey-submit");const O=yield m.actions.webauthn_generate_creation_options(null).run();yield u.flow.run(O,f)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"passkey"},{children:l("labels.registerAuthenticator")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=m.actions).skip)===null||t===void 0)&&t.call(e,null))&&!(!((i=(n=m.actions).back)===null||i===void 0)&&i.call(n,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:A=>po(void 0,void 0,void 0,function*(){A.preventDefault(),h("back");const O=yield m.actions.back(null).run();h(null),yield u.flow.run(O,f)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:A=>po(void 0,void 0,void 0,function*(){A.preventDefault(),h("skip");const O=yield m.actions.skip(null).run();h(null),yield u.flow.run(O,f)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]}))]})};var Rt=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Ur=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)(),[f,m]=(0,_.useState)(),A=P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("password-recovery");const j=yield l.actions.continue_to_passcode_confirmation_recovery(null).run();c(null),yield s.flow.run(j,d)}),O=P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("choose-login-method");const j=yield l.actions.continue_to_login_method_chooser(null).run();c(null),yield s.flow.run(j,d)}),x=(0,_.useMemo)(()=>{var P,j;return r(ee,Object.assign({hidden:!(!((j=(P=l.actions).continue_to_passcode_confirmation_recovery)===null||j===void 0)&&j.call(P,null)),uiAction:"password-recovery",onClick:A,loadingSpinnerPosition:"left"},{children:a("labels.forgotYourPassword")}))},[A,a]),S=(0,_.useMemo)(()=>r(ee,Object.assign({uiAction:"choose-login-method",onClick:O,loadingSpinnerPosition:"left"},{children:"Choose another method"})),[O]);return(0,_.useEffect)(()=>{const P=f>0&&setInterval(()=>m(f-1),1e3);return()=>clearInterval(P)},[f]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.loginPassword")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("password-submit");const j=yield l.actions.password_login({password:u}).run();c(null),yield s.flow.run(j,d)})},{children:[r(ze,{type:"password",flowInput:l.actions.password_login(null).inputs.password,autocomplete:"current-password",placeholder:a("labels.password"),onInput:P=>Rt(void 0,void 0,void 0,function*(){P.target instanceof HTMLInputElement&&h(P.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit",disabled:f>0},{children:f>0?a("labels.passwordRetryAfter",{passwordRetryAfter:f}):a("labels.signIn")}))]})),!((t=(e=l.actions).continue_to_login_method_chooser)===null||t===void 0)&&t.call(e,null)?x:null]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("back");const j=yield l.actions.back(null).run();c(null),yield s.flow.run(j,d)}),loadingSpinnerPosition:"right"},{children:a("labels.back")})),!((i=(n=l.actions).continue_to_login_method_chooser)===null||i===void 0)&&i.call(n,null)?S:x]})]})};var wi=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Nr=o=>{const{t:e}=(0,_.useContext)(J.TranslateContext),{hanko:t,stateHandler:n,setLoadingAction:i}=(0,_.useContext)(pe),{flowState:a}=Ue(o.state),[s,d]=(0,_.useState)();return r(Pe,{children:[r(he,{children:e("headlines.registerPassword")}),r(Ee,{state:a}),r(W,{children:e("texts.passwordFormatHint",{minLength:a.actions.password_recovery(null).inputs.new_password.min_length,maxLength:72})}),r(ae,Object.assign({onSubmit:c=>wi(void 0,void 0,void 0,function*(){c.preventDefault(),i("password-submit");const l=yield a.actions.password_recovery({new_password:s}).run();i(null),yield t.flow.run(l,n)})},{children:[r(ze,{type:"password",autocomplete:"new-password",flowInput:a.actions.password_recovery(null).inputs.new_password,placeholder:e("labels.newPassword"),onInput:c=>wi(void 0,void 0,void 0,function*(){c.target instanceof HTMLInputElement&&d(c.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit"},{children:e("labels.continue")}))]}))]})};var yn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Mr=o=>{var e,t,n,i,a,s;const{t:d}=(0,_.useContext)(J.TranslateContext),{hanko:c,setLoadingAction:l,stateHandler:u,lastLogin:h}=(0,_.useContext)(pe),{flowState:f}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:d("headlines.selectLoginMethod")}),r(Ee,{flowError:f==null?void 0:f.error}),r(W,{children:d("texts.howDoYouWantToLogin")}),r(ae,Object.assign({hidden:!(!((t=(e=f.actions).continue_to_passcode_confirmation)===null||t===void 0)&&t.call(e,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("passcode-submit");const A=yield f.actions.continue_to_passcode_confirmation(null).run();l(null),yield c.flow.run(A,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passcode-submit",icon:"mail"},{children:d("labels.passcode")}))})),r(ae,Object.assign({hidden:!(!((i=(n=f.actions).continue_to_password_login)===null||i===void 0)&&i.call(n,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("password-submit");const A=yield f.actions.continue_to_password_login(null).run();l(null),yield c.flow.run(A,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"password"},{children:d("labels.password")}))})),r(ae,Object.assign({hidden:!(!((s=(a=f.actions).webauthn_generate_request_options)===null||s===void 0)&&s.call(a,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("passkey-submit");const A=yield f.actions.webauthn_generate_request_options(null).run();l(null),yield c.flow.run(A,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passkey-submit",icon:"passkey"},{children:d("labels.passkey")}))}))]}),r(Ne,{children:r(ee,Object.assign({uiAction:"back",onClick:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("back");const A=yield f.actions.back(null).run();l(null),yield c.flow.run(A,u)}),loadingSpinnerPosition:"right"},{children:d("labels.back")}))})]})};var bn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Rr=o=>{var e,t,n,i,a,s,d;const{t:c}=(0,_.useContext)(J.TranslateContext),{init:l,hanko:u,uiState:h,setUIState:f,stateHandler:m,setLoadingAction:A,initialComponentName:O}=(0,_.useContext)(pe),{flowState:x}=Ue(o.state),S=(t=(e=x.actions).register_login_identifier)===null||t===void 0?void 0:t.call(e,null).inputs,P=!(!(S!=null&&S.email)||!(S!=null&&S.username)),[j,U]=(0,_.useState)(void 0),[N,re]=(0,_.useState)(null),[be,se]=(0,_.useState)(!1),xe=(0,_.useMemo)(()=>{var M,z;return!!(!((z=(M=x.actions).thirdparty_oauth)===null||z===void 0)&&z.call(M,null))},[x.actions]);return(0,_.useEffect)(()=>{const M=new URLSearchParams(window.location.search);if(M.get("error")==null||M.get("error").length===0)return;let z="";z=M.get("error")==="access_denied"?"thirdPartyAccessDenied":"somethingWentWrong";const _e={name:z,code:z,message:M.get("error_description")};U(_e),M.delete("error"),M.delete("error_description"),history.replaceState(null,null,window.location.pathname+(M.size<1?"":`?${M.toString()}`))},[]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:c("headlines.signUp")}),r(Ee,{state:x,error:j}),S?r(C.Fragment,{children:[r(ae,Object.assign({onSubmit:M=>bn(void 0,void 0,void 0,function*(){M.preventDefault(),A("email-submit");const z=yield x.actions.register_login_identifier({email:h.email,username:h.username}).run();A(null),yield u.flow.run(z,m)}),maxWidth:!0},{children:[S.username?r(ze,{markOptional:P,markError:P,type:"text",autoComplete:"username",autoCorrect:"off",flowInput:S.username,onInput:M=>{if(M.preventDefault(),M.target instanceof HTMLInputElement){const{value:z}=M.target;f(_e=>Object.assign(Object.assign({},_e),{username:z}))}},value:h.username,placeholder:c("labels.username")}):null,S.email?r(ze,{markOptional:P,markError:P,type:"email",autoComplete:"email",autoCorrect:"off",flowInput:S.email,onInput:M=>{if(M.preventDefault(),M.target instanceof HTMLInputElement){const{value:z}=M.target;f(_e=>Object.assign(Object.assign({},_e),{email:z}))}},value:h.email,placeholder:c("labels.email"),pattern:"^.*[^0-9]+$"}):null,r(ie,Object.assign({uiAction:"email-submit",autofocus:!0},{children:c("labels.continue")}))]})),r(lo,Object.assign({hidden:!xe},{children:c("labels.or")}))]}):null,!((i=(n=x.actions).thirdparty_oauth)===null||i===void 0)&&i.call(n,null)?(a=x.actions.thirdparty_oauth(null).inputs.provider.allowed_values)===null||a===void 0?void 0:a.map(M=>r(ae,Object.assign({onSubmit:z=>((_e,Me)=>bn(void 0,void 0,void 0,function*(){_e.preventDefault(),re(Me);const je=yield x.actions.thirdparty_oauth({provider:Me,redirect_to:window.location.toString()}).run();re(null),yield u.flow.run(je,m)}))(z,M.value)},{children:r(ie,Object.assign({isLoading:M.value==N,secondary:!0,icon:M.value.startsWith("custom_")?"customProvider":M.value},{children:c("labels.signInWith",{provider:M.name})}))}),M.value)):null,((d=(s=x.actions).remember_me)===null||d===void 0?void 0:d.call(s,null))&&r(C.Fragment,{children:[r(fn,{}),r(uo,{required:!1,type:"checkbox",label:c("labels.staySignedIn"),checked:be,onChange:M=>bn(void 0,void 0,void 0,function*(){const z=yield x.actions.remember_me({remember_me:!be}).run();se(_e=>!_e),yield u.flow.run(z,m)})})]})]}),r(Ne,Object.assign({hidden:O!=="auth"},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"switch-flow",onClick:M=>bn(void 0,void 0,void 0,function*(){M.preventDefault(),l("login")}),loadingSpinnerPosition:"left"},{children:c("labels.alreadyHaveAnAccount")}))]}))]})};var kn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Hr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,stateHandler:h,setLoadingAction:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state),[A,O]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.registerPassword")}),r(Ee,{state:m}),r(W,{children:l("texts.passwordFormatHint",{minLength:m.actions.register_password(null).inputs.new_password.min_length,maxLength:72})}),r(ae,Object.assign({onSubmit:x=>kn(void 0,void 0,void 0,function*(){x.preventDefault(),f("password-submit");const S=yield m.actions.register_password({new_password:A}).run();f(null),yield u.flow.run(S,h)})},{children:[r(ze,{type:"password",autocomplete:"new-password",flowInput:m.actions.register_password(null).inputs.new_password,placeholder:l("labels.newPassword"),onInput:x=>kn(void 0,void 0,void 0,function*(){x.target instanceof HTMLInputElement&&O(x.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit"},{children:l("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=m.actions).back)===null||t===void 0)&&t.call(e,null))&&!(!((i=(n=m.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:x=>kn(void 0,void 0,void 0,function*(){x.preventDefault(),f("back");const S=yield m.actions.back(null).run();f(null),yield u.flow.run(S,h)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:x=>kn(void 0,void 0,void 0,function*(){x.preventDefault(),f("skip");const S=yield m.actions.skip(null).run();f(null),yield u.flow.run(S,h)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]}))]})};var wn=G(21),Ht={};Ht.setAttributes=et(),Ht.insert=o=>{window._hankoStyle=o},Ht.domAPI=Xe(),Ht.insertStyleElement=tt(),Ge()(wn.A,Ht);const Ye=wn.A&&wn.A.locals?wn.A.locals:void 0,Sn=function({name:o,columnSelector:e,contentSelector:t,data:n,checkedItemID:i,setCheckedItemID:a,dropdown:s=!1}){const d=(0,_.useCallback)(u=>`${o}-${u}`,[o]),c=(0,_.useCallback)(u=>d(u)===i,[i,d]),l=u=>{if(!(u.target instanceof HTMLInputElement))return;const h=parseInt(u.target.value,10),f=d(h);a(f===i?null:f)};return r("div",Object.assign({className:Ye.accordion},{children:n.map((u,h)=>r("div",Object.assign({className:Ye.accordionItem},{children:[r("input",{type:"radio",className:Ye.accordionInput,id:`${o}-${h}`,name:o,onClick:l,value:h,checked:c(h)}),r("label",Object.assign({className:Y()(Ye.label,s&&Ye.dropdown),for:`${o}-${h}`},{children:r("span",Object.assign({className:Ye.labelText},{children:e(u,h)}))})),r("div",Object.assign({className:Y()(Ye.accordionContent,s&&Ye.dropdownContent)},{children:t(u,h)}))]}),h))}))},qe=({children:o})=>r("h2",Object.assign({part:"headline2",className:Y()(pn.headline,pn.grade2)},{children:o})),qr=({onEmailDelete:o,onEmailSetPrimary:e,onEmailVerify:t,checkedItemID:n,setCheckedItemID:i,emails:a=[],deletableEmailIDs:s=[]})=>{const{t:d}=(0,_.useContext)(J.TranslateContext),c=(0,_.useMemo)(()=>!1,[]);return r(Sn,{name:"email-edit-dropdown",columnSelector:l=>{const u=r("span",Object.assign({className:Ye.description},{children:l.is_verified?l.is_primary?r(C.Fragment,{children:[" -"," ",d("labels.primaryEmail")]}):null:r(C.Fragment,{children:[" -"," ",d("labels.unverifiedEmail")]})}));return l.is_primary?r(C.Fragment,{children:[r("b",{children:l.address}),u]}):r(C.Fragment,{children:[l.address,u]})},data:a,contentSelector:l=>{var u;return r(C.Fragment,{children:[l.is_primary?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.isPrimaryEmail")}),d("texts.isPrimaryEmail")]})}):r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.setPrimaryEmail")}),d("texts.setPrimaryEmail"),r("br",{}),r(ee,Object.assign({uiAction:"email-set-primary",onClick:h=>e(h,l.id),loadingSpinnerPosition:"right"},{children:d("labels.setAsPrimaryEmail")}))]})}),l.is_verified?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailVerified")}),d("texts.emailVerified")]})}):r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailUnverified")}),d("texts.emailUnverified"),r("br",{}),r(ee,Object.assign({uiAction:"email-verify",onClick:h=>t(h,l.id),loadingSpinnerPosition:"right"},{children:d("labels.verify")}))]})}),s.includes(l.id)?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailDelete")}),d("texts.emailDelete"),r("br",{}),r(ee,Object.assign({uiAction:"email-delete",dangerous:!0,onClick:h=>o(h,l.id),disabled:c,loadingSpinnerPosition:"right"},{children:d("labels.delete")}))]})}):null,((u=l.identities)===null||u===void 0?void 0:u.length)>0?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.connectedAccounts")}),l.identities.map(h=>h.provider).join(", ")]})}):null]})},checkedItemID:n,setCheckedItemID:i})},zr=({onCredentialNameSubmit:o,oldName:e,onBack:t,credential:n,credentialType:i})=>{const{t:a}=(0,_.useContext)(J.TranslateContext),[s,d]=(0,_.useState)(e);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a(i==="security-key"?"headlines.renameSecurityKey":"headlines.renamePasskey")}),r(Ee,{flowError:null}),r(W,{children:a(i==="security-key"?"texts.renameSecurityKey":"texts.renamePasskey")}),r(ae,Object.assign({onSubmit:c=>o(c,n.id,s)},{children:[r(ze,{type:"text",name:i,value:s,minLength:3,maxLength:32,required:!0,placeholder:a(i==="security-key"?"labels.newSecurityKeyName":"labels.newPasskeyName"),onInput:c=>{return l=void 0,u=void 0,f=function*(){c.target instanceof HTMLInputElement&&d(c.target.value)},new((h=void 0)||(h=Promise))(function(m,A){function O(P){try{S(f.next(P))}catch(j){A(j)}}function x(P){try{S(f.throw(P))}catch(j){A(j)}}function S(P){var j;P.done?m(P.value):(j=P.value,j instanceof h?j:new h(function(U){U(j)})).then(O,x)}S((f=f.apply(l,u||[])).next())});var l,u,h,f},autofocus:!0}),r(ie,Object.assign({uiAction:"webauthn-credential-rename"},{children:a("labels.save")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:t,loadingSpinnerPosition:"right"},{children:a("labels.back")}))})]})},Si=({credentials:o=[],checkedItemID:e,setCheckedItemID:t,onBack:n,onCredentialNameSubmit:i,onCredentialDelete:a,allowCredentialDeletion:s,credentialType:d})=>{const{t:c}=(0,_.useContext)(J.TranslateContext),{setPage:l}=(0,_.useContext)(pe),u=f=>{if(f.name)return f.name;const m=f.public_key.replace(/[\W_]/g,"");return`${d==="security-key"?"SecurityKey":"Passkey"}-${m.substring(m.length-7,m.length)}`},h=f=>new Date(f).toLocaleString();return r(Sn,{name:d==="security-key"?"security-key-edit-dropdown":"passkey-edit-dropdown",columnSelector:f=>u(f),data:o,contentSelector:f=>r(C.Fragment,{children:[r(W,{children:[r(qe,{children:c(d==="security-key"?"headlines.renameSecurityKey":"headlines.renamePasskey")}),c(d==="security-key"?"texts.renameSecurityKey":"texts.renamePasskey"),r("br",{}),r(ee,Object.assign({onClick:m=>((A,O,x)=>{A.preventDefault(),l(r(zr,{oldName:u(O),credential:O,credentialType:x,onBack:n,onCredentialNameSubmit:i}))})(m,f,d),loadingSpinnerPosition:"right"},{children:c("labels.rename")}))]}),r(W,Object.assign({hidden:!s},{children:[r(qe,{children:c(d==="security-key"?"headlines.deleteSecurityKey":"headlines.deletePasskey")}),c(d==="security-key"?"texts.deleteSecurityKey":"texts.deletePasskey"),r("br",{}),r(ee,Object.assign({uiAction:"password-delete",dangerous:!0,onClick:m=>a(m,f.id),loadingSpinnerPosition:"right"},{children:c("labels.delete")}))]})),r(W,{children:[r(qe,{children:c("headlines.lastUsedAt")}),f.last_used_at?h(f.last_used_at):"-"]}),r(W,{children:[r(qe,{children:c("headlines.createdAt")}),h(f.created_at)]})]}),checkedItemID:e,setCheckedItemID:t})},qt=({name:o,title:e,children:t,checkedItemID:n,setCheckedItemID:i})=>r(Sn,{dropdown:!0,name:o,columnSelector:()=>e,contentSelector:()=>r(C.Fragment,{children:t}),setCheckedItemID:i,checkedItemID:n,data:[{}]}),mo=({flowError:o})=>{const{t:e}=(0,_.useContext)(J.TranslateContext);return r(C.Fragment,{children:o?r("div",Object.assign({className:ki.errorMessage},{children:e(`flowErrors.${o==null?void 0:o.code}`)})):null})},Wr=({inputs:o,onEmailSubmit:e,checkedItemID:t,setCheckedItemID:n})=>{var i;const{t:a}=(0,_.useContext)(J.TranslateContext),[s,d]=(0,_.useState)();return r(qt,Object.assign({name:"email-create-dropdown",title:a("labels.addEmail"),checkedItemID:t,setCheckedItemID:n},{children:[r(mo,{flowError:(i=o.email)===null||i===void 0?void 0:i.error}),r(ae,Object.assign({onSubmit:c=>e(c,s).then(()=>d(""))},{children:[r(ze,{markError:!0,type:"email",placeholder:a("labels.newEmailAddress"),onInput:c=>{c.preventDefault(),c.target instanceof HTMLInputElement&&d(c.target.value)},value:s,flowInput:o.email}),r(ie,Object.assign({uiAction:"email-submit"},{children:a("labels.save")}))]}))]}))},Ai=({inputs:o,checkedItemID:e,setCheckedItemID:t,onPasswordSubmit:n,onPasswordDelete:i,allowPasswordDelete:a,passwordExists:s})=>{var d,c,l;const{t:u}=(0,_.useContext)(J.TranslateContext),[h,f]=(0,_.useState)("");return r(qt,Object.assign({name:"password-edit-dropdown",title:u(s?"labels.changePassword":"labels.setPassword"),checkedItemID:e,setCheckedItemID:t},{children:[r(W,{children:u("texts.passwordFormatHint",{minLength:(d=o.password.min_length)===null||d===void 0?void 0:d.toString(10),maxLength:(c=o.password.max_length)===null||c===void 0?void 0:c.toString(10)})}),r(mo,{flowError:(l=o.password)===null||l===void 0?void 0:l.error}),r(ae,Object.assign({onSubmit:m=>n(m,h).then(()=>f(""))},{children:[r(ze,{markError:!0,autoComplete:"new-password",placeholder:u("labels.newPassword"),type:"password",onInput:m=>{m.preventDefault(),m.target instanceof HTMLInputElement&&f(m.target.value)},value:h,flowInput:o.password}),r(ie,Object.assign({uiAction:"password-submit"},{children:u("labels.save")}))]})),r(ee,Object.assign({hidden:!a,uiAction:"password-delete",dangerous:!0,onClick:m=>i(m).then(()=>f("")),loadingSpinnerPosition:"right"},{children:u("labels.delete")}))]}))},xi=({checkedItemID:o,setCheckedItemID:e,onCredentialSubmit:t,credentialType:n})=>{const{t:i}=(0,_.useContext)(J.TranslateContext),a=_t.supported();return r(qt,Object.assign({name:n==="security-key"?"security-key-create-dropdown":"passkey-create-dropdown",title:i(n==="security-key"?"labels.createSecurityKey":"labels.createPasskey"),checkedItemID:o,setCheckedItemID:e},{children:[r(W,{children:i(n==="security-key"?"texts.securityKeySetUp":"texts.setupPasskey")}),r(ae,Object.assign({onSubmit:t},{children:r(ie,Object.assign({uiAction:n==="security-key"?"security-key-submit":"passkey-submit",title:a?null:i("labels.webauthnUnsupported")},{children:i(n==="security-key"?"labels.createSecurityKey":"labels.createPasskey")}))}))]}))},Ci=({inputs:o,checkedItemID:e,setCheckedItemID:t,onUsernameSubmit:n,onUsernameDelete:i,hasUsername:a,allowUsernameDeletion:s})=>{var d;const{t:c}=(0,_.useContext)(J.TranslateContext),[l,u]=(0,_.useState)();return r(qt,Object.assign({name:"username-edit-dropdown",title:c(a?"labels.changeUsername":"labels.setUsername"),checkedItemID:e,setCheckedItemID:t},{children:[r(mo,{flowError:(d=o.username)===null||d===void 0?void 0:d.error}),r(ae,Object.assign({onSubmit:h=>n(h,l).then(()=>u(""))},{children:[r(ze,{markError:!0,placeholder:c("labels.username"),type:"text",onInput:h=>{h.preventDefault(),h.target instanceof HTMLInputElement&&u(h.target.value)},value:l,flowInput:o.username}),r(ie,Object.assign({uiAction:"username-set"},{children:c("labels.save")}))]})),r(ee,Object.assign({hidden:!s,uiAction:"username-delete",dangerous:!0,onClick:h=>i(h).then(()=>u("")),loadingSpinnerPosition:"right"},{children:c("labels.delete")}))]}))},Fr=({onBack:o,onAccountDelete:e})=>{const{t}=(0,_.useContext)(J.TranslateContext);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:t("headlines.deleteAccount")}),r(Ee,{flowError:null}),r(W,{children:t("texts.deleteAccount")}),r(ae,Object.assign({onSubmit:e},{children:[r(uo,{required:!0,type:"checkbox",label:t("labels.deleteAccount")}),r(ie,Object.assign({uiAction:"account_delete"},{children:t("labels.delete")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:o},{children:t("labels.back")}))})]})},Kr=({sessions:o=[],checkedItemID:e,setCheckedItemID:t,onSessionDelete:n,deletableSessionIDs:i})=>{const{t:a}=(0,_.useContext)(J.TranslateContext),s=d=>new Date(d).toLocaleString();return r(Sn,{name:"session-edit-dropdown",columnSelector:d=>{const c=r("b",{children:d.user_agent?d.user_agent:d.id}),l=d.current?r("span",Object.assign({className:Ye.description},{children:r(C.Fragment,{children:[" -"," ",a("labels.currentSession")]})})):null;return r(C.Fragment,{children:[c,l]})},data:o,contentSelector:d=>r(C.Fragment,{children:[r(W,Object.assign({hidden:!d.ip_address},{children:[r(qe,{children:a("headlines.ipAddress")}),d.ip_address]})),r(W,{children:[r(qe,{children:a("headlines.lastUsed")}),s(d.last_used)]}),r(W,{children:[r(qe,{children:a("headlines.createdAt")}),s(d.created_at)]}),i!=null&&i.includes(d.id)?r(W,{children:[r(qe,{children:a("headlines.revokeSession")}),r(ee,Object.assign({uiAction:"session-delete",dangerous:!0,onClick:c=>n(c,d.id),loadingSpinnerPosition:"right"},{children:a("labels.revoke")}))]}):null]}),checkedItemID:e,setCheckedItemID:t})},Vr=({checkedItemID:o,setCheckedItemID:e,onDelete:t,onConnect:n,authAppSetUp:i,allowDeletion:a})=>{const{t:s}=(0,_.useContext)(J.TranslateContext),d=r("span",Object.assign({className:Ye.description},{children:i?r(C.Fragment,{children:[" -"," ",s("labels.configured")]}):null})),c=r(C.Fragment,{children:[s("labels.authenticatorAppManage")," ",d]});return r(qt,Object.assign({name:"authenticator-app-manage-dropdown",title:c,checkedItemID:o,setCheckedItemID:e},{children:[r(qe,{children:s(i?"headlines.authenticatorAppAlreadySetUp":"headlines.authenticatorAppNotSetUp")}),r(W,{children:[s(i?"texts.authenticatorAppAlreadySetUp":"texts.authenticatorAppNotSetUp"),r("br",{}),r(ee,i?Object.assign({hidden:!a,uiAction:"auth-app-remove",onClick:l=>t(l),loadingSpinnerPosition:"right",dangerous:!0},{children:s("labels.delete")}):Object.assign({uiAction:"auth-app-add",onClick:l=>n(l),loadingSpinnerPosition:"right"},{children:s("labels.authenticatorAppAdd")}))]})]}))};var De=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Oi=o=>{var e,t,n,i,a,s,d,c,l,u,h,f,m,A,O,x,S,P,j,U,N,re,be,se,xe,M,z,_e,Me,je,Re,le,ce,me,Le,k,p,y,$,K,ge,Fe,Ke,Ve,g,v,b,D,T,I,q,te;const{t:X}=(0,_.useContext)(J.TranslateContext),{hanko:ye,setLoadingAction:w,stateHandler:ke,setUIState:Q,setPage:R}=(0,_.useContext)(pe),{flowState:E}=Ue(o.state),[Ce,V]=(0,_.useState)(""),F=(H,Z,ot)=>De(void 0,void 0,void 0,function*(){H.preventDefault(),w(Z);const wo=yield ot();wo!=null&&wo.error||(V(null),yield new Promise(As=>setTimeout(As,360))),w(null),yield ye.flow.run(wo,ke)}),He=H=>De(void 0,void 0,void 0,function*(){return F(H,"password-delete",E.actions.password_delete(null).run)}),it=H=>De(void 0,void 0,void 0,function*(){return F(H,"username-delete",E.actions.username_delete(null).run)}),ve=(H,Z,ot)=>De(void 0,void 0,void 0,function*(){return F(H,"webauthn-credential-rename",E.actions.webauthn_credential_rename({passkey_id:Z,passkey_name:ot}).run)}),En=H=>De(void 0,void 0,void 0,function*(){return F(H,"account_delete",E.actions.account_delete(null).run)}),lt=H=>(H.preventDefault(),R(r(Oi,{state:E,enablePasskeys:o.enablePasskeys})),Promise.resolve());return r(Pe,{children:[r(Ee,{state:((e=E==null?void 0:E.error)===null||e===void 0?void 0:e.code)!=="form_data_invalid_error"?E:null}),!((n=(t=E.actions).username_create)===null||n===void 0)&&n.call(t,null)||!((a=(i=E.actions).username_update)===null||a===void 0)&&a.call(i,null)||!((d=(s=E.actions).username_delete)===null||d===void 0)&&d.call(s,null)?r(C.Fragment,{children:[r(he,{children:X("labels.username")}),E.payload.user.username?r(W,{children:r("b",{children:E.payload.user.username.username})}):null,r(W,{children:[!((l=(c=E.actions).username_create)===null||l===void 0)&&l.call(c,null)?r(Ci,{inputs:E.actions.username_create(null).inputs,hasUsername:!!E.payload.user.username,allowUsernameDeletion:!!(!((h=(u=E.actions).username_delete)===null||h===void 0)&&h.call(u,null)),onUsernameSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"username-set",E.actions.username_create({username:Z}).run)}),onUsernameDelete:it,checkedItemID:Ce,setCheckedItemID:V}):null,!((m=(f=E.actions).username_update)===null||m===void 0)&&m.call(f,null)?r(Ci,{inputs:E.actions.username_update(null).inputs,hasUsername:!!E.payload.user.username,allowUsernameDeletion:!!(!((O=(A=E.actions).username_delete)===null||O===void 0)&&O.call(A,null)),onUsernameSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"username-set",E.actions.username_update({username:Z}).run)}),onUsernameDelete:it,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((S=(x=E.payload)===null||x===void 0?void 0:x.user)===null||S===void 0)&&S.emails||!((j=(P=E.actions).email_create)===null||j===void 0)&&j.call(P,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profileEmails")}),r(W,{children:[r(qr,{emails:E.payload.user.emails,onEmailDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-delete",E.actions.email_delete({email_id:Z}).run)}),onEmailSetPrimary:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-set-primary",E.actions.email_set_primary({email_id:Z}).run)}),onEmailVerify:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-verify",E.actions.email_verify({email_id:Z}).run)}),checkedItemID:Ce,setCheckedItemID:V,deletableEmailIDs:(re=(N=(U=E.actions).email_delete)===null||N===void 0?void 0:N.call(U,null).inputs.email_id.allowed_values)===null||re===void 0?void 0:re.map(H=>H.value)}),!((se=(be=E.actions).email_create)===null||se===void 0)&&se.call(be,null)?r(Wr,{inputs:E.actions.email_create(null).inputs,onEmailSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return Q(ot=>Object.assign(Object.assign({},ot),{email:Z})),F(H,"email-submit",E.actions.email_create({email:Z}).run)}),checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((M=(xe=E.actions).password_create)===null||M===void 0)&&M.call(xe,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePassword")}),r(W,{children:r(Ai,{inputs:E.actions.password_create(null).inputs,onPasswordSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"password-submit",E.actions.password_create({password:Z}).run)}),onPasswordDelete:He,checkedItemID:Ce,setCheckedItemID:V})})]}):null,!((_e=(z=E.actions).password_update)===null||_e===void 0)&&_e.call(z,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePassword")}),r(W,{children:r(Ai,{allowPasswordDelete:!!(!((je=(Me=E.actions).password_delete)===null||je===void 0)&&je.call(Me,null)),inputs:E.actions.password_update(null).inputs,onPasswordSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"password-submit",E.actions.password_update({password:Z}).run)}),onPasswordDelete:He,checkedItemID:Ce,setCheckedItemID:V,passwordExists:!0})})]}):null,o.enablePasskeys&&(!((le=(Re=E.payload)===null||Re===void 0?void 0:Re.user)===null||le===void 0)&&le.passkeys||!((me=(ce=E.actions).webauthn_credential_create)===null||me===void 0)&&me.call(ce,null))?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePasskeys")}),r(W,{children:[r(Si,{onBack:lt,onCredentialNameSubmit:ve,onCredentialDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"passkey-delete",E.actions.webauthn_credential_delete({passkey_id:Z}).run)}),credentials:E.payload.user.passkeys,setError:null,checkedItemID:Ce,setCheckedItemID:V,allowCredentialDeletion:!!(!((k=(Le=E.actions).webauthn_credential_delete)===null||k===void 0)&&k.call(Le,null)),credentialType:"passkey"}),!((y=(p=E.actions).webauthn_credential_create)===null||y===void 0)&&y.call(p,null)?r(xi,{credentialType:"passkey",onCredentialSubmit:H=>De(void 0,void 0,void 0,function*(){return F(H,"passkey-submit",E.actions.webauthn_credential_create(null).run)}),setError:null,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!(($=E.payload.user.mfa_config)===null||$===void 0)&&$.security_keys_enabled?r(C.Fragment,{children:[r(he,{children:X("headlines.securityKeys")}),r(W,{children:[r(Si,{onBack:lt,onCredentialNameSubmit:ve,onCredentialDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"security-key-delete",E.actions.security_key_delete({security_key_id:Z}).run)}),credentials:E.payload.user.security_keys,setError:null,checkedItemID:Ce,setCheckedItemID:V,allowCredentialDeletion:!!(!((ge=(K=E.actions).security_key_delete)===null||ge===void 0)&&ge.call(K,null)),credentialType:"security-key"}),!((Ke=(Fe=E.actions).security_key_create)===null||Ke===void 0)&&Ke.call(Fe,null)?r(xi,{credentialType:"security-key",onCredentialSubmit:H=>De(void 0,void 0,void 0,function*(){return F(H,"security-key-submit",E.actions.security_key_create(null).run)}),setError:null,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((Ve=E.payload.user.mfa_config)===null||Ve===void 0)&&Ve.totp_enabled?r(C.Fragment,{children:[r(he,{children:X("headlines.authenticatorApp")}),r(W,{children:r(Vr,{onConnect:H=>De(void 0,void 0,void 0,function*(){return F(H,"auth-app-add",E.actions.continue_to_otp_secret_creation(null).run)}),onDelete:H=>De(void 0,void 0,void 0,function*(){return F(H,"auth-app-remove",E.actions.otp_secret_delete(null).run)}),allowDeletion:!!(!((v=(g=E.actions).otp_secret_delete)===null||v===void 0)&&v.call(g,null)),authAppSetUp:(b=E.payload.user.mfa_config)===null||b===void 0?void 0:b.auth_app_set_up,checkedItemID:Ce,setCheckedItemID:V})})]}):null,E.payload.sessions?r(C.Fragment,{children:[r(he,{children:X("headlines.profileSessions")}),r(W,{children:r(Kr,{sessions:E.payload.sessions,setError:null,checkedItemID:Ce,setCheckedItemID:V,onSessionDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"session-delete",E.actions.session_delete({session_id:Z}).run)}),deletableSessionIDs:(I=(T=(D=E.actions).session_delete)===null||T===void 0?void 0:T.call(D,null).inputs.session_id.allowed_values)===null||I===void 0?void 0:I.map(H=>H.value)})})]}):null,!((te=(q=E.actions).account_delete)===null||te===void 0)&&te.call(q,null)?r(C.Fragment,{children:[r(fn,{}),r(W,{children:r(lo,{})}),r(W,{children:r(ae,Object.assign({onSubmit:H=>(H.preventDefault(),R(r(Fr,{onBack:lt,onAccountDelete:En})),Promise.resolve())},{children:r(ie,Object.assign({dangerous:!0},{children:X("headlines.deleteAccount")}))}))})]}):null]})},Br=Oi,Pi=({state:o,error:e})=>{const{t}=(0,_.useContext)(J.TranslateContext),{init:n,componentName:i}=(0,_.useContext)(pe),a=(0,_.useCallback)(()=>n(i),[i,n]);return(0,_.useEffect)(()=>(addEventListener("hankoAuthSuccess",a),()=>{removeEventListener("hankoAuthSuccess",a)}),[a]),r(Pe,{children:[r(he,{children:t("headlines.error")}),r(Ee,{state:o,error:e}),r(ae,Object.assign({onSubmit:s=>{s.preventDefault(),a()}},{children:r(ie,Object.assign({uiAction:"retry"},{children:t("labels.continue")}))}))]})};var go=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Zr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.createEmail")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:f=>go(void 0,void 0,void 0,function*(){f.preventDefault(),c("email-submit");const m=yield l.actions.email_address_set({email:u}).run();c(null),yield s.flow.run(m,d)})},{children:[r(ze,{type:"email",autoComplete:"email",autoCorrect:"off",flowInput:(t=(e=l.actions).email_address_set)===null||t===void 0?void 0:t.call(e,null).inputs.email,onInput:f=>go(void 0,void 0,void 0,function*(){f.target instanceof HTMLInputElement&&h(f.target.value)}),placeholder:a("labels.email"),pattern:"^.*[^0-9]+$",value:u}),r(ie,Object.assign({uiAction:"email-submit"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"skip",onClick:f=>go(void 0,void 0,void 0,function*(){f.preventDefault(),c("skip");const m=yield l.actions.skip(null).run();c(null),yield s.flow.run(m,d)}),loadingSpinnerPosition:"left"},{children:a("labels.skip")}))]}))]})};var fo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Jr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.createUsername")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:f=>fo(void 0,void 0,void 0,function*(){f.preventDefault(),c("username-set");const m=yield l.actions.username_create({username:u}).run();c(null),yield s.flow.run(m,d)})},{children:[r(ze,{type:"text",autoComplete:"username",autoCorrect:"off",flowInput:(t=(e=l.actions).username_create)===null||t===void 0?void 0:t.call(e,null).inputs.username,onInput:f=>fo(void 0,void 0,void 0,function*(){f.target instanceof HTMLInputElement&&h(f.target.value)}),value:u,placeholder:a("labels.username")}),r(ie,Object.assign({uiAction:"username-set"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"skip",onClick:f=>fo(void 0,void 0,void 0,function*(){f.preventDefault(),c("skip");const m=yield l.actions.skip(null).run();c(null),yield s.flow.run(m,d)}),loadingSpinnerPosition:"left"},{children:a("labels.skip")}))]}))]})};var An=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Yr=o=>{var e,t,n,i,a,s,d,c,l,u,h,f;const{t:m}=(0,_.useContext)(J.TranslateContext),{hanko:A,setLoadingAction:O,stateHandler:x}=(0,_.useContext)(pe),{flowState:S}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:m("headlines.setupLoginMethod")}),r(Ee,{flowError:S==null?void 0:S.error}),r(W,{children:m("texts.selectLoginMethodForFutureLogins")}),r(ae,Object.assign({hidden:!(!((t=(e=S.actions).continue_to_passkey_registration)===null||t===void 0)&&t.call(e,null)),onSubmit:P=>An(void 0,void 0,void 0,function*(){P.preventDefault(),O("passkey-submit");const j=yield S.actions.continue_to_passkey_registration(null).run();O(null),yield A.flow.run(j,x)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passkey-submit",icon:"passkey"},{children:m("labels.passkey")}))})),r(ae,Object.assign({hidden:!(!((i=(n=S.actions).continue_to_password_registration)===null||i===void 0)&&i.call(n,null)),onSubmit:P=>An(void 0,void 0,void 0,function*(){P.preventDefault(),O("password-submit");const j=yield S.actions.continue_to_password_registration(null).run();O(null),yield A.flow.run(j,x)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"password"},{children:m("labels.password")}))}))]}),r(Ne,Object.assign({hidden:!(!((s=(a=S.actions).back)===null||s===void 0)&&s.call(a,null))&&!(!((c=(d=S.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:P=>An(void 0,void 0,void 0,function*(){P.preventDefault(),O("back");const j=yield S.actions.back(null).run();O(null),yield A.flow.run(j,x)}),loadingSpinnerPosition:"right",hidden:!(!((u=(l=S.actions).back)===null||u===void 0)&&u.call(l,null))},{children:m("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:P=>An(void 0,void 0,void 0,function*(){P.preventDefault(),O("skip");const j=yield S.actions.skip(null).run();O(null),yield A.flow.run(j,x)}),loadingSpinnerPosition:"left",hidden:!(!((f=(h=S.actions).skip)===null||f===void 0)&&f.call(h,null))},{children:m("labels.skip")}))]}))]})};var vo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Qr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{flowState:s}=Ue(o.state),{hanko:d,setLoadingAction:c,stateHandler:l}=(0,_.useContext)(pe),[u,h]=(0,_.useState)([]),f=(0,_.useCallback)(m=>vo(void 0,void 0,void 0,function*(){c("passcode-submit");const A=yield s.actions.otp_code_validate({otp_code:m}).run();c(null),yield d.flow.run(A,l)}),[d,s,c,l]);return(0,_.useEffect)(()=>{var m;((m=s.error)===null||m===void 0?void 0:m.code)==="passcode_invalid"&&h([])},[s]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.otpLogin")}),r(Ee,{state:s}),r(W,{children:a("texts.otpLogin")}),r(ae,Object.assign({onSubmit:m=>vo(void 0,void 0,void 0,function*(){return m.preventDefault(),f(u.join(""))})},{children:[r(ho,{onInput:m=>{if(h(m),m.filter(A=>A!=="").length===6)return f(m.join(""))},passcodeDigits:u,numberOfInputs:6}),r(ie,Object.assign({uiAction:"passcode-submit"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=s.actions).continue_to_login_security_key)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"skip",onClick:m=>vo(void 0,void 0,void 0,function*(){m.preventDefault(),c("skip");const A=yield s.actions.continue_to_login_security_key(null).run();c(null),yield d.flow.run(A,l)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=s.actions).continue_to_login_security_key)===null||i===void 0)&&i.call(n,null))},{children:a("labels.useAnotherMethod")}))}))]})};var Ei=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Gr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.securityKeyLogin")}),r(Ee,{state:l}),r(W,{children:a("texts.securityKeyLogin")}),r(ae,Object.assign({onSubmit:u=>Ei(void 0,void 0,void 0,function*(){u.preventDefault(),d("passkey-submit");const h=yield l.actions.webauthn_generate_request_options(null).run();yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"securityKey"},{children:a("labels.securityKeyUse")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=l.actions).continue_to_login_otp)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"skip",onClick:u=>Ei(void 0,void 0,void 0,function*(){u.preventDefault(),d("skip");const h=yield l.actions.continue_to_login_otp(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=l.actions).continue_to_login_otp)===null||i===void 0)&&i.call(n,null))},{children:a("labels.useAnotherMethod")}))}))]})};var xn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Xr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,setLoadingAction:h,stateHandler:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state),A=S=>xn(void 0,void 0,void 0,function*(){S.preventDefault(),h("passcode-submit");const P=yield m.actions.continue_to_security_key_creation(null).run();h(null),yield u.flow.run(P,f)}),O=S=>xn(void 0,void 0,void 0,function*(){S.preventDefault(),h("password-submit");const P=yield m.actions.continue_to_otp_secret_creation(null).run();h(null),yield u.flow.run(P,f)}),x=(0,_.useMemo)(()=>{const{actions:S}=m;return S.continue_to_security_key_creation&&!S.continue_to_otp_secret_creation?A:!S.continue_to_security_key_creation&&S.continue_to_otp_secret_creation?O:void 0},[m,A,O]);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.mfaSetUp")}),r(Ee,{flowError:m==null?void 0:m.error}),r(W,{children:l("texts.mfaSetUp")}),x?r(ae,Object.assign({onSubmit:x},{children:r(ie,Object.assign({uiAction:"passcode-submit"},{children:l("labels.continue")}))})):r(C.Fragment,{children:[r(ae,Object.assign({hidden:!(!((t=(e=m.actions).continue_to_security_key_creation)===null||t===void 0)&&t.call(e,null)),onSubmit:A},{children:r(ie,Object.assign({secondary:!0,uiAction:"passcode-submit",icon:"securityKey"},{children:l("labels.securityKey")}))})),r(ae,Object.assign({hidden:!(!((i=(n=m.actions).continue_to_otp_secret_creation)===null||i===void 0)&&i.call(n,null)),onSubmit:O},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"qrCodeScanner"},{children:l("labels.authenticatorApp")}))}))]})]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:S=>xn(void 0,void 0,void 0,function*(){S.preventDefault(),h("back");const P=yield m.actions.back(null).run();h(null),yield u.flow.run(P,f)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:S=>xn(void 0,void 0,void 0,function*(){S.preventDefault(),h("skip");const P=yield m.actions.skip(null).run();h(null),yield u.flow.run(P,f)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]})]})};var Cn=G(560),zt={};zt.setAttributes=et(),zt.insert=o=>{window._hankoStyle=o},zt.domAPI=Xe(),zt.insertStyleElement=tt(),Ge()(Cn.A,zt);const es=Cn.A&&Cn.A.locals?Cn.A.locals:void 0,ts=({children:o,text:e})=>{const{t}=(0,_.useContext)(J.TranslateContext),[n,i]=(0,_.useState)(!1);return r("section",Object.assign({className:Pt.clipboardContainer},{children:[r("div",{children:[o," "]}),r("div",Object.assign({className:Pt.clipboardIcon,onClick:a=>{return s=void 0,d=void 0,l=function*(){a.preventDefault();try{yield navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)}catch(u){console.error("Failed to copy: ",u)}},new((c=void 0)||(c=Promise))(function(u,h){function f(O){try{A(l.next(O))}catch(x){h(x)}}function m(O){try{A(l.throw(O))}catch(x){h(x)}}function A(O){var x;O.done?u(O.value):(x=O.value,x instanceof c?x:new c(function(S){S(x)})).then(f,m)}A((l=l.apply(s,d||[])).next())});var s,d,c,l}},{children:n?r("span",{children:["- ",t("labels.copied")]}):r(It,{name:"copy",secondary:!0,size:13})}))]}))},ns=({src:o,secret:e})=>{const{t}=(0,_.useContext)(J.TranslateContext);return r("div",Object.assign({className:es.otpCreationDetails},{children:[r("img",{alt:"QR-Code",src:o}),r(fn,{}),r(ts,Object.assign({text:e},{children:t("texts.otpSecretKey")})),r("div",{children:e})]}))};var _o=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const os=o=>{const{t:e}=(0,_.useContext)(J.TranslateContext),{flowState:t}=Ue(o.state),{hanko:n,uiState:i,setLoadingAction:a,stateHandler:s}=(0,_.useContext)(pe),[d,c]=(0,_.useState)([]),l=(0,_.useCallback)(u=>_o(void 0,void 0,void 0,function*(){a("passcode-submit");const h=yield t.actions.otp_code_verify({otp_code:u}).run();a(null),yield n.flow.run(h,s)}),[t,a,s]);return(0,_.useEffect)(()=>{var u;((u=t.error)===null||u===void 0?void 0:u.code)==="passcode_invalid"&&c([])},[t]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:e("headlines.otpSetUp")}),r(Ee,{state:t}),r(W,{children:e("texts.otpScanQRCode")}),r(ns,{src:t.payload.otp_image_source,secret:t.payload.otp_secret}),r(W,{children:e("texts.otpEnterVerificationCode")}),r(ae,Object.assign({onSubmit:u=>_o(void 0,void 0,void 0,function*(){return u.preventDefault(),l(d.join(""))})},{children:[r(ho,{onInput:u=>{if(c(u),u.filter(h=>h!=="").length===6)return l(u.join(""))},passcodeDigits:d,numberOfInputs:6}),r(ie,Object.assign({uiAction:"passcode-submit"},{children:e("labels.continue")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:u=>_o(void 0,void 0,void 0,function*(){u.preventDefault(),a("back");const h=yield t.actions.back(null).run();a(null),yield n.flow.run(h,s)}),loadingSpinnerPosition:"right",isLoading:i.loadingAction==="back"},{children:e("labels.back")}))})]})};var Ii=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const is=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.securityKeySetUp")}),r(Ee,{state:l}),r(W,{children:a("texts.securityKeySetUp")}),r(ae,Object.assign({onSubmit:u=>Ii(void 0,void 0,void 0,function*(){u.preventDefault(),d("passkey-submit");const h=yield l.actions.webauthn_generate_creation_options(null).run();yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"securityKey"},{children:a("labels.createSecurityKey")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=l.actions).back)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"back",onClick:u=>Ii(void 0,void 0,void 0,function*(){u.preventDefault(),d("back");const h=yield l.actions.back(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=l.actions).back)===null||i===void 0)&&i.call(n,null))},{children:a("labels.back")}))}))]})};var yo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const as=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.trustDevice")}),r(Ee,{flowError:l==null?void 0:l.error}),r(W,{children:a("texts.trustDevice")}),r(ae,Object.assign({onSubmit:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("trust-device-submit");const h=yield l.actions.trust_device(null).run();d(null),yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"trust-device-submit"},{children:a("labels.trustDevice")}))}))]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("back");const h=yield l.actions.back(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((t=(e=l.actions).back)===null||t===void 0)&&t.call(e,null))},{children:a("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("skip");const h=yield l.actions.skip(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"left",hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:a("labels.skip")}))]})]})};var We=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const On="flow-state",pe=(0,C.createContext)(null),rs=o=>{var{lang:e,experimental:t="",prefilledEmail:n,prefilledUsername:i,globalOptions:a,createWebauthnAbortSignal:s}=o,d=function(p,y){var $={};for(var K in p)Object.prototype.hasOwnProperty.call(p,K)&&y.indexOf(K)<0&&($[K]=p[K]);if(p!=null&&typeof Object.getOwnPropertySymbols=="function"){var ge=0;for(K=Object.getOwnPropertySymbols(p);ge<K.length;ge++)y.indexOf(K[ge])<0&&Object.prototype.propertyIsEnumerable.call(p,K[ge])&&($[K[ge]]=p[K[ge]])}return $}(o,["lang","experimental","prefilledEmail","prefilledUsername","globalOptions","createWebauthnAbortSignal"]);const{hanko:c,injectStyles:l,hidePasskeyButtonOnLogin:u,translations:h,translationsLocation:f,fallbackLanguage:m}=a;c.setLang((e==null?void 0:e.toString())||m);const A=(0,_.useRef)(null),O=(0,_.useMemo)(()=>`${a.storageKey}_last_login`,[a.storageKey]),[x,S]=(0,_.useState)(d.componentName),P=(0,_.useMemo)(()=>t.split(" ").filter(p=>p.length).map(p=>p),[t]),j=(0,_.useMemo)(()=>r(Er,{}),[]),[U,N]=(0,_.useState)(j),[,re]=(0,_.useState)(c),[be,se]=(0,_.useState)(),[xe,M]=(0,_.useState)({email:n,username:i}),z=(0,_.useCallback)(p=>{M(y=>Object.assign(Object.assign({},y),{loadingAction:p,succeededAction:null,error:null,lastAction:p||y.lastAction}))},[]),_e=(0,_.useCallback)(p=>{M(y=>Object.assign(Object.assign({},y),{succeededAction:p,loadingAction:null}))},[]),Me=(0,_.useCallback)(()=>{M(p=>Object.assign(Object.assign({},p),{succeededAction:p.lastAction,loadingAction:null,error:null}))},[]),je=(0,_.useMemo)(()=>!!xe.loadingAction||!!xe.succeededAction,[xe]),Re=function(p,y){var $;($=A.current)===null||$===void 0||$.dispatchEvent(new CustomEvent(p,{detail:y,bubbles:!1,composed:!0}))},le=p=>{z(null),N(r(Pi,{error:p instanceof Ae?p:new Ie(p)}))},ce=(0,_.useMemo)(()=>({onError:p=>{le(p)},preflight(p){return We(this,void 0,void 0,function*(){const y=yield _t.isConditionalMediationAvailable(),$=yield _t.isPlatformAuthenticatorAvailable(),K=yield p.actions.register_client_capabilities({webauthn_available:k,webauthn_conditional_mediation_available:y,webauthn_platform_authenticator_available:$}).run();return c.flow.run(K,ce)})},login_init(p){return We(this,void 0,void 0,function*(){N(r(Dr,{state:p})),function(){We(this,void 0,void 0,function*(){if(p.payload.request_options){let y;try{y=yield ci({publicKey:p.payload.request_options.publicKey,mediation:"conditional",signal:s()})}catch{return}z("passkey-submit");const $=yield p.actions.webauthn_verify_assertion_response({assertion_response:y}).run();z(null),yield c.flow.run($,ce)}})}()})},passcode_confirmation(p){N(r($r,{state:p}))},login_otp(p){return We(this,void 0,void 0,function*(){N(r(Qr,{state:p}))})},login_passkey(p){return We(this,void 0,void 0,function*(){let y;z("passkey-submit");try{y=yield ci(Object.assign(Object.assign({},p.payload.request_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return M(Fe=>Object.assign(Object.assign({},Fe),{error:p.error,loadingAction:null})),c.flow.run(ge,ce)}const $=yield p.actions.webauthn_verify_assertion_response({assertion_response:y}).run();z(null),yield c.flow.run($,ce)})},onboarding_create_passkey(p){N(r(Tr,{state:p}))},onboarding_verify_passkey_attestation(p){return We(this,void 0,void 0,function*(){let y;try{y=yield li(Object.assign(Object.assign({},p.payload.creation_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return z(null),yield c.flow.run(ge,ce),void M(Fe=>Object.assign(Object.assign({},Fe),{error:{code:"webauthn_credential_already_exists",message:"Webauthn credential already exists"}}))}const $=yield p.actions.webauthn_verify_attestation_response({public_key:y}).run();z(null),yield c.flow.run($,ce)})},webauthn_credential_verification(p){return We(this,void 0,void 0,function*(){let y;try{y=yield li(Object.assign(Object.assign({},p.payload.creation_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return z(null),yield c.flow.run(ge,ce),void M(Fe=>Object.assign(Object.assign({},Fe),{error:{code:"webauthn_credential_already_exists",message:"Webauthn credential already exists"}}))}const $=yield p.actions.webauthn_verify_attestation_response({public_key:y}).run();yield c.flow.run($,ce)})},login_password(p){N(r(Ur,{state:p}))},login_password_recovery(p){N(r(Nr,{state:p}))},login_security_key(p){return We(this,void 0,void 0,function*(){N(r(Gr,{state:p}))})},mfa_method_chooser(p){return We(this,void 0,void 0,function*(){N(r(Xr,{state:p}))})},mfa_otp_secret_creation(p){return We(this,void 0,void 0,function*(){N(r(os,{state:p}))})},mfa_security_key_creation(p){return We(this,void 0,void 0,function*(){N(r(is,{state:p}))})},login_method_chooser(p){N(r(Mr,{state:p}))},registration_init(p){N(r(Rr,{state:p}))},password_creation(p){N(r(Hr,{state:p}))},success(p){var y;!((y=p.payload)===null||y===void 0)&&y.last_login&&localStorage.setItem(O,JSON.stringify(p.payload.last_login));const{claims:$}=p.payload,K=Date.parse($.expiration)-Date.now();c.relay.dispatchSessionCreatedEvent({claims:$,expirationSeconds:K}),Me()},profile_init(p){N(r(Br,{state:p,enablePasskeys:a.enablePasskeys}))},thirdparty(p){return We(this,void 0,void 0,function*(){const y=new URLSearchParams(window.location.search).get("hanko_token");if(y&&y.length>0){const $=new URLSearchParams(window.location.search),K=yield p.actions.exchange_token({token:$.get("hanko_token")}).run();$.delete("hanko_token"),$.delete("saml_hint"),history.replaceState(null,null,window.location.pathname+($.size<1?"":`?${$.toString()}`)),yield c.flow.run(K,ce)}else M($=>Object.assign(Object.assign({},$),{lastAction:null})),localStorage.setItem(On,JSON.stringify(p.toJSON())),window.location.assign(p.payload.redirect_url)})},error(p){z(null),N(r(Pi,{state:p}))},onboarding_email(p){N(r(Zr,{state:p}))},onboarding_username(p){N(r(Jr,{state:p}))},credential_onboarding_chooser(p){N(r(Yr,{state:p}))},account_deleted(p){return We(this,void 0,void 0,function*(){yield c.user.logout(),c.relay.dispatchUserDeletedEvent()})},device_trust(p){N(r(as,{state:p}))}}),[a.enablePasskeys,c,Me,z]),me=(0,_.useCallback)(p=>We(void 0,void 0,void 0,function*(){z("switch-flow");const y=localStorage.getItem(O);y&&se(JSON.parse(y));const $=new URLSearchParams(window.location.search).get("hanko_token"),K=localStorage.getItem(On);new URLSearchParams(window.location.search).get("saml_hint")==="idp_initiated"?yield c.flow.init("/token_exchange",Object.assign({},ce)):K&&K.length>0&&$&&$.length>0?(yield c.flow.fromString(localStorage.getItem(On),Object.assign({},ce)),localStorage.removeItem(On)):yield c.flow.init(p,Object.assign({},ce)),z(null)}),[ce]),Le=(0,_.useCallback)(p=>{switch(p){case"auth":case"login":me("/login").catch(le);break;case"registration":me("/registration").catch(le);break;case"profile":me("/profile").catch(le)}},[me]);(0,_.useEffect)(()=>Le(x),[]),(0,_.useEffect)(()=>{c.onUserDeleted(()=>{Re("onUserDeleted")}),c.onSessionCreated(p=>{Re("onSessionCreated",p)}),c.onSessionExpired(()=>{Re("onSessionExpired")}),c.onUserLoggedOut(()=>{Re("onUserLoggedOut")})},[c]),(0,_.useMemo)(()=>{const p=()=>{Le(x)};["auth","login","registration"].includes(x)?(c.onUserLoggedOut(p),c.onSessionExpired(p),c.onUserDeleted(p)):x==="profile"&&c.onSessionCreated(p)},[]);const k=_t.supported();return r(pe.Provider,Object.assign({value:{init:Le,initialComponentName:d.componentName,isDisabled:je,setUIState:M,setLoadingAction:z,setSucceededAction:_e,uiState:xe,hanko:c,setHanko:re,lang:(e==null?void 0:e.toString())||m,prefilledEmail:n,prefilledUsername:i,componentName:x,setComponentName:S,experimentalFeatures:P,hidePasskeyButtonOnLogin:u,page:U,setPage:N,stateHandler:ce,lastLogin:be}},{children:r(J.TranslateProvider,Object.assign({translations:h,fallbackLang:m,root:f},{children:r(dr,Object.assign({ref:A},{children:x!=="events"?r(C.Fragment,{children:[l?r("style",{dangerouslySetInnerHTML:{__html:window._hankoStyle.innerHTML}}):null,U]}):null}))}))}))},ss={en:G(6).en};var Di=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const nt={},Wt=(o,e)=>r(rs,Object.assign({componentName:o,globalOptions:nt,createWebauthnAbortSignal:ps},e)),ls=o=>Wt("auth",o),cs=o=>Wt("login",o),ds=o=>Wt("registration",o),us=o=>Wt("profile",o),hs=o=>Wt("events",o);let Pn=new AbortController;const ps=()=>(Pn&&Pn.abort(),Pn=new AbortController,Pn.signal),Ft=({tagName:o,entryComponent:e,shadow:t=!0,observedAttributes:n})=>Di(void 0,void 0,void 0,function*(){customElements.get(o)||function(i,a,s,d){function c(){var l=Reflect.construct(HTMLElement,[],c);return l._vdomComponent=i,l._root=d&&d.shadow?l.attachShadow({mode:"open"}):l,l}(c.prototype=Object.create(HTMLElement.prototype)).constructor=c,c.prototype.connectedCallback=Ca,c.prototype.attributeChangedCallback=Oa,c.prototype.disconnectedCallback=Pa,s=s||i.observedAttributes||Object.keys(i.propTypes||{}),c.observedAttributes=s,s.forEach(function(l){Object.defineProperty(c.prototype,l,{get:function(){var u,h,f,m;return(u=(h=this._vdom)==null||(f=h.props)==null?void 0:f[l])!=null?u:(m=this._props)==null?void 0:m[l]},set:function(u){this._vdom?this.attributeChangedCallback(l,null,u):(this._props||(this._props={}),this._props[l]=u,this.connectedCallback());var h=typeof u;u!=null&&h!=="string"&&h!=="boolean"&&h!=="number"||this.setAttribute(l,u)}})}),customElements.define(a||i.tagName||i.displayName||i.name,c)}(e,o,n,{shadow:t})}),ms=(o,e={})=>Di(void 0,void 0,void 0,function*(){const t=["api","lang","experimental","prefilled-email","entry"];return e=Object.assign({shadow:!0,injectStyles:!0,enablePasskeys:!0,hidePasskeyButtonOnLogin:!1,translations:null,translationsLocation:"/i18n",fallbackLanguage:"en",storageKey:"hanko",sessionCheckInterval:3e4},e),nt.hanko=new bi(o,{cookieName:e.storageKey,cookieDomain:e.cookieDomain,cookieSameSite:e.cookieSameSite,localStorageKey:e.storageKey,sessionCheckInterval:e.sessionCheckInterval,sessionTokenLocation:e.sessionTokenLocation}),nt.injectStyles=e.injectStyles,nt.enablePasskeys=e.enablePasskeys,nt.hidePasskeyButtonOnLogin=e.hidePasskeyButtonOnLogin,nt.translations=e.translations||ss,nt.translationsLocation=e.translationsLocation,nt.fallbackLanguage=e.fallbackLanguage,nt.storageKey=e.storageKey,yield Promise.all([Ft(Object.assign(Object.assign({},e),{tagName:"hanko-auth",entryComponent:ls,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-login",entryComponent:cs,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-registration",entryComponent:ds,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-profile",entryComponent:us,observedAttributes:t.filter(n=>["api","lang"].includes(n))})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-events",entryComponent:hs,observedAttributes:[]}))]),{hanko:nt.hanko}});oe.fK,oe.tJ,oe.Z7,oe.Q9,oe.Lv,oe.qQ;var gs=oe.I4;oe.O8,oe.ku,oe.ls,oe.bO,oe.yv,oe.AT,oe.m_,oe.KG,oe.DH,oe.kf,oe.oY,oe.xg,oe.Wg,oe.J,oe.AC,oe.D_,oe.jx,oe.nX,oe.Nx,oe.Sd;var ji=oe.kz;oe.fX,oe.qA,oe.tz,oe.gN;const fs=Object.freeze(Object.defineProperty({__proto__:null,Hanko:gs,register:ji},Symbol.toStringTag,{value:"Module"})),vs=Ji`
|
|
43
|
+
*/const ka=va(class extends _a{constructor(){super(...arguments),this.key=$e}render(o,e){return this.key=o,e}update(o,[e,t]){return e!==this.key&&(ba(o),this.key=e),t}});/*! For license information please see elements.js.LICENSE.txt */var wa={7:function(o,e,t){(function(n,i,a){var s=function(){return s=Object.assign||function(x){for(var O,A=1,S=arguments.length;A<S;A++)for(var P in O=arguments[A])Object.prototype.hasOwnProperty.call(O,P)&&(x[P]=O[P]);return x},s.apply(this,arguments)};function d(x,O){var A=typeof Symbol=="function"&&x[Symbol.iterator];if(!A)return x;var S,P,j=A.call(x),U=[];try{for(;(O===void 0||O-- >0)&&!(S=j.next()).done;)U.push(S.value)}catch(N){P={error:N}}finally{try{S&&!S.done&&(A=j.return)&&A.call(j)}finally{if(P)throw P.error}}return U}function c(x,O){return[x,!x||x.endsWith("/")?"":"/",O,".json"].join("")}function l(x,O){var A=x;return O&&Object.keys(O).forEach(function(S){var P=O[S],j=new RegExp("{".concat(S,"}"),"gm");A=A.replace(j,P.toString())}),A}function u(x,O,A){var S=x[O];if(!S)return A;var P=A.split("."),j="";do{var U=S[j+=P.shift()];U===void 0||typeof U!="object"&&P.length?P.length?j+=".":S=A:(S=U,j="")}while(P.length);return S}var h={},f={root:"",lang:"en",fallbackLang:"en"},m=i.createContext(null);n.TranslateContext=m,n.TranslateProvider=function(x){var O=function(U,N){U=Object.assign({},f,U),h=N||h;var re=d(a.useState(U.lang),2),be=re[0],se=re[1],Ae=d(a.useState(h),2),M=Ae[0],z=Ae[1],_e=d(a.useState(!1),2),Me=_e[0],je=_e[1],Re=function(le){if(!M.hasOwnProperty(le)){je(!1);var ce=c(U.root,le);fetch(ce).then(function(me){return me.json()}).then(function(me){h[le]=me,z(s({},h)),je(!0)}).catch(function(me){console.log("Aww, snap.",me),z(s({},h)),je(!0)})}};return a.useEffect(function(){Re(U.fallbackLang),Re(be)},[be]),{lang:be,setLang:se,t:function(le,ce){if(!M.hasOwnProperty(be))return le;var me=u(M,be,le);return me===le&&be!==U.fallbackLang&&(me=u(M,U.fallbackLang,le)),l(me,ce)},isReady:Me}}({root:x.root||"assets",lang:x.lang||"en",fallbackLang:x.fallbackLang||"en"},x.translations),A=O.t,S=O.setLang,P=O.lang,j=O.isReady;return i.h(m.Provider,{value:{t:A,setLang:S,lang:P,isReady:j}},x.children)},n.format=l,n.getResourceUrl=c,n.getValue=u,Object.defineProperty(n,"__esModule",{value:!0})})(e,t(616),t(78))},633:(o,e)=>{var t;(function(){var n={}.hasOwnProperty;function i(){for(var a=[],s=0;s<arguments.length;s++){var d=arguments[s];if(d){var c=typeof d;if(c==="string"||c==="number")a.push(d);else if(Array.isArray(d)){if(d.length){var l=i.apply(null,d);l&&a.push(l)}}else if(c==="object"){if(d.toString!==Object.prototype.toString&&!d.toString.toString().includes("[native code]")){a.push(d.toString());continue}for(var u in d)n.call(d,u)&&d[u]&&a.push(u)}}}return a.join(" ")}o.exports?(i.default=i,o.exports=i):(t=(function(){return i}).apply(e,[]))===void 0||(o.exports=t)})()},21:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,'.hanko_accordion{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);width:100%;overflow:hidden}.hanko_accordion .hanko_accordionItem{color:var(--color, #333333);margin:.25rem 0;overflow:hidden}.hanko_accordion .hanko_accordionItem.hanko_dropdown{margin:0}.hanko_accordion .hanko_accordionItem .hanko_label{border-radius:var(--border-radius, 8px);border-style:none;height:var(--item-height, 42px);background:var(--background-color, white);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;margin:0;cursor:pointer;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_label .hanko_labelText{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hanko_accordion .hanko_accordionItem .hanko_label .hanko_labelText .hanko_description{color:var(--color-shade-1, #8f9095)}.hanko_accordion .hanko_accordionItem .hanko_label.hanko_dropdown{margin:0;color:var(--link-color, #506cf0);justify-content:flex-start}.hanko_accordion .hanko_accordionItem .hanko_label:hover{color:var(--brand-contrast-color, white);background:var(--brand-color-shade-1, #6b84fb)}.hanko_accordion .hanko_accordionItem .hanko_label:hover .hanko_description{color:var(--brand-contrast-color, white)}.hanko_accordion .hanko_accordionItem .hanko_label:hover.hanko_dropdown{color:var(--link-color, #506cf0);background:none}.hanko_accordion .hanko_accordionItem .hanko_label:not(.hanko_dropdown)::after{content:"❯";width:1rem;text-align:center;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_accordionInput{position:absolute;opacity:0;z-index:-1}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label .hanko_description{color:var(--brand-contrast-color, white)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label.hanko_dropdown{color:var(--link-color, #506cf0);background:none}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label:not(.hanko_dropdown)::after{transform:rotate(90deg)}.hanko_accordion .hanko_accordionItem .hanko_accordionInput:checked+.hanko_label~.hanko_accordionContent{margin:.25rem 1rem;opacity:1;max-height:100vh}.hanko_accordion .hanko_accordionItem .hanko_accordionContent{max-height:0;margin:0 1rem;opacity:0;overflow:hidden;transition:all .35s}.hanko_accordion .hanko_accordionItem .hanko_accordionContent.hanko_dropdownContent{border-style:none}',""]),s.locals={accordion:"hanko_accordion",accordionItem:"hanko_accordionItem",dropdown:"hanko_dropdown",label:"hanko_label",labelText:"hanko_labelText",description:"hanko_description",accordionInput:"hanko_accordionInput",accordionContent:"hanko_accordionContent",dropdownContent:"hanko_dropdownContent"};const d=s},905:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_errorBox{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);color:var(--error-color, #e82020);background:var(--background-color, white);margin:var(--item-margin, 0.5rem 0);display:flex;align-items:start;box-sizing:border-box;line-height:1.5rem;padding:.25em;gap:.2em}.hanko_errorBox>span{display:inline-flex}.hanko_errorBox>span:first-child{padding:.25em 0 .25em .19em}.hanko_errorBox[hidden]{display:none}.hanko_errorMessage{color:var(--error-color, #e82020)}",""]),s.locals={errorBox:"hanko_errorBox",errorMessage:"hanko_errorMessage"};const d=s},577:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,'.hanko_form{display:flex;flex-grow:1}.hanko_form .hanko_ul{flex-grow:1;margin:var(--item-margin, 0.5rem 0);padding-inline-start:0;list-style-type:none;display:flex;flex-wrap:wrap;gap:1em}.hanko_form .hanko_li{display:flex;max-width:100%;flex-grow:1;flex-basis:min-content}.hanko_form .hanko_li.hanko_maxWidth{min-width:100%}.hanko_button{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);white-space:nowrap;width:100%;min-width:var(--button-min-width, 7em);min-height:var(--item-height, 42px);outline:none;cursor:pointer;transition:.1s ease-out;flex-grow:1;flex-shrink:1;display:inline-flex}.hanko_button:disabled{cursor:default}.hanko_button.hanko_primary{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0);border-color:var(--brand-color, #506cf0);justify-content:center}.hanko_button.hanko_primary:hover{color:var(--brand-contrast-color, white);background:var(--brand-color-shade-1, #6b84fb);border-color:var(--brand-color, #506cf0)}.hanko_button.hanko_primary:focus{color:var(--brand-contrast-color, white);background:var(--brand-color, #506cf0);border-color:var(--color, #333333)}.hanko_button.hanko_primary:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-2, #e5e6ef)}.hanko_button.hanko_secondary{color:var(--color, #333333);background:var(--background-color, white);border-color:var(--color, #333333);justify-content:flex-start}.hanko_button.hanko_secondary:hover{color:var(--color, #333333);background:var(--color-shade-2, #e5e6ef);border-color:var(--color, #333333)}.hanko_button.hanko_secondary:focus{color:var(--color, #333333);background:var(--background-color, white);border-color:var(--brand-color, #506cf0)}.hanko_button.hanko_secondary:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_button.hanko_dangerous{color:var(--error-color, #e82020);background:var(--background-color, white);border-color:var(--error-color, #e82020);flex-grow:0;width:auto}.hanko_caption{flex-grow:1;flex-wrap:wrap;display:flex;justify-content:space-between;align-items:baseline}.hanko_lastUsed{color:var(--color-shade-1, #8f9095);font-size:smaller}.hanko_inputWrapper{flex-grow:1;position:relative;display:flex;min-width:var(--input-min-width, 14em);max-width:100%}.hanko_input{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);border-radius:var(--border-radius, 8px);border-style:var(--border-style, solid);border-width:var(--border-width, 1px);height:var(--item-height, 42px);color:var(--color, #333333);border-color:var(--color-shade-1, #8f9095);background:var(--background-color, white);padding:0 .5rem;outline:none;width:100%;box-sizing:border-box;transition:.1s ease-out}.hanko_input.hanko_error{border-color:var(--error-color, #e82020)}.hanko_input:-webkit-autofill,.hanko_input:-webkit-autofill:hover,.hanko_input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color, #333333);-webkit-box-shadow:0 0 0 50px var(--background-color, white) inset}.hanko_input::-ms-reveal,.hanko_input::-ms-clear{display:none}.hanko_input::placeholder{color:var(--color-shade-1, #8f9095)}.hanko_input:focus{color:var(--color, #333333);border-color:var(--color, #333333)}.hanko_input:disabled{color:var(--color-shade-1, #8f9095);background:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_passcodeInputWrapper{flex-grow:1;min-width:var(--input-min-width, 14em);max-width:fit-content;position:relative;display:flex;justify-content:space-between}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper{flex-grow:1;margin:0 .5rem 0 0}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper:last-child{margin:0}.hanko_passcodeInputWrapper .hanko_passcodeDigitWrapper .hanko_input{text-align:center}.hanko_checkboxWrapper{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);align-items:center;display:flex}.hanko_checkboxWrapper .hanko_label{color:inherit;padding-left:.5rem;cursor:pointer}.hanko_checkboxWrapper .hanko_label.hanko_disabled{cursor:default;color:var(--color-shade-1, #8f9095)}.hanko_checkboxWrapper .hanko_checkbox{border:currentColor solid 1px;border-radius:.15em;appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;margin:0;color:currentColor;background-color:var(--background-color, white);font:inherit;box-shadow:none;display:inline-flex;place-content:center;cursor:pointer}.hanko_checkboxWrapper .hanko_checkbox:checked{background-color:var(--color, #333333)}.hanko_checkboxWrapper .hanko_checkbox:disabled{cursor:default;background-color:var(--color-shade-2, #e5e6ef);border-color:var(--color-shade-1, #8f9095)}.hanko_checkboxWrapper .hanko_checkbox:checked:after{content:"✓";color:var(--background-color, white);position:absolute;line-height:1.1rem}.hanko_checkboxWrapper .hanko_checkbox:disabled:after{color:var(--color-shade-1, #8f9095)}',""]),s.locals={form:"hanko_form",ul:"hanko_ul",li:"hanko_li",maxWidth:"hanko_maxWidth",button:"hanko_button",primary:"hanko_primary",secondary:"hanko_secondary",dangerous:"hanko_dangerous",caption:"hanko_caption",lastUsed:"hanko_lastUsed",inputWrapper:"hanko_inputWrapper",input:"hanko_input",error:"hanko_error",passcodeInputWrapper:"hanko_passcodeInputWrapper",passcodeDigitWrapper:"hanko_passcodeDigitWrapper",checkboxWrapper:"hanko_checkboxWrapper",label:"hanko_label",disabled:"hanko_disabled",checkbox:"hanko_checkbox"};const d=s},619:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_headline{color:var(--color, #333333);font-family:var(--font-family, sans-serif);text-align:left;letter-spacing:0;font-style:normal;line-height:1.1}.hanko_headline.hanko_grade1{font-size:var(--headline1-font-size, 24px);font-weight:var(--headline1-font-weight, 600);margin:var(--headline1-margin, 0 0 0.5rem)}.hanko_headline.hanko_grade2{font-size:var(--headline2-font-size, 16px);font-weight:var(--headline2-font-weight, 600);margin:var(--headline2-margin, 1rem 0 0.5rem)}",""]),s.locals={headline:"hanko_headline",grade1:"hanko_grade1",grade2:"hanko_grade2"};const d=s},697:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_icon,.hanko_loadingSpinnerWrapper .hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_loadingSpinner,.hanko_exclamationMark,.hanko_checkmark{display:inline-block;fill:var(--brand-contrast-color, white);width:18px}.hanko_icon.hanko_secondary,.hanko_loadingSpinnerWrapper .hanko_secondary.hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_secondary.hanko_loadingSpinner,.hanko_secondary.hanko_exclamationMark,.hanko_secondary.hanko_checkmark{fill:var(--color, #333333)}.hanko_icon.hanko_disabled,.hanko_loadingSpinnerWrapper .hanko_disabled.hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_disabled.hanko_loadingSpinner,.hanko_disabled.hanko_exclamationMark,.hanko_disabled.hanko_checkmark{fill:var(--color-shade-1, #8f9095)}.hanko_checkmark{fill:var(--brand-color, #506cf0)}.hanko_checkmark.hanko_secondary{fill:var(--color-shade-1, #8f9095)}.hanko_checkmark.hanko_fadeOut{animation:hanko_fadeOut ease-out 1.5s forwards !important}@keyframes hanko_fadeOut{0%{opacity:1}100%{opacity:0}}.hanko_exclamationMark{fill:var(--error-color, #e82020)}.hanko_loadingSpinnerWrapperIcon{width:100%;column-gap:10px;margin-left:10px}.hanko_loadingSpinnerWrapper,.hanko_loadingSpinnerWrapperIcon{display:inline-flex;align-items:center;height:100%;margin:0 5px;justify-content:inherit;flex-wrap:inherit}.hanko_loadingSpinnerWrapper.hanko_centerContent,.hanko_centerContent.hanko_loadingSpinnerWrapperIcon{justify-content:center}.hanko_loadingSpinnerWrapper.hanko_maxWidth,.hanko_maxWidth.hanko_loadingSpinnerWrapperIcon{width:100%}.hanko_loadingSpinnerWrapper .hanko_loadingSpinner,.hanko_loadingSpinnerWrapperIcon .hanko_loadingSpinner{fill:var(--brand-color, #506cf0);animation:hanko_spin 500ms ease-in-out infinite}.hanko_loadingSpinnerWrapper.hanko_secondary,.hanko_secondary.hanko_loadingSpinnerWrapperIcon{fill:var(--color-shade-1, #8f9095)}@keyframes hanko_spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.hanko_googleIcon.hanko_disabled{fill:var(--color-shade-1, #8f9095)}.hanko_googleIcon.hanko_blue{fill:#4285f4}.hanko_googleIcon.hanko_green{fill:#34a853}.hanko_googleIcon.hanko_yellow{fill:#fbbc05}.hanko_googleIcon.hanko_red{fill:#ea4335}.hanko_microsoftIcon.hanko_disabled{fill:var(--color-shade-1, #8f9095)}.hanko_microsoftIcon.hanko_blue{fill:#00a4ef}.hanko_microsoftIcon.hanko_green{fill:#7fba00}.hanko_microsoftIcon.hanko_yellow{fill:#ffb900}.hanko_microsoftIcon.hanko_red{fill:#f25022}.hanko_facebookIcon.hanko_outline{fill:#0866ff}.hanko_facebookIcon.hanko_disabledOutline{fill:var(--color-shade-1, #8f9095)}.hanko_facebookIcon.hanko_letter{fill:#fff}.hanko_facebookIcon.hanko_disabledLetter{fill:var(--color-shade-2, #e5e6ef)}",""]),s.locals={icon:"hanko_icon",loadingSpinnerWrapper:"hanko_loadingSpinnerWrapper",loadingSpinner:"hanko_loadingSpinner",loadingSpinnerWrapperIcon:"hanko_loadingSpinnerWrapperIcon",exclamationMark:"hanko_exclamationMark",checkmark:"hanko_checkmark",secondary:"hanko_secondary",disabled:"hanko_disabled",fadeOut:"hanko_fadeOut",centerContent:"hanko_centerContent",maxWidth:"hanko_maxWidth",spin:"hanko_spin",googleIcon:"hanko_googleIcon",blue:"hanko_blue",green:"hanko_green",yellow:"hanko_yellow",red:"hanko_red",microsoftIcon:"hanko_microsoftIcon",facebookIcon:"hanko_facebookIcon",outline:"hanko_outline",disabledOutline:"hanko_disabledOutline",letter:"hanko_letter",disabledLetter:"hanko_disabledLetter"};const d=s},995:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_link{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--link-color, #506cf0);text-decoration:var(--link-text-decoration, none);cursor:pointer;background:none !important;border:none;padding:0 !important;transition:all .1s}.hanko_link:hover{text-decoration:var(--link-text-decoration-hover, underline)}.hanko_link:disabled{color:var(--color, #333333) !important;pointer-events:none;cursor:default}.hanko_link.hanko_danger{color:var(--error-color, #e82020)}.hanko_linkWrapper{display:inline-flex;flex-direction:row;justify-content:space-between;align-items:center;overflow:hidden}.hanko_linkWrapper.hanko_reverse{flex-direction:row-reverse}",""]),s.locals={link:"hanko_link",danger:"hanko_danger",linkWrapper:"hanko_linkWrapper",reverse:"hanko_reverse"};const d=s},560:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_otpCreationDetails{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);margin:var(--item-margin, 0.5rem 0);display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:smaller}",""]),s.locals={otpCreationDetails:"hanko_otpCreationDetails"};const d=s},489:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_paragraph{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);color:var(--color, #333333);margin:var(--item-margin, 0.5rem 0);text-align:left;word-break:break-word}",""]),s.locals={paragraph:"hanko_paragraph"};const d=s},111:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_spacer{height:1em}.hanko_divider{font-weight:var(--font-weight, 400);font-size:var(--font-size, 16px);font-family:var(--font-family, sans-serif);line-height:var(--line-height, 1.4rem);display:flex;visibility:var(--divider-visibility, visible);color:var(--color-shade-1, #8f9095);margin:var(--item-margin, 0.5rem 0);padding:.5em 0}.hanko_divider .hanko_line{border-bottom-style:var(--border-style, solid);border-bottom-width:var(--border-width, 1px);color:inherit;font:inherit;width:100%}.hanko_divider .hanko_text{font:inherit;color:inherit;background:var(--background-color, white);padding:var(--divider-padding, 0 42px);line-height:.1em}",""]),s.locals={spacer:"hanko_spacer",divider:"hanko_divider",line:"hanko_line",text:"hanko_text"};const d=s},914:(o,e,t)=>{t.d(e,{A:()=>d});var n=t(645),i=t.n(n),a=t(278),s=t.n(a)()(i());s.push([o.id,".hanko_container{background-color:var(--background-color, white);padding:var(--container-padding, 30px);max-width:var(--container-max-width, 410px);display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;align-content:flex-start;box-sizing:border-box}.hanko_content{box-sizing:border-box;flex:0 1 auto;width:100%;height:100%}.hanko_footer{padding:.5rem 0 0;box-sizing:border-box;width:100%}.hanko_footer :nth-child(1){float:left}.hanko_footer :nth-child(2){float:right}.hanko_clipboardContainer{display:flex}.hanko_clipboardIcon{display:flex;margin:auto;cursor:pointer}",""]),s.locals={container:"hanko_container",content:"hanko_content",footer:"hanko_footer",clipboardContainer:"hanko_clipboardContainer",clipboardIcon:"hanko_clipboardIcon"};const d=s},278:o=>{o.exports=function(e){var t=[];return t.toString=function(){return this.map(function(n){var i="",a=n[5]!==void 0;return n[4]&&(i+="@supports (".concat(n[4],") {")),n[2]&&(i+="@media ".concat(n[2]," {")),a&&(i+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),i+=e(n),a&&(i+="}"),n[2]&&(i+="}"),n[4]&&(i+="}"),i}).join("")},t.i=function(n,i,a,s,d){typeof n=="string"&&(n=[[null,n,void 0]]);var c={};if(a)for(var l=0;l<this.length;l++){var u=this[l][0];u!=null&&(c[u]=!0)}for(var h=0;h<n.length;h++){var f=[].concat(n[h]);a&&c[f[0]]||(d!==void 0&&(f[5]===void 0||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=d),i&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=i),s&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=s):f[4]="".concat(s)),t.push(f))}},t}},645:o=>{o.exports=function(e){return e[1]}},616:(o,e,t)=>{t.r(e),t.d(e,{Component:()=>N,Fragment:()=>U,cloneElement:()=>Ke,createContext:()=>Ve,createElement:()=>S,createRef:()=>j,h:()=>S,hydrate:()=>Fe,isValidElement:()=>s,options:()=>i,render:()=>ge,toChildArray:()=>_e});var n,i,a,s,d,c,l,u,h,f={},m=[],x=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function O(g,v){for(var b in v)g[b]=v[b];return g}function A(g){var v=g.parentNode;v&&v.removeChild(g)}function S(g,v,b){var D,T,I,q={};for(I in v)I=="key"?D=v[I]:I=="ref"?T=v[I]:q[I]=v[I];if(arguments.length>2&&(q.children=arguments.length>3?n.call(arguments,2):b),typeof g=="function"&&g.defaultProps!=null)for(I in g.defaultProps)q[I]===void 0&&(q[I]=g.defaultProps[I]);return P(g,q,D,T,null)}function P(g,v,b,D,T){var I={type:g,props:v,key:b,ref:D,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:T??++a};return T==null&&i.vnode!=null&&i.vnode(I),I}function j(){return{current:null}}function U(g){return g.children}function N(g,v){this.props=g,this.context=v}function re(g,v){if(v==null)return g.__?re(g.__,g.__.__k.indexOf(g)+1):null;for(var b;v<g.__k.length;v++)if((b=g.__k[v])!=null&&b.__e!=null)return b.__e;return typeof g.type=="function"?re(g):null}function be(g){var v,b;if((g=g.__)!=null&&g.__c!=null){for(g.__e=g.__c.base=null,v=0;v<g.__k.length;v++)if((b=g.__k[v])!=null&&b.__e!=null){g.__e=g.__c.base=b.__e;break}return be(g)}}function se(g){(!g.__d&&(g.__d=!0)&&d.push(g)&&!Ae.__r++||c!==i.debounceRendering)&&((c=i.debounceRendering)||l)(Ae)}function Ae(){var g,v,b,D,T,I,q,te;for(d.sort(u);g=d.shift();)g.__d&&(v=d.length,D=void 0,T=void 0,q=(I=(b=g).__v).__e,(te=b.__P)&&(D=[],(T=O({},I)).__v=I.__v+1,Le(te,I,T,b.__n,te.ownerSVGElement!==void 0,I.__h!=null?[q]:null,D,q??re(I),I.__h),k(D,I),I.__e!=q&&be(I)),d.length>v&&d.sort(u));Ae.__r=0}function M(g,v,b,D,T,I,q,te,X,ye){var w,ke,Q,R,E,Ce,V,F=D&&D.__k||m,He=F.length;for(b.__k=[],w=0;w<v.length;w++)if((R=b.__k[w]=(R=v[w])==null||typeof R=="boolean"||typeof R=="function"?null:typeof R=="string"||typeof R=="number"||typeof R=="bigint"?P(null,R,null,null,R):Array.isArray(R)?P(U,{children:R},null,null,null):R.__b>0?P(R.type,R.props,R.key,R.ref?R.ref:null,R.__v):R)!=null){if(R.__=b,R.__b=b.__b+1,(Q=F[w])===null||Q&&R.key==Q.key&&R.type===Q.type)F[w]=void 0;else for(ke=0;ke<He;ke++){if((Q=F[ke])&&R.key==Q.key&&R.type===Q.type){F[ke]=void 0;break}Q=null}Le(g,R,Q=Q||f,T,I,q,te,X,ye),E=R.__e,(ke=R.ref)&&Q.ref!=ke&&(V||(V=[]),Q.ref&&V.push(Q.ref,null,R),V.push(ke,R.__c||E,R)),E!=null?(Ce==null&&(Ce=E),typeof R.type=="function"&&R.__k===Q.__k?R.__d=X=z(R,X,g):X=Me(g,R,Q,F,E,X),typeof b.type=="function"&&(b.__d=X)):X&&Q.__e==X&&X.parentNode!=g&&(X=re(Q))}for(b.__e=Ce,w=He;w--;)F[w]!=null&&(typeof b.type=="function"&&F[w].__e!=null&&F[w].__e==b.__d&&(b.__d=je(D).nextSibling),$(F[w],F[w]));if(V)for(w=0;w<V.length;w++)y(V[w],V[++w],V[++w])}function z(g,v,b){for(var D,T=g.__k,I=0;T&&I<T.length;I++)(D=T[I])&&(D.__=g,v=typeof D.type=="function"?z(D,v,b):Me(b,D,D,T,D.__e,v));return v}function _e(g,v){return v=v||[],g==null||typeof g=="boolean"||(Array.isArray(g)?g.some(function(b){_e(b,v)}):v.push(g)),v}function Me(g,v,b,D,T,I){var q,te,X;if(v.__d!==void 0)q=v.__d,v.__d=void 0;else if(b==null||T!=I||T.parentNode==null)e:if(I==null||I.parentNode!==g)g.appendChild(T),q=null;else{for(te=I,X=0;(te=te.nextSibling)&&X<D.length;X+=1)if(te==T)break e;g.insertBefore(T,I),q=I}return q!==void 0?q:T.nextSibling}function je(g){var v,b,D;if(g.type==null||typeof g.type=="string")return g.__e;if(g.__k){for(v=g.__k.length-1;v>=0;v--)if((b=g.__k[v])&&(D=je(b)))return D}return null}function Re(g,v,b){v[0]==="-"?g.setProperty(v,b??""):g[v]=b==null?"":typeof b!="number"||x.test(v)?b:b+"px"}function le(g,v,b,D,T){var I;e:if(v==="style")if(typeof b=="string")g.style.cssText=b;else{if(typeof D=="string"&&(g.style.cssText=D=""),D)for(v in D)b&&v in b||Re(g.style,v,"");if(b)for(v in b)D&&b[v]===D[v]||Re(g.style,v,b[v])}else if(v[0]==="o"&&v[1]==="n")I=v!==(v=v.replace(/Capture$/,"")),v=v.toLowerCase()in g?v.toLowerCase().slice(2):v.slice(2),g.l||(g.l={}),g.l[v+I]=b,b?D||g.addEventListener(v,I?me:ce,I):g.removeEventListener(v,I?me:ce,I);else if(v!=="dangerouslySetInnerHTML"){if(T)v=v.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(v!=="width"&&v!=="height"&&v!=="href"&&v!=="list"&&v!=="form"&&v!=="tabIndex"&&v!=="download"&&v in g)try{g[v]=b??"";break e}catch{}typeof b=="function"||(b==null||b===!1&&v.indexOf("-")==-1?g.removeAttribute(v):g.setAttribute(v,b))}}function ce(g){return this.l[g.type+!1](i.event?i.event(g):g)}function me(g){return this.l[g.type+!0](i.event?i.event(g):g)}function Le(g,v,b,D,T,I,q,te,X){var ye,w,ke,Q,R,E,Ce,V,F,He,it,ve,En,lt,H,Z=v.type;if(v.constructor!==void 0)return null;b.__h!=null&&(X=b.__h,te=v.__e=b.__e,v.__h=null,I=[te]),(ye=i.__b)&&ye(v);try{e:if(typeof Z=="function"){if(V=v.props,F=(ye=Z.contextType)&&D[ye.__c],He=ye?F?F.props.value:ye.__:D,b.__c?Ce=(w=v.__c=b.__c).__=w.__E:("prototype"in Z&&Z.prototype.render?v.__c=w=new Z(V,He):(v.__c=w=new N(V,He),w.constructor=Z,w.render=K),F&&F.sub(w),w.props=V,w.state||(w.state={}),w.context=He,w.__n=D,ke=w.__d=!0,w.__h=[],w._sb=[]),w.__s==null&&(w.__s=w.state),Z.getDerivedStateFromProps!=null&&(w.__s==w.state&&(w.__s=O({},w.__s)),O(w.__s,Z.getDerivedStateFromProps(V,w.__s))),Q=w.props,R=w.state,w.__v=v,ke)Z.getDerivedStateFromProps==null&&w.componentWillMount!=null&&w.componentWillMount(),w.componentDidMount!=null&&w.__h.push(w.componentDidMount);else{if(Z.getDerivedStateFromProps==null&&V!==Q&&w.componentWillReceiveProps!=null&&w.componentWillReceiveProps(V,He),!w.__e&&w.shouldComponentUpdate!=null&&w.shouldComponentUpdate(V,w.__s,He)===!1||v.__v===b.__v){for(v.__v!==b.__v&&(w.props=V,w.state=w.__s,w.__d=!1),w.__e=!1,v.__e=b.__e,v.__k=b.__k,v.__k.forEach(function(ot){ot&&(ot.__=v)}),it=0;it<w._sb.length;it++)w.__h.push(w._sb[it]);w._sb=[],w.__h.length&&q.push(w);break e}w.componentWillUpdate!=null&&w.componentWillUpdate(V,w.__s,He),w.componentDidUpdate!=null&&w.__h.push(function(){w.componentDidUpdate(Q,R,E)})}if(w.context=He,w.props=V,w.__P=g,ve=i.__r,En=0,"prototype"in Z&&Z.prototype.render){for(w.state=w.__s,w.__d=!1,ve&&ve(v),ye=w.render(w.props,w.state,w.context),lt=0;lt<w._sb.length;lt++)w.__h.push(w._sb[lt]);w._sb=[]}else do w.__d=!1,ve&&ve(v),ye=w.render(w.props,w.state,w.context),w.state=w.__s;while(w.__d&&++En<25);w.state=w.__s,w.getChildContext!=null&&(D=O(O({},D),w.getChildContext())),ke||w.getSnapshotBeforeUpdate==null||(E=w.getSnapshotBeforeUpdate(Q,R)),H=ye!=null&&ye.type===U&&ye.key==null?ye.props.children:ye,M(g,Array.isArray(H)?H:[H],v,b,D,T,I,q,te,X),w.base=v.__e,v.__h=null,w.__h.length&&q.push(w),Ce&&(w.__E=w.__=null),w.__e=!1}else I==null&&v.__v===b.__v?(v.__k=b.__k,v.__e=b.__e):v.__e=p(b.__e,v,b,D,T,I,q,X);(ye=i.diffed)&&ye(v)}catch(ot){v.__v=null,(X||I!=null)&&(v.__e=te,v.__h=!!X,I[I.indexOf(te)]=null),i.__e(ot,v,b)}}function k(g,v){i.__c&&i.__c(v,g),g.some(function(b){try{g=b.__h,b.__h=[],g.some(function(D){D.call(b)})}catch(D){i.__e(D,b.__v)}})}function p(g,v,b,D,T,I,q,te){var X,ye,w,ke=b.props,Q=v.props,R=v.type,E=0;if(R==="svg"&&(T=!0),I!=null){for(;E<I.length;E++)if((X=I[E])&&"setAttribute"in X==!!R&&(R?X.localName===R:X.nodeType===3)){g=X,I[E]=null;break}}if(g==null){if(R===null)return document.createTextNode(Q);g=T?document.createElementNS("http://www.w3.org/2000/svg",R):document.createElement(R,Q.is&&Q),I=null,te=!1}if(R===null)ke===Q||te&&g.data===Q||(g.data=Q);else{if(I=I&&n.call(g.childNodes),ye=(ke=b.props||f).dangerouslySetInnerHTML,w=Q.dangerouslySetInnerHTML,!te){if(I!=null)for(ke={},E=0;E<g.attributes.length;E++)ke[g.attributes[E].name]=g.attributes[E].value;(w||ye)&&(w&&(ye&&w.__html==ye.__html||w.__html===g.innerHTML)||(g.innerHTML=w&&w.__html||""))}if(function(Ce,V,F,He,it){var ve;for(ve in F)ve==="children"||ve==="key"||ve in V||le(Ce,ve,null,F[ve],He);for(ve in V)it&&typeof V[ve]!="function"||ve==="children"||ve==="key"||ve==="value"||ve==="checked"||F[ve]===V[ve]||le(Ce,ve,V[ve],F[ve],He)}(g,Q,ke,T,te),w)v.__k=[];else if(E=v.props.children,M(g,Array.isArray(E)?E:[E],v,b,D,T&&R!=="foreignObject",I,q,I?I[0]:b.__k&&re(b,0),te),I!=null)for(E=I.length;E--;)I[E]!=null&&A(I[E]);te||("value"in Q&&(E=Q.value)!==void 0&&(E!==g.value||R==="progress"&&!E||R==="option"&&E!==ke.value)&&le(g,"value",E,ke.value,!1),"checked"in Q&&(E=Q.checked)!==void 0&&E!==g.checked&&le(g,"checked",E,ke.checked,!1))}return g}function y(g,v,b){try{typeof g=="function"?g(v):g.current=v}catch(D){i.__e(D,b)}}function $(g,v,b){var D,T;if(i.unmount&&i.unmount(g),(D=g.ref)&&(D.current&&D.current!==g.__e||y(D,null,v)),(D=g.__c)!=null){if(D.componentWillUnmount)try{D.componentWillUnmount()}catch(I){i.__e(I,v)}D.base=D.__P=null,g.__c=void 0}if(D=g.__k)for(T=0;T<D.length;T++)D[T]&&$(D[T],v,b||typeof g.type!="function");b||g.__e==null||A(g.__e),g.__=g.__e=g.__d=void 0}function K(g,v,b){return this.constructor(g,b)}function ge(g,v,b){var D,T,I;i.__&&i.__(g,v),T=(D=typeof b=="function")?null:b&&b.__k||v.__k,I=[],Le(v,g=(!D&&b||v).__k=S(U,null,[g]),T||f,f,v.ownerSVGElement!==void 0,!D&&b?[b]:T?null:v.firstChild?n.call(v.childNodes):null,I,!D&&b?b:T?T.__e:v.firstChild,D),k(I,g)}function Fe(g,v){ge(g,v,Fe)}function Ke(g,v,b){var D,T,I,q=O({},g.props);for(I in v)I=="key"?D=v[I]:I=="ref"?T=v[I]:q[I]=v[I];return arguments.length>2&&(q.children=arguments.length>3?n.call(arguments,2):b),P(g.type,q,D||g.key,T||g.ref,null)}function Ve(g,v){var b={__c:v="__cC"+h++,__:g,Consumer:function(D,T){return D.children(T)},Provider:function(D){var T,I;return this.getChildContext||(T=[],(I={})[v]=this,this.getChildContext=function(){return I},this.shouldComponentUpdate=function(q){this.props.value!==q.value&&T.some(function(te){te.__e=!0,se(te)})},this.sub=function(q){T.push(q);var te=q.componentWillUnmount;q.componentWillUnmount=function(){T.splice(T.indexOf(q),1),te&&te.call(q)}}),D.children}};return b.Provider.__=b.Consumer.contextType=b}n=m.slice,i={__e:function(g,v,b,D){for(var T,I,q;v=v.__;)if((T=v.__c)&&!T.__)try{if((I=T.constructor)&&I.getDerivedStateFromError!=null&&(T.setState(I.getDerivedStateFromError(g)),q=T.__d),T.componentDidCatch!=null&&(T.componentDidCatch(g,D||{}),q=T.__d),q)return T.__E=T}catch(te){g=te}throw g}},a=0,s=function(g){return g!=null&&g.constructor===void 0},N.prototype.setState=function(g,v){var b;b=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=O({},this.state),typeof g=="function"&&(g=g(O({},b),this.props)),g&&O(b,g),g!=null&&this.__v&&(v&&this._sb.push(v),se(this))},N.prototype.forceUpdate=function(g){this.__v&&(this.__e=!0,g&&this.__h.push(g),se(this))},N.prototype.render=U,d=[],l=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,u=function(g,v){return g.__v.__b-v.__v.__b},Ae.__r=0,h=0},78:(o,e,t)=>{t.r(e),t.d(e,{useCallback:()=>se,useContext:()=>Ae,useDebugValue:()=>M,useEffect:()=>j,useErrorBoundary:()=>z,useId:()=>_e,useImperativeHandle:()=>re,useLayoutEffect:()=>U,useMemo:()=>be,useReducer:()=>P,useRef:()=>N,useState:()=>S});var n,i,a,s,d=t(616),c=0,l=[],u=[],h=d.options.__b,f=d.options.__r,m=d.options.diffed,x=d.options.__c,O=d.options.unmount;function A(k,p){d.options.__h&&d.options.__h(i,k,c||p),c=0;var y=i.__H||(i.__H={__:[],__h:[]});return k>=y.__.length&&y.__.push({__V:u}),y.__[k]}function S(k){return c=1,P(Le,k)}function P(k,p,y){var $=A(n++,2);if($.t=k,!$.__c&&($.__=[y?y(p):Le(void 0,p),function(Ke){var Ve=$.__N?$.__N[0]:$.__[0],g=$.t(Ve,Ke);Ve!==g&&($.__N=[g,$.__[1]],$.__c.setState({}))}],$.__c=i,!i.u)){var K=function(Ke,Ve,g){if(!$.__c.__H)return!0;var v=$.__c.__H.__.filter(function(D){return D.__c});if(v.every(function(D){return!D.__N}))return!ge||ge.call(this,Ke,Ve,g);var b=!1;return v.forEach(function(D){if(D.__N){var T=D.__[0];D.__=D.__N,D.__N=void 0,T!==D.__[0]&&(b=!0)}}),!(!b&&$.__c.props===Ke)&&(!ge||ge.call(this,Ke,Ve,g))};i.u=!0;var ge=i.shouldComponentUpdate,Fe=i.componentWillUpdate;i.componentWillUpdate=function(Ke,Ve,g){if(this.__e){var v=ge;ge=void 0,K(Ke,Ve,g),ge=v}Fe&&Fe.call(this,Ke,Ve,g)},i.shouldComponentUpdate=K}return $.__N||$.__}function j(k,p){var y=A(n++,3);!d.options.__s&&me(y.__H,p)&&(y.__=k,y.i=p,i.__H.__h.push(y))}function U(k,p){var y=A(n++,4);!d.options.__s&&me(y.__H,p)&&(y.__=k,y.i=p,i.__h.push(y))}function N(k){return c=5,be(function(){return{current:k}},[])}function re(k,p,y){c=6,U(function(){return typeof k=="function"?(k(p()),function(){return k(null)}):k?(k.current=p(),function(){return k.current=null}):void 0},y==null?y:y.concat(k))}function be(k,p){var y=A(n++,7);return me(y.__H,p)?(y.__V=k(),y.i=p,y.__h=k,y.__V):y.__}function se(k,p){return c=8,be(function(){return k},p)}function Ae(k){var p=i.context[k.__c],y=A(n++,9);return y.c=k,p?(y.__==null&&(y.__=!0,p.sub(i)),p.props.value):k.__}function M(k,p){d.options.useDebugValue&&d.options.useDebugValue(p?p(k):k)}function z(k){var p=A(n++,10),y=S();return p.__=k,i.componentDidCatch||(i.componentDidCatch=function($,K){p.__&&p.__($,K),y[1]($)}),[y[0],function(){y[1](void 0)}]}function _e(){var k=A(n++,11);if(!k.__){for(var p=i.__v;p!==null&&!p.__m&&p.__!==null;)p=p.__;var y=p.__m||(p.__m=[0,0]);k.__="P"+y[0]+"-"+y[1]++}return k.__}function Me(){for(var k;k=l.shift();)if(k.__P&&k.__H)try{k.__H.__h.forEach(le),k.__H.__h.forEach(ce),k.__H.__h=[]}catch(p){k.__H.__h=[],d.options.__e(p,k.__v)}}d.options.__b=function(k){i=null,h&&h(k)},d.options.__r=function(k){f&&f(k),n=0;var p=(i=k.__c).__H;p&&(a===i?(p.__h=[],i.__h=[],p.__.forEach(function(y){y.__N&&(y.__=y.__N),y.__V=u,y.__N=y.i=void 0})):(p.__h.forEach(le),p.__h.forEach(ce),p.__h=[])),a=i},d.options.diffed=function(k){m&&m(k);var p=k.__c;p&&p.__H&&(p.__H.__h.length&&(l.push(p)!==1&&s===d.options.requestAnimationFrame||((s=d.options.requestAnimationFrame)||Re)(Me)),p.__H.__.forEach(function(y){y.i&&(y.__H=y.i),y.__V!==u&&(y.__=y.__V),y.i=void 0,y.__V=u})),a=i=null},d.options.__c=function(k,p){p.some(function(y){try{y.__h.forEach(le),y.__h=y.__h.filter(function($){return!$.__||ce($)})}catch($){p.some(function(K){K.__h&&(K.__h=[])}),p=[],d.options.__e($,y.__v)}}),x&&x(k,p)},d.options.unmount=function(k){O&&O(k);var p,y=k.__c;y&&y.__H&&(y.__H.__.forEach(function($){try{le($)}catch(K){p=K}}),y.__H=void 0,p&&d.options.__e(p,y.__v))};var je=typeof requestAnimationFrame=="function";function Re(k){var p,y=function(){clearTimeout($),je&&cancelAnimationFrame(p),setTimeout(k)},$=setTimeout(y,100);je&&(p=requestAnimationFrame(y))}function le(k){var p=i,y=k.__c;typeof y=="function"&&(k.__c=void 0,y()),i=p}function ce(k){var p=i;k.__c=k.__(),i=p}function me(k,p){return!k||k.length!==p.length||p.some(function(y,$){return y!==k[$]})}function Le(k,p){return typeof p=="function"?p(k):p}},292:o=>{var e=[];function t(a){for(var s=-1,d=0;d<e.length;d++)if(e[d].identifier===a){s=d;break}return s}function n(a,s){for(var d={},c=[],l=0;l<a.length;l++){var u=a[l],h=s.base?u[0]+s.base:u[0],f=d[h]||0,m="".concat(h," ").concat(f);d[h]=f+1;var x=t(m),O={css:u[1],media:u[2],sourceMap:u[3],supports:u[4],layer:u[5]};if(x!==-1)e[x].references++,e[x].updater(O);else{var A=i(O,s);s.byIndex=l,e.splice(l,0,{identifier:m,updater:A,references:1})}c.push(m)}return c}function i(a,s){var d=s.domAPI(s);return d.update(a),function(c){if(c){if(c.css===a.css&&c.media===a.media&&c.sourceMap===a.sourceMap&&c.supports===a.supports&&c.layer===a.layer)return;d.update(a=c)}else d.remove()}}o.exports=function(a,s){var d=n(a=a||[],s=s||{});return function(c){c=c||[];for(var l=0;l<d.length;l++){var u=t(d[l]);e[u].references--}for(var h=n(c,s),f=0;f<d.length;f++){var m=t(d[f]);e[m].references===0&&(e[m].updater(),e.splice(m,1))}d=h}}},88:o=>{o.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},884:(o,e,t)=>{o.exports=function(n){var i=t.nc;i&&n.setAttribute("nonce",i)}},360:o=>{var e,t=(e=[],function(a,s){return e[a]=s,e.filter(Boolean).join(`
|
|
44
|
+
`)});function n(a,s,d,c){var l;if(d)l="";else{l="",c.supports&&(l+="@supports (".concat(c.supports,") {")),c.media&&(l+="@media ".concat(c.media," {"));var u=c.layer!==void 0;u&&(l+="@layer".concat(c.layer.length>0?" ".concat(c.layer):""," {")),l+=c.css,u&&(l+="}"),c.media&&(l+="}"),c.supports&&(l+="}")}if(a.styleSheet)a.styleSheet.cssText=t(s,l);else{var h=document.createTextNode(l),f=a.childNodes;f[s]&&a.removeChild(f[s]),f.length?a.insertBefore(h,f[s]):a.appendChild(h)}}var i={singleton:null,singletonCounter:0};o.exports=function(a){if(typeof document>"u")return{update:function(){},remove:function(){}};var s=i.singletonCounter++,d=i.singleton||(i.singleton=a.insertStyleElement(a));return{update:function(c){n(d,s,!1,c)},remove:function(c){n(d,s,!0,c)}}}},6:(o,e,t)=>{t.d(e,{en:()=>n});const n={headlines:{error:"An error has occurred",loginEmail:"Sign in or create account",loginEmailNoSignup:"Sign in",loginFinished:"Login successful",loginPasscode:"Enter passcode",loginPassword:"Enter password",registerAuthenticator:"Create a passkey",registerConfirm:"Create account?",registerPassword:"Set new password",otpSetUp:"Set up authenticator app",profileEmails:"Emails",profilePassword:"Password",profilePasskeys:"Passkeys",isPrimaryEmail:"Primary email address",setPrimaryEmail:"Set primary email address",createEmail:"Enter a new email",createUsername:"Enter a new username",emailVerified:"Verified",emailUnverified:"Unverified",emailDelete:"Delete",renamePasskey:"Rename passkey",deletePasskey:"Delete passkey",lastUsedAt:"Last used at",createdAt:"Created at",connectedAccounts:"Connected accounts",deleteAccount:"Delete account",accountNotFound:"Account not found",signIn:"Sign in",signUp:"Create account",selectLoginMethod:"Select login method",setupLoginMethod:"Set up login method",lastUsed:"Last seen",ipAddress:"IP address",revokeSession:"Revoke session",profileSessions:"Sessions",mfaSetUp:"Set up MFA",securityKeySetUp:"Add security key",securityKeyLogin:"Security key",otpLogin:"Authentication code",renameSecurityKey:"Rename security key",deleteSecurityKey:"Delete security key",securityKeys:"Security keys",authenticatorApp:"Authenticator app",authenticatorAppAlreadySetUp:"Authenticator app is set up",authenticatorAppNotSetUp:"Set up authenticator app",trustDevice:"Trust this browser?"},texts:{enterPasscode:'Enter the passcode that was sent to "{emailAddress}".',enterPasscodeNoEmail:"Enter the passcode that was sent to your primary email address.",setupPasskey:"Sign in to your account easily and securely with a passkey. Note: Your biometric data is only stored on your devices and will never be shared with anyone.",createAccount:'No account exists for "{emailAddress}". Do you want to create a new account?',otpEnterVerificationCode:"Enter the one-time password (OTP) obtained from your authenticator app below:",otpScanQRCode:"Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manually enter the OTP secret key into the app.",otpSecretKey:"OTP secret key",passwordFormatHint:"Must be between {minLength} and {maxLength} characters long.",securityKeySetUp:"Use a dedicated security key via USB, Bluetooth, or NFC, or your mobile phone. Connect or activate your security key, then click the button below and follow the prompts to complete the registration.",setPrimaryEmail:"Set this email address to be used for contacting you.",isPrimaryEmail:"This email address will be used to contact you if necessary.",emailVerified:"This email address has been verified.",emailUnverified:"This email address has not been verified.",emailDelete:"If you delete this email address, it can no longer be used to sign in.",renamePasskey:"Set a name for the passkey.",deletePasskey:"Delete this passkey from your account.",deleteAccount:"Are you sure you want to delete this account? All data will be deleted immediately and cannot be recovered.",noAccountExists:'No account exists for "{emailAddress}".',selectLoginMethodForFutureLogins:"Select one of the following login methods to use for future logins.",howDoYouWantToLogin:"How do you want to login?",mfaSetUp:"Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is compromised, your account stays secure.",securityKeyLogin:"Connect or activate your security key, then click the button below. Once ready, use it via USB, NFC, your mobile phone. Follow the prompts to complete the login process.",otpLogin:"Open your authenticator app to obtain the one-time password (OTP). Enter the code in the field below to complete your login.",renameSecurityKey:"Set a name for the security key.",deleteSecurityKey:"Delete this security key from your account.",authenticatorAppAlreadySetUp:"Your account is secured with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",authenticatorAppNotSetUp:"Secure your account with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",trustDevice:"If you trust this browser, you won’t need to enter your OTP (One-Time-Password) or use your security key for multi-factor authentication (MFA) the next time you log in."},labels:{or:"or",no:"no",yes:"yes",email:"Email",continue:"Continue",copied:"copied",skip:"Skip",save:"Save",password:"Password",passkey:"Passkey",passcode:"Passcode",signInPassword:"Sign in with a password",signInPasscode:"Sign in with a passcode",forgotYourPassword:"Forgot your password?",back:"Back",signInPasskey:"Sign in with a passkey",registerAuthenticator:"Create a passkey",signIn:"Sign in",signUp:"Create account",sendNewPasscode:"Send new code",passwordRetryAfter:"Retry in {passwordRetryAfter}",passcodeResendAfter:"Request a new code in {passcodeResendAfter}",unverifiedEmail:"unverified",primaryEmail:"primary",setAsPrimaryEmail:"Set as primary",verify:"Verify",delete:"Delete",newEmailAddress:"New email address",newPassword:"New password",rename:"Rename",newPasskeyName:"New passkey name",addEmail:"Add email",createPasskey:"Create a passkey",webauthnUnsupported:"Passkeys are not supported by your browser",signInWith:"Sign in with {provider}",deleteAccount:"Yes, delete this account.",emailOrUsername:"Email or username",username:"Username",optional:"optional",dontHaveAnAccount:"Don't have an account?",alreadyHaveAnAccount:"Already have an account?",changeUsername:"Change username",setUsername:"Set username",changePassword:"Change password",setPassword:"Set password",revoke:"Revoke",currentSession:"Current session",authenticatorApp:"Authenticator app",securityKey:"Security key",securityKeyUse:"Use security key",newSecurityKeyName:"New security key name",createSecurityKey:"Add a security key",authenticatorAppManage:"Manage authenticator app",authenticatorAppAdd:"Set up",configured:"configured",useAnotherMethod:"Use another method",lastUsed:"Last used",trustDevice:"Trust this browser",staySignedIn:"Stay signed in"},errors:{somethingWentWrong:"A technical error has occurred. Please try again later.",requestTimeout:"The request timed out.",invalidPassword:"Wrong email or password.",invalidPasscode:"The passcode provided was not correct.",passcodeAttemptsReached:"The passcode was entered incorrectly too many times. Please request a new code.",tooManyRequests:"Too many requests have been made. Please wait to repeat the requested operation.",unauthorized:"Your session has expired. Please log in again.",invalidWebauthnCredential:"This passkey cannot be used anymore.",passcodeExpired:"The passcode has expired. Please request a new one.",userVerification:"User verification required. Please ensure your authenticator device is protected with a PIN or biometric.",emailAddressAlreadyExistsError:"The email address already exists.",maxNumOfEmailAddressesReached:"No further email addresses can be added.",thirdPartyAccessDenied:"Access denied. The request was cancelled by the user or the provider has denied access for other reasons.",thirdPartyMultipleAccounts:"Cannot identify account. The email address is used by multiple accounts.",thirdPartyUnverifiedEmail:"Email verification required. Please verify the used email address with your provider.",signupDisabled:"Account registration is disabled.",handlerNotFoundError:"The current step in your process is not supported by this application version. Please try again later or contact support if the issue persists."},flowErrors:{technical_error:"A technical error has occurred. Please try again later.",flow_expired_error:"The session has expired, please click the button to restart.",value_invalid_error:"The entered value is invalid.",passcode_invalid:"The passcode provided was not correct.",passkey_invalid:"This passkey cannot be used anymore",passcode_max_attempts_reached:"The passcode was entered incorrectly too many times. Please request a new code.",rate_limit_exceeded:"Too many requests have been made. Please wait to repeat the requested operation.",unknown_username_error:"The username is unknown.",unknown_email_error:"The email address is unknown.",username_already_exists:"The username is already taken.",invalid_username_error:"The username must contain only letters, numbers, and underscores.",email_already_exists:"The email is already taken.",not_found:"The requested resource was not found.",operation_not_permitted_error:"The operation is not permitted.",flow_discontinuity_error:"The process cannot be continued due to user settings or the provider's configuration.",form_data_invalid_error:"The submitted form data contains errors.",unauthorized:"Your session has expired. Please log in again.",value_missing_error:"The value is missing.",value_too_long_error:"Value is too long.",value_too_short_error:"The value is too short.",webauthn_credential_invalid_mfa_only:"This credential can be used as a second factor security key only.",webauthn_credential_already_exists:"The request either timed out, was canceled or the device is already registered. Please try again or try using another device.",platform_authenticator_required:"Your account is configured to use platform authenticators, but your current device or browser does not support this feature. Please try again with a compatible device or browser."}}}},Ro={};function G(o){var e=Ro[o];if(e!==void 0)return e.exports;var t=Ro[o]={id:o,exports:{}};return wa[o].call(t.exports,t,t.exports,G),t.exports}G.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return G.d(e,{a:e}),e},G.d=(o,e)=>{for(var t in e)G.o(e,t)&&!G.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},G.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e),G.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},G.nc=void 0;var oe={};G.d(oe,{fK:()=>Xt,tJ:()=>ui,Z7:()=>on,Q9:()=>gi,Lv:()=>pi,qQ:()=>tn,I4:()=>bi,O8:()=>xe,ku:()=>Vn,ls:()=>Kn,bO:()=>Bn,yv:()=>nn,AT:()=>Jn,m_:()=>At,KG:()=>Zn,DH:()=>en,kf:()=>oo,oY:()=>Ie,xg:()=>fi,Wg:()=>Je,J:()=>vi,AC:()=>Yn,D_:()=>Qe,jx:()=>mi,nX:()=>Qn,Nx:()=>Fn,Sd:()=>_t,kz:()=>ms,fX:()=>Gn,qA:()=>Xn,tz:()=>to,gN:()=>eo});var Hn={};G.r(Hn),G.d(Hn,{apple:()=>hr,checkmark:()=>pr,copy:()=>mr,customProvider:()=>gr,discord:()=>fr,exclamation:()=>vr,facebook:()=>_r,github:()=>yr,google:()=>br,linkedin:()=>kr,mail:()=>wr,microsoft:()=>Sr,passkey:()=>xr,password:()=>Ar,qrCodeScanner:()=>Cr,securityKey:()=>Or,spinner:()=>Pr});var C=G(616),Sa=0;function r(o,e,t,n,i,a){var s,d,c={};for(d in e)d=="ref"?s=e[d]:c[d]=e[d];var l={type:o,props:c,key:t,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Sa,__source:i,__self:a};if(typeof o=="function"&&(s=o.defaultProps))for(d in s)c[d]===void 0&&(c[d]=s[d]);return C.options.vnode&&C.options.vnode(l),l}function Yt(){return Yt=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}return o},Yt.apply(this,arguments)}var xa=["context","children"];function Aa(o){this.getChildContext=function(){return o.context};var e=o.children,t=function(n,i){if(n==null)return{};var a,s,d={},c=Object.keys(n);for(s=0;s<c.length;s++)i.indexOf(a=c[s])>=0||(d[a]=n[a]);return d}(o,xa);return(0,C.cloneElement)(e,t)}function Ca(){var o=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(o),this._vdom=(0,C.h)(Aa,Yt({},this._props,{context:o.detail.context}),zo(this,this._vdomComponent)),(this.hasAttribute("hydrate")?C.hydrate:C.render)(this._vdom,this._root)}function Ho(o){return o.replace(/-(\w)/g,function(e,t){return t?t.toUpperCase():""})}function Oa(o,e,t){if(this._vdom){var n={};n[o]=t=t??void 0,n[Ho(o)]=t,this._vdom=(0,C.cloneElement)(this._vdom,n),(0,C.render)(this._vdom,this._root)}}function Pa(){(0,C.render)(this._vdom=null,this._root)}function qo(o,e){var t=this;return(0,C.h)("slot",Yt({},o,{ref:function(n){n?(t.ref=n,t._listener||(t._listener=function(i){i.stopPropagation(),i.detail.context=e},n.addEventListener("_preact",t._listener))):t.ref.removeEventListener("_preact",t._listener)}}))}function zo(o,e){if(o.nodeType===3)return o.data;if(o.nodeType!==1)return null;var t=[],n={},i=0,a=o.attributes,s=o.childNodes;for(i=a.length;i--;)a[i].name!=="slot"&&(n[a[i].name]=a[i].value,n[Ho(a[i].name)]=a[i].value);for(i=s.length;i--;){var d=zo(s[i],null),c=s[i].slot;c?n[c]=(0,C.h)(qo,{name:c},d):t[i]=d}var l=e?(0,C.h)(qo,null,t):t;return(0,C.h)(e||o.nodeName.toLowerCase(),n,l)}var J=G(7),_=G(78);function Wo(o,e){for(var t in e)o[t]=e[t];return o}function Fo(o,e){for(var t in o)if(t!=="__source"&&!(t in e))return!0;for(var n in e)if(n!=="__source"&&o[n]!==e[n])return!0;return!1}function Ko(o){this.props=o}(Ko.prototype=new C.Component).isPureReactComponent=!0,Ko.prototype.shouldComponentUpdate=function(o,e){return Fo(this.props,o)||Fo(this.state,e)};var Vo=C.options.__b;C.options.__b=function(o){o.type&&o.type.__f&&o.ref&&(o.props.ref=o.ref,o.ref=null),Vo&&Vo(o)};var Ea=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Ia=(C.toChildArray,C.options.__e);C.options.__e=function(o,e,t,n){if(o.then){for(var i,a=e;a=a.__;)if((i=a.__c)&&i.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),i.__c(o,e)}Ia(o,e,t,n)};var Bo=C.options.unmount;function Zo(o,e,t){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(n){typeof n.__c=="function"&&n.__c()}),o.__c.__H=null),(o=Wo({},o)).__c!=null&&(o.__c.__P===t&&(o.__c.__P=e),o.__c=null),o.__k=o.__k&&o.__k.map(function(n){return Zo(n,e,t)})),o}function Jo(o,e,t){return o&&(o.__v=null,o.__k=o.__k&&o.__k.map(function(n){return Jo(n,e,t)}),o.__c&&o.__c.__P===e&&(o.__e&&t.insertBefore(o.__e,o.__d),o.__c.__e=!0,o.__c.__P=t)),o}function qn(){this.__u=0,this.t=null,this.__b=null}function Yo(o){var e=o.__.__c;return e&&e.__a&&e.__a(o)}function Qt(){this.u=null,this.o=null}C.options.unmount=function(o){var e=o.__c;e&&e.__R&&e.__R(),e&&o.__h===!0&&(o.type=null),Bo&&Bo(o)},(qn.prototype=new C.Component).__c=function(o,e){var t=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(t);var i=Yo(n.__v),a=!1,s=function(){a||(a=!0,t.__R=null,i?i(d):d())};t.__R=s;var d=function(){if(!--n.__u){if(n.state.__a){var l=n.state.__a;n.__v.__k[0]=Jo(l,l.__c.__P,l.__c.__O)}var u;for(n.setState({__a:n.__b=null});u=n.t.pop();)u.forceUpdate()}},c=e.__h===!0;n.__u++||c||n.setState({__a:n.__b=n.__v.__k[0]}),o.then(s,s)},qn.prototype.componentWillUnmount=function(){this.t=[]},qn.prototype.render=function(o,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=Zo(this.__b,t,n.__O=n.__P)}this.__b=null}var i=e.__a&&(0,C.createElement)(C.Fragment,null,o.fallback);return i&&(i.__h=null),[(0,C.createElement)(C.Fragment,null,e.__a?null:o.children),i]};var Qo=function(o,e,t){if(++t[1]===t[0]&&o.o.delete(e),o.props.revealOrder&&(o.props.revealOrder[0]!=="t"||!o.o.size))for(t=o.u;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;o.u=t=t[2]}};(Qt.prototype=new C.Component).__a=function(o){var e=this,t=Yo(e.__v),n=e.o.get(o);return n[0]++,function(i){var a=function(){e.props.revealOrder?(n.push(i),Qo(e,o,n)):i()};t?t(a):a()}},Qt.prototype.render=function(o){this.u=null,this.o=new Map;var e=(0,C.toChildArray)(o.children);o.revealOrder&&o.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return o.children},Qt.prototype.componentDidUpdate=Qt.prototype.componentDidMount=function(){var o=this;this.o.forEach(function(e,t){Qo(o,t,e)})};var Da=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,ja=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,La=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,$a=/[A-Z0-9]/g,Ta=typeof document<"u",Ua=function(o){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(o)};C.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(o){Object.defineProperty(C.Component.prototype,o,{configurable:!0,get:function(){return this["UNSAFE_"+o]},set:function(e){Object.defineProperty(this,o,{configurable:!0,writable:!0,value:e})}})});var Go=C.options.event;function Na(){}function Ma(){return this.cancelBubble}function Ra(){return this.defaultPrevented}C.options.event=function(o){return Go&&(o=Go(o)),o.persist=Na,o.isPropagationStopped=Ma,o.isDefaultPrevented=Ra,o.nativeEvent=o};var Xo={configurable:!0,get:function(){return this.class}},ei=C.options.vnode;C.options.vnode=function(o){var e=o.type,t=o.props,n=t;if(typeof e=="string"){for(var i in n={},t){var a=t[i];if(!(i==="value"&&"defaultValue"in t&&a==null||Ta&&i==="children"&&e==="noscript")){var s=i.toLowerCase();i==="defaultValue"&&"value"in t&&t.value==null?i="value":i==="download"&&a===!0?a="":s==="ondoubleclick"?i="ondblclick":s!=="onchange"||e!=="input"&&e!=="textarea"||Ua(t.type)?s==="onfocus"?i="onfocusin":s==="onblur"?i="onfocusout":La.test(i)?i=s:e.indexOf("-")===-1&&ja.test(i)?i=i.replace($a,"-$&").toLowerCase():a===null&&(a=void 0):s=i="oninput",s==="oninput"&&n[i=s]&&(i="oninputCapture"),n[i]=a}}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=(0,C.toChildArray)(t.children).forEach(function(d){d.props.selected=n.value.indexOf(d.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=(0,C.toChildArray)(t.children).forEach(function(d){d.props.selected=n.multiple?n.defaultValue.indexOf(d.props.value)!=-1:n.defaultValue==d.props.value})),o.props=n,t.class!=t.className&&(Xo.enumerable="className"in t,t.className!=null&&(n.class=t.className),Object.defineProperty(n,"className",Xo))}o.$$typeof=Da,ei&&ei(o)};var ti=C.options.__r;C.options.__r=function(o){ti&&ti(o),o.__c};var ni=C.options.diffed;function oi(o){const e="==".slice(0,(4-o.length%4)%4),t=o.replace(/-/g,"+").replace(/_/g,"/")+e,n=atob(t),i=new ArrayBuffer(n.length),a=new Uint8Array(i);for(let s=0;s<n.length;s++)a[s]=n.charCodeAt(s);return i}function ii(o){const e=new Uint8Array(o);let t="";for(const n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}C.options.diffed=function(o){ni&&ni(o);var e=o.props,t=o.__e;t!=null&&o.type==="textarea"&&"value"in e&&e.value!==t.value&&(t.value=e.value==null?"":e.value)},C.Fragment,_.useLayoutEffect,_.useState,_.useId,_.useReducer,_.useEffect,_.useLayoutEffect,_.useRef,_.useImperativeHandle,_.useMemo,_.useCallback,_.useContext,_.useDebugValue,C.createElement,C.createContext,C.createRef,C.Fragment,C.Component;var ue="copy",Be="convert";function ft(o,e,t){if(e===ue)return t;if(e===Be)return o(t);if(e instanceof Array)return t.map(n=>ft(o,e[0],n));if(e instanceof Object){const n={};for(const[i,a]of Object.entries(e)){if(a.derive){const s=a.derive(t);s!==void 0&&(t[i]=s)}if(i in t)t[i]!=null?n[i]=ft(o,a.schema,t[i]):n[i]=null;else if(a.required)throw new Error(`Missing key: ${i}`)}return n}}function zn(o,e){return{required:!0,schema:o,derive:e}}function fe(o){return{required:!0,schema:o}}function Se(o){return{required:!1,schema:o}}var ai={type:fe(ue),id:fe(Be),transports:Se(ue)},ri={appid:Se(ue),appidExclude:Se(ue),credProps:Se(ue)},si={appid:Se(ue),appidExclude:Se(ue),credProps:Se(ue)},Ha={publicKey:fe({rp:fe(ue),user:fe({id:fe(Be),name:fe(ue),displayName:fe(ue)}),challenge:fe(Be),pubKeyCredParams:fe(ue),timeout:Se(ue),excludeCredentials:Se([ai]),authenticatorSelection:Se(ue),attestation:Se(ue),extensions:Se(ri)}),signal:Se(ue)},qa={type:fe(ue),id:fe(ue),rawId:fe(Be),authenticatorAttachment:Se(ue),response:fe({clientDataJSON:fe(Be),attestationObject:fe(Be),transports:zn(ue,o=>{var e;return((e=o.getTransports)==null?void 0:e.call(o))||[]})}),clientExtensionResults:zn(si,o=>o.getClientExtensionResults())},za={mediation:Se(ue),publicKey:fe({challenge:fe(Be),timeout:Se(ue),rpId:Se(ue),allowCredentials:Se([ai]),userVerification:Se(ue),extensions:Se(ri)}),signal:Se(ue)},Wa={type:fe(ue),id:fe(ue),rawId:fe(Be),authenticatorAttachment:Se(ue),response:fe({clientDataJSON:fe(Be),authenticatorData:fe(Be),signature:fe(Be),userHandle:fe(Be)}),clientExtensionResults:zn(si,o=>o.getClientExtensionResults())};async function li(o){const e=await navigator.credentials.create(function(t){return ft(oi,Ha,t)}(o));return function(t){return ft(ii,qa,t)}(e)}async function ci(o){const e=await navigator.credentials.get(function(t){return ft(oi,za,t)}(o));return function(t){return ft(ii,Wa,t)}(e)}function Gt(){return Gt=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}return o},Gt.apply(this,arguments)}var Fa=0;function di(o){return"__private_"+Fa+++"_"+o}function Wn(o,e){if(!Object.prototype.hasOwnProperty.call(o,e))throw new TypeError("attempted to use private field on non-instance");return o}class xe extends Error{constructor(e,t,n){super(e),this.code=void 0,this.cause=void 0,this.code=t,this.cause=n,Object.setPrototypeOf(this,xe.prototype)}}class Ie extends xe{constructor(e){super("Technical error","somethingWentWrong",e),Object.setPrototypeOf(this,Ie.prototype)}}class Xt extends xe{constructor(e,t){super("Conflict error","conflict",t),Object.setPrototypeOf(this,Xt.prototype)}}class en extends xe{constructor(e){super("Request timed out error","requestTimeout",e),Object.setPrototypeOf(this,en.prototype)}}class Fn extends xe{constructor(e){super("Request cancelled error","requestCancelled",e),Object.setPrototypeOf(this,Fn.prototype)}}class Kn extends xe{constructor(e){super("Invalid password error","invalidPassword",e),Object.setPrototypeOf(this,Kn.prototype)}}class Vn extends xe{constructor(e){super("Invalid Passcode error","invalidPasscode",e),Object.setPrototypeOf(this,Vn.prototype)}}class Bn extends xe{constructor(e){super("Invalid WebAuthn credential error","invalidWebauthnCredential",e),Object.setPrototypeOf(this,Bn.prototype)}}class Zn extends xe{constructor(e){super("Passcode expired error","passcodeExpired",e),Object.setPrototypeOf(this,Zn.prototype)}}class Jn extends xe{constructor(e){super("Maximum number of Passcode attempts reached error","passcodeAttemptsReached",e),Object.setPrototypeOf(this,Jn.prototype)}}class At extends xe{constructor(e){super("Not found error","notFound",e),Object.setPrototypeOf(this,At.prototype)}}class Yn extends xe{constructor(e,t){super("Too many requests error","tooManyRequests",t),this.retryAfter=void 0,this.retryAfter=e,Object.setPrototypeOf(this,Yn.prototype)}}class Qe extends xe{constructor(e){super("Unauthorized error","unauthorized",e),Object.setPrototypeOf(this,Qe.prototype)}}class tn extends xe{constructor(e){super("Forbidden error","forbidden",e),Object.setPrototypeOf(this,tn.prototype)}}class Qn extends xe{constructor(e){super("User verification error","userVerification",e),Object.setPrototypeOf(this,Qn.prototype)}}class nn extends xe{constructor(e){super("Maximum number of email addresses reached error","maxNumOfEmailAddressesReached",e),Object.setPrototypeOf(this,nn.prototype)}}class on extends xe{constructor(e){super("The email address already exists","emailAddressAlreadyExistsError",e),Object.setPrototypeOf(this,on.prototype)}}class Je extends xe{constructor(e,t){super("An error occurred during third party sign up/sign in",e,t),Object.setPrototypeOf(this,Je.prototype)}}const Gn="hanko-session-created",Xn="hanko-session-expired",eo="hanko-user-logged-out",to="hanko-user-deleted";class ui extends CustomEvent{constructor(e,t){super(e,{detail:t})}}class hi{constructor(){this._dispatchEvent=document.dispatchEvent.bind(document)}dispatch(e,t){this._dispatchEvent(new ui(e,t))}dispatchSessionCreatedEvent(e){this.dispatch(Gn,e)}dispatchSessionExpiredEvent(){this.dispatch(Xn,null)}dispatchUserLoggedOutEvent(){this.dispatch(eo,null)}dispatchUserDeletedEvent(){this.dispatch(to,null)}}function an(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)o[n]=t[n]}return o}var no=function o(e,t){function n(i,a,s){if(typeof document<"u"){typeof(s=an({},t,s)).expires=="number"&&(s.expires=new Date(Date.now()+864e5*s.expires)),s.expires&&(s.expires=s.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var d="";for(var c in s)s[c]&&(d+="; "+c,s[c]!==!0&&(d+="="+s[c].split(";")[0]));return document.cookie=i+"="+e.write(a,i)+d}}return Object.create({set:n,get:function(i){if(typeof document<"u"&&(!arguments.length||i)){for(var a=document.cookie?document.cookie.split("; "):[],s={},d=0;d<a.length;d++){var c=a[d].split("="),l=c.slice(1).join("=");try{var u=decodeURIComponent(c[0]);if(s[u]=e.read(l,u),i===u)break}catch{}}return i?s[i]:s}},remove:function(i,a){n(i,"",an({},a,{expires:-1}))},withAttributes:function(i){return o(this.converter,an({},this.attributes,i))},withConverter:function(i){return o(an({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}({read:function(o){return o[0]==='"'&&(o=o.slice(1,-1)),o.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(o){return encodeURIComponent(o).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});class Ka{constructor(e){var t;this.authCookieName=void 0,this.authCookieDomain=void 0,this.authCookieSameSite=void 0,this.authCookieName=e.cookieName,this.authCookieDomain=e.cookieDomain,this.authCookieSameSite=(t=e.cookieSameSite)!=null?t:"lax"}getAuthCookie(){return no.get(this.authCookieName)}setAuthCookie(e,t){const n={secure:!0,sameSite:this.authCookieSameSite};this.authCookieDomain!==void 0&&(n.domain=this.authCookieDomain);const i=Gt({},n,t);if((i.sameSite==="none"||i.sameSite==="None")&&i.secure===!1)throw new Ie(new Error("Secure attribute must be set when SameSite=None"));no.set(this.authCookieName,e,i)}removeAuthCookie(){no.remove(this.authCookieName)}}class Va{constructor(e){this.keyName=void 0,this.keyName=e.keyName}getSessionToken(){return sessionStorage.getItem(this.keyName)}setSessionToken(e){sessionStorage.setItem(this.keyName,e)}removeSessionToken(){sessionStorage.removeItem(this.keyName)}}class Ba{constructor(e){this._xhr=void 0,this._xhr=e}getResponseHeader(e){return this._xhr.getResponseHeader(e)}}class Za{constructor(e){this.headers=void 0,this.ok=void 0,this.status=void 0,this.statusText=void 0,this.url=void 0,this._decodedJSON=void 0,this.xhr=void 0,this.headers=new Ba(e),this.ok=e.status>=200&&e.status<=299,this.status=e.status,this.statusText=e.statusText,this.url=e.responseURL,this.xhr=e}json(){return this._decodedJSON||(this._decodedJSON=JSON.parse(this.xhr.response)),this._decodedJSON}parseNumericHeader(e){const t=parseInt(this.headers.getResponseHeader(e),10);return isNaN(t)?0:t}}class Ja{constructor(e,t){this.timeout=void 0,this.api=void 0,this.dispatcher=void 0,this.cookie=void 0,this.sessionTokenStorage=void 0,this.lang=void 0,this.sessionTokenLocation=void 0,this.api=e,this.timeout=t.timeout,this.dispatcher=new hi,this.cookie=new Ka(Gt({},t)),this.sessionTokenStorage=new Va({keyName:t.cookieName}),this.lang=t.lang,this.sessionTokenLocation=t.sessionTokenLocation}_fetch(e,t,n=new XMLHttpRequest){const i=this,a=this.api+e,s=this.timeout,d=this.getAuthToken(),c=this.lang;return new Promise(function(l,u){n.open(t.method,a,!0),n.setRequestHeader("Accept","application/json"),n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("X-Language",c),d&&n.setRequestHeader("Authorization",`Bearer ${d}`),n.timeout=s,n.withCredentials=!0,n.onload=()=>{i.processHeaders(n),l(new Za(n))},n.onerror=()=>{u(new Ie)},n.ontimeout=()=>{u(new en)},n.send(t.body?t.body.toString():null)})}_fetch_blocking(e,t,n=new XMLHttpRequest){const i=this.api+e,a=this.getAuthToken();return n.open(t.method,i,!1),n.setRequestHeader("Accept","application/json"),n.setRequestHeader("Content-Type","application/json"),a&&n.setRequestHeader("Authorization",`Bearer ${a}`),n.withCredentials=!0,n.send(t.body?t.body.toString():null),n.responseText}processHeaders(e){let t="",n=0,i="";if(e.getAllResponseHeaders().split(`\r
|
|
45
|
+
`).forEach(a=>{const s=a.toLowerCase();s.startsWith("x-auth-token")?t=e.getResponseHeader("X-Auth-Token"):s.startsWith("x-session-lifetime")?n=parseInt(e.getResponseHeader("X-Session-Lifetime"),10):s.startsWith("x-session-retention")&&(i=e.getResponseHeader("X-Session-Retention"))}),t){const a=new RegExp("^https://"),s=!!this.api.match(a)&&!!window.location.href.match(a),d=i==="session"?void 0:new Date(new Date().getTime()+1e3*n);this.setAuthToken(t,{secure:s,expires:d})}}get(e){return this._fetch(e,{method:"GET"})}post(e,t){return this._fetch(e,{method:"POST",body:JSON.stringify(t)})}put(e,t){return this._fetch(e,{method:"PUT",body:JSON.stringify(t)})}patch(e,t){return this._fetch(e,{method:"PATCH",body:JSON.stringify(t)})}delete(e){return this._fetch(e,{method:"DELETE"})}getAuthToken(){let e="";switch(this.sessionTokenLocation){case"cookie":e=this.cookie.getAuthCookie();break;case"sessionStorage":e=this.sessionTokenStorage.getSessionToken()}return e}setAuthToken(e,t){switch(this.sessionTokenLocation){case"cookie":return this.cookie.setAuthCookie(e,t);case"sessionStorage":return this.sessionTokenStorage.setSessionToken(e)}}}class st{constructor(e,t){this.client=void 0,this.client=new Ja(e,t)}}class pi extends st{getDomain(e){if(!e)throw new Je("somethingWentWrong",new Error("email missing from request"));const t=e.split("@");if(t.length!==2)throw new Je("somethingWentWrong",new Error("email is not in a valid email format."));const n=t[1].trim();if(n==="")throw new Je("somethingWentWrong",new Error("email is not in a valid email format."));return n}async hasProvider(e){const t=this.getDomain(e);return this.client.get(`/saml/provider?domain=${t}`).then(n=>{if(n.status==404)throw new At(new Error("provider not found"));if(!n.ok)throw new Ie(new Error("unable to fetch provider"));return n.ok})}auth(e,t){const n=new URL("/saml/auth",this.client.api),i=this.getDomain(e);if(!t)throw new Je("somethingWentWrong",new Error("redirectTo missing from request"));n.searchParams.append("domain",i),n.searchParams.append("redirect_to",t),window.location.assign(n.href)}getError(){const e=new URLSearchParams(window.location.search),t=e.get("error"),n=e.get("error_description");if(t){let i;switch(t){case"access_denied":i="enterpriseAccessDenied";break;case"user_conflict":i="emailAddressAlreadyExistsError";break;case"multiple_accounts":i="enterpriseMultipleAccounts";break;case"unverified_email":i="enterpriseUnverifiedEmail";break;case"email_maxnum":i="maxNumOfEmailAddressesReached";break;default:i="somethingWentWrong"}return new Je(i,new Error(n))}}}class mi extends st{async getInfo(e){const t=await this.client.post("/user",{email:e});if(t.status===404)throw new At;if(!t.ok)throw new Ie;return t.json()}async create(e){const t=await this.client.post("/users",{email:e});if(t.status===409)throw new Xt;if(t.status===403)throw new tn;if(!t.ok)throw new Ie;return t.json()}async getCurrent(){const e=await this.client.get("/me");if(e.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!e.ok)throw new Ie;const t=e.json(),n=await this.client.get(`/users/${t.id}`);if(n.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!n.ok)throw new Ie;return n.json()}async delete(){const e=await this.client.delete("/user");if(e.ok)return this.client.sessionTokenStorage.removeSessionToken(),this.client.cookie.removeAuthCookie(),void this.client.dispatcher.dispatchUserDeletedEvent();throw e.status===401?(this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe):new Ie}async logout(){const e=await this.client.post("/logout");if(this.client.sessionTokenStorage.removeSessionToken(),this.client.cookie.removeAuthCookie(),this.client.dispatcher.dispatchUserLoggedOutEvent(),e.status!==401&&!e.ok)throw new Ie}}class gi extends st{async list(){const e=await this.client.get("/emails");if(e.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!e.ok)throw new Ie;return e.json()}async create(e){const t=await this.client.post("/emails",{address:e});if(t.ok)return t.json();throw t.status===400?new on:t.status===401?(this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe):t.status===409?new nn:new Ie}async setPrimaryEmail(e){const t=await this.client.post(`/emails/${e}/set_primary`);if(t.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!t.ok)throw new Ie}async delete(e){const t=await this.client.delete(`/emails/${e}`);if(t.status===401)throw this.client.dispatcher.dispatchSessionExpiredEvent(),new Qe;if(!t.ok)throw new Ie}}class fi extends st{async auth(e,t){const n=new URL("/thirdparty/auth",this.client.api);if(!e)throw new Je("somethingWentWrong",new Error("provider missing from request"));if(!t)throw new Je("somethingWentWrong",new Error("redirectTo missing from request"));n.searchParams.append("provider",e),n.searchParams.append("redirect_to",t),window.location.assign(n.href)}getError(){const e=new URLSearchParams(window.location.search),t=e.get("error"),n=e.get("error_description");if(t){let i="";switch(t){case"access_denied":i="thirdPartyAccessDenied";break;case"user_conflict":i="emailAddressAlreadyExistsError";break;case"multiple_accounts":i="thirdPartyMultipleAccounts";break;case"unverified_email":i="thirdPartyUnverifiedEmail";break;case"email_maxnum":i="maxNumOfEmailAddressesReached";break;case"signup_disabled":i="signupDisabled";break;default:i="somethingWentWrong"}return new Je(i,new Error(n))}}}class vi extends st{async validate(){const e=new URLSearchParams(window.location.search).get("hanko_token");if(!e)return;window.history.replaceState(null,null,window.location.pathname);const t=await this.client.post("/token",{value:e});if(!t.ok)throw new Ie;return t.json()}}class Ya{static throttle(e,t,n={}){const{leading:i=!0,trailing:a=!0}=n;let s,d,c,l=0;const u=()=>{l=i===!1?0:Date.now(),c=null,e.apply(s,d)};return function(...h){const f=Date.now();l||i!==!1||(l=f);const m=t-(f-l);s=this,d=h,m<=0||m>t?(c&&(window.clearTimeout(c),c=null),l=f,e.apply(s,d)):c||a===!1||(c=window.setTimeout(u,m))}}}class rn{constructor(){this.throttleLimit=1e3,this._addEventListener=document.addEventListener.bind(document),this._removeEventListener=document.removeEventListener.bind(document),this._throttle=Ya.throttle}wrapCallback(e,t){const n=i=>{e(i.detail)};return t?this._throttle(n,this.throttleLimit,{leading:!0,trailing:!1}):n}addEventListenerWithType({type:e,callback:t,once:n=!1,throttle:i=!1}){const a=this.wrapCallback(t,i);return this._addEventListener(e,a,{once:n}),()=>this._removeEventListener(e,a)}static mapAddEventListenerParams(e,{once:t,callback:n},i){return{type:e,callback:n,once:t,throttle:i}}addEventListener(e,t,n){return this.addEventListenerWithType(rn.mapAddEventListenerParams(e,t,n))}onSessionCreated(e,t){return this.addEventListener(Gn,{callback:e,once:t},!0)}onSessionExpired(e,t){return this.addEventListener(Xn,{callback:e,once:t},!0)}onUserLoggedOut(e,t){return this.addEventListener(eo,{callback:e,once:t})}onUserDeleted(e,t){return this.addEventListener(to,{callback:e,once:t})}}class oo extends st{async validate(){const e=await this.client.get("/sessions/validate");if(!e.ok)throw new Ie;return await e.json()}}class Qa extends st{isValid(){let e;try{const t=this.client._fetch_blocking("/sessions/validate",{method:"GET"});e=JSON.parse(t)}catch(t){throw new Ie(t)}return!!e&&e.is_valid}}class Ga{constructor(e){this.storageKey=void 0,this.defaultState={expiration:0,lastCheck:0},this.storageKey=e}load(){const e=window.localStorage.getItem(this.storageKey);return e==null?this.defaultState:JSON.parse(e)}save(e){window.localStorage.setItem(this.storageKey,JSON.stringify(e||this.defaultState))}}class Xa{constructor(e,t){this.onActivityCallback=void 0,this.onInactivityCallback=void 0,this.handleFocus=()=>{this.onActivityCallback()},this.handleBlur=()=>{this.onInactivityCallback()},this.handleVisibilityChange=()=>{document.visibilityState==="visible"?this.onActivityCallback():this.onInactivityCallback()},this.hasFocus=()=>document.hasFocus(),this.onActivityCallback=e,this.onInactivityCallback=t,window.addEventListener("focus",this.handleFocus),window.addEventListener("blur",this.handleBlur),document.addEventListener("visibilitychange",this.handleVisibilityChange)}}class er{constructor(e,t,n){this.intervalID=null,this.timeoutID=null,this.checkInterval=void 0,this.checkSession=void 0,this.onSessionExpired=void 0,this.checkInterval=e,this.checkSession=t,this.onSessionExpired=n}scheduleSessionExpiry(e){var t=this;this.stop(),this.timeoutID=setTimeout(async function(){t.stop(),t.onSessionExpired()},e)}start(e=0,t=0){var n=this;const i=this.calcTimeToNextCheck(e);this.sessionExpiresSoon(t)?this.scheduleSessionExpiry(i):this.timeoutID=setTimeout(async function(){let a=await n.checkSession();if(a.is_valid){if(n.sessionExpiresSoon(a.expiration))return void n.scheduleSessionExpiry(a.expiration-Date.now());n.intervalID=setInterval(async function(){a=await n.checkSession(),a.is_valid?n.sessionExpiresSoon(a.expiration)&&n.scheduleSessionExpiry(a.expiration-Date.now()):n.stop()},n.checkInterval)}else n.stop()},i)}stop(){this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=null),this.intervalID&&(clearInterval(this.intervalID),this.intervalID=null)}isRunning(){return this.timeoutID!==null||this.intervalID!==null}sessionExpiresSoon(e){return e>0&&e-Date.now()<=this.checkInterval}calcTimeToNextCheck(e){const t=Date.now()-e;return this.checkInterval>=t?this.checkInterval-t%this.checkInterval:0}}class tr{constructor(e="hanko_session",t,n,i){this.channel=void 0,this.onSessionExpired=void 0,this.onSessionCreated=void 0,this.onLeadershipRequested=void 0,this.handleMessage=a=>{const s=a.data;switch(s.action){case"sessionExpired":this.onSessionExpired(s);break;case"sessionCreated":this.onSessionCreated(s);break;case"requestLeadership":this.onLeadershipRequested(s)}},this.onSessionExpired=t,this.onSessionCreated=n,this.onLeadershipRequested=i,this.channel=new BroadcastChannel(e),this.channel.onmessage=this.handleMessage}post(e){this.channel.postMessage(e)}}class nr extends hi{constructor(e,t){super(),this.listener=new rn,this.checkInterval=3e4,this.client=void 0,this.sessionState=void 0,this.windowActivityManager=void 0,this.scheduler=void 0,this.sessionChannel=void 0,this.isLoggedIn=void 0,this.client=new oo(e,t),this.checkInterval=t.sessionCheckInterval,this.sessionState=new Ga(`${t.cookieName}_session_state`),this.sessionChannel=new tr(this.getSessionCheckChannelName(t.sessionTokenLocation,t.sessionCheckChannelName),()=>this.onChannelSessionExpired(),a=>this.onChannelSessionCreated(a),()=>this.onChannelLeadershipRequested()),this.scheduler=new er(this.checkInterval,()=>this.checkSession(),()=>this.onSessionExpired()),this.windowActivityManager=new Xa(()=>this.startSessionCheck(),()=>this.scheduler.stop());const n=Date.now(),{expiration:i}=this.sessionState.load();this.isLoggedIn=n<i,this.initializeEventListeners(),this.startSessionCheck()}initializeEventListeners(){this.listener.onSessionCreated(e=>{const{claims:t}=e,n=Date.parse(t.expiration),i=Date.now();this.isLoggedIn=!0,this.sessionState.save({expiration:n,lastCheck:i}),this.sessionChannel.post({action:"sessionCreated",claims:t}),this.startSessionCheck()}),this.listener.onUserLoggedOut(()=>{this.isLoggedIn=!1,this.sessionChannel.post({action:"sessionExpired"}),this.sessionState.save(null),this.scheduler.stop()}),window.addEventListener("beforeunload",()=>this.scheduler.stop())}startSessionCheck(){if(!this.windowActivityManager.hasFocus()||(this.sessionChannel.post({action:"requestLeadership"}),this.scheduler.isRunning()))return;const{lastCheck:e,expiration:t}=this.sessionState.load();this.isLoggedIn&&this.scheduler.start(e,t)}async checkSession(){const e=Date.now(),{is_valid:t,claims:n,expiration_time:i}=await this.client.validate(),a=i?Date.parse(i):0;return!t&&this.isLoggedIn&&this.dispatchSessionExpiredEvent(),t?(this.isLoggedIn=!0,this.sessionState.save({lastCheck:e,expiration:a})):(this.isLoggedIn=!1,this.sessionState.save(null),this.sessionChannel.post({action:"sessionExpired"})),{is_valid:t,claims:n,expiration:a}}onSessionExpired(){this.isLoggedIn&&(this.isLoggedIn=!1,this.sessionState.save(null),this.sessionChannel.post({action:"sessionExpired"}),this.dispatchSessionExpiredEvent())}onChannelSessionExpired(){this.isLoggedIn&&(this.isLoggedIn=!1,this.dispatchSessionExpiredEvent())}onChannelSessionCreated(e){const{claims:t}=e,n=Date.now(),i=Date.parse(t.expiration)-n;this.isLoggedIn=!0,this.dispatchSessionCreatedEvent({claims:t,expirationSeconds:i})}onChannelLeadershipRequested(){this.windowActivityManager.hasFocus()||this.scheduler.stop()}getSessionCheckChannelName(e,t){if(e=="cookie")return t;let n=sessionStorage.getItem("sessionCheckChannelName");return n!=null&&n!==""||(n=`${t}-${Math.floor(100*Math.random())+1}`,sessionStorage.setItem("sessionCheckChannelName",n)),n}}var vt,Ct=di("actionDefinitions"),io=di("createActionsProxy");class ao{toJSON(){return{name:this.name,payload:this.payload,error:this.error,status:this.status,csrf_token:this.csrf_token,actions:Wn(this,Ct)[Ct]}}constructor({name:e,payload:t,error:n,status:i,actions:a,csrf_token:s},d){Object.defineProperty(this,io,{value:or}),this.name=void 0,this.payload=void 0,this.error=void 0,this.status=void 0,this.csrf_token=void 0,Object.defineProperty(this,Ct,{writable:!0,value:void 0}),this.actions=void 0,this.fetchNextState=void 0,this.name=e,this.payload=t,this.error=n,this.status=i,this.csrf_token=s,Wn(this,Ct)[Ct]=a,this.actions=Wn(this,io)[io](a,s),this.fetchNextState=d}runAction(e,t){const n={};if("inputs"in e&&typeof e.inputs=="object"&&e.inputs!==null){const i=e.inputs;for(const a in e.inputs){const s=i[a];s&&"value"in s&&(n[a]=s.value)}}return this.fetchNextState(e.href,{input_data:n,csrf_token:t})}validateAction(e){if("inputs"in e)for(const t in e.inputs){let i=function(s,d,c,l){throw new _i({reason:s,inputName:t,wanted:c,actual:l,message:d})};const n=e.inputs[t],a=n.value;n.required&&!a&&i(vt.Required,"is required"),(n.min_length!=null||n.max_length!=null)&&("length"in a||i(vt.InvalidInputDefinition,'has min/max length requirement, but is missing "length" property',"string",typeof a),n.min_length!=null&&a<n.min_length&&i(vt.MinLength,`too short (min ${n.min_length})`,n.min_length,a.length),n.max_length!=null&&a>n.max_length&&i(vt.MaxLength,`too long (max ${n.max_length})`,n.max_length,a.length))}}}function or(o,e){const t=i=>this.runAction(i,e),n=i=>this.validateAction(i);return new Proxy(o,{get(i,a){if(typeof a=="symbol")return i[a];const s=i[a];return s==null?null:d=>{const c=Object.assign(JSON.parse(JSON.stringify(s)),{validate:()=>(n(c),c),tryValidate(){try{n(c)}catch(l){if(l instanceof _i)return l;throw l}},run:()=>t(c)});if(c!==null&&typeof c=="object"&&"inputs"in c)for(const l in d){const u=c.inputs;u[l]||(u[l]={name:l,type:""}),u[l].value=d[l]}return c}}})}(function(o){o[o.InvalidInputDefinition=0]="InvalidInputDefinition",o[o.MinLength=1]="MinLength",o[o.MaxLength=2]="MaxLength",o[o.Required=3]="Required"})(vt||(vt={}));class _i extends Error{constructor(e){super(`"${e.inputName}" ${e.message}`),this.reason=void 0,this.inputName=void 0,this.wanted=void 0,this.actual=void 0,this.name="ValidationError",this.reason=e.reason,this.inputName=e.inputName,this.wanted=e.wanted,this.actual=e.actual}}function yi(o){return typeof o=="object"&&o!==null&&"status"in o&&"error"in o&&"name"in o&&!!o.name&&!!o.status}class ir extends st{constructor(...e){var t;super(...e),t=this,this.run=async function(n,i){try{if(!yi(n))throw new ar(n);const s=i[n.name];if(!s)throw new ro(n);let d=await s(n);if(typeof(a=d)=="object"&&a!==null&&"href"in a&&"inputs"in a&&(d=await d.run()),yi(d))return t.run(d,i)}catch(s){if(typeof i.onError=="function")return i.onError(s)}var a}}async init(e,t){var n=this;const i=await async function a(s,d){try{const c=await n.client.post(s,d);return new ao(c.json(),a)}catch(c){t.onError==null||t.onError(c)}}(e);await this.run(i,t)}async fromString(e,t){var n=this;const i=new ao(JSON.parse(e),async function a(s,d){try{const c=await n.client.post(s,d);return new ao(c.json(),a)}catch(c){t.onError==null||t.onError(c)}});await this.run(i,t)}}class ro extends xe{constructor(e){super("No handler found for state: "+(typeof e.name=="string"?`"${e.name}"`:`(${typeof e.name})`),"handlerNotFoundError"),this.state=void 0,this.state=e,Object.setPrototypeOf(this,ro.prototype)}}class ar extends Error{constructor(e){super("Invalid state: "+(typeof e.name=="string"?`"${e.name}"`:`(${typeof e.name})`)),this.state=void 0,this.state=e}}class bi extends rn{constructor(e,t){super(),this.api=void 0,this.user=void 0,this.email=void 0,this.thirdParty=void 0,this.enterprise=void 0,this.token=void 0,this.sessionClient=void 0,this.session=void 0,this.relay=void 0,this.flow=void 0;const n={timeout:13e3,cookieName:"hanko",localStorageKey:"hanko",sessionCheckInterval:3e4,sessionCheckChannelName:"hanko-session-check",sessionTokenLocation:"cookie"};(t==null?void 0:t.cookieName)!==void 0&&(n.cookieName=t.cookieName),(t==null?void 0:t.timeout)!==void 0&&(n.timeout=t.timeout),(t==null?void 0:t.localStorageKey)!==void 0&&(n.localStorageKey=t.localStorageKey),(t==null?void 0:t.cookieDomain)!==void 0&&(n.cookieDomain=t.cookieDomain),(t==null?void 0:t.cookieSameSite)!==void 0&&(n.cookieSameSite=t.cookieSameSite),(t==null?void 0:t.lang)!==void 0&&(n.lang=t.lang),(t==null?void 0:t.sessionCheckInterval)!==void 0&&(n.sessionCheckInterval=t.sessionCheckInterval<3e3?3e3:t.sessionCheckInterval),(t==null?void 0:t.sessionCheckChannelName)!==void 0&&(n.sessionCheckChannelName=t.sessionCheckChannelName),(t==null?void 0:t.sessionTokenLocation)!==void 0&&(n.sessionTokenLocation=t.sessionTokenLocation),this.api=e,this.user=new mi(e,n),this.email=new gi(e,n),this.thirdParty=new fi(e,n),this.enterprise=new pi(e,n),this.token=new vi(e,n),this.sessionClient=new oo(e,n),this.session=new Qa(e,n),this.relay=new nr(e,n),this.flow=new ir(e,n)}setLang(e){this.flow.client.lang=e}}class _t{static supported(){return!!(navigator.credentials&&navigator.credentials.create&&navigator.credentials.get&&window.PublicKeyCredential)}static async isPlatformAuthenticatorAvailable(){return!(!this.supported()||!window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)&&window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}static async isSecurityKeySupported(){return window.PublicKeyCredential!==void 0&&window.PublicKeyCredential.isExternalCTAP2SecurityKeySupported?window.PublicKeyCredential.isExternalCTAP2SecurityKeySupported():this.supported()}static async isConditionalMediationAvailable(){return!(!window.PublicKeyCredential||!window.PublicKeyCredential.isConditionalMediationAvailable)&&window.PublicKeyCredential.isConditionalMediationAvailable()}}var rr=G(292),Ge=G.n(rr),sr=G(360),Xe=G.n(sr),lr=G(884),et=G.n(lr),cr=G(88),tt=G.n(cr),sn=G(914),Ot={};Ot.setAttributes=et(),Ot.insert=o=>{window._hankoStyle=o},Ot.domAPI=Xe(),Ot.insertStyleElement=tt(),Ge()(sn.A,Ot);const Pt=sn.A&&sn.A.locals?sn.A.locals:void 0,dr=function(o){function e(t){var n=Wo({},t);return delete n.ref,o(n,t.ref||null)}return e.$$typeof=Ea,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(o.displayName||o.name)+")",e}((o,e)=>{const{lang:t,hanko:n,setHanko:i}=(0,_.useContext)(pe),{setLang:a}=(0,_.useContext)(J.TranslateContext);return(0,_.useEffect)(()=>{a(t.replace(/[-]/,"")),i(s=>(s.setLang(t),s))},[n,t,i,a]),r("section",Object.assign({part:"container",className:Pt.container,ref:e},{children:o.children}))});var ln=G(697),Et={};Et.setAttributes=et(),Et.insert=o=>{window._hankoStyle=o},Et.domAPI=Xe(),Et.insertStyleElement=tt(),Ge()(ln.A,Et);const L=ln.A&&ln.A.locals?ln.A.locals:void 0;var ur=G(633),Y=G.n(ur);const hr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-apple",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"20.5 16 15 19",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M28.2226562,20.3846154 C29.0546875,20.3846154 30.0976562,19.8048315 30.71875,19.0317864 C31.28125,18.3312142 31.6914062,17.352829 31.6914062,16.3744437 C31.6914062,16.2415766 31.6796875,16.1087095 31.65625,16 C30.7304687,16.0362365 29.6171875,16.640178 28.9492187,17.4494596 C28.421875,18.06548 27.9414062,19.0317864 27.9414062,20.0222505 C27.9414062,20.1671964 27.9648438,20.3121424 27.9765625,20.3604577 C28.0351562,20.3725366 28.1289062,20.3846154 28.2226562,20.3846154 Z M25.2929688,35 C26.4296875,35 26.9335938,34.214876 28.3515625,34.214876 C29.7929688,34.214876 30.109375,34.9758423 31.375,34.9758423 C32.6171875,34.9758423 33.4492188,33.792117 34.234375,32.6325493 C35.1132812,31.3038779 35.4765625,29.9993643 35.5,29.9389701 C35.4179688,29.9148125 33.0390625,28.9122695 33.0390625,26.0979021 C33.0390625,23.6579784 34.9140625,22.5588048 35.0195312,22.474253 C33.7773438,20.6382708 31.890625,20.5899555 31.375,20.5899555 C29.9804688,20.5899555 28.84375,21.4596313 28.1289062,21.4596313 C27.3554688,21.4596313 26.3359375,20.6382708 25.1289062,20.6382708 C22.8320312,20.6382708 20.5,22.5950413 20.5,26.2911634 C20.5,28.5861411 21.3671875,31.013986 22.4335938,32.5842339 C23.3476562,33.9129053 24.1445312,35 25.2929688,35 Z"})})),pr=({secondary:o,size:e,fadeOut:t,disabled:n})=>r("svg",Object.assign({id:"icon-checkmark",xmlns:"http://www.w3.org/2000/svg",viewBox:"4 4 40 40",width:e,height:e,className:Y()(L.checkmark,o&&L.secondary,t&&L.fadeOut,n&&L.disabled)},{children:r("path",{d:"M21.05 33.1 35.2 18.95l-2.3-2.25-11.85 11.85-6-6-2.25 2.25ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 24q0-4.15 1.575-7.8 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24 4q4.15 0 7.8 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm0-3q7.1 0 12.05-4.975Q41 31.05 41 24q0-7.1-4.95-12.05Q31.1 7 24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24 41Zm0-17Z"})})),mr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"})})),gr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-custom-provider",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:[r("path",{d:"M0 0h24v24H0z",fill:"none"}),r("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"})]})),fr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-discord",fill:"#fff",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 127.14 96.36",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"})})),vr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-exclamation",xmlns:"http://www.w3.org/2000/svg",viewBox:"5 2 13 20",width:o,height:o,className:Y()(L.exclamationMark,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})),_r=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({width:o,height:o,viewBox:"0 0 666.66668 666.66717",xmlns:"http://www.w3.org/2000/svg"},{children:[r("defs",Object.assign({id:"defs13"},{children:r("clipPath",Object.assign({clipPathUnits:"userSpaceOnUse",id:"clipPath25"},{children:r("path",{d:"M 0,700 H 700 V 0 H 0 Z",id:"path23"})}))})),r("g",Object.assign({id:"g17",transform:"matrix(1.3333333,0,0,-1.3333333,-133.33333,799.99999)"},{children:r("g",Object.assign({id:"g19"},{children:r("g",Object.assign({id:"g21",clipPath:"url(#clipPath25)"},{children:[r("g",Object.assign({id:"g27",transform:"translate(600,350)"},{children:r("path",{className:Y()(L.facebookIcon,t?L.disabledOutline:L.outline),d:"m 0,0 c 0,138.071 -111.929,250 -250,250 -138.071,0 -250,-111.929 -250,-250 0,-117.245 80.715,-215.622 189.606,-242.638 v 166.242 h -51.552 V 0 h 51.552 v 32.919 c 0,85.092 38.508,124.532 122.048,124.532 15.838,0 43.167,-3.105 54.347,-6.211 V 81.986 c -5.901,0.621 -16.149,0.932 -28.882,0.932 -40.993,0 -56.832,-15.528 -56.832,-55.9 V 0 h 81.659 l -14.028,-76.396 h -67.631 V -248.169 C -95.927,-233.218 0,-127.818 0,0",id:"path29"})})),r("g",Object.assign({id:"g31",transform:"translate(447.9175,273.6036)"},{children:r("path",{className:Y()(L.facebookIcon,t?L.disabledLetter:L.letter),d:"M 0,0 14.029,76.396 H -67.63 v 27.019 c 0,40.372 15.838,55.899 56.831,55.899 12.733,0 22.981,-0.31 28.882,-0.931 v 69.253 c -11.18,3.106 -38.509,6.212 -54.347,6.212 -83.539,0 -122.048,-39.441 -122.048,-124.533 V 76.396 h -51.552 V 0 h 51.552 v -166.242 c 19.343,-4.798 39.568,-7.362 60.394,-7.362 10.254,0 20.358,0.632 30.288,1.831 L -67.63,0 Z",id:"path33"})}))]}))}))}))]})),yr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-github",xmlns:"http://www.w3.org/2000/svg",fill:"#fff",viewBox:"0 0 97.63 96",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:[r("path",{d:"M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"})," "]})),br=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-google",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:L.googleIcon},{children:[r("path",{className:Y()(L.googleIcon,e?L.disabled:L.blue),d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.green),d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.yellow),d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),r("path",{className:Y()(L.googleIcon,e?L.disabled:L.red),d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"}),r("path",{d:"M1 1h22v22H1z",fill:"none"})]})),kr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-linkedin",fill:"#fff",xmlns:"http://www.w3.org/2000/svg",width:o,viewBox:"0 0 24 24",height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z"})})),wr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-mail",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 -960 960 960",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z"})})),Sr=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-microsoft",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:L.microsoftIcon},{children:[r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.blue),x:"1",y:"1",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.green),x:"1",y:"11",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.yellow),x:"11",y:"1",width:"9",height:"9"}),r("rect",{className:Y()(L.microsoftIcon,e?L.disabled:L.red),x:"11",y:"11",width:"9",height:"9"})]})),xr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-passkey",xmlns:"http://www.w3.org/2000/svg",viewBox:"3 1.5 19.5 19",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("g",Object.assign({id:"icon-passkey-all"},{children:[r("circle",{id:"icon-passkey-head",cx:"10.5",cy:"6",r:"4.5"}),r("path",{id:"icon-passkey-key",d:"M22.5,10.5a3.5,3.5,0,1,0-5,3.15V19L19,20.5,21.5,18,20,16.5,21.5,15l-1.24-1.24A3.5,3.5,0,0,0,22.5,10.5Zm-3.5,0a1,1,0,1,1,1-1A1,1,0,0,1,19,10.5Z"}),r("path",{id:"icon-passkey-body",d:"M14.44,12.52A6,6,0,0,0,12,12H9a6,6,0,0,0-6,6v2H16V14.49A5.16,5.16,0,0,1,14.44,12.52Z"})]}))})),Ar=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({id:"icon-password",xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 -960 960 960",className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M80-200v-80h800v80H80Zm46-242-52-30 34-60H40v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Zm320 0-52-30 34-60h-68v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Zm320 0-52-30 34-60h-68v-60h68l-34-58 52-30 34 58 34-58 52 30-34 58h68v60h-68l34 60-52 30-34-60-34 60Z"})})),Cr=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M80-680v-200h200v80H160v120H80Zm0 600v-200h80v120h120v80H80Zm600 0v-80h120v-120h80v200H680Zm120-600v-120H680v-80h200v200h-80ZM700-260h60v60h-60v-60Zm0-120h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60-60h60v60h-60v-60Zm120-120h60v60h-60v-60Zm-60 60h60v60h-60v-60Zm-60-60h60v60h-60v-60Zm240-320v240H520v-240h240ZM440-440v240H200v-240h240Zm0-320v240H200v-240h240Zm-60 500v-120H260v120h120Zm0-320v-120H260v120h120Zm320 0v-120H580v120h120Z"})})),Or=({size:o,secondary:e,disabled:t})=>r("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960",width:o,height:o,className:Y()(L.icon,e&&L.secondary,t&&L.disabled)},{children:r("path",{d:"M280-240q-100 0-170-70T40-480q0-100 70-170t170-70q66 0 121 33t87 87h432v240h-80v120H600v-120H488q-32 54-87 87t-121 33Zm0-80q66 0 106-40.5t48-79.5h246v120h80v-120h80v-80H434q-8-39-48-79.5T280-640q-66 0-113 47t-47 113q0 66 47 113t113 47Zm0-80q33 0 56.5-23.5T360-480q0-33-23.5-56.5T280-560q-33 0-56.5 23.5T200-480q0 33 23.5 56.5T280-400Zm0-80Z"})})),Pr=({size:o,disabled:e})=>r("svg",Object.assign({id:"icon-spinner",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o,height:o,className:Y()(L.loadingSpinner,e&&L.disabled)},{children:[r("path",{d:"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z",opacity:".25"}),r("path",{d:"M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z"})]})),It=({name:o,secondary:e,size:t=18,fadeOut:n,disabled:i})=>r(Hn[o],{size:t,secondary:e,fadeOut:n,disabled:i}),so=({children:o,isLoading:e,isSuccess:t,fadeOut:n,secondary:i,hasIcon:a,maxWidth:s})=>r(C.Fragment,{children:r("div",e?Object.assign({className:Y()(L.loadingSpinnerWrapper,L.centerContent,s&&L.maxWidth)},{children:r(It,{name:"spinner",secondary:i})}):t?Object.assign({className:Y()(L.loadingSpinnerWrapper,L.centerContent,s&&L.maxWidth)},{children:r(It,{name:"checkmark",secondary:i,fadeOut:n})}):Object.assign({className:a?L.loadingSpinnerWrapperIcon:L.loadingSpinnerWrapper},{children:o}))}),Er=()=>{const{setLoadingAction:o}=(0,_.useContext)(pe);return(0,_.useEffect)(()=>{o(null)},[]),r(so,{isLoading:!0})},Ue=o=>{const[e,t]=(0,_.useState)(o);return(0,_.useEffect)(()=>{o&&t(o)},[o]),{flowState:e}};var cn=G(577),Dt={};Dt.setAttributes=et(),Dt.insert=o=>{window._hankoStyle=o},Dt.domAPI=Xe(),Dt.insertStyleElement=tt(),Ge()(cn.A,Dt);const Oe=cn.A&&cn.A.locals?cn.A.locals:void 0,Ir=()=>{const{t:o}=(0,_.useContext)(J.TranslateContext);return r("span",Object.assign({className:Y()(Oe.lastUsed)},{children:o("labels.lastUsed")}))},ie=o=>{var{uiAction:e,title:t,children:n,secondary:i,dangerous:a,autofocus:s,showLastUsed:d,onClick:c,icon:l}=o,u=function(S,P){var j={};for(var U in S)Object.prototype.hasOwnProperty.call(S,U)&&P.indexOf(U)<0&&(j[U]=S[U]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function"){var N=0;for(U=Object.getOwnPropertySymbols(S);N<U.length;N++)P.indexOf(U[N])<0&&Object.prototype.propertyIsEnumerable.call(S,U[N])&&(j[U[N]]=S[U[N]])}return j}(o,["uiAction","title","children","secondary","dangerous","autofocus","showLastUsed","onClick","icon"]);const h=(0,_.useRef)(null),{uiState:f,isDisabled:m}=(0,_.useContext)(pe);(0,_.useEffect)(()=>{const{current:S}=h;S&&s&&S.focus()},[s]);const x=(0,_.useMemo)(()=>e&&f.loadingAction===e||u.isLoading,[u,e,f]),O=(0,_.useMemo)(()=>e&&f.succeededAction===e||u.isSuccess,[u,e,f]),A=(0,_.useMemo)(()=>m||u.disabled,[u,m]);return r("button",Object.assign({part:a?"button dangerous-button":i?"button secondary-button":"button primary-button",title:t,ref:h,type:"submit",disabled:A,onClick:c,className:Y()(Oe.button,a?Oe.dangerous:i?Oe.secondary:Oe.primary)},{children:r(so,Object.assign({isLoading:x,isSuccess:O,secondary:!0,hasIcon:!!l,maxWidth:!0},{children:[l?r(It,{name:l,secondary:i,disabled:A}):null,r("div",Object.assign({className:Oe.caption},{children:[r("span",{children:n}),d?r(Ir,{}):null]}))]}))}))},ze=o=>{var e,t,n,i,a,{label:s}=o,d=function(m,x){var O={};for(var A in m)Object.prototype.hasOwnProperty.call(m,A)&&x.indexOf(A)<0&&(O[A]=m[A]);if(m!=null&&typeof Object.getOwnPropertySymbols=="function"){var S=0;for(A=Object.getOwnPropertySymbols(m);S<A.length;S++)x.indexOf(A[S])<0&&Object.prototype.propertyIsEnumerable.call(m,A[S])&&(O[A[S]]=m[A[S]])}return O}(o,["label"]);const c=(0,_.useRef)(null),{isDisabled:l}=(0,_.useContext)(pe),{t:u}=(0,_.useContext)(J.TranslateContext),h=(0,_.useMemo)(()=>l||d.disabled,[d,l]);(0,_.useEffect)(()=>{const{current:m}=c;m&&d.autofocus&&(m.focus(),m.select())},[d.autofocus]);const f=(0,_.useMemo)(()=>{var m;return d.markOptional&&!(!((m=d.flowInput)===null||m===void 0)&&m.required)?`${d.placeholder} (${u("labels.optional")})`:d.placeholder},[d.markOptional,d.placeholder,d.flowInput,u]);return r("div",Object.assign({className:Oe.inputWrapper},{children:r("input",Object.assign({part:"input text-input",required:(e=d.flowInput)===null||e===void 0?void 0:e.required,maxLength:(t=d.flowInput)===null||t===void 0?void 0:t.max_length,minLength:(n=d.flowInput)===null||n===void 0?void 0:n.min_length,hidden:(i=d.flowInput)===null||i===void 0?void 0:i.hidden},d,{ref:c,"aria-label":f,placeholder:f,className:Y()(Oe.input,!!(!((a=d.flowInput)===null||a===void 0)&&a.error)&&d.markError&&Oe.error),disabled:h}))}))},Pe=({children:o})=>r("section",Object.assign({className:Pt.content},{children:o})),ae=({onSubmit:o,children:e,hidden:t,maxWidth:n})=>t?null:r("form",Object.assign({onSubmit:o,className:Oe.form},{children:r("ul",Object.assign({className:Oe.ul},{children:(0,C.toChildArray)(e).map((i,a)=>r("li",Object.assign({part:"form-item",className:Y()(Oe.li,n?Oe.maxWidth:null)},{children:i}),a))}))}));var dn=G(111),jt={};jt.setAttributes=et(),jt.insert=o=>{window._hankoStyle=o},jt.domAPI=Xe(),jt.insertStyleElement=tt(),Ge()(dn.A,jt);const Lt=dn.A&&dn.A.locals?dn.A.locals:void 0,lo=({children:o,hidden:e})=>e?null:r("section",Object.assign({part:"divider",className:Lt.divider},{children:[r("div",{part:"divider-line",className:Lt.line}),o?r("div",Object.assign({part:"divider-text",class:Lt.text},{children:o})):null,r("div",{part:"divider-line",className:Lt.line})]}));var un=G(905),$t={};$t.setAttributes=et(),$t.insert=o=>{window._hankoStyle=o},$t.domAPI=Xe(),$t.insertStyleElement=tt(),Ge()(un.A,$t);const ki=un.A&&un.A.locals?un.A.locals:void 0,Ee=({state:o,error:e,flowError:t})=>{var n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{uiState:s,setUIState:d}=(0,_.useContext)(pe);return(0,_.useEffect)(()=>{var c,l;if(((c=o==null?void 0:o.error)===null||c===void 0?void 0:c.code)=="form_data_invalid_error")for(const u of Object.values(o==null?void 0:o.actions)){const h=u==null?void 0:u(null);let f=!1;for(const m of Object.values(h==null?void 0:h.inputs))if(!((l=m.error)===null||l===void 0)&&l.code)return d(Object.assign(Object.assign({},s),{error:m.error})),void(f=!0);f||d(Object.assign(Object.assign({},s),{error:o.error}))}else o!=null&&o.error&&d(Object.assign(Object.assign({},s),{error:o==null?void 0:o.error}))},[o]),r("section",Object.assign({part:"error",className:ki.errorBox,hidden:!(!((n=s.error)===null||n===void 0)&&n.code)&&!(t!=null&&t.code)&&!e},{children:[r("span",{children:r(It,{name:"exclamation",size:15})}),r("span",Object.assign({id:"errorMessage",part:"error-text"},{children:a(e?`errors.${e.code}`:`flowErrors.${((i=s.error)===null||i===void 0?void 0:i.code)||(t==null?void 0:t.code)}`)}))]}))};var hn=G(619),Tt={};Tt.setAttributes=et(),Tt.insert=o=>{window._hankoStyle=o},Tt.domAPI=Xe(),Tt.insertStyleElement=tt(),Ge()(hn.A,Tt);const pn=hn.A&&hn.A.locals?hn.A.locals:void 0,he=({children:o})=>r("h1",Object.assign({part:"headline1",className:Y()(pn.headline,pn.grade1)},{children:o}));var mn=G(995),Ut={};Ut.setAttributes=et(),Ut.insert=o=>{window._hankoStyle=o},Ut.domAPI=Xe(),Ut.insertStyleElement=tt(),Ge()(mn.A,Ut);const gn=mn.A&&mn.A.locals?mn.A.locals:void 0,co=o=>{var{loadingSpinnerPosition:e,dangerous:t=!1,onClick:n,uiAction:i}=o,a=function(P,j){var U={};for(var N in P)Object.prototype.hasOwnProperty.call(P,N)&&j.indexOf(N)<0&&(U[N]=P[N]);if(P!=null&&typeof Object.getOwnPropertySymbols=="function"){var re=0;for(N=Object.getOwnPropertySymbols(P);re<N.length;re++)j.indexOf(N[re])<0&&Object.prototype.propertyIsEnumerable.call(P,N[re])&&(U[N[re]]=P[N[re]])}return U}(o,["loadingSpinnerPosition","dangerous","onClick","uiAction"]);const{t:s}=(0,_.useContext)(J.TranslateContext),{uiState:d,isDisabled:c}=(0,_.useContext)(pe),[l,u]=(0,_.useState)();let h;const f=P=>{P.preventDefault(),u(!0)},m=P=>{P.preventDefault(),u(!1)},x=(0,_.useMemo)(()=>i&&d.loadingAction===i||a.isLoading,[a,i,d]),O=(0,_.useMemo)(()=>i&&d.succeededAction===i||a.isSuccess,[a,i,d]),A=(0,_.useCallback)(P=>{P.preventDefault(),u(!1),n(P)},[n]),S=(0,_.useCallback)(()=>r(C.Fragment,{children:[l?r(C.Fragment,{children:[r(co,Object.assign({onClick:A},{children:s("labels.yes")}))," / ",r(co,Object.assign({onClick:m},{children:s("labels.no")}))," "]}):null,r("button",Object.assign({},a,{onClick:t?f:n,disabled:l||a.disabled||c,part:"link",className:Y()(gn.link,t?gn.danger:null)},{children:a.children}))]}),[l,t,n,A,a,s,c]);return r(C.Fragment,{children:r("span",Object.assign({className:Y()(gn.linkWrapper,e==="right"?gn.reverse:null),hidden:a.hidden,onMouseEnter:()=>{h&&window.clearTimeout(h)},onMouseLeave:()=>{h=window.setTimeout(()=>{u(!1)},1e3)}},{children:r(C.Fragment,e&&(x||O)?{children:[r(so,{isLoading:x,isSuccess:O,secondary:a.secondary,fadeOut:!0}),S()]}:{children:S()})}))})},ee=co,Ne=({children:o,hidden:e=!1})=>e?null:r("section",Object.assign({className:Pt.footer},{children:o})),uo=o=>{var{label:e}=o,t=function(n,i){var a={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&i.indexOf(s)<0&&(a[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function"){var d=0;for(s=Object.getOwnPropertySymbols(n);d<s.length;d++)i.indexOf(s[d])<0&&Object.prototype.propertyIsEnumerable.call(n,s[d])&&(a[s[d]]=n[s[d]])}return a}(o,["label"]);return r("div",Object.assign({className:Oe.inputWrapper},{children:r("label",Object.assign({className:Oe.checkboxWrapper},{children:[r("input",Object.assign({part:"input checkbox-input",type:"checkbox","aria-label":e,className:Oe.checkbox},t)),r("span",Object.assign({className:Y()(Oe.label,t.disabled?Oe.disabled:null)},{children:e}))]}))}))},fn=()=>r("section",{className:Lt.spacer});var Nt=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Dr=o=>{var e,t,n,i,a,s,d,c,l;const{t:u}=(0,_.useContext)(J.TranslateContext),{init:h,hanko:f,initialComponentName:m,setLoadingAction:x,uiState:O,setUIState:A,stateHandler:S,hidePasskeyButtonOnLogin:P,lastLogin:j}=(0,_.useContext)(pe),[U,N]=(0,_.useState)(null),[re,be]=(0,_.useState)(O.username||O.email),{flowState:se}=Ue(o.state),Ae=_t.supported(),[M,z]=(0,_.useState)(void 0),[_e,Me]=(0,_.useState)(null),[je,Re]=(0,_.useState)(!1),le=k=>{if(k.preventDefault(),k.target instanceof HTMLInputElement){const{value:p}=k.target;be(p),ce(p)}},ce=k=>{const p=()=>A($=>Object.assign(Object.assign({},$),{email:k,username:null})),y=()=>A($=>Object.assign(Object.assign({},$),{email:null,username:k}));switch(U){case"email":p();break;case"username":y();break;case"identifier":k.match(/^[^@]+@[^@]+\.[^@]+$/)?p():y()}},me=(0,_.useMemo)(()=>{var k,p,y,$;return!!(!((p=(k=se.actions).webauthn_generate_request_options)===null||p===void 0)&&p.call(k,null))||!!(!(($=(y=se.actions).thirdparty_oauth)===null||$===void 0)&&$.call(y,null))},[se.actions]),Le=(t=(e=se.actions).continue_with_login_identifier)===null||t===void 0?void 0:t.call(e,null).inputs;return(0,_.useEffect)(()=>{var k,p;const y=(p=(k=se.actions).continue_with_login_identifier)===null||p===void 0?void 0:p.call(k,null).inputs;N(y!=null&&y.email?"email":y!=null&&y.username?"username":"identifier")},[se]),(0,_.useEffect)(()=>{const k=new URLSearchParams(window.location.search);if(k.get("error")==null||k.get("error").length===0)return;let p="";p=k.get("error")==="access_denied"?"thirdPartyAccessDenied":"somethingWentWrong";const y={name:p,code:p,message:k.get("error_description")};z(y),k.delete("error"),k.delete("error_description"),history.replaceState(null,null,window.location.pathname+(k.size<1?"":`?${k.toString()}`))},[]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:u("headlines.signIn")}),r(Ee,{state:se,error:M}),Le?r(C.Fragment,{children:[r(ae,Object.assign({onSubmit:k=>Nt(void 0,void 0,void 0,function*(){k.preventDefault(),x("email-submit");const p=yield se.actions.continue_with_login_identifier({[U]:re}).run();ce(re),x(null),yield f.flow.run(p,S)}),maxWidth:!0},{children:[Le.email?r(ze,{type:"email",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.email,onInput:le,value:re,placeholder:u("labels.email"),pattern:"^[^@]+@[^@]+\\.[^@]+$"}):Le.username?r(ze,{type:"text",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.username,onInput:le,value:re,placeholder:u("labels.username")}):r(ze,{type:"text",autoComplete:"username webauthn",autoCorrect:"off",flowInput:Le.identifier,onInput:le,value:re,placeholder:u("labels.emailOrUsername")}),r(ie,Object.assign({uiAction:"email-submit"},{children:u("labels.continue")}))]})),r(lo,Object.assign({hidden:!me},{children:u("labels.or")}))]}):null,!((i=(n=se.actions).webauthn_generate_request_options)===null||i===void 0)&&i.call(n,null)&&!P?r(ae,Object.assign({onSubmit:k=>(p=>Nt(void 0,void 0,void 0,function*(){p.preventDefault(),x("passkey-submit");const y=yield se.actions.webauthn_generate_request_options(null).run();yield f.flow.run(y,S)}))(k)},{children:r(ie,Object.assign({uiAction:"passkey-submit",secondary:!0,title:Ae?null:u("labels.webauthnUnsupported"),disabled:!Ae,icon:"passkey"},{children:u("labels.signInPasskey")}))})):null,!((s=(a=se.actions).thirdparty_oauth)===null||s===void 0)&&s.call(a,null)?(d=se.actions.thirdparty_oauth(null).inputs.provider.allowed_values)===null||d===void 0?void 0:d.map(k=>r(ae,Object.assign({onSubmit:p=>((y,$)=>Nt(void 0,void 0,void 0,function*(){y.preventDefault(),Me($);const K=yield se.actions.thirdparty_oauth({provider:$,redirect_to:window.location.toString()}).run();K.error&&Me(null),yield f.flow.run(K,S)}))(p,k.value)},{children:r(ie,Object.assign({isLoading:k.value==_e,secondary:!0,icon:k.value.startsWith("custom_")?"customProvider":k.value,showLastUsed:(j==null?void 0:j.login_method)=="third_party"&&(j==null?void 0:j.third_party_provider)==k.value},{children:u("labels.signInWith",{provider:k.name})}))}),k.value)):null,((l=(c=se.actions).remember_me)===null||l===void 0?void 0:l.call(c,null))&&r(C.Fragment,{children:[r(fn,{}),r(uo,{required:!1,type:"checkbox",label:u("labels.staySignedIn"),checked:je,onChange:k=>Nt(void 0,void 0,void 0,function*(){const p=yield se.actions.remember_me({remember_me:!je}).run();Re(y=>!y),yield f.flow.run(p,S)})})]})]}),r(Ne,Object.assign({hidden:m!=="auth"},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"switch-flow",onClick:k=>Nt(void 0,void 0,void 0,function*(){k.preventDefault(),h("registration")}),loadingSpinnerPosition:"left"},{children:u("labels.dontHaveAnAccount")}))]}))]})},jr=o=>{var{index:e,focus:t,digit:n=""}=o,i=function(l,u){var h={};for(var f in l)Object.prototype.hasOwnProperty.call(l,f)&&u.indexOf(f)<0&&(h[f]=l[f]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function"){var m=0;for(f=Object.getOwnPropertySymbols(l);m<f.length;m++)u.indexOf(f[m])<0&&Object.prototype.propertyIsEnumerable.call(l,f[m])&&(h[f[m]]=l[f[m]])}return h}(o,["index","focus","digit"]);const a=(0,_.useRef)(null),{isDisabled:s}=(0,_.useContext)(pe),d=()=>{const{current:l}=a;l&&(l.focus(),l.select())},c=(0,_.useMemo)(()=>s||i.disabled,[i,s]);return(0,_.useEffect)(()=>{e===0&&d()},[e,i.disabled]),(0,_.useMemo)(()=>{t&&d()},[t]),r("div",Object.assign({className:Oe.passcodeDigitWrapper},{children:r("input",Object.assign({},i,{part:"input passcode-input","aria-label":`${i.name}-digit-${e+1}`,name:i.name+e.toString(10),type:"text",inputMode:"numeric",maxLength:1,ref:a,value:n.charAt(0),required:!0,className:Oe.input,disabled:c}))}))},ho=({passcodeDigits:o=[],numberOfInputs:e=6,onInput:t,disabled:n=!1})=>{const[i,a]=(0,_.useState)(0),s=()=>o.slice(),d=()=>{i<e-1&&a(i+1)},c=()=>{i>0&&a(i-1)},l=m=>{const x=s();x[i]=m.charAt(0),t(x)},u=m=>{if(m.preventDefault(),n)return;const x=m.clipboardData.getData("text/plain").slice(0,e-i).split(""),O=s();let A=i;for(let S=0;S<e;++S)S>=i&&x.length>0&&(O[S]=x.shift(),A++);a(A),t(O)},h=m=>{m.key==="Backspace"?(m.preventDefault(),l(""),c()):m.key==="Delete"?(m.preventDefault(),l("")):m.key==="ArrowLeft"?(m.preventDefault(),c()):m.key==="ArrowRight"?(m.preventDefault(),d()):m.key!==" "&&m.key!=="Spacebar"&&m.key!=="Space"||m.preventDefault()},f=m=>{m.target instanceof HTMLInputElement&&l(m.target.value),d()};return(0,_.useEffect)(()=>{o.length===0&&a(0)},[o]),r("div",Object.assign({className:Oe.passcodeInputWrapper},{children:Array.from(Array(e)).map((m,x)=>r(jr,{name:"passcode",index:x,focus:i===x,digit:o[x],onKeyDown:h,onInput:f,onPaste:u,onFocus:()=>(O=>{a(O)})(x),disabled:n},x))}))};var vn=G(489),Mt={};Mt.setAttributes=et(),Mt.insert=o=>{window._hankoStyle=o},Mt.domAPI=Xe(),Mt.insertStyleElement=tt(),Ge()(vn.A,Mt);const Lr=vn.A&&vn.A.locals?vn.A.locals:void 0,W=({children:o,hidden:e})=>e?null:r("p",Object.assign({part:"paragraph",className:Lr.paragraph},{children:o}));var _n=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const $r=o=>{var e,t;const{t:n}=(0,_.useContext)(J.TranslateContext),{flowState:i}=Ue(o.state),{hanko:a,uiState:s,setUIState:d,setLoadingAction:c,setSucceededAction:l,stateHandler:u}=(0,_.useContext)(pe),[h,f]=(0,_.useState)(),[m,x]=(0,_.useState)(i.payload.resend_after),[O,A]=(0,_.useState)([]),S=(0,_.useMemo)(()=>{var j;return((j=i.error)===null||j===void 0?void 0:j.code)==="passcode_max_attempts_reached"},[i]),P=(0,_.useCallback)(j=>_n(void 0,void 0,void 0,function*(){c("passcode-submit");const U=yield i.actions.verify_passcode({code:j}).run();c(null),yield a.flow.run(U,u)}),[a,i,c,u]);return(0,_.useEffect)(()=>{i.payload.passcode_resent&&(l("passcode-resend"),setTimeout(()=>l(null),1e3))},[i,l]),(0,_.useEffect)(()=>{h<=0&&s.succeededAction},[s,h]),(0,_.useEffect)(()=>{const j=h>0&&setInterval(()=>f(h-1),1e3);return()=>clearInterval(j)},[h]),(0,_.useEffect)(()=>{const j=m>0&&setInterval(()=>{x(m-1)},1e3);return()=>clearInterval(j)},[m]),(0,_.useEffect)(()=>{var j;m==0&&((j=i.error)===null||j===void 0?void 0:j.code)=="rate_limit_exceeded"&&d(U=>Object.assign(Object.assign({},U),{error:null}))},[m]),(0,_.useEffect)(()=>{var j;((j=i.error)===null||j===void 0?void 0:j.code)==="passcode_invalid"&&A([]),i.payload.resend_after>=0&&x(i.payload.resend_after)},[i]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:n("headlines.loginPasscode")}),r(Ee,{state:i}),r(W,{children:s.email?n("texts.enterPasscode",{emailAddress:s.email}):n("texts.enterPasscodeNoEmail")}),r(ae,Object.assign({onSubmit:j=>_n(void 0,void 0,void 0,function*(){return j.preventDefault(),P(O.join(""))})},{children:[r(ho,{onInput:j=>{if(A(j),j.filter(U=>U!=="").length===6)return P(j.join(""))},passcodeDigits:O,numberOfInputs:6,disabled:h<=0||S}),r(ie,Object.assign({disabled:h<=0||S,uiAction:"passcode-submit"},{children:n("labels.continue")}))]}))]}),r(Ne,{children:[r(ee,Object.assign({hidden:!(!((t=(e=i.actions).back)===null||t===void 0)&&t.call(e,null)),onClick:j=>_n(void 0,void 0,void 0,function*(){j.preventDefault(),c("back");const U=yield i.actions.back(null).run();c(null),yield a.flow.run(U,u)}),loadingSpinnerPosition:"right",isLoading:s.loadingAction==="back"},{children:n("labels.back")})),r(ee,Object.assign({uiAction:"passcode-resend",disabled:m>0,onClick:j=>_n(void 0,void 0,void 0,function*(){j.preventDefault(),c("passcode-resend");const U=yield i.actions.resend_passcode(null).run();c(null),yield a.flow.run(U,u)}),loadingSpinnerPosition:"left"},{children:m>0?n("labels.passcodeResendAfter",{passcodeResendAfter:m}):n("labels.sendNewPasscode")}))]})]})};var po=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Tr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,setLoadingAction:h,stateHandler:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.registerAuthenticator")}),r(Ee,{state:m}),r(W,{children:l("texts.setupPasskey")}),r(ae,Object.assign({onSubmit:x=>po(void 0,void 0,void 0,function*(){x.preventDefault(),h("passkey-submit");const O=yield m.actions.webauthn_generate_creation_options(null).run();yield u.flow.run(O,f)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"passkey"},{children:l("labels.registerAuthenticator")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=m.actions).skip)===null||t===void 0)&&t.call(e,null))&&!(!((i=(n=m.actions).back)===null||i===void 0)&&i.call(n,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:x=>po(void 0,void 0,void 0,function*(){x.preventDefault(),h("back");const O=yield m.actions.back(null).run();h(null),yield u.flow.run(O,f)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:x=>po(void 0,void 0,void 0,function*(){x.preventDefault(),h("skip");const O=yield m.actions.skip(null).run();h(null),yield u.flow.run(O,f)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]}))]})};var Rt=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Ur=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)(),[f,m]=(0,_.useState)(),x=P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("password-recovery");const j=yield l.actions.continue_to_passcode_confirmation_recovery(null).run();c(null),yield s.flow.run(j,d)}),O=P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("choose-login-method");const j=yield l.actions.continue_to_login_method_chooser(null).run();c(null),yield s.flow.run(j,d)}),A=(0,_.useMemo)(()=>{var P,j;return r(ee,Object.assign({hidden:!(!((j=(P=l.actions).continue_to_passcode_confirmation_recovery)===null||j===void 0)&&j.call(P,null)),uiAction:"password-recovery",onClick:x,loadingSpinnerPosition:"left"},{children:a("labels.forgotYourPassword")}))},[x,a]),S=(0,_.useMemo)(()=>r(ee,Object.assign({uiAction:"choose-login-method",onClick:O,loadingSpinnerPosition:"left"},{children:"Choose another method"})),[O]);return(0,_.useEffect)(()=>{const P=f>0&&setInterval(()=>m(f-1),1e3);return()=>clearInterval(P)},[f]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.loginPassword")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("password-submit");const j=yield l.actions.password_login({password:u}).run();c(null),yield s.flow.run(j,d)})},{children:[r(ze,{type:"password",flowInput:l.actions.password_login(null).inputs.password,autocomplete:"current-password",placeholder:a("labels.password"),onInput:P=>Rt(void 0,void 0,void 0,function*(){P.target instanceof HTMLInputElement&&h(P.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit",disabled:f>0},{children:f>0?a("labels.passwordRetryAfter",{passwordRetryAfter:f}):a("labels.signIn")}))]})),!((t=(e=l.actions).continue_to_login_method_chooser)===null||t===void 0)&&t.call(e,null)?A:null]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:P=>Rt(void 0,void 0,void 0,function*(){P.preventDefault(),c("back");const j=yield l.actions.back(null).run();c(null),yield s.flow.run(j,d)}),loadingSpinnerPosition:"right"},{children:a("labels.back")})),!((i=(n=l.actions).continue_to_login_method_chooser)===null||i===void 0)&&i.call(n,null)?S:A]})]})};var wi=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Nr=o=>{const{t:e}=(0,_.useContext)(J.TranslateContext),{hanko:t,stateHandler:n,setLoadingAction:i}=(0,_.useContext)(pe),{flowState:a}=Ue(o.state),[s,d]=(0,_.useState)();return r(Pe,{children:[r(he,{children:e("headlines.registerPassword")}),r(Ee,{state:a}),r(W,{children:e("texts.passwordFormatHint",{minLength:a.actions.password_recovery(null).inputs.new_password.min_length,maxLength:72})}),r(ae,Object.assign({onSubmit:c=>wi(void 0,void 0,void 0,function*(){c.preventDefault(),i("password-submit");const l=yield a.actions.password_recovery({new_password:s}).run();i(null),yield t.flow.run(l,n)})},{children:[r(ze,{type:"password",autocomplete:"new-password",flowInput:a.actions.password_recovery(null).inputs.new_password,placeholder:e("labels.newPassword"),onInput:c=>wi(void 0,void 0,void 0,function*(){c.target instanceof HTMLInputElement&&d(c.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit"},{children:e("labels.continue")}))]}))]})};var yn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Mr=o=>{var e,t,n,i,a,s;const{t:d}=(0,_.useContext)(J.TranslateContext),{hanko:c,setLoadingAction:l,stateHandler:u,lastLogin:h}=(0,_.useContext)(pe),{flowState:f}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:d("headlines.selectLoginMethod")}),r(Ee,{flowError:f==null?void 0:f.error}),r(W,{children:d("texts.howDoYouWantToLogin")}),r(ae,Object.assign({hidden:!(!((t=(e=f.actions).continue_to_passcode_confirmation)===null||t===void 0)&&t.call(e,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("passcode-submit");const x=yield f.actions.continue_to_passcode_confirmation(null).run();l(null),yield c.flow.run(x,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passcode-submit",icon:"mail"},{children:d("labels.passcode")}))})),r(ae,Object.assign({hidden:!(!((i=(n=f.actions).continue_to_password_login)===null||i===void 0)&&i.call(n,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("password-submit");const x=yield f.actions.continue_to_password_login(null).run();l(null),yield c.flow.run(x,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"password"},{children:d("labels.password")}))})),r(ae,Object.assign({hidden:!(!((s=(a=f.actions).webauthn_generate_request_options)===null||s===void 0)&&s.call(a,null)),onSubmit:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("passkey-submit");const x=yield f.actions.webauthn_generate_request_options(null).run();l(null),yield c.flow.run(x,u)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passkey-submit",icon:"passkey"},{children:d("labels.passkey")}))}))]}),r(Ne,{children:r(ee,Object.assign({uiAction:"back",onClick:m=>yn(void 0,void 0,void 0,function*(){m.preventDefault(),l("back");const x=yield f.actions.back(null).run();l(null),yield c.flow.run(x,u)}),loadingSpinnerPosition:"right"},{children:d("labels.back")}))})]})};var bn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Rr=o=>{var e,t,n,i,a,s,d;const{t:c}=(0,_.useContext)(J.TranslateContext),{init:l,hanko:u,uiState:h,setUIState:f,stateHandler:m,setLoadingAction:x,initialComponentName:O}=(0,_.useContext)(pe),{flowState:A}=Ue(o.state),S=(t=(e=A.actions).register_login_identifier)===null||t===void 0?void 0:t.call(e,null).inputs,P=!(!(S!=null&&S.email)||!(S!=null&&S.username)),[j,U]=(0,_.useState)(void 0),[N,re]=(0,_.useState)(null),[be,se]=(0,_.useState)(!1),Ae=(0,_.useMemo)(()=>{var M,z;return!!(!((z=(M=A.actions).thirdparty_oauth)===null||z===void 0)&&z.call(M,null))},[A.actions]);return(0,_.useEffect)(()=>{const M=new URLSearchParams(window.location.search);if(M.get("error")==null||M.get("error").length===0)return;let z="";z=M.get("error")==="access_denied"?"thirdPartyAccessDenied":"somethingWentWrong";const _e={name:z,code:z,message:M.get("error_description")};U(_e),M.delete("error"),M.delete("error_description"),history.replaceState(null,null,window.location.pathname+(M.size<1?"":`?${M.toString()}`))},[]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:c("headlines.signUp")}),r(Ee,{state:A,error:j}),S?r(C.Fragment,{children:[r(ae,Object.assign({onSubmit:M=>bn(void 0,void 0,void 0,function*(){M.preventDefault(),x("email-submit");const z=yield A.actions.register_login_identifier({email:h.email,username:h.username}).run();x(null),yield u.flow.run(z,m)}),maxWidth:!0},{children:[S.username?r(ze,{markOptional:P,markError:P,type:"text",autoComplete:"username",autoCorrect:"off",flowInput:S.username,onInput:M=>{if(M.preventDefault(),M.target instanceof HTMLInputElement){const{value:z}=M.target;f(_e=>Object.assign(Object.assign({},_e),{username:z}))}},value:h.username,placeholder:c("labels.username")}):null,S.email?r(ze,{markOptional:P,markError:P,type:"email",autoComplete:"email",autoCorrect:"off",flowInput:S.email,onInput:M=>{if(M.preventDefault(),M.target instanceof HTMLInputElement){const{value:z}=M.target;f(_e=>Object.assign(Object.assign({},_e),{email:z}))}},value:h.email,placeholder:c("labels.email"),pattern:"^.*[^0-9]+$"}):null,r(ie,Object.assign({uiAction:"email-submit",autofocus:!0},{children:c("labels.continue")}))]})),r(lo,Object.assign({hidden:!Ae},{children:c("labels.or")}))]}):null,!((i=(n=A.actions).thirdparty_oauth)===null||i===void 0)&&i.call(n,null)?(a=A.actions.thirdparty_oauth(null).inputs.provider.allowed_values)===null||a===void 0?void 0:a.map(M=>r(ae,Object.assign({onSubmit:z=>((_e,Me)=>bn(void 0,void 0,void 0,function*(){_e.preventDefault(),re(Me);const je=yield A.actions.thirdparty_oauth({provider:Me,redirect_to:window.location.toString()}).run();re(null),yield u.flow.run(je,m)}))(z,M.value)},{children:r(ie,Object.assign({isLoading:M.value==N,secondary:!0,icon:M.value.startsWith("custom_")?"customProvider":M.value},{children:c("labels.signInWith",{provider:M.name})}))}),M.value)):null,((d=(s=A.actions).remember_me)===null||d===void 0?void 0:d.call(s,null))&&r(C.Fragment,{children:[r(fn,{}),r(uo,{required:!1,type:"checkbox",label:c("labels.staySignedIn"),checked:be,onChange:M=>bn(void 0,void 0,void 0,function*(){const z=yield A.actions.remember_me({remember_me:!be}).run();se(_e=>!_e),yield u.flow.run(z,m)})})]})]}),r(Ne,Object.assign({hidden:O!=="auth"},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"switch-flow",onClick:M=>bn(void 0,void 0,void 0,function*(){M.preventDefault(),l("login")}),loadingSpinnerPosition:"left"},{children:c("labels.alreadyHaveAnAccount")}))]}))]})};var kn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Hr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,stateHandler:h,setLoadingAction:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state),[x,O]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.registerPassword")}),r(Ee,{state:m}),r(W,{children:l("texts.passwordFormatHint",{minLength:m.actions.register_password(null).inputs.new_password.min_length,maxLength:72})}),r(ae,Object.assign({onSubmit:A=>kn(void 0,void 0,void 0,function*(){A.preventDefault(),f("password-submit");const S=yield m.actions.register_password({new_password:x}).run();f(null),yield u.flow.run(S,h)})},{children:[r(ze,{type:"password",autocomplete:"new-password",flowInput:m.actions.register_password(null).inputs.new_password,placeholder:l("labels.newPassword"),onInput:A=>kn(void 0,void 0,void 0,function*(){A.target instanceof HTMLInputElement&&O(A.target.value)}),autofocus:!0}),r(ie,Object.assign({uiAction:"password-submit"},{children:l("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=m.actions).back)===null||t===void 0)&&t.call(e,null))&&!(!((i=(n=m.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:A=>kn(void 0,void 0,void 0,function*(){A.preventDefault(),f("back");const S=yield m.actions.back(null).run();f(null),yield u.flow.run(S,h)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:A=>kn(void 0,void 0,void 0,function*(){A.preventDefault(),f("skip");const S=yield m.actions.skip(null).run();f(null),yield u.flow.run(S,h)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]}))]})};var wn=G(21),Ht={};Ht.setAttributes=et(),Ht.insert=o=>{window._hankoStyle=o},Ht.domAPI=Xe(),Ht.insertStyleElement=tt(),Ge()(wn.A,Ht);const Ye=wn.A&&wn.A.locals?wn.A.locals:void 0,Sn=function({name:o,columnSelector:e,contentSelector:t,data:n,checkedItemID:i,setCheckedItemID:a,dropdown:s=!1}){const d=(0,_.useCallback)(u=>`${o}-${u}`,[o]),c=(0,_.useCallback)(u=>d(u)===i,[i,d]),l=u=>{if(!(u.target instanceof HTMLInputElement))return;const h=parseInt(u.target.value,10),f=d(h);a(f===i?null:f)};return r("div",Object.assign({className:Ye.accordion},{children:n.map((u,h)=>r("div",Object.assign({className:Ye.accordionItem},{children:[r("input",{type:"radio",className:Ye.accordionInput,id:`${o}-${h}`,name:o,onClick:l,value:h,checked:c(h)}),r("label",Object.assign({className:Y()(Ye.label,s&&Ye.dropdown),for:`${o}-${h}`},{children:r("span",Object.assign({className:Ye.labelText},{children:e(u,h)}))})),r("div",Object.assign({className:Y()(Ye.accordionContent,s&&Ye.dropdownContent)},{children:t(u,h)}))]}),h))}))},qe=({children:o})=>r("h2",Object.assign({part:"headline2",className:Y()(pn.headline,pn.grade2)},{children:o})),qr=({onEmailDelete:o,onEmailSetPrimary:e,onEmailVerify:t,checkedItemID:n,setCheckedItemID:i,emails:a=[],deletableEmailIDs:s=[]})=>{const{t:d}=(0,_.useContext)(J.TranslateContext),c=(0,_.useMemo)(()=>!1,[]);return r(Sn,{name:"email-edit-dropdown",columnSelector:l=>{const u=r("span",Object.assign({className:Ye.description},{children:l.is_verified?l.is_primary?r(C.Fragment,{children:[" -"," ",d("labels.primaryEmail")]}):null:r(C.Fragment,{children:[" -"," ",d("labels.unverifiedEmail")]})}));return l.is_primary?r(C.Fragment,{children:[r("b",{children:l.address}),u]}):r(C.Fragment,{children:[l.address,u]})},data:a,contentSelector:l=>{var u;return r(C.Fragment,{children:[l.is_primary?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.isPrimaryEmail")}),d("texts.isPrimaryEmail")]})}):r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.setPrimaryEmail")}),d("texts.setPrimaryEmail"),r("br",{}),r(ee,Object.assign({uiAction:"email-set-primary",onClick:h=>e(h,l.id),loadingSpinnerPosition:"right"},{children:d("labels.setAsPrimaryEmail")}))]})}),l.is_verified?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailVerified")}),d("texts.emailVerified")]})}):r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailUnverified")}),d("texts.emailUnverified"),r("br",{}),r(ee,Object.assign({uiAction:"email-verify",onClick:h=>t(h,l.id),loadingSpinnerPosition:"right"},{children:d("labels.verify")}))]})}),s.includes(l.id)?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.emailDelete")}),d("texts.emailDelete"),r("br",{}),r(ee,Object.assign({uiAction:"email-delete",dangerous:!0,onClick:h=>o(h,l.id),disabled:c,loadingSpinnerPosition:"right"},{children:d("labels.delete")}))]})}):null,((u=l.identities)===null||u===void 0?void 0:u.length)>0?r(C.Fragment,{children:r(W,{children:[r(qe,{children:d("headlines.connectedAccounts")}),l.identities.map(h=>h.provider).join(", ")]})}):null]})},checkedItemID:n,setCheckedItemID:i})},zr=({onCredentialNameSubmit:o,oldName:e,onBack:t,credential:n,credentialType:i})=>{const{t:a}=(0,_.useContext)(J.TranslateContext),[s,d]=(0,_.useState)(e);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a(i==="security-key"?"headlines.renameSecurityKey":"headlines.renamePasskey")}),r(Ee,{flowError:null}),r(W,{children:a(i==="security-key"?"texts.renameSecurityKey":"texts.renamePasskey")}),r(ae,Object.assign({onSubmit:c=>o(c,n.id,s)},{children:[r(ze,{type:"text",name:i,value:s,minLength:3,maxLength:32,required:!0,placeholder:a(i==="security-key"?"labels.newSecurityKeyName":"labels.newPasskeyName"),onInput:c=>{return l=void 0,u=void 0,f=function*(){c.target instanceof HTMLInputElement&&d(c.target.value)},new((h=void 0)||(h=Promise))(function(m,x){function O(P){try{S(f.next(P))}catch(j){x(j)}}function A(P){try{S(f.throw(P))}catch(j){x(j)}}function S(P){var j;P.done?m(P.value):(j=P.value,j instanceof h?j:new h(function(U){U(j)})).then(O,A)}S((f=f.apply(l,u||[])).next())});var l,u,h,f},autofocus:!0}),r(ie,Object.assign({uiAction:"webauthn-credential-rename"},{children:a("labels.save")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:t,loadingSpinnerPosition:"right"},{children:a("labels.back")}))})]})},Si=({credentials:o=[],checkedItemID:e,setCheckedItemID:t,onBack:n,onCredentialNameSubmit:i,onCredentialDelete:a,allowCredentialDeletion:s,credentialType:d})=>{const{t:c}=(0,_.useContext)(J.TranslateContext),{setPage:l}=(0,_.useContext)(pe),u=f=>{if(f.name)return f.name;const m=f.public_key.replace(/[\W_]/g,"");return`${d==="security-key"?"SecurityKey":"Passkey"}-${m.substring(m.length-7,m.length)}`},h=f=>new Date(f).toLocaleString();return r(Sn,{name:d==="security-key"?"security-key-edit-dropdown":"passkey-edit-dropdown",columnSelector:f=>u(f),data:o,contentSelector:f=>r(C.Fragment,{children:[r(W,{children:[r(qe,{children:c(d==="security-key"?"headlines.renameSecurityKey":"headlines.renamePasskey")}),c(d==="security-key"?"texts.renameSecurityKey":"texts.renamePasskey"),r("br",{}),r(ee,Object.assign({onClick:m=>((x,O,A)=>{x.preventDefault(),l(r(zr,{oldName:u(O),credential:O,credentialType:A,onBack:n,onCredentialNameSubmit:i}))})(m,f,d),loadingSpinnerPosition:"right"},{children:c("labels.rename")}))]}),r(W,Object.assign({hidden:!s},{children:[r(qe,{children:c(d==="security-key"?"headlines.deleteSecurityKey":"headlines.deletePasskey")}),c(d==="security-key"?"texts.deleteSecurityKey":"texts.deletePasskey"),r("br",{}),r(ee,Object.assign({uiAction:"password-delete",dangerous:!0,onClick:m=>a(m,f.id),loadingSpinnerPosition:"right"},{children:c("labels.delete")}))]})),r(W,{children:[r(qe,{children:c("headlines.lastUsedAt")}),f.last_used_at?h(f.last_used_at):"-"]}),r(W,{children:[r(qe,{children:c("headlines.createdAt")}),h(f.created_at)]})]}),checkedItemID:e,setCheckedItemID:t})},qt=({name:o,title:e,children:t,checkedItemID:n,setCheckedItemID:i})=>r(Sn,{dropdown:!0,name:o,columnSelector:()=>e,contentSelector:()=>r(C.Fragment,{children:t}),setCheckedItemID:i,checkedItemID:n,data:[{}]}),mo=({flowError:o})=>{const{t:e}=(0,_.useContext)(J.TranslateContext);return r(C.Fragment,{children:o?r("div",Object.assign({className:ki.errorMessage},{children:e(`flowErrors.${o==null?void 0:o.code}`)})):null})},Wr=({inputs:o,onEmailSubmit:e,checkedItemID:t,setCheckedItemID:n})=>{var i;const{t:a}=(0,_.useContext)(J.TranslateContext),[s,d]=(0,_.useState)();return r(qt,Object.assign({name:"email-create-dropdown",title:a("labels.addEmail"),checkedItemID:t,setCheckedItemID:n},{children:[r(mo,{flowError:(i=o.email)===null||i===void 0?void 0:i.error}),r(ae,Object.assign({onSubmit:c=>e(c,s).then(()=>d(""))},{children:[r(ze,{markError:!0,type:"email",placeholder:a("labels.newEmailAddress"),onInput:c=>{c.preventDefault(),c.target instanceof HTMLInputElement&&d(c.target.value)},value:s,flowInput:o.email}),r(ie,Object.assign({uiAction:"email-submit"},{children:a("labels.save")}))]}))]}))},xi=({inputs:o,checkedItemID:e,setCheckedItemID:t,onPasswordSubmit:n,onPasswordDelete:i,allowPasswordDelete:a,passwordExists:s})=>{var d,c,l;const{t:u}=(0,_.useContext)(J.TranslateContext),[h,f]=(0,_.useState)("");return r(qt,Object.assign({name:"password-edit-dropdown",title:u(s?"labels.changePassword":"labels.setPassword"),checkedItemID:e,setCheckedItemID:t},{children:[r(W,{children:u("texts.passwordFormatHint",{minLength:(d=o.password.min_length)===null||d===void 0?void 0:d.toString(10),maxLength:(c=o.password.max_length)===null||c===void 0?void 0:c.toString(10)})}),r(mo,{flowError:(l=o.password)===null||l===void 0?void 0:l.error}),r(ae,Object.assign({onSubmit:m=>n(m,h).then(()=>f(""))},{children:[r(ze,{markError:!0,autoComplete:"new-password",placeholder:u("labels.newPassword"),type:"password",onInput:m=>{m.preventDefault(),m.target instanceof HTMLInputElement&&f(m.target.value)},value:h,flowInput:o.password}),r(ie,Object.assign({uiAction:"password-submit"},{children:u("labels.save")}))]})),r(ee,Object.assign({hidden:!a,uiAction:"password-delete",dangerous:!0,onClick:m=>i(m).then(()=>f("")),loadingSpinnerPosition:"right"},{children:u("labels.delete")}))]}))},Ai=({checkedItemID:o,setCheckedItemID:e,onCredentialSubmit:t,credentialType:n})=>{const{t:i}=(0,_.useContext)(J.TranslateContext),a=_t.supported();return r(qt,Object.assign({name:n==="security-key"?"security-key-create-dropdown":"passkey-create-dropdown",title:i(n==="security-key"?"labels.createSecurityKey":"labels.createPasskey"),checkedItemID:o,setCheckedItemID:e},{children:[r(W,{children:i(n==="security-key"?"texts.securityKeySetUp":"texts.setupPasskey")}),r(ae,Object.assign({onSubmit:t},{children:r(ie,Object.assign({uiAction:n==="security-key"?"security-key-submit":"passkey-submit",title:a?null:i("labels.webauthnUnsupported")},{children:i(n==="security-key"?"labels.createSecurityKey":"labels.createPasskey")}))}))]}))},Ci=({inputs:o,checkedItemID:e,setCheckedItemID:t,onUsernameSubmit:n,onUsernameDelete:i,hasUsername:a,allowUsernameDeletion:s})=>{var d;const{t:c}=(0,_.useContext)(J.TranslateContext),[l,u]=(0,_.useState)();return r(qt,Object.assign({name:"username-edit-dropdown",title:c(a?"labels.changeUsername":"labels.setUsername"),checkedItemID:e,setCheckedItemID:t},{children:[r(mo,{flowError:(d=o.username)===null||d===void 0?void 0:d.error}),r(ae,Object.assign({onSubmit:h=>n(h,l).then(()=>u(""))},{children:[r(ze,{markError:!0,placeholder:c("labels.username"),type:"text",onInput:h=>{h.preventDefault(),h.target instanceof HTMLInputElement&&u(h.target.value)},value:l,flowInput:o.username}),r(ie,Object.assign({uiAction:"username-set"},{children:c("labels.save")}))]})),r(ee,Object.assign({hidden:!s,uiAction:"username-delete",dangerous:!0,onClick:h=>i(h).then(()=>u("")),loadingSpinnerPosition:"right"},{children:c("labels.delete")}))]}))},Fr=({onBack:o,onAccountDelete:e})=>{const{t}=(0,_.useContext)(J.TranslateContext);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:t("headlines.deleteAccount")}),r(Ee,{flowError:null}),r(W,{children:t("texts.deleteAccount")}),r(ae,Object.assign({onSubmit:e},{children:[r(uo,{required:!0,type:"checkbox",label:t("labels.deleteAccount")}),r(ie,Object.assign({uiAction:"account_delete"},{children:t("labels.delete")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:o},{children:t("labels.back")}))})]})},Kr=({sessions:o=[],checkedItemID:e,setCheckedItemID:t,onSessionDelete:n,deletableSessionIDs:i})=>{const{t:a}=(0,_.useContext)(J.TranslateContext),s=d=>new Date(d).toLocaleString();return r(Sn,{name:"session-edit-dropdown",columnSelector:d=>{const c=r("b",{children:d.user_agent?d.user_agent:d.id}),l=d.current?r("span",Object.assign({className:Ye.description},{children:r(C.Fragment,{children:[" -"," ",a("labels.currentSession")]})})):null;return r(C.Fragment,{children:[c,l]})},data:o,contentSelector:d=>r(C.Fragment,{children:[r(W,Object.assign({hidden:!d.ip_address},{children:[r(qe,{children:a("headlines.ipAddress")}),d.ip_address]})),r(W,{children:[r(qe,{children:a("headlines.lastUsed")}),s(d.last_used)]}),r(W,{children:[r(qe,{children:a("headlines.createdAt")}),s(d.created_at)]}),i!=null&&i.includes(d.id)?r(W,{children:[r(qe,{children:a("headlines.revokeSession")}),r(ee,Object.assign({uiAction:"session-delete",dangerous:!0,onClick:c=>n(c,d.id),loadingSpinnerPosition:"right"},{children:a("labels.revoke")}))]}):null]}),checkedItemID:e,setCheckedItemID:t})},Vr=({checkedItemID:o,setCheckedItemID:e,onDelete:t,onConnect:n,authAppSetUp:i,allowDeletion:a})=>{const{t:s}=(0,_.useContext)(J.TranslateContext),d=r("span",Object.assign({className:Ye.description},{children:i?r(C.Fragment,{children:[" -"," ",s("labels.configured")]}):null})),c=r(C.Fragment,{children:[s("labels.authenticatorAppManage")," ",d]});return r(qt,Object.assign({name:"authenticator-app-manage-dropdown",title:c,checkedItemID:o,setCheckedItemID:e},{children:[r(qe,{children:s(i?"headlines.authenticatorAppAlreadySetUp":"headlines.authenticatorAppNotSetUp")}),r(W,{children:[s(i?"texts.authenticatorAppAlreadySetUp":"texts.authenticatorAppNotSetUp"),r("br",{}),r(ee,i?Object.assign({hidden:!a,uiAction:"auth-app-remove",onClick:l=>t(l),loadingSpinnerPosition:"right",dangerous:!0},{children:s("labels.delete")}):Object.assign({uiAction:"auth-app-add",onClick:l=>n(l),loadingSpinnerPosition:"right"},{children:s("labels.authenticatorAppAdd")}))]})]}))};var De=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Oi=o=>{var e,t,n,i,a,s,d,c,l,u,h,f,m,x,O,A,S,P,j,U,N,re,be,se,Ae,M,z,_e,Me,je,Re,le,ce,me,Le,k,p,y,$,K,ge,Fe,Ke,Ve,g,v,b,D,T,I,q,te;const{t:X}=(0,_.useContext)(J.TranslateContext),{hanko:ye,setLoadingAction:w,stateHandler:ke,setUIState:Q,setPage:R}=(0,_.useContext)(pe),{flowState:E}=Ue(o.state),[Ce,V]=(0,_.useState)(""),F=(H,Z,ot)=>De(void 0,void 0,void 0,function*(){H.preventDefault(),w(Z);const wo=yield ot();wo!=null&&wo.error||(V(null),yield new Promise(xs=>setTimeout(xs,360))),w(null),yield ye.flow.run(wo,ke)}),He=H=>De(void 0,void 0,void 0,function*(){return F(H,"password-delete",E.actions.password_delete(null).run)}),it=H=>De(void 0,void 0,void 0,function*(){return F(H,"username-delete",E.actions.username_delete(null).run)}),ve=(H,Z,ot)=>De(void 0,void 0,void 0,function*(){return F(H,"webauthn-credential-rename",E.actions.webauthn_credential_rename({passkey_id:Z,passkey_name:ot}).run)}),En=H=>De(void 0,void 0,void 0,function*(){return F(H,"account_delete",E.actions.account_delete(null).run)}),lt=H=>(H.preventDefault(),R(r(Oi,{state:E,enablePasskeys:o.enablePasskeys})),Promise.resolve());return r(Pe,{children:[r(Ee,{state:((e=E==null?void 0:E.error)===null||e===void 0?void 0:e.code)!=="form_data_invalid_error"?E:null}),!((n=(t=E.actions).username_create)===null||n===void 0)&&n.call(t,null)||!((a=(i=E.actions).username_update)===null||a===void 0)&&a.call(i,null)||!((d=(s=E.actions).username_delete)===null||d===void 0)&&d.call(s,null)?r(C.Fragment,{children:[r(he,{children:X("labels.username")}),E.payload.user.username?r(W,{children:r("b",{children:E.payload.user.username.username})}):null,r(W,{children:[!((l=(c=E.actions).username_create)===null||l===void 0)&&l.call(c,null)?r(Ci,{inputs:E.actions.username_create(null).inputs,hasUsername:!!E.payload.user.username,allowUsernameDeletion:!!(!((h=(u=E.actions).username_delete)===null||h===void 0)&&h.call(u,null)),onUsernameSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"username-set",E.actions.username_create({username:Z}).run)}),onUsernameDelete:it,checkedItemID:Ce,setCheckedItemID:V}):null,!((m=(f=E.actions).username_update)===null||m===void 0)&&m.call(f,null)?r(Ci,{inputs:E.actions.username_update(null).inputs,hasUsername:!!E.payload.user.username,allowUsernameDeletion:!!(!((O=(x=E.actions).username_delete)===null||O===void 0)&&O.call(x,null)),onUsernameSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"username-set",E.actions.username_update({username:Z}).run)}),onUsernameDelete:it,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((S=(A=E.payload)===null||A===void 0?void 0:A.user)===null||S===void 0)&&S.emails||!((j=(P=E.actions).email_create)===null||j===void 0)&&j.call(P,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profileEmails")}),r(W,{children:[r(qr,{emails:E.payload.user.emails,onEmailDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-delete",E.actions.email_delete({email_id:Z}).run)}),onEmailSetPrimary:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-set-primary",E.actions.email_set_primary({email_id:Z}).run)}),onEmailVerify:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"email-verify",E.actions.email_verify({email_id:Z}).run)}),checkedItemID:Ce,setCheckedItemID:V,deletableEmailIDs:(re=(N=(U=E.actions).email_delete)===null||N===void 0?void 0:N.call(U,null).inputs.email_id.allowed_values)===null||re===void 0?void 0:re.map(H=>H.value)}),!((se=(be=E.actions).email_create)===null||se===void 0)&&se.call(be,null)?r(Wr,{inputs:E.actions.email_create(null).inputs,onEmailSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return Q(ot=>Object.assign(Object.assign({},ot),{email:Z})),F(H,"email-submit",E.actions.email_create({email:Z}).run)}),checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((M=(Ae=E.actions).password_create)===null||M===void 0)&&M.call(Ae,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePassword")}),r(W,{children:r(xi,{inputs:E.actions.password_create(null).inputs,onPasswordSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"password-submit",E.actions.password_create({password:Z}).run)}),onPasswordDelete:He,checkedItemID:Ce,setCheckedItemID:V})})]}):null,!((_e=(z=E.actions).password_update)===null||_e===void 0)&&_e.call(z,null)?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePassword")}),r(W,{children:r(xi,{allowPasswordDelete:!!(!((je=(Me=E.actions).password_delete)===null||je===void 0)&&je.call(Me,null)),inputs:E.actions.password_update(null).inputs,onPasswordSubmit:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"password-submit",E.actions.password_update({password:Z}).run)}),onPasswordDelete:He,checkedItemID:Ce,setCheckedItemID:V,passwordExists:!0})})]}):null,o.enablePasskeys&&(!((le=(Re=E.payload)===null||Re===void 0?void 0:Re.user)===null||le===void 0)&&le.passkeys||!((me=(ce=E.actions).webauthn_credential_create)===null||me===void 0)&&me.call(ce,null))?r(C.Fragment,{children:[r(he,{children:X("headlines.profilePasskeys")}),r(W,{children:[r(Si,{onBack:lt,onCredentialNameSubmit:ve,onCredentialDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"passkey-delete",E.actions.webauthn_credential_delete({passkey_id:Z}).run)}),credentials:E.payload.user.passkeys,setError:null,checkedItemID:Ce,setCheckedItemID:V,allowCredentialDeletion:!!(!((k=(Le=E.actions).webauthn_credential_delete)===null||k===void 0)&&k.call(Le,null)),credentialType:"passkey"}),!((y=(p=E.actions).webauthn_credential_create)===null||y===void 0)&&y.call(p,null)?r(Ai,{credentialType:"passkey",onCredentialSubmit:H=>De(void 0,void 0,void 0,function*(){return F(H,"passkey-submit",E.actions.webauthn_credential_create(null).run)}),setError:null,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!(($=E.payload.user.mfa_config)===null||$===void 0)&&$.security_keys_enabled?r(C.Fragment,{children:[r(he,{children:X("headlines.securityKeys")}),r(W,{children:[r(Si,{onBack:lt,onCredentialNameSubmit:ve,onCredentialDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"security-key-delete",E.actions.security_key_delete({security_key_id:Z}).run)}),credentials:E.payload.user.security_keys,setError:null,checkedItemID:Ce,setCheckedItemID:V,allowCredentialDeletion:!!(!((ge=(K=E.actions).security_key_delete)===null||ge===void 0)&&ge.call(K,null)),credentialType:"security-key"}),!((Ke=(Fe=E.actions).security_key_create)===null||Ke===void 0)&&Ke.call(Fe,null)?r(Ai,{credentialType:"security-key",onCredentialSubmit:H=>De(void 0,void 0,void 0,function*(){return F(H,"security-key-submit",E.actions.security_key_create(null).run)}),setError:null,checkedItemID:Ce,setCheckedItemID:V}):null]})]}):null,!((Ve=E.payload.user.mfa_config)===null||Ve===void 0)&&Ve.totp_enabled?r(C.Fragment,{children:[r(he,{children:X("headlines.authenticatorApp")}),r(W,{children:r(Vr,{onConnect:H=>De(void 0,void 0,void 0,function*(){return F(H,"auth-app-add",E.actions.continue_to_otp_secret_creation(null).run)}),onDelete:H=>De(void 0,void 0,void 0,function*(){return F(H,"auth-app-remove",E.actions.otp_secret_delete(null).run)}),allowDeletion:!!(!((v=(g=E.actions).otp_secret_delete)===null||v===void 0)&&v.call(g,null)),authAppSetUp:(b=E.payload.user.mfa_config)===null||b===void 0?void 0:b.auth_app_set_up,checkedItemID:Ce,setCheckedItemID:V})})]}):null,E.payload.sessions?r(C.Fragment,{children:[r(he,{children:X("headlines.profileSessions")}),r(W,{children:r(Kr,{sessions:E.payload.sessions,setError:null,checkedItemID:Ce,setCheckedItemID:V,onSessionDelete:(H,Z)=>De(void 0,void 0,void 0,function*(){return F(H,"session-delete",E.actions.session_delete({session_id:Z}).run)}),deletableSessionIDs:(I=(T=(D=E.actions).session_delete)===null||T===void 0?void 0:T.call(D,null).inputs.session_id.allowed_values)===null||I===void 0?void 0:I.map(H=>H.value)})})]}):null,!((te=(q=E.actions).account_delete)===null||te===void 0)&&te.call(q,null)?r(C.Fragment,{children:[r(fn,{}),r(W,{children:r(lo,{})}),r(W,{children:r(ae,Object.assign({onSubmit:H=>(H.preventDefault(),R(r(Fr,{onBack:lt,onAccountDelete:En})),Promise.resolve())},{children:r(ie,Object.assign({dangerous:!0},{children:X("headlines.deleteAccount")}))}))})]}):null]})},Br=Oi,Pi=({state:o,error:e})=>{const{t}=(0,_.useContext)(J.TranslateContext),{init:n,componentName:i}=(0,_.useContext)(pe),a=(0,_.useCallback)(()=>n(i),[i,n]);return(0,_.useEffect)(()=>(addEventListener("hankoAuthSuccess",a),()=>{removeEventListener("hankoAuthSuccess",a)}),[a]),r(Pe,{children:[r(he,{children:t("headlines.error")}),r(Ee,{state:o,error:e}),r(ae,Object.assign({onSubmit:s=>{s.preventDefault(),a()}},{children:r(ie,Object.assign({uiAction:"retry"},{children:t("labels.continue")}))}))]})};var go=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Zr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.createEmail")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:f=>go(void 0,void 0,void 0,function*(){f.preventDefault(),c("email-submit");const m=yield l.actions.email_address_set({email:u}).run();c(null),yield s.flow.run(m,d)})},{children:[r(ze,{type:"email",autoComplete:"email",autoCorrect:"off",flowInput:(t=(e=l.actions).email_address_set)===null||t===void 0?void 0:t.call(e,null).inputs.email,onInput:f=>go(void 0,void 0,void 0,function*(){f.target instanceof HTMLInputElement&&h(f.target.value)}),placeholder:a("labels.email"),pattern:"^.*[^0-9]+$",value:u}),r(ie,Object.assign({uiAction:"email-submit"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"skip",onClick:f=>go(void 0,void 0,void 0,function*(){f.preventDefault(),c("skip");const m=yield l.actions.skip(null).run();c(null),yield s.flow.run(m,d)}),loadingSpinnerPosition:"left"},{children:a("labels.skip")}))]}))]})};var fo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Jr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,stateHandler:d,setLoadingAction:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state),[u,h]=(0,_.useState)();return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.createUsername")}),r(Ee,{state:l}),r(ae,Object.assign({onSubmit:f=>fo(void 0,void 0,void 0,function*(){f.preventDefault(),c("username-set");const m=yield l.actions.username_create({username:u}).run();c(null),yield s.flow.run(m,d)})},{children:[r(ze,{type:"text",autoComplete:"username",autoCorrect:"off",flowInput:(t=(e=l.actions).username_create)===null||t===void 0?void 0:t.call(e,null).inputs.username,onInput:f=>fo(void 0,void 0,void 0,function*(){f.target instanceof HTMLInputElement&&h(f.target.value)}),value:u,placeholder:a("labels.username")}),r(ie,Object.assign({uiAction:"username-set"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:[r("span",{hidden:!0}),r(ee,Object.assign({uiAction:"skip",onClick:f=>fo(void 0,void 0,void 0,function*(){f.preventDefault(),c("skip");const m=yield l.actions.skip(null).run();c(null),yield s.flow.run(m,d)}),loadingSpinnerPosition:"left"},{children:a("labels.skip")}))]}))]})};var xn=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Yr=o=>{var e,t,n,i,a,s,d,c,l,u,h,f;const{t:m}=(0,_.useContext)(J.TranslateContext),{hanko:x,setLoadingAction:O,stateHandler:A}=(0,_.useContext)(pe),{flowState:S}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:m("headlines.setupLoginMethod")}),r(Ee,{flowError:S==null?void 0:S.error}),r(W,{children:m("texts.selectLoginMethodForFutureLogins")}),r(ae,Object.assign({hidden:!(!((t=(e=S.actions).continue_to_passkey_registration)===null||t===void 0)&&t.call(e,null)),onSubmit:P=>xn(void 0,void 0,void 0,function*(){P.preventDefault(),O("passkey-submit");const j=yield S.actions.continue_to_passkey_registration(null).run();O(null),yield x.flow.run(j,A)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"passkey-submit",icon:"passkey"},{children:m("labels.passkey")}))})),r(ae,Object.assign({hidden:!(!((i=(n=S.actions).continue_to_password_registration)===null||i===void 0)&&i.call(n,null)),onSubmit:P=>xn(void 0,void 0,void 0,function*(){P.preventDefault(),O("password-submit");const j=yield S.actions.continue_to_password_registration(null).run();O(null),yield x.flow.run(j,A)})},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"password"},{children:m("labels.password")}))}))]}),r(Ne,Object.assign({hidden:!(!((s=(a=S.actions).back)===null||s===void 0)&&s.call(a,null))&&!(!((c=(d=S.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:[r(ee,Object.assign({uiAction:"back",onClick:P=>xn(void 0,void 0,void 0,function*(){P.preventDefault(),O("back");const j=yield S.actions.back(null).run();O(null),yield x.flow.run(j,A)}),loadingSpinnerPosition:"right",hidden:!(!((u=(l=S.actions).back)===null||u===void 0)&&u.call(l,null))},{children:m("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:P=>xn(void 0,void 0,void 0,function*(){P.preventDefault(),O("skip");const j=yield S.actions.skip(null).run();O(null),yield x.flow.run(j,A)}),loadingSpinnerPosition:"left",hidden:!(!((f=(h=S.actions).skip)===null||f===void 0)&&f.call(h,null))},{children:m("labels.skip")}))]}))]})};var vo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Qr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{flowState:s}=Ue(o.state),{hanko:d,setLoadingAction:c,stateHandler:l}=(0,_.useContext)(pe),[u,h]=(0,_.useState)([]),f=(0,_.useCallback)(m=>vo(void 0,void 0,void 0,function*(){c("passcode-submit");const x=yield s.actions.otp_code_validate({otp_code:m}).run();c(null),yield d.flow.run(x,l)}),[d,s,c,l]);return(0,_.useEffect)(()=>{var m;((m=s.error)===null||m===void 0?void 0:m.code)==="passcode_invalid"&&h([])},[s]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.otpLogin")}),r(Ee,{state:s}),r(W,{children:a("texts.otpLogin")}),r(ae,Object.assign({onSubmit:m=>vo(void 0,void 0,void 0,function*(){return m.preventDefault(),f(u.join(""))})},{children:[r(ho,{onInput:m=>{if(h(m),m.filter(x=>x!=="").length===6)return f(m.join(""))},passcodeDigits:u,numberOfInputs:6}),r(ie,Object.assign({uiAction:"passcode-submit"},{children:a("labels.continue")}))]}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=s.actions).continue_to_login_security_key)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"skip",onClick:m=>vo(void 0,void 0,void 0,function*(){m.preventDefault(),c("skip");const x=yield s.actions.continue_to_login_security_key(null).run();c(null),yield d.flow.run(x,l)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=s.actions).continue_to_login_security_key)===null||i===void 0)&&i.call(n,null))},{children:a("labels.useAnotherMethod")}))}))]})};var Ei=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Gr=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.securityKeyLogin")}),r(Ee,{state:l}),r(W,{children:a("texts.securityKeyLogin")}),r(ae,Object.assign({onSubmit:u=>Ei(void 0,void 0,void 0,function*(){u.preventDefault(),d("passkey-submit");const h=yield l.actions.webauthn_generate_request_options(null).run();yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"securityKey"},{children:a("labels.securityKeyUse")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=l.actions).continue_to_login_otp)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"skip",onClick:u=>Ei(void 0,void 0,void 0,function*(){u.preventDefault(),d("skip");const h=yield l.actions.continue_to_login_otp(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=l.actions).continue_to_login_otp)===null||i===void 0)&&i.call(n,null))},{children:a("labels.useAnotherMethod")}))}))]})};var An=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const Xr=o=>{var e,t,n,i,a,s,d,c;const{t:l}=(0,_.useContext)(J.TranslateContext),{hanko:u,setLoadingAction:h,stateHandler:f}=(0,_.useContext)(pe),{flowState:m}=Ue(o.state),x=S=>An(void 0,void 0,void 0,function*(){S.preventDefault(),h("passcode-submit");const P=yield m.actions.continue_to_security_key_creation(null).run();h(null),yield u.flow.run(P,f)}),O=S=>An(void 0,void 0,void 0,function*(){S.preventDefault(),h("password-submit");const P=yield m.actions.continue_to_otp_secret_creation(null).run();h(null),yield u.flow.run(P,f)}),A=(0,_.useMemo)(()=>{const{actions:S}=m;return S.continue_to_security_key_creation&&!S.continue_to_otp_secret_creation?x:!S.continue_to_security_key_creation&&S.continue_to_otp_secret_creation?O:void 0},[m,x,O]);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:l("headlines.mfaSetUp")}),r(Ee,{flowError:m==null?void 0:m.error}),r(W,{children:l("texts.mfaSetUp")}),A?r(ae,Object.assign({onSubmit:A},{children:r(ie,Object.assign({uiAction:"passcode-submit"},{children:l("labels.continue")}))})):r(C.Fragment,{children:[r(ae,Object.assign({hidden:!(!((t=(e=m.actions).continue_to_security_key_creation)===null||t===void 0)&&t.call(e,null)),onSubmit:x},{children:r(ie,Object.assign({secondary:!0,uiAction:"passcode-submit",icon:"securityKey"},{children:l("labels.securityKey")}))})),r(ae,Object.assign({hidden:!(!((i=(n=m.actions).continue_to_otp_secret_creation)===null||i===void 0)&&i.call(n,null)),onSubmit:O},{children:r(ie,Object.assign({secondary:!0,uiAction:"password-submit",icon:"qrCodeScanner"},{children:l("labels.authenticatorApp")}))}))]})]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:S=>An(void 0,void 0,void 0,function*(){S.preventDefault(),h("back");const P=yield m.actions.back(null).run();h(null),yield u.flow.run(P,f)}),loadingSpinnerPosition:"right",hidden:!(!((s=(a=m.actions).back)===null||s===void 0)&&s.call(a,null))},{children:l("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:S=>An(void 0,void 0,void 0,function*(){S.preventDefault(),h("skip");const P=yield m.actions.skip(null).run();h(null),yield u.flow.run(P,f)}),loadingSpinnerPosition:"left",hidden:!(!((c=(d=m.actions).skip)===null||c===void 0)&&c.call(d,null))},{children:l("labels.skip")}))]})]})};var Cn=G(560),zt={};zt.setAttributes=et(),zt.insert=o=>{window._hankoStyle=o},zt.domAPI=Xe(),zt.insertStyleElement=tt(),Ge()(Cn.A,zt);const es=Cn.A&&Cn.A.locals?Cn.A.locals:void 0,ts=({children:o,text:e})=>{const{t}=(0,_.useContext)(J.TranslateContext),[n,i]=(0,_.useState)(!1);return r("section",Object.assign({className:Pt.clipboardContainer},{children:[r("div",{children:[o," "]}),r("div",Object.assign({className:Pt.clipboardIcon,onClick:a=>{return s=void 0,d=void 0,l=function*(){a.preventDefault();try{yield navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)}catch(u){console.error("Failed to copy: ",u)}},new((c=void 0)||(c=Promise))(function(u,h){function f(O){try{x(l.next(O))}catch(A){h(A)}}function m(O){try{x(l.throw(O))}catch(A){h(A)}}function x(O){var A;O.done?u(O.value):(A=O.value,A instanceof c?A:new c(function(S){S(A)})).then(f,m)}x((l=l.apply(s,d||[])).next())});var s,d,c,l}},{children:n?r("span",{children:["- ",t("labels.copied")]}):r(It,{name:"copy",secondary:!0,size:13})}))]}))},ns=({src:o,secret:e})=>{const{t}=(0,_.useContext)(J.TranslateContext);return r("div",Object.assign({className:es.otpCreationDetails},{children:[r("img",{alt:"QR-Code",src:o}),r(fn,{}),r(ts,Object.assign({text:e},{children:t("texts.otpSecretKey")})),r("div",{children:e})]}))};var _o=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const os=o=>{const{t:e}=(0,_.useContext)(J.TranslateContext),{flowState:t}=Ue(o.state),{hanko:n,uiState:i,setLoadingAction:a,stateHandler:s}=(0,_.useContext)(pe),[d,c]=(0,_.useState)([]),l=(0,_.useCallback)(u=>_o(void 0,void 0,void 0,function*(){a("passcode-submit");const h=yield t.actions.otp_code_verify({otp_code:u}).run();a(null),yield n.flow.run(h,s)}),[t,a,s]);return(0,_.useEffect)(()=>{var u;((u=t.error)===null||u===void 0?void 0:u.code)==="passcode_invalid"&&c([])},[t]),r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:e("headlines.otpSetUp")}),r(Ee,{state:t}),r(W,{children:e("texts.otpScanQRCode")}),r(ns,{src:t.payload.otp_image_source,secret:t.payload.otp_secret}),r(W,{children:e("texts.otpEnterVerificationCode")}),r(ae,Object.assign({onSubmit:u=>_o(void 0,void 0,void 0,function*(){return u.preventDefault(),l(d.join(""))})},{children:[r(ho,{onInput:u=>{if(c(u),u.filter(h=>h!=="").length===6)return l(u.join(""))},passcodeDigits:d,numberOfInputs:6}),r(ie,Object.assign({uiAction:"passcode-submit"},{children:e("labels.continue")}))]}))]}),r(Ne,{children:r(ee,Object.assign({onClick:u=>_o(void 0,void 0,void 0,function*(){u.preventDefault(),a("back");const h=yield t.actions.back(null).run();a(null),yield n.flow.run(h,s)}),loadingSpinnerPosition:"right",isLoading:i.loadingAction==="back"},{children:e("labels.back")}))})]})};var Ii=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const is=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.securityKeySetUp")}),r(Ee,{state:l}),r(W,{children:a("texts.securityKeySetUp")}),r(ae,Object.assign({onSubmit:u=>Ii(void 0,void 0,void 0,function*(){u.preventDefault(),d("passkey-submit");const h=yield l.actions.webauthn_generate_creation_options(null).run();yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"passkey-submit",autofocus:!0,icon:"securityKey"},{children:a("labels.createSecurityKey")}))}))]}),r(Ne,Object.assign({hidden:!(!((t=(e=l.actions).back)===null||t===void 0)&&t.call(e,null))},{children:r(ee,Object.assign({uiAction:"back",onClick:u=>Ii(void 0,void 0,void 0,function*(){u.preventDefault(),d("back");const h=yield l.actions.back(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((i=(n=l.actions).back)===null||i===void 0)&&i.call(n,null))},{children:a("labels.back")}))}))]})};var yo=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const as=o=>{var e,t,n,i;const{t:a}=(0,_.useContext)(J.TranslateContext),{hanko:s,setLoadingAction:d,stateHandler:c}=(0,_.useContext)(pe),{flowState:l}=Ue(o.state);return r(C.Fragment,{children:[r(Pe,{children:[r(he,{children:a("headlines.trustDevice")}),r(Ee,{flowError:l==null?void 0:l.error}),r(W,{children:a("texts.trustDevice")}),r(ae,Object.assign({onSubmit:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("trust-device-submit");const h=yield l.actions.trust_device(null).run();d(null),yield s.flow.run(h,c)})},{children:r(ie,Object.assign({uiAction:"trust-device-submit"},{children:a("labels.trustDevice")}))}))]}),r(Ne,{children:[r(ee,Object.assign({uiAction:"back",onClick:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("back");const h=yield l.actions.back(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"right",hidden:!(!((t=(e=l.actions).back)===null||t===void 0)&&t.call(e,null))},{children:a("labels.back")})),r(ee,Object.assign({uiAction:"skip",onClick:u=>yo(void 0,void 0,void 0,function*(){u.preventDefault(),d("skip");const h=yield l.actions.skip(null).run();d(null),yield s.flow.run(h,c)}),loadingSpinnerPosition:"left",hidden:!(!((i=(n=l.actions).skip)===null||i===void 0)&&i.call(n,null))},{children:a("labels.skip")}))]})]})};var We=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const On="flow-state",pe=(0,C.createContext)(null),rs=o=>{var{lang:e,experimental:t="",prefilledEmail:n,prefilledUsername:i,globalOptions:a,createWebauthnAbortSignal:s}=o,d=function(p,y){var $={};for(var K in p)Object.prototype.hasOwnProperty.call(p,K)&&y.indexOf(K)<0&&($[K]=p[K]);if(p!=null&&typeof Object.getOwnPropertySymbols=="function"){var ge=0;for(K=Object.getOwnPropertySymbols(p);ge<K.length;ge++)y.indexOf(K[ge])<0&&Object.prototype.propertyIsEnumerable.call(p,K[ge])&&($[K[ge]]=p[K[ge]])}return $}(o,["lang","experimental","prefilledEmail","prefilledUsername","globalOptions","createWebauthnAbortSignal"]);const{hanko:c,injectStyles:l,hidePasskeyButtonOnLogin:u,translations:h,translationsLocation:f,fallbackLanguage:m}=a;c.setLang((e==null?void 0:e.toString())||m);const x=(0,_.useRef)(null),O=(0,_.useMemo)(()=>`${a.storageKey}_last_login`,[a.storageKey]),[A,S]=(0,_.useState)(d.componentName),P=(0,_.useMemo)(()=>t.split(" ").filter(p=>p.length).map(p=>p),[t]),j=(0,_.useMemo)(()=>r(Er,{}),[]),[U,N]=(0,_.useState)(j),[,re]=(0,_.useState)(c),[be,se]=(0,_.useState)(),[Ae,M]=(0,_.useState)({email:n,username:i}),z=(0,_.useCallback)(p=>{M(y=>Object.assign(Object.assign({},y),{loadingAction:p,succeededAction:null,error:null,lastAction:p||y.lastAction}))},[]),_e=(0,_.useCallback)(p=>{M(y=>Object.assign(Object.assign({},y),{succeededAction:p,loadingAction:null}))},[]),Me=(0,_.useCallback)(()=>{M(p=>Object.assign(Object.assign({},p),{succeededAction:p.lastAction,loadingAction:null,error:null}))},[]),je=(0,_.useMemo)(()=>!!Ae.loadingAction||!!Ae.succeededAction,[Ae]),Re=function(p,y){var $;($=x.current)===null||$===void 0||$.dispatchEvent(new CustomEvent(p,{detail:y,bubbles:!1,composed:!0}))},le=p=>{z(null),N(r(Pi,{error:p instanceof xe?p:new Ie(p)}))},ce=(0,_.useMemo)(()=>({onError:p=>{le(p)},preflight(p){return We(this,void 0,void 0,function*(){const y=yield _t.isConditionalMediationAvailable(),$=yield _t.isPlatformAuthenticatorAvailable(),K=yield p.actions.register_client_capabilities({webauthn_available:k,webauthn_conditional_mediation_available:y,webauthn_platform_authenticator_available:$}).run();return c.flow.run(K,ce)})},login_init(p){return We(this,void 0,void 0,function*(){N(r(Dr,{state:p})),function(){We(this,void 0,void 0,function*(){if(p.payload.request_options){let y;try{y=yield ci({publicKey:p.payload.request_options.publicKey,mediation:"conditional",signal:s()})}catch{return}z("passkey-submit");const $=yield p.actions.webauthn_verify_assertion_response({assertion_response:y}).run();z(null),yield c.flow.run($,ce)}})}()})},passcode_confirmation(p){N(r($r,{state:p}))},login_otp(p){return We(this,void 0,void 0,function*(){N(r(Qr,{state:p}))})},login_passkey(p){return We(this,void 0,void 0,function*(){let y;z("passkey-submit");try{y=yield ci(Object.assign(Object.assign({},p.payload.request_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return M(Fe=>Object.assign(Object.assign({},Fe),{error:p.error,loadingAction:null})),c.flow.run(ge,ce)}const $=yield p.actions.webauthn_verify_assertion_response({assertion_response:y}).run();z(null),yield c.flow.run($,ce)})},onboarding_create_passkey(p){N(r(Tr,{state:p}))},onboarding_verify_passkey_attestation(p){return We(this,void 0,void 0,function*(){let y;try{y=yield li(Object.assign(Object.assign({},p.payload.creation_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return z(null),yield c.flow.run(ge,ce),void M(Fe=>Object.assign(Object.assign({},Fe),{error:{code:"webauthn_credential_already_exists",message:"Webauthn credential already exists"}}))}const $=yield p.actions.webauthn_verify_attestation_response({public_key:y}).run();z(null),yield c.flow.run($,ce)})},webauthn_credential_verification(p){return We(this,void 0,void 0,function*(){let y;try{y=yield li(Object.assign(Object.assign({},p.payload.creation_options),{signal:s()}))}catch{const ge=yield p.actions.back(null).run();return z(null),yield c.flow.run(ge,ce),void M(Fe=>Object.assign(Object.assign({},Fe),{error:{code:"webauthn_credential_already_exists",message:"Webauthn credential already exists"}}))}const $=yield p.actions.webauthn_verify_attestation_response({public_key:y}).run();yield c.flow.run($,ce)})},login_password(p){N(r(Ur,{state:p}))},login_password_recovery(p){N(r(Nr,{state:p}))},login_security_key(p){return We(this,void 0,void 0,function*(){N(r(Gr,{state:p}))})},mfa_method_chooser(p){return We(this,void 0,void 0,function*(){N(r(Xr,{state:p}))})},mfa_otp_secret_creation(p){return We(this,void 0,void 0,function*(){N(r(os,{state:p}))})},mfa_security_key_creation(p){return We(this,void 0,void 0,function*(){N(r(is,{state:p}))})},login_method_chooser(p){N(r(Mr,{state:p}))},registration_init(p){N(r(Rr,{state:p}))},password_creation(p){N(r(Hr,{state:p}))},success(p){var y;!((y=p.payload)===null||y===void 0)&&y.last_login&&localStorage.setItem(O,JSON.stringify(p.payload.last_login));const{claims:$}=p.payload,K=Date.parse($.expiration)-Date.now();c.relay.dispatchSessionCreatedEvent({claims:$,expirationSeconds:K}),Me()},profile_init(p){N(r(Br,{state:p,enablePasskeys:a.enablePasskeys}))},thirdparty(p){return We(this,void 0,void 0,function*(){const y=new URLSearchParams(window.location.search).get("hanko_token");if(y&&y.length>0){const $=new URLSearchParams(window.location.search),K=yield p.actions.exchange_token({token:$.get("hanko_token")}).run();$.delete("hanko_token"),$.delete("saml_hint"),history.replaceState(null,null,window.location.pathname+($.size<1?"":`?${$.toString()}`)),yield c.flow.run(K,ce)}else M($=>Object.assign(Object.assign({},$),{lastAction:null})),localStorage.setItem(On,JSON.stringify(p.toJSON())),window.location.assign(p.payload.redirect_url)})},error(p){z(null),N(r(Pi,{state:p}))},onboarding_email(p){N(r(Zr,{state:p}))},onboarding_username(p){N(r(Jr,{state:p}))},credential_onboarding_chooser(p){N(r(Yr,{state:p}))},account_deleted(p){return We(this,void 0,void 0,function*(){yield c.user.logout(),c.relay.dispatchUserDeletedEvent()})},device_trust(p){N(r(as,{state:p}))}}),[a.enablePasskeys,c,Me,z]),me=(0,_.useCallback)(p=>We(void 0,void 0,void 0,function*(){z("switch-flow");const y=localStorage.getItem(O);y&&se(JSON.parse(y));const $=new URLSearchParams(window.location.search).get("hanko_token"),K=localStorage.getItem(On);new URLSearchParams(window.location.search).get("saml_hint")==="idp_initiated"?yield c.flow.init("/token_exchange",Object.assign({},ce)):K&&K.length>0&&$&&$.length>0?(yield c.flow.fromString(localStorage.getItem(On),Object.assign({},ce)),localStorage.removeItem(On)):yield c.flow.init(p,Object.assign({},ce)),z(null)}),[ce]),Le=(0,_.useCallback)(p=>{switch(p){case"auth":case"login":me("/login").catch(le);break;case"registration":me("/registration").catch(le);break;case"profile":me("/profile").catch(le)}},[me]);(0,_.useEffect)(()=>Le(A),[]),(0,_.useEffect)(()=>{c.onUserDeleted(()=>{Re("onUserDeleted")}),c.onSessionCreated(p=>{Re("onSessionCreated",p)}),c.onSessionExpired(()=>{Re("onSessionExpired")}),c.onUserLoggedOut(()=>{Re("onUserLoggedOut")})},[c]),(0,_.useMemo)(()=>{const p=()=>{Le(A)};["auth","login","registration"].includes(A)?(c.onUserLoggedOut(p),c.onSessionExpired(p),c.onUserDeleted(p)):A==="profile"&&c.onSessionCreated(p)},[]);const k=_t.supported();return r(pe.Provider,Object.assign({value:{init:Le,initialComponentName:d.componentName,isDisabled:je,setUIState:M,setLoadingAction:z,setSucceededAction:_e,uiState:Ae,hanko:c,setHanko:re,lang:(e==null?void 0:e.toString())||m,prefilledEmail:n,prefilledUsername:i,componentName:A,setComponentName:S,experimentalFeatures:P,hidePasskeyButtonOnLogin:u,page:U,setPage:N,stateHandler:ce,lastLogin:be}},{children:r(J.TranslateProvider,Object.assign({translations:h,fallbackLang:m,root:f},{children:r(dr,Object.assign({ref:x},{children:A!=="events"?r(C.Fragment,{children:[l?r("style",{dangerouslySetInnerHTML:{__html:window._hankoStyle.innerHTML}}):null,U]}):null}))}))}))},ss={en:G(6).en};var Di=function(o,e,t,n){return new(t||(t=Promise))(function(i,a){function s(l){try{c(n.next(l))}catch(u){a(u)}}function d(l){try{c(n.throw(l))}catch(u){a(u)}}function c(l){var u;l.done?i(l.value):(u=l.value,u instanceof t?u:new t(function(h){h(u)})).then(s,d)}c((n=n.apply(o,[])).next())})};const nt={},Wt=(o,e)=>r(rs,Object.assign({componentName:o,globalOptions:nt,createWebauthnAbortSignal:ps},e)),ls=o=>Wt("auth",o),cs=o=>Wt("login",o),ds=o=>Wt("registration",o),us=o=>Wt("profile",o),hs=o=>Wt("events",o);let Pn=new AbortController;const ps=()=>(Pn&&Pn.abort(),Pn=new AbortController,Pn.signal),Ft=({tagName:o,entryComponent:e,shadow:t=!0,observedAttributes:n})=>Di(void 0,void 0,void 0,function*(){customElements.get(o)||function(i,a,s,d){function c(){var l=Reflect.construct(HTMLElement,[],c);return l._vdomComponent=i,l._root=d&&d.shadow?l.attachShadow({mode:"open"}):l,l}(c.prototype=Object.create(HTMLElement.prototype)).constructor=c,c.prototype.connectedCallback=Ca,c.prototype.attributeChangedCallback=Oa,c.prototype.disconnectedCallback=Pa,s=s||i.observedAttributes||Object.keys(i.propTypes||{}),c.observedAttributes=s,s.forEach(function(l){Object.defineProperty(c.prototype,l,{get:function(){var u,h,f,m;return(u=(h=this._vdom)==null||(f=h.props)==null?void 0:f[l])!=null?u:(m=this._props)==null?void 0:m[l]},set:function(u){this._vdom?this.attributeChangedCallback(l,null,u):(this._props||(this._props={}),this._props[l]=u,this.connectedCallback());var h=typeof u;u!=null&&h!=="string"&&h!=="boolean"&&h!=="number"||this.setAttribute(l,u)}})}),customElements.define(a||i.tagName||i.displayName||i.name,c)}(e,o,n,{shadow:t})}),ms=(o,e={})=>Di(void 0,void 0,void 0,function*(){const t=["api","lang","experimental","prefilled-email","entry"];return e=Object.assign({shadow:!0,injectStyles:!0,enablePasskeys:!0,hidePasskeyButtonOnLogin:!1,translations:null,translationsLocation:"/i18n",fallbackLanguage:"en",storageKey:"hanko",sessionCheckInterval:3e4},e),nt.hanko=new bi(o,{cookieName:e.storageKey,cookieDomain:e.cookieDomain,cookieSameSite:e.cookieSameSite,localStorageKey:e.storageKey,sessionCheckInterval:e.sessionCheckInterval,sessionTokenLocation:e.sessionTokenLocation}),nt.injectStyles=e.injectStyles,nt.enablePasskeys=e.enablePasskeys,nt.hidePasskeyButtonOnLogin=e.hidePasskeyButtonOnLogin,nt.translations=e.translations||ss,nt.translationsLocation=e.translationsLocation,nt.fallbackLanguage=e.fallbackLanguage,nt.storageKey=e.storageKey,yield Promise.all([Ft(Object.assign(Object.assign({},e),{tagName:"hanko-auth",entryComponent:ls,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-login",entryComponent:cs,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-registration",entryComponent:ds,observedAttributes:t})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-profile",entryComponent:us,observedAttributes:t.filter(n=>["api","lang"].includes(n))})),Ft(Object.assign(Object.assign({},e),{tagName:"hanko-events",entryComponent:hs,observedAttributes:[]}))]),{hanko:nt.hanko}});oe.fK,oe.tJ,oe.Z7,oe.Q9,oe.Lv,oe.qQ;var gs=oe.I4;oe.O8,oe.ku,oe.ls,oe.bO,oe.yv,oe.AT,oe.m_,oe.KG,oe.DH,oe.kf,oe.oY,oe.xg,oe.Wg,oe.J,oe.AC,oe.D_,oe.jx,oe.nX,oe.Nx,oe.Sd;var ji=oe.kz;oe.fX,oe.qA,oe.tz,oe.gN;const fs=Object.freeze(Object.defineProperty({__proto__:null,Hanko:gs,register:ji},Symbol.toStringTag,{value:"Module"})),vs=Ji`
|
|
46
46
|
:host {
|
|
47
47
|
display: block;
|
|
48
|
-
font-family: var(--hot-font-sans);
|
|
48
|
+
font-family: var(--font-family, var(--hot-font-sans));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.container {
|
|
@@ -80,34 +80,26 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
80
80
|
animation: spin 1s linear infinite;
|
|
81
81
|
margin: 0 auto;
|
|
82
82
|
}
|
|
83
|
-
/* Container that mimics the
|
|
83
|
+
/* Container that mimics the avatar/dropdown-trigger dimensions */
|
|
84
84
|
.loading-placeholder {
|
|
85
85
|
display: inline-grid;
|
|
86
86
|
place-items: center;
|
|
87
|
-
/*
|
|
88
|
-
padding: var(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
margin: var(--login-btn-margin, 0);
|
|
93
|
-
font-size: var(--login-btn-text-size, var(--hot-font-size-medium));
|
|
94
|
-
font-family: var(--login-btn-font-family, inherit);
|
|
95
|
-
border-radius: var(
|
|
96
|
-
--login-btn-border-radius,
|
|
97
|
-
var(--hot-border-radius-medium)
|
|
98
|
-
);
|
|
87
|
+
/* Match dropdown-trigger padding so size is stable pre/post load */
|
|
88
|
+
padding: var(--hot-spacing-x-small);
|
|
89
|
+
width: var(--hot-spacing-2x-large);
|
|
90
|
+
height: var(--hot-spacing-2x-large);
|
|
91
|
+
box-sizing: content-box;
|
|
99
92
|
}
|
|
100
93
|
|
|
101
94
|
/* Invisible text to reserve button width */
|
|
102
95
|
.loading-placeholder-text {
|
|
103
|
-
|
|
104
|
-
grid-area: 1 / 1;
|
|
96
|
+
display: none;
|
|
105
97
|
}
|
|
106
98
|
|
|
107
99
|
.spinner-small {
|
|
108
100
|
grid-area: 1 / 1;
|
|
109
|
-
width:
|
|
110
|
-
height:
|
|
101
|
+
width: var(--hot-spacing-2x-large);
|
|
102
|
+
height: var(--hot-spacing-2x-large);
|
|
111
103
|
border: 2px solid var(--hot-color-gray-200);
|
|
112
104
|
border-top: 2px solid var(--hot-color-gray-600);
|
|
113
105
|
border-radius: 50%;
|
|
@@ -135,7 +127,8 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
135
127
|
border: none;
|
|
136
128
|
border-radius: 6px;
|
|
137
129
|
font-size: 14px;
|
|
138
|
-
font-
|
|
130
|
+
font-family: var(--font-family, var(--hot-font-sans));
|
|
131
|
+
font-weight: var(--font-weight, 500);
|
|
139
132
|
cursor: pointer;
|
|
140
133
|
transition: all 0.2s;
|
|
141
134
|
}
|
|
@@ -316,8 +309,8 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
316
309
|
display: inline-block;
|
|
317
310
|
cursor: pointer;
|
|
318
311
|
transition: all 0.2s;
|
|
319
|
-
font-weight: var(--hot-font-weight-medium);
|
|
320
|
-
font-family: var(--login-btn-font-family,
|
|
312
|
+
font-weight: var(--login-btn-font-weight, var(--font-weight, var(--hot-font-weight-medium)));
|
|
313
|
+
font-family: var(--login-btn-font-family, var(--font-family, var(--hot-font-sans)));
|
|
321
314
|
}
|
|
322
315
|
|
|
323
316
|
/* Button variants - filled */
|
|
@@ -439,7 +432,7 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
439
432
|
.dropdown-content.open {
|
|
440
433
|
opacity: 1;
|
|
441
434
|
visibility: visible;
|
|
442
|
-
transform: translateY(-
|
|
435
|
+
transform: translateY(-1px);
|
|
443
436
|
}
|
|
444
437
|
|
|
445
438
|
.dropdown-content button {
|
|
@@ -453,6 +446,7 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
453
446
|
text-align: left;
|
|
454
447
|
transition: background-color 0.2s ease;
|
|
455
448
|
gap: var(--hot-spacing-small);
|
|
449
|
+
font-family: var(--font-family, var(--hot-font-sans, inherit));
|
|
456
450
|
font-size: var(--hot-font-size-small);
|
|
457
451
|
color: var(--hot-color-gray-900);
|
|
458
452
|
}
|
|
@@ -501,6 +495,7 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
501
495
|
border: none;
|
|
502
496
|
cursor: pointer;
|
|
503
497
|
gap: var(--hot-spacing-small);
|
|
498
|
+
font-family: var(--font-family, var(--hot-font-sans, inherit));
|
|
504
499
|
}
|
|
505
500
|
|
|
506
501
|
.bar-trigger:hover,
|
|
@@ -540,7 +535,7 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
540
535
|
box-sizing: border-box;
|
|
541
536
|
text-decoration: none;
|
|
542
537
|
}
|
|
543
|
-
`;var bo={d:(o,e)=>{for(var t in e)bo.o(e,t)&&!bo.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},o:(o,e)=>Object.prototype.hasOwnProperty.call(o,e)},Li={};bo.d(Li,{en:()=>_s});const _s={headlines:{error:"An error has occurred",loginEmail:"Sign in or create account",loginEmailNoSignup:"Sign in",loginFinished:"Login successful",loginPasscode:"Enter passcode",loginPassword:"Enter password",registerAuthenticator:"Create a passkey",registerConfirm:"Create account?",registerPassword:"Set new password",otpSetUp:"Set up authenticator app",profileEmails:"Emails",profilePassword:"Password",profilePasskeys:"Passkeys",isPrimaryEmail:"Primary email address",setPrimaryEmail:"Set primary email address",createEmail:"Enter a new email",createUsername:"Enter a new username",emailVerified:"Verified",emailUnverified:"Unverified",emailDelete:"Delete",renamePasskey:"Rename passkey",deletePasskey:"Delete passkey",lastUsedAt:"Last used at",createdAt:"Created at",connectedAccounts:"Connected accounts",deleteAccount:"Delete account",accountNotFound:"Account not found",signIn:"Sign in",signUp:"Create account",selectLoginMethod:"Select login method",setupLoginMethod:"Set up login method",lastUsed:"Last seen",ipAddress:"IP address",revokeSession:"Revoke session",profileSessions:"Sessions",mfaSetUp:"Set up MFA",securityKeySetUp:"Add security key",securityKeyLogin:"Security key",otpLogin:"Authentication code",renameSecurityKey:"Rename security key",deleteSecurityKey:"Delete security key",securityKeys:"Security keys",authenticatorApp:"Authenticator app",authenticatorAppAlreadySetUp:"Authenticator app is set up",authenticatorAppNotSetUp:"Set up authenticator app",trustDevice:"Trust this browser?"},texts:{enterPasscode:'Enter the passcode that was sent to "{emailAddress}".',enterPasscodeNoEmail:"Enter the passcode that was sent to your primary email address.",setupPasskey:"Sign in to your account easily and securely with a passkey. Note: Your biometric data is only stored on your devices and will never be shared with anyone.",createAccount:'No account exists for "{emailAddress}". Do you want to create a new account?',otpEnterVerificationCode:"Enter the one-time password (OTP) obtained from your authenticator app below:",otpScanQRCode:"Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manually enter the OTP secret key into the app.",otpSecretKey:"OTP secret key",passwordFormatHint:"Must be between {minLength} and {maxLength} characters long.",securityKeySetUp:"Use a dedicated security key via USB, Bluetooth, or NFC, or your mobile phone. Connect or activate your security key, then click the button below and follow the prompts to complete the registration.",setPrimaryEmail:"Set this email address to be used for contacting you.",isPrimaryEmail:"This email address will be used to contact you if necessary.",emailVerified:"This email address has been verified.",emailUnverified:"This email address has not been verified.",emailDelete:"If you delete this email address, it can no longer be used to sign in.",renamePasskey:"Set a name for the passkey.",deletePasskey:"Delete this passkey from your account.",deleteAccount:"Are you sure you want to delete this account? All data will be deleted immediately and cannot be recovered.",noAccountExists:'No account exists for "{emailAddress}".',selectLoginMethodForFutureLogins:"Select one of the following login methods to use for future logins.",howDoYouWantToLogin:"How do you want to login?",mfaSetUp:"Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is compromised, your account stays secure.",securityKeyLogin:"Connect or activate your security key, then click the button below. Once ready, use it via USB, NFC, your mobile phone. Follow the prompts to complete the login process.",otpLogin:"Open your authenticator app to obtain the one-time password (OTP). Enter the code in the field below to complete your login.",renameSecurityKey:"Set a name for the security key.",deleteSecurityKey:"Delete this security key from your account.",authenticatorAppAlreadySetUp:"Your account is secured with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",authenticatorAppNotSetUp:"Secure your account with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",trustDevice:"If you trust this browser, you won’t need to enter your OTP (One-Time-Password) or use your security key for multi-factor authentication (MFA) the next time you log in."},labels:{or:"or",no:"no",yes:"yes",email:"Email",continue:"Continue",copied:"copied",skip:"Skip",save:"Save",password:"Password",passkey:"Passkey",passcode:"Passcode",signInPassword:"Sign in with a password",signInPasscode:"Sign in with a passcode",forgotYourPassword:"Forgot your password?",back:"Back",signInPasskey:"Sign in with a passkey",registerAuthenticator:"Create a passkey",signIn:"Sign in",signUp:"Create account",sendNewPasscode:"Send new code",passwordRetryAfter:"Retry in {passwordRetryAfter}",passcodeResendAfter:"Request a new code in {passcodeResendAfter}",unverifiedEmail:"unverified",primaryEmail:"primary",setAsPrimaryEmail:"Set as primary",verify:"Verify",delete:"Delete",newEmailAddress:"New email address",newPassword:"New password",rename:"Rename",newPasskeyName:"New passkey name",addEmail:"Add email",createPasskey:"Create a passkey",webauthnUnsupported:"Passkeys are not supported by your browser",signInWith:"Sign in with {provider}",deleteAccount:"Yes, delete this account.",emailOrUsername:"Email or username",username:"Username",optional:"optional",dontHaveAnAccount:"Don't have an account?",alreadyHaveAnAccount:"Already have an account?",changeUsername:"Change username",setUsername:"Set username",changePassword:"Change password",setPassword:"Set password",revoke:"Revoke",currentSession:"Current session",authenticatorApp:"Authenticator app",securityKey:"Security key",securityKeyUse:"Use security key",newSecurityKeyName:"New security key name",createSecurityKey:"Add a security key",authenticatorAppManage:"Manage authenticator app",authenticatorAppAdd:"Set up",configured:"configured",useAnotherMethod:"Use another method",lastUsed:"Last used",trustDevice:"Trust this browser",staySignedIn:"Stay signed in"},errors:{somethingWentWrong:"A technical error has occurred. Please try again later.",requestTimeout:"The request timed out.",invalidPassword:"Wrong email or password.",invalidPasscode:"The passcode provided was not correct.",passcodeAttemptsReached:"The passcode was entered incorrectly too many times. Please request a new code.",tooManyRequests:"Too many requests have been made. Please wait to repeat the requested operation.",unauthorized:"Your session has expired. Please log in again.",invalidWebauthnCredential:"This passkey cannot be used anymore.",passcodeExpired:"The passcode has expired. Please request a new one.",userVerification:"User verification required. Please ensure your authenticator device is protected with a PIN or biometric.",emailAddressAlreadyExistsError:"The email address already exists.",maxNumOfEmailAddressesReached:"No further email addresses can be added.",thirdPartyAccessDenied:"Access denied. The request was cancelled by the user or the provider has denied access for other reasons.",thirdPartyMultipleAccounts:"Cannot identify account. The email address is used by multiple accounts.",thirdPartyUnverifiedEmail:"Email verification required. Please verify the used email address with your provider.",signupDisabled:"Account registration is disabled.",handlerNotFoundError:"The current step in your process is not supported by this application version. Please try again later or contact support if the issue persists."},flowErrors:{technical_error:"A technical error has occurred. Please try again later.",flow_expired_error:"The session has expired, please click the button to restart.",value_invalid_error:"The entered value is invalid.",passcode_invalid:"The passcode provided was not correct.",passkey_invalid:"This passkey cannot be used anymore",passcode_max_attempts_reached:"The passcode was entered incorrectly too many times. Please request a new code.",rate_limit_exceeded:"Too many requests have been made. Please wait to repeat the requested operation.",unknown_username_error:"The username is unknown.",unknown_email_error:"The email address is unknown.",username_already_exists:"The username is already taken.",invalid_username_error:"The username must contain only letters, numbers, and underscores.",email_already_exists:"The email is already taken.",not_found:"The requested resource was not found.",operation_not_permitted_error:"The operation is not permitted.",flow_discontinuity_error:"The process cannot be continued due to user settings or the provider's configuration.",form_data_invalid_error:"The submitted form data contains errors.",unauthorized:"Your session has expired. Please log in again.",value_missing_error:"The value is missing.",value_too_long_error:"Value is too long.",value_too_short_error:"The value is too short.",webauthn_credential_invalid_mfa_only:"This credential can be used as a second factor security key only.",webauthn_credential_already_exists:"The request either timed out, was canceled or the device is already registered. Please try again or try using another device.",platform_authenticator_required:"Your account is configured to use platform authenticators, but your current device or browser does not support this feature. Please try again with a compatible device or browser."}};var $i=Li.en;const Ti={headlines:{error:"Ha ocurrido un error",loginEmail:"Iniciar sesión o crear cuenta",loginEmailNoSignup:"Iniciar sesión",loginFinished:"Inicio de sesión exitoso",loginPasscode:"Ingrese el código de acceso",loginPassword:"Ingrese la contraseña",registerAuthenticator:"Crear una llave de acceso",registerConfirm:"¿Crear cuenta?",registerPassword:"Establecer nueva contraseña",otpSetUp:"Configurar aplicación de autenticación",profileEmails:"Correos electrónicos",profilePassword:"Contraseña",profilePasskeys:"Llaves de acceso",isPrimaryEmail:"Dirección de correo principal",setPrimaryEmail:"Establecer correo principal",createEmail:"Ingrese un nuevo correo",createUsername:"Ingrese un nuevo nombre de usuario",emailVerified:"Verificado",emailUnverified:"No verificado",emailDelete:"Eliminar",renamePasskey:"Renombrar llave de acceso",deletePasskey:"Eliminar llave de acceso",lastUsedAt:"Último uso",createdAt:"Creado",connectedAccounts:"Cuentas conectadas",deleteAccount:"Eliminar cuenta",accountNotFound:"Cuenta no encontrada",signIn:"Iniciar sesión",signUp:"Crear cuenta",selectLoginMethod:"Seleccionar método de inicio de sesión",setupLoginMethod:"Configurar método de inicio de sesión",lastUsed:"Visto por última vez",ipAddress:"Dirección IP",revokeSession:"Revocar sesión",profileSessions:"Sesiones",mfaSetUp:"Configurar MFA",securityKeySetUp:"Agregar clave de seguridad",securityKeyLogin:"Clave de seguridad",otpLogin:"Código de autenticación",renameSecurityKey:"Renombrar clave de seguridad",deleteSecurityKey:"Eliminar clave de seguridad",securityKeys:"Claves de seguridad",authenticatorApp:"Aplicación de autenticación",authenticatorAppAlreadySetUp:"La aplicación de autenticación está configurada",authenticatorAppNotSetUp:"Configurar aplicación de autenticación",trustDevice:"¿Confiar en este navegador?"},texts:{enterPasscode:'Ingrese el código que se envió a "{emailAddress}".',enterPasscodeNoEmail:"Ingrese el código que se envió a su dirección de correo principal.",setupPasskey:"Inicie sesión en su cuenta fácil y seguramente con una llave de acceso. Nota: Sus datos biométricos solo se almacenan en sus dispositivos y nunca se compartirán con nadie.",createAccount:'No existe una cuenta para "{emailAddress}". ¿Desea crear una nueva cuenta?',otpEnterVerificationCode:"Ingrese la contraseña de un solo uso (OTP) obtenida de su aplicación de autenticación a continuación:",otpScanQRCode:"Escanee el código QR usando su aplicación de autenticación (como Google Authenticator o cualquier otra aplicación TOTP). Alternativamente, puede ingresar manualmente la clave secreta OTP en la aplicación.",otpSecretKey:"Clave secreta OTP",passwordFormatHint:"Debe tener entre {minLength} y {maxLength} caracteres.",securityKeySetUp:"Use una clave de seguridad dedicada a través de USB, Bluetooth o NFC, o su teléfono móvil. Conecte o active su clave de seguridad, luego haga clic en el botón a continuación y siga las indicaciones para completar el registro.",setPrimaryEmail:"Establezca esta dirección de correo para ser usada para contactarlo.",isPrimaryEmail:"Esta dirección de correo se utilizará para contactarlo si es necesario.",emailVerified:"Esta dirección de correo ha sido verificada.",emailUnverified:"Esta dirección de correo no ha sido verificada.",emailDelete:"Si elimina esta dirección de correo, ya no podrá usarla para iniciar sesión.",renamePasskey:"Establecer un nombre para la llave de acceso.",deletePasskey:"Eliminar esta llave de acceso de su cuenta.",deleteAccount:"¿Está seguro de que desea eliminar esta cuenta? Todos los datos se eliminarán inmediatamente y no se podrán recuperar.",noAccountExists:'No existe una cuenta para "{emailAddress}".',selectLoginMethodForFutureLogins:"Seleccione uno de los siguientes métodos de inicio de sesión para usar en futuros inicios de sesión.",howDoYouWantToLogin:"¿Cómo desea iniciar sesión?",mfaSetUp:"Proteja su cuenta con autenticación multifactor (MFA). MFA agrega un paso adicional a su proceso de inicio de sesión, asegurando que incluso si su contraseña o cuenta de correo está comprometida, su cuenta permanezca segura.",securityKeyLogin:"Conecte o active su clave de seguridad, luego haga clic en el botón a continuación. Una vez listo, úselo a través de USB, NFC o su teléfono móvil. Siga las indicaciones para completar el proceso de inicio de sesión.",otpLogin:"Abra su aplicación de autenticación para obtener la contraseña de un solo uso (OTP). Ingrese el código en el campo a continuación para completar su inicio de sesión.",renameSecurityKey:"Establecer un nombre para la clave de seguridad.",deleteSecurityKey:"Eliminar esta clave de seguridad de su cuenta.",authenticatorAppAlreadySetUp:"Su cuenta está protegida con una aplicación de autenticación que genera contraseñas de un solo uso basadas en tiempo (TOTP) para autenticación multifactor.",authenticatorAppNotSetUp:"Proteja su cuenta con una aplicación de autenticación que genera contraseñas de un solo uso basadas en tiempo (TOTP) para autenticación multifactor.",trustDevice:"Si confía en este navegador, no necesitará ingresar su OTP (contraseña de un solo uso) o usar su clave de seguridad para la autenticación multifactor (MFA) la próxima vez que inicie sesión."},labels:{or:"o",no:"no",yes:"sí",email:"Correo electrónico",continue:"Continuar",copied:"copiado",skip:"Omitir",save:"Guardar",password:"Contraseña",passkey:"Llave de acceso",passcode:"Código de acceso",signInPassword:"Iniciar sesión con contraseña",signInPasscode:"Iniciar sesión con código",forgotYourPassword:"¿Olvidó su contraseña?",back:"Atrás",signInPasskey:"Iniciar sesión con llave de acceso",registerAuthenticator:"Crear una llave de acceso",signIn:"Iniciar sesión",signUp:"Crear cuenta",sendNewPasscode:"Enviar nuevo código",passwordRetryAfter:"Reintentar en {passwordRetryAfter}",passcodeResendAfter:"Solicitar nuevo código en {passcodeResendAfter}",unverifiedEmail:"no verificado",primaryEmail:"principal",setAsPrimaryEmail:"Establecer como principal",verify:"Verificar",delete:"Eliminar",newEmailAddress:"Nueva dirección de correo",newPassword:"Nueva contraseña",rename:"Renombrar",newPasskeyName:"Nuevo nombre de llave de acceso",addEmail:"Agregar correo",createPasskey:"Crear una llave de acceso",webauthnUnsupported:"Las llaves de acceso no son compatibles con su navegador",signInWith:"Iniciar sesión con {provider}",deleteAccount:"Sí, eliminar esta cuenta.",emailOrUsername:"Correo o nombre de usuario",username:"Nombre de usuario",optional:"opcional",dontHaveAnAccount:"¿No tiene una cuenta?",alreadyHaveAnAccount:"¿Ya tiene una cuenta?",changeUsername:"Cambiar nombre de usuario",setUsername:"Establecer nombre de usuario",changePassword:"Cambiar contraseña",setPassword:"Establecer contraseña",revoke:"Revocar",currentSession:"Sesión actual",authenticatorApp:"Aplicación de autenticación",securityKey:"Clave de seguridad",securityKeyUse:"Usar clave de seguridad",newSecurityKeyName:"Nuevo nombre de clave de seguridad",createSecurityKey:"Agregar una clave de seguridad",authenticatorAppManage:"Administrar aplicación de autenticación",authenticatorAppAdd:"Configurar",configured:"configurado",useAnotherMethod:"Usar otro método",lastUsed:"Último uso",trustDevice:"Confiar en este navegador",staySignedIn:"Mantener sesión iniciada"},errors:{somethingWentWrong:"Ha ocurrido un error técnico. Por favor, inténtelo de nuevo más tarde.",requestTimeout:"La solicitud ha expirado.",invalidPassword:"Correo o contraseña incorrectos.",invalidPasscode:"El código proporcionado no es correcto.",passcodeAttemptsReached:"El código se ha ingresado incorrectamente demasiadas veces. Por favor, solicite un nuevo código.",tooManyRequests:"Se han realizado demasiadas solicitudes. Por favor, espere para repetir la operación solicitada.",unauthorized:"Su sesión ha expirado. Por favor, inicie sesión nuevamente.",invalidWebauthnCredential:"Esta llave de acceso ya no se puede usar.",passcodeExpired:"El código ha expirado. Por favor, solicite uno nuevo.",userVerification:"Se requiere verificación de usuario. Asegúrese de que su dispositivo de autenticación esté protegido con un PIN o biometría.",emailAddressAlreadyExistsError:"La dirección de correo ya existe.",maxNumOfEmailAddressesReached:"No se pueden agregar más direcciones de correo.",thirdPartyAccessDenied:"Acceso denegado. La solicitud fue cancelada por el usuario o el proveedor ha denegado el acceso por otras razones.",thirdPartyMultipleAccounts:"No se puede identificar la cuenta. La dirección de correo es usada por múltiples cuentas.",thirdPartyUnverifiedEmail:"Se requiere verificación de correo. Por favor, verifique la dirección de correo usada con su proveedor.",signupDisabled:"El registro de cuentas está deshabilitado.",handlerNotFoundError:"El paso actual en su proceso no es compatible con esta versión de la aplicación. Inténtelo de nuevo más tarde o contacte al soporte si el problema persiste."},flowErrors:{technical_error:"Ha ocurrido un error técnico. Por favor, inténtelo de nuevo más tarde.",flow_expired_error:"La sesión ha expirado, haga clic en el botón para reiniciar.",value_invalid_error:"El valor ingresado no es válido.",passcode_invalid:"El código proporcionado no es correcto.",passkey_invalid:"Esta llave de acceso ya no se puede usar.",passcode_max_attempts_reached:"El código se ha ingresado incorrectamente demasiadas veces. Por favor, solicite un nuevo código.",rate_limit_exceeded:"Se han realizado demasiadas solicitudes. Por favor, espere para repetir la operación solicitada.",unknown_username_error:"El nombre de usuario es desconocido.",unknown_email_error:"La dirección de correo es desconocida.",username_already_exists:"El nombre de usuario ya está en uso.",invalid_username_error:"El nombre de usuario solo debe contener letras, números y guiones bajos.",email_already_exists:"El correo ya está en uso.",not_found:"No se encontró el recurso solicitado.",operation_not_permitted_error:"La operación no está permitida.",flow_discontinuity_error:"El proceso no se puede continuar debido a la configuración del usuario o del proveedor.",form_data_invalid_error:"Los datos del formulario enviados contienen errores.",unauthorized:"Su sesión ha expirado. Por favor, inicie sesión nuevamente.",value_missing_error:"Falta el valor.",value_too_long_error:"El valor es demasiado largo.",value_too_short_error:"El valor es demasiado corto.",webauthn_credential_invalid_mfa_only:"Esta credencial solo se puede usar como clave de seguridad de segundo factor.",webauthn_credential_already_exists:"La solicitud expiró, se canceló o el dispositivo ya está registrado. Inténtelo de nuevo o intente usar otro dispositivo.",platform_authenticator_required:"Su cuenta está configurada para usar autenticadores de plataforma, pero su dispositivo o navegador actual no admite esta función. Inténtelo de nuevo con un dispositivo o navegador compatible.",third_party_access_denied:"Acceso denegado por el proveedor de terceros. Por favor, inténtelo de nuevo."}},Ui={headlines:{error:"Une erreur s'est produite",loginEmail:"Se connecter ou créer un compte",loginEmailNoSignup:"Se connecter",loginFinished:"Connexion réussie",loginPasscode:"Entrez le code d'accès",loginPassword:"Entrez le mot de passe",registerAuthenticator:"Créer une clé d'accès",registerConfirm:"Créer un compte ?",registerPassword:"Définir un nouveau mot de passe",otpSetUp:"Configurer l'application d'authentification",profileEmails:"Adresses e-mail",profilePassword:"Mot de passe",profilePasskeys:"Clés d'accès",isPrimaryEmail:"Adresse e-mail principale",setPrimaryEmail:"Définir comme e-mail principal",createEmail:"Entrez un nouvel e-mail",createUsername:"Entrez un nouveau nom d'utilisateur",emailVerified:"Vérifié",emailUnverified:"Non vérifié",emailDelete:"Supprimer",renamePasskey:"Renommer la clé d'accès",deletePasskey:"Supprimer la clé d'accès",lastUsedAt:"Dernière utilisation",createdAt:"Créé",connectedAccounts:"Comptes connectés",deleteAccount:"Supprimer le compte",accountNotFound:"Compte introuvable",signIn:"Se connecter",signUp:"Créer un compte",selectLoginMethod:"Sélectionner la méthode de connexion",setupLoginMethod:"Configurer la méthode de connexion",lastUsed:"Vu pour la dernière fois",ipAddress:"Adresse IP",revokeSession:"Révoquer la session",profileSessions:"Sessions",mfaSetUp:"Configurer MFA",securityKeySetUp:"Ajouter une clé de sécurité",securityKeyLogin:"Clé de sécurité",otpLogin:"Code d'authentification",renameSecurityKey:"Renommer la clé de sécurité",deleteSecurityKey:"Supprimer la clé de sécurité",securityKeys:"Clés de sécurité",authenticatorApp:"Application d'authentification",authenticatorAppAlreadySetUp:"L'application d'authentification est configurée",authenticatorAppNotSetUp:"Configurer l'application d'authentification",trustDevice:"Faire confiance à ce navigateur ?"},texts:{enterPasscode:'Entrez le code envoyé à "{emailAddress}".',enterPasscodeNoEmail:"Entrez le code envoyé à votre adresse e-mail principale.",setupPasskey:"Connectez-vous à votre compte facilement et en toute sécurité avec une clé d'accès. Remarque : Vos données biométriques ne sont stockées que sur vos appareils et ne seront jamais partagées avec personne.",createAccount:`Aucun compte n'existe pour "{emailAddress}". Souhaitez-vous créer un nouveau compte ?`,otpEnterVerificationCode:"Entrez le mot de passe à usage unique (OTP) obtenu depuis votre application d'authentification ci-dessous :",otpScanQRCode:"Scannez le code QR avec votre application d'authentification (comme Google Authenticator ou toute autre application TOTP). Vous pouvez également saisir manuellement la clé secrète OTP dans l'application.",otpSecretKey:"Clé secrète OTP",passwordFormatHint:"Doit contenir entre {minLength} et {maxLength} caractères.",securityKeySetUp:"Utilisez une clé de sécurité dédiée via USB, Bluetooth ou NFC, ou votre téléphone mobile. Connectez ou activez votre clé de sécurité, puis cliquez sur le bouton ci-dessous et suivez les instructions pour terminer l'inscription.",setPrimaryEmail:"Définir cette adresse e-mail pour être utilisée pour vous contacter.",isPrimaryEmail:"Cette adresse e-mail sera utilisée pour vous contacter si nécessaire.",emailVerified:"Cette adresse e-mail a été vérifiée.",emailUnverified:"Cette adresse e-mail n'a pas été vérifiée.",emailDelete:"Si vous supprimez cette adresse e-mail, vous ne pourrez plus l'utiliser pour vous connecter.",renamePasskey:"Définir un nom pour la clé d'accès.",deletePasskey:"Supprimer cette clé d'accès de votre compte.",deleteAccount:"Êtes-vous sûr de vouloir supprimer ce compte ? Toutes les données seront supprimées immédiatement et ne pourront pas être récupérées.",noAccountExists:`Aucun compte n'existe pour "{emailAddress}".`,selectLoginMethodForFutureLogins:"Sélectionnez l'une des méthodes de connexion suivantes à utiliser pour les futures connexions.",howDoYouWantToLogin:"Comment souhaitez-vous vous connecter ?",mfaSetUp:"Protégez votre compte avec l'authentification multifacteur (MFA). MFA ajoute une étape supplémentaire à votre processus de connexion, garantissant que même si votre mot de passe ou compte e-mail est compromis, votre compte reste sécurisé.",securityKeyLogin:"Connectez ou activez votre clé de sécurité, puis cliquez sur le bouton ci-dessous. Une fois prêt, utilisez-la via USB, NFC ou votre téléphone mobile. Suivez les instructions pour terminer le processus de connexion.",otpLogin:"Ouvrez votre application d'authentification pour obtenir le mot de passe à usage unique (OTP). Entrez le code dans le champ ci-dessous pour terminer votre connexion.",renameSecurityKey:"Définir un nom pour la clé de sécurité.",deleteSecurityKey:"Supprimer cette clé de sécurité de votre compte.",authenticatorAppAlreadySetUp:"Votre compte est protégé par une application d'authentification qui génère des mots de passe à usage unique basés sur le temps (TOTP) pour l'authentification multifacteur.",authenticatorAppNotSetUp:"Protégez votre compte avec une application d'authentification qui génère des mots de passe à usage unique basés sur le temps (TOTP) pour l'authentification multifacteur.",trustDevice:"Si vous faites confiance à ce navigateur, vous n'aurez pas besoin de saisir votre OTP (mot de passe à usage unique) ou d'utiliser votre clé de sécurité pour l'authentification multifacteur (MFA) la prochaine fois que vous vous connecterez."},labels:{or:"ou",no:"non",yes:"oui",email:"E-mail",continue:"Continuer",copied:"copié",skip:"Ignorer",save:"Enregistrer",password:"Mot de passe",passkey:"Clé d'accès",passcode:"Code d'accès",signInPassword:"Se connecter avec mot de passe",signInPasscode:"Se connecter avec code",forgotYourPassword:"Mot de passe oublié ?",back:"Retour",signInPasskey:"Se connecter avec clé d'accès",registerAuthenticator:"Créer une clé d'accès",signIn:"Se connecter",signUp:"Créer un compte",sendNewPasscode:"Envoyer un nouveau code",passwordRetryAfter:"Réessayer dans {passwordRetryAfter}",passcodeResendAfter:"Demander un nouveau code dans {passcodeResendAfter}",unverifiedEmail:"non vérifié",primaryEmail:"principal",setAsPrimaryEmail:"Définir comme principal",verify:"Vérifier",delete:"Supprimer",newEmailAddress:"Nouvelle adresse e-mail",newPassword:"Nouveau mot de passe",rename:"Renommer",newPasskeyName:"Nouveau nom de clé d'accès",addEmail:"Ajouter un e-mail",createPasskey:"Créer une clé d'accès",webauthnUnsupported:"Les clés d'accès ne sont pas compatibles avec votre navigateur",signInWith:"Se connecter avec {provider}",deleteAccount:"Oui, supprimer ce compte.",emailOrUsername:"E-mail ou nom d'utilisateur",username:"Nom d'utilisateur",optional:"optionnel",dontHaveAnAccount:"Vous n'avez pas de compte ?",alreadyHaveAnAccount:"Vous avez déjà un compte ?",changeUsername:"Changer le nom d'utilisateur",setUsername:"Définir le nom d'utilisateur",changePassword:"Changer le mot de passe",setPassword:"Définir le mot de passe",revoke:"Révoquer",currentSession:"Session actuelle",authenticatorApp:"Application d'authentification",securityKey:"Clé de sécurité",securityKeyUse:"Utiliser la clé de sécurité",newSecurityKeyName:"Nouveau nom de clé de sécurité",createSecurityKey:"Ajouter une clé de sécurité",authenticatorAppManage:"Gérer l'application d'authentification",authenticatorAppAdd:"Configurer",configured:"configuré",useAnotherMethod:"Utiliser une autre méthode",lastUsed:"Dernière utilisation",trustDevice:"Faire confiance à ce navigateur",staySignedIn:"Rester connecté"},errors:{somethingWentWrong:"Une erreur technique s'est produite. Veuillez réessayer plus tard.",requestTimeout:"La demande a expiré.",invalidPassword:"E-mail ou mot de passe incorrect.",invalidPasscode:"Le code fourni n'est pas correct.",passcodeAttemptsReached:"Le code a été saisi incorrectement trop de fois. Veuillez demander un nouveau code.",tooManyRequests:"Trop de demandes ont été effectuées. Veuillez attendre avant de répéter l'opération demandée.",unauthorized:"Votre session a expiré. Veuillez vous reconnecter.",invalidWebauthnCredential:"Cette clé d'accès ne peut plus être utilisée.",passcodeExpired:"Le code a expiré. Veuillez en demander un nouveau.",userVerification:"Une vérification de l'utilisateur est requise. Assurez-vous que votre dispositif d'authentification est protégé par un code PIN ou une biométrie.",emailAddressAlreadyExistsError:"L'adresse e-mail existe déjà.",maxNumOfEmailAddressesReached:"Impossible d'ajouter plus d'adresses e-mail.",thirdPartyAccessDenied:"Accès refusé. La demande a été annulée par l'utilisateur ou le fournisseur a refusé l'accès pour d'autres raisons.",thirdPartyMultipleAccounts:"Impossible d'identifier le compte. L'adresse e-mail est utilisée par plusieurs comptes.",thirdPartyUnverifiedEmail:"Une vérification de l'e-mail est requise. Veuillez vérifier l'adresse e-mail utilisée avec votre fournisseur.",signupDisabled:"L'inscription de comptes est désactivée.",handlerNotFoundError:"L'étape actuelle de votre processus n'est pas compatible avec cette version de l'application. Réessayez plus tard ou contactez le support si le problème persiste."},flowErrors:{technical_error:"Une erreur technique s'est produite. Veuillez réessayer plus tard.",flow_expired_error:"La session a expiré, cliquez sur le bouton pour redémarrer.",value_invalid_error:"La valeur saisie n'est pas valide.",passcode_invalid:"Le code fourni n'est pas correct.",passkey_invalid:"Cette clé d'accès ne peut plus être utilisée.",passcode_max_attempts_reached:"Le code a été saisi incorrectement trop de fois. Veuillez demander un nouveau code.",rate_limit_exceeded:"Trop de demandes ont été effectuées. Veuillez attendre avant de répéter l'opération demandée.",unknown_username_error:"Le nom d'utilisateur est inconnu.",unknown_email_error:"L'adresse e-mail est inconnue.",username_already_exists:"Le nom d'utilisateur est déjà utilisé.",invalid_username_error:"Le nom d'utilisateur ne doit contenir que des lettres, des chiffres et des traits de soulignement.",email_already_exists:"L'e-mail est déjà utilisé.",not_found:"La ressource demandée n'a pas été trouvée.",operation_not_permitted_error:"L'opération n'est pas autorisée.",flow_discontinuity_error:"Le processus ne peut pas continuer en raison de la configuration de l'utilisateur ou du fournisseur.",form_data_invalid_error:"Les données du formulaire soumises contiennent des erreurs.",unauthorized:"Votre session a expiré. Veuillez vous reconnecter.",value_missing_error:"La valeur est manquante.",value_too_long_error:"La valeur est trop longue.",value_too_short_error:"La valeur est trop courte.",webauthn_credential_invalid_mfa_only:"Cette credential ne peut être utilisée que comme clé de sécurité de second facteur.",webauthn_credential_already_exists:"La demande a expiré, a été annulée ou l'appareil est déjà enregistré. Réessayez ou essayez d'utiliser un autre appareil.",platform_authenticator_required:"Votre compte est configuré pour utiliser des authentificateurs de plateforme, mais votre appareil ou navigateur actuel ne prend pas en charge cette fonctionnalité. Réessayez avec un appareil ou navigateur compatible.",third_party_access_denied:"Accès refusé par le fournisseur tiers. Veuillez réessayer."}},Ni={headlines:{error:"Ocorreu um erro",loginEmail:"Entrar ou criar conta",loginEmailNoSignup:"Entrar",loginFinished:"Login bem-sucedido",loginPasscode:"Digite o código de acesso",loginPassword:"Digite a senha",registerAuthenticator:"Criar uma chave de acesso",registerConfirm:"Criar conta?",registerPassword:"Definir nova senha",otpSetUp:"Configurar aplicativo de autenticação",profileEmails:"Endereços de e-mail",profilePassword:"Senha",profilePasskeys:"Chaves de acesso",isPrimaryEmail:"Endereço de e-mail principal",setPrimaryEmail:"Definir e-mail principal",createEmail:"Digite um novo e-mail",createUsername:"Digite um novo nome de usuário",emailVerified:"Verificado",emailUnverified:"Não verificado",emailDelete:"Excluir",renamePasskey:"Renomear chave de acesso",deletePasskey:"Excluir chave de acesso",lastUsedAt:"Último uso",createdAt:"Criado",connectedAccounts:"Contas conectadas",deleteAccount:"Excluir conta",accountNotFound:"Conta não encontrada",signIn:"Entrar",signUp:"Criar conta",selectLoginMethod:"Selecionar método de login",setupLoginMethod:"Configurar método de login",lastUsed:"Visto pela última vez",ipAddress:"Endereço IP",revokeSession:"Revogar sessão",profileSessions:"Sessões",mfaSetUp:"Configurar MFA",securityKeySetUp:"Adicionar chave de segurança",securityKeyLogin:"Chave de segurança",otpLogin:"Código de autenticação",renameSecurityKey:"Renomear chave de segurança",deleteSecurityKey:"Excluir chave de segurança",securityKeys:"Chaves de segurança",authenticatorApp:"Aplicativo de autenticação",authenticatorAppAlreadySetUp:"O aplicativo de autenticação está configurado",authenticatorAppNotSetUp:"Configurar aplicativo de autenticação",trustDevice:"Confiar neste navegador?"},texts:{enterPasscode:'Digite o código enviado para "{emailAddress}".',enterPasscodeNoEmail:"Digite o código enviado para seu endereço de e-mail principal.",setupPasskey:"Faça login na sua conta de forma fácil e segura com uma chave de acesso. Nota: Seus dados biométricos são armazenados apenas em seus dispositivos e nunca serão compartilhados com ninguém.",createAccount:'Não existe uma conta para "{emailAddress}". Deseja criar uma nova conta?',otpEnterVerificationCode:"Digite a senha de uso único (OTP) obtida do seu aplicativo de autenticação abaixo:",otpScanQRCode:"Digitalize o código QR usando seu aplicativo de autenticação (como Google Authenticator ou qualquer outro aplicativo TOTP). Alternativamente, você pode inserir manualmente a chave secreta OTP no aplicativo.",otpSecretKey:"Chave secreta OTP",passwordFormatHint:"Deve ter entre {minLength} e {maxLength} caracteres.",securityKeySetUp:"Use uma chave de segurança dedicada via USB, Bluetooth ou NFC, ou seu telefone celular. Conecte ou ative sua chave de segurança, depois clique no botão abaixo e siga as instruções para concluir o registro.",setPrimaryEmail:"Defina este endereço de e-mail para ser usado para entrar em contato com você.",isPrimaryEmail:"Este endereço de e-mail será usado para entrar em contato com você, se necessário.",emailVerified:"Este endereço de e-mail foi verificado.",emailUnverified:"Este endereço de e-mail não foi verificado.",emailDelete:"Se você excluir este endereço de e-mail, não poderá mais usá-lo para fazer login.",renamePasskey:"Definir um nome para a chave de acesso.",deletePasskey:"Excluir esta chave de acesso da sua conta.",deleteAccount:"Tem certeza de que deseja excluir esta conta? Todos os dados serão excluídos imediatamente e não poderão ser recuperados.",noAccountExists:'Não existe uma conta para "{emailAddress}".',selectLoginMethodForFutureLogins:"Selecione um dos seguintes métodos de login para usar em futuros logins.",howDoYouWantToLogin:"Como você deseja fazer login?",mfaSetUp:"Proteja sua conta com autenticação multifator (MFA). MFA adiciona uma etapa extra ao seu processo de login, garantindo que, mesmo se sua senha ou conta de e-mail for comprometida, sua conta permaneça segura.",securityKeyLogin:"Conecte ou ative sua chave de segurança, depois clique no botão abaixo. Uma vez pronto, use-a via USB, NFC ou seu telefone celular. Siga as instruções para concluir o processo de login.",otpLogin:"Abra seu aplicativo de autenticação para obter a senha de uso único (OTP). Digite o código no campo abaixo para concluir seu login.",renameSecurityKey:"Definir um nome para a chave de segurança.",deleteSecurityKey:"Excluir esta chave de segurança da sua conta.",authenticatorAppAlreadySetUp:"Sua conta está protegida com um aplicativo de autenticação que gera senhas de uso único baseadas em tempo (TOTP) para autenticação multifator.",authenticatorAppNotSetUp:"Proteja sua conta com um aplicativo de autenticação que gera senhas de uso único baseadas em tempo (TOTP) para autenticação multifator.",trustDevice:"Se você confiar neste navegador, não precisará inserir seu OTP (senha de uso único) ou usar sua chave de segurança para autenticação multifator (MFA) na próxima vez que fizer login."},labels:{or:"ou",no:"não",yes:"sim",email:"E-mail",continue:"Continuar",copied:"copiado",skip:"Pular",save:"Salvar",password:"Senha",passkey:"Chave de acesso",passcode:"Código de acesso",signInPassword:"Entrar com senha",signInPasscode:"Entrar com código",forgotYourPassword:"Esqueceu sua senha?",back:"Voltar",signInPasskey:"Entrar com chave de acesso",registerAuthenticator:"Criar uma chave de acesso",signIn:"Entrar",signUp:"Criar conta",sendNewPasscode:"Enviar novo código",passwordRetryAfter:"Tentar novamente em {passwordRetryAfter}",passcodeResendAfter:"Solicitar novo código em {passcodeResendAfter}",unverifiedEmail:"não verificado",primaryEmail:"principal",setAsPrimaryEmail:"Definir como principal",verify:"Verificar",delete:"Excluir",newEmailAddress:"Novo endereço de e-mail",newPassword:"Nova senha",rename:"Renomear",newPasskeyName:"Novo nome de chave de acesso",addEmail:"Adicionar e-mail",createPasskey:"Criar uma chave de acesso",webauthnUnsupported:"As chaves de acesso não são compatíveis com seu navegador",signInWith:"Entrar com {provider}",deleteAccount:"Sim, excluir esta conta.",emailOrUsername:"E-mail ou nome de usuário",username:"Nome de usuário",optional:"opcional",dontHaveAnAccount:"Não tem uma conta?",alreadyHaveAnAccount:"Já tem uma conta?",changeUsername:"Alterar nome de usuário",setUsername:"Definir nome de usuário",changePassword:"Alterar senha",setPassword:"Definir senha",revoke:"Revogar",currentSession:"Sessão atual",authenticatorApp:"Aplicativo de autenticação",securityKey:"Chave de segurança",securityKeyUse:"Usar chave de segurança",newSecurityKeyName:"Novo nome de chave de segurança",createSecurityKey:"Adicionar uma chave de segurança",authenticatorAppManage:"Gerenciar aplicativo de autenticação",authenticatorAppAdd:"Configurar",configured:"configurado",useAnotherMethod:"Usar outro método",lastUsed:"Último uso",trustDevice:"Confiar neste navegador",staySignedIn:"Permanecer conectado"},errors:{somethingWentWrong:"Ocorreu um erro técnico. Por favor, tente novamente mais tarde.",requestTimeout:"A solicitação expirou.",invalidPassword:"E-mail ou senha incorretos.",invalidPasscode:"O código fornecido não está correto.",passcodeAttemptsReached:"O código foi inserido incorretamente muitas vezes. Por favor, solicite um novo código.",tooManyRequests:"Muitas solicitações foram feitas. Por favor, aguarde antes de repetir a operação solicitada.",unauthorized:"Sua sessão expirou. Por favor, faça login novamente.",invalidWebauthnCredential:"Esta chave de acesso não pode mais ser usada.",passcodeExpired:"O código expirou. Por favor, solicite um novo.",userVerification:"É necessária verificação do usuário. Certifique-se de que seu dispositivo de autenticação esteja protegido com um PIN ou biometria.",emailAddressAlreadyExistsError:"O endereço de e-mail já existe.",maxNumOfEmailAddressesReached:"Não é possível adicionar mais endereços de e-mail.",thirdPartyAccessDenied:"Acesso negado. A solicitação foi cancelada pelo usuário ou o provedor negou o acesso por outros motivos.",thirdPartyMultipleAccounts:"Não é possível identificar a conta. O endereço de e-mail é usado por várias contas.",thirdPartyUnverifiedEmail:"É necessária verificação de e-mail. Por favor, verifique o endereço de e-mail usado com seu provedor.",signupDisabled:"O registro de contas está desativado.",handlerNotFoundError:"A etapa atual em seu processo não é compatível com esta versão do aplicativo. Tente novamente mais tarde ou entre em contato com o suporte se o problema persistir."},flowErrors:{technical_error:"Ocorreu um erro técnico. Por favor, tente novamente mais tarde.",flow_expired_error:"A sessão expirou, clique no botão para reiniciar.",value_invalid_error:"O valor inserido não é válido.",passcode_invalid:"O código fornecido não está correto.",passkey_invalid:"Esta chave de acesso não pode mais ser usada.",passcode_max_attempts_reached:"O código foi inserido incorretamente muitas vezes. Por favor, solicite um novo código.",rate_limit_exceeded:"Muitas solicitações foram feitas. Por favor, aguarde antes de repetir a operação solicitada.",unknown_username_error:"O nome de usuário é desconhecido.",unknown_email_error:"O endereço de e-mail é desconhecido.",username_already_exists:"O nome de usuário já está em uso.",invalid_username_error:"O nome de usuário deve conter apenas letras, números e sublinhados.",email_already_exists:"O e-mail já está em uso.",not_found:"O recurso solicitado não foi encontrado.",operation_not_permitted_error:"A operação não é permitida.",flow_discontinuity_error:"O processo não pode continuar devido à configuração do usuário ou do provedor.",form_data_invalid_error:"Os dados do formulário enviados contêm erros.",unauthorized:"Sua sessão expirou. Por favor, faça login novamente.",value_missing_error:"O valor está faltando.",value_too_long_error:"O valor é muito longo.",value_too_short_error:"O valor é muito curto.",webauthn_credential_invalid_mfa_only:"Esta credencial só pode ser usada como chave de segurança de segundo fator.",webauthn_credential_already_exists:"A solicitação expirou, foi cancelada ou o dispositivo já está registrado. Tente novamente ou tente usar outro dispositivo.",platform_authenticator_required:"Sua conta está configurada para usar autenticadores de plataforma, mas seu dispositivo ou navegador atual não suporta esse recurso. Tente novamente com um dispositivo ou navegador compatível.",third_party_access_denied:"Acesso negado pelo provedor de terceiros. Por favor, tente novamente."}},ko={en:{logIn:"Log in",logOut:"Log Out",myHotAccount:"My HOT Account",connectToOsm:"Connect to OSM",connectedToOsm:"Connected to OSM",connectedToOpenStreetMap:"Connected to OpenStreetMap",connectingToOpenStreetMap:"Connecting to OpenStreetMap...",checkingOsmConnection:"Checking OSM connection...",osmRequired:"OSM Required",osmRequiredText:"This endpoint requires OSM connection.",connectOsmAccount:"Connect OSM Account",openAccountMenu:"Open account menu",connectedToOsmAs:"Connected to OSM as",osmConnectionRequired:"OSM connection required"},es:{logIn:"Iniciar sesión",logOut:"Cerrar sesión",myHotAccount:"Mi cuenta HOT",connectToOsm:"Conectar a OSM",connectedToOsm:"Conectado a OSM",connectedToOpenStreetMap:"Conectado a OpenStreetMap",connectingToOpenStreetMap:"Conectando a OpenStreetMap...",checkingOsmConnection:"Verificando conexión OSM...",osmRequired:"OSM Requerido",osmRequiredText:"Este endpoint requiere conexión OSM.",connectOsmAccount:"Conectar cuenta OSM",openAccountMenu:"Abrir menú de cuenta",connectedToOsmAs:"Conectado a OSM como",osmConnectionRequired:"Se requiere conexión OSM"},fr:{logIn:"Se connecter",logOut:"Se déconnecter",myHotAccount:"Mon compte HOT",connectToOsm:"Connecter à OSM",connectedToOsm:"Connecté à OSM",connectedToOpenStreetMap:"Connecté à OpenStreetMap",connectingToOpenStreetMap:"Connexion à OpenStreetMap...",checkingOsmConnection:"Vérification de la connexion OSM...",osmRequired:"OSM requis",osmRequiredText:"Ce point de terminaison nécessite une connexion OSM.",connectOsmAccount:"Connecter le compte OSM",openAccountMenu:"Ouvrir le menu du compte",connectedToOsmAs:"Connecté à OSM en tant que",osmConnectionRequired:"Connexion OSM requise"},pt:{logIn:"Entrar",logOut:"Sair",myHotAccount:"Minha conta HOT",connectToOsm:"Conectar ao OSM",connectedToOsm:"Conectado ao OSM",connectedToOpenStreetMap:"Conectado ao OpenStreetMap",connectingToOpenStreetMap:"Conectando ao OpenStreetMap...",checkingOsmConnection:"Verificando conexão OSM...",osmRequired:"OSM Necessário",osmRequiredText:"Este endpoint requer conexão OSM.",connectOsmAccount:"Conectar conta OSM",openAccountMenu:"Abrir menu da conta",connectedToOsmAs:"Conectado ao OSM como",osmConnectionRequired:"Conexão OSM necessária"}},Mi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-person-vcard'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M5%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204m4-2.5a.5.5%200%200%201%20.5-.5h4a.5.5%200%200%201%200%201h-4a.5.5%200%200%201-.5-.5M9%208a.5.5%200%200%201%20.5-.5h4a.5.5%200%200%201%200%201h-4A.5.5%200%200%201%209%208m1%202.5a.5.5%200%200%201%20.5-.5h3a.5.5%200%200%201%200%201h-3a.5.5%200%200%201-.5-.5'/%3e%3cpath%20d='M2%202a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V4a2%202%200%200%200-2-2zM1%204a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v8a1%201%200%200%201-1%201H8.96q.04-.245.04-.5C9%2010.567%207.21%209%205%209c-2.086%200-3.8%201.398-3.984%203.181A1%201%200%200%201%201%2012z'/%3e%3c/svg%3e",Ri="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-box-arrow-right'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M10%2012.5a.5.5%200%200%201-.5.5h-8a.5.5%200%200%201-.5-.5v-9a.5.5%200%200%201%20.5-.5h8a.5.5%200%200%201%20.5.5v2a.5.5%200%200%200%201%200v-2A1.5%201.5%200%200%200%209.5%202h-8A1.5%201.5%200%200%200%200%203.5v9A1.5%201.5%200%200%200%201.5%2014h8a1.5%201.5%200%200%200%201.5-1.5v-2a.5.5%200%200%200-1%200z'/%3e%3cpath%20fill-rule='evenodd'%20d='M15.854%208.354a.5.5%200%200%200%200-.708l-3-3a.5.5%200%200%200-.708.708L14.293%207.5H5.5a.5.5%200%200%200%200%201h8.793l-2.147%202.146a.5.5%200%200%200%20.708.708z'/%3e%3c/svg%3e",Hi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-map'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M15.817.113A.5.5%200%200%201%2016%20.5v14a.5.5%200%200%201-.402.49l-5%201a.5.5%200%200%201-.196%200L5.5%2015.01l-4.902.98A.5.5%200%200%201%200%2015.5v-14a.5.5%200%200%201%20.402-.49l5-1a.5.5%200%200%201%20.196%200L10.5.99l4.902-.98a.5.5%200%200%201%20.415.103M10%201.91l-4-.8v12.98l4%20.8zm1%2012.98%204-.8V1.11l-4%20.8zm-6-.8V1.11l-4%20.8v12.98z'/%3e%3c/svg%3e",qi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-person-check'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M12.5%2016a3.5%203.5%200%201%200%200-7%203.5%203.5%200%200%200%200%207m1.679-4.493-1.335%202.226a.75.75%200%200%201-1.174.144l-.774-.773a.5.5%200%200%201%20.708-.708l.547.548%201.17-1.951a.5.5%200%201%201%20.858.514M11%205a3%203%200%201%201-6%200%203%203%200%200%201%206%200M8%207a2%202%200%201%200%200-4%202%202%200%200%200%200%204'/%3e%3cpath%20d='M8.256%2014a4.5%204.5%200%200%201-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484%2010.68%205.711%2010%208%2010q.39%200%20.74.025c.226-.341.496-.65.804-.918Q8.844%209.002%208%209c-5%200-6%203-6%204s1%201%201%201z'/%3e%3c/svg%3e",ys="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-chevron-down'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708'/%3e%3c/svg%3e",bs="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-chevron-up'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M7.646%204.646a.5.5%200%200%201%20.708%200l6%206a.5.5%200%200%201-.708.708L8%205.707l-5.646%205.647a.5.5%200%200%201-.708-.708z'/%3e%3c/svg%3e";var ks=Object.defineProperty,ws=Object.getOwnPropertyDescriptor,de=(o,e,t,n)=>{for(var i=n>1?void 0:n?ws(e,t):e,a=o.length-1,s;a>=0;a--)(s=o[a])&&(i=(n?s(e,t,i):s(i))||i);return n&&i&&ks(e,t,i),i};let zi=!1,Kt=null;async function Ss(o){if(!zi)return Kt||(Kt=(async()=>{console.log("[hanko-auth] Pre-registering Hanko translations...");try{await ji(o,{enablePasskeys:!1,hidePasskeyButtonOnLogin:!0,translations:{en:$i,es:Ti,fr:Ui,pt:Ni},fallbackLanguage:"en"}),zi=!0,console.log("[hanko-auth] Hanko registration complete")}catch(e){throw console.error("[hanko-auth] Hanko registration failed:",e),Kt=null,e}})(),Kt)}const ne={primary:null,user:null,osmConnected:!1,osmData:null,loading:!0,hanko:null,initialized:!1,instances:new Set,profileDisplayName:"",hankoReady:!1},Wi=o=>`hanko-verified-${o}`,Fi=o=>`hanko-onboarding-${o}`;return B.HankoAuth=class extends At{constructor(){super(...arguments),this.hankoUrlAttr="",this.basePath="",this.authPath="/api/auth/osm",this.osmRequired=!1,this.osmScopes="read_prefs",this.showProfile=!1,this.redirectAfterLogin="",this.autoConnect=!1,this.verifySession=!1,this.redirectAfterLogout="",this.displayNameAttr="",this.mappingCheckUrl="",this.appId="",this.loginUrl="",this.lang="en",this.buttonVariant="plain",this.buttonColor="primary",this.display="default",this.user=null,this.osmConnected=!1,this.osmData=null,this.osmLoading=!1,this.loading=!0,this.error=null,this.hankoReady=!1,this.profileDisplayName="",this.hasAppMapping=!1,this.userProfileLanguage=null,this.isOpen=!1,this.handleOutsideClick=e=>{this.contains(e.target)||this.closeDropdown()},this._trailingSlashCache={},this._debugMode=!1,this._lastSessionId=null,this._hanko=null,this._isPrimary=!1,this._handleVisibilityChange=()=>{this._isPrimary&&!document.hidden&&!this.showProfile&&!this.user&&(this.log("👁️ Page visible, re-checking session..."),this.checkSession())},this._handleWindowFocus=()=>{this._isPrimary&&!this.showProfile&&!this.user&&(this.log("🎯 Window focused, re-checking session..."),this.checkSession())},this._handleExternalLogin=e=>{var n;if(!this._isPrimary)return;const t=e;!this.showProfile&&!this.user&&((n=t.detail)!=null&&n.user)&&(this.log("🔔 External login detected, updating user state..."),this.user=t.detail.user,this._broadcastState(),this.osmRequired&&this.checkOSMConnection())},this._currentHankoAuthElement=null}toggleDropdown(){this.isOpen=!this.isOpen,this.isOpen?setTimeout(()=>{document.addEventListener("click",this.handleOutsideClick)},0):document.removeEventListener("click",this.handleOutsideClick)}closeDropdown(){this.isOpen=!1,document.removeEventListener("click",this.handleOutsideClick)}renderBarDropdownContent(){var e;return we`
|
|
538
|
+
`;var bo={d:(o,e)=>{for(var t in e)bo.o(e,t)&&!bo.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},o:(o,e)=>Object.prototype.hasOwnProperty.call(o,e)},Li={};bo.d(Li,{en:()=>_s});const _s={headlines:{error:"An error has occurred",loginEmail:"Sign in or create account",loginEmailNoSignup:"Sign in",loginFinished:"Login successful",loginPasscode:"Enter passcode",loginPassword:"Enter password",registerAuthenticator:"Create a passkey",registerConfirm:"Create account?",registerPassword:"Set new password",otpSetUp:"Set up authenticator app",profileEmails:"Emails",profilePassword:"Password",profilePasskeys:"Passkeys",isPrimaryEmail:"Primary email address",setPrimaryEmail:"Set primary email address",createEmail:"Enter a new email",createUsername:"Enter a new username",emailVerified:"Verified",emailUnverified:"Unverified",emailDelete:"Delete",renamePasskey:"Rename passkey",deletePasskey:"Delete passkey",lastUsedAt:"Last used at",createdAt:"Created at",connectedAccounts:"Connected accounts",deleteAccount:"Delete account",accountNotFound:"Account not found",signIn:"Sign in",signUp:"Create account",selectLoginMethod:"Select login method",setupLoginMethod:"Set up login method",lastUsed:"Last seen",ipAddress:"IP address",revokeSession:"Revoke session",profileSessions:"Sessions",mfaSetUp:"Set up MFA",securityKeySetUp:"Add security key",securityKeyLogin:"Security key",otpLogin:"Authentication code",renameSecurityKey:"Rename security key",deleteSecurityKey:"Delete security key",securityKeys:"Security keys",authenticatorApp:"Authenticator app",authenticatorAppAlreadySetUp:"Authenticator app is set up",authenticatorAppNotSetUp:"Set up authenticator app",trustDevice:"Trust this browser?"},texts:{enterPasscode:'Enter the passcode that was sent to "{emailAddress}".',enterPasscodeNoEmail:"Enter the passcode that was sent to your primary email address.",setupPasskey:"Sign in to your account easily and securely with a passkey. Note: Your biometric data is only stored on your devices and will never be shared with anyone.",createAccount:'No account exists for "{emailAddress}". Do you want to create a new account?',otpEnterVerificationCode:"Enter the one-time password (OTP) obtained from your authenticator app below:",otpScanQRCode:"Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manually enter the OTP secret key into the app.",otpSecretKey:"OTP secret key",passwordFormatHint:"Must be between {minLength} and {maxLength} characters long.",securityKeySetUp:"Use a dedicated security key via USB, Bluetooth, or NFC, or your mobile phone. Connect or activate your security key, then click the button below and follow the prompts to complete the registration.",setPrimaryEmail:"Set this email address to be used for contacting you.",isPrimaryEmail:"This email address will be used to contact you if necessary.",emailVerified:"This email address has been verified.",emailUnverified:"This email address has not been verified.",emailDelete:"If you delete this email address, it can no longer be used to sign in.",renamePasskey:"Set a name for the passkey.",deletePasskey:"Delete this passkey from your account.",deleteAccount:"Are you sure you want to delete this account? All data will be deleted immediately and cannot be recovered.",noAccountExists:'No account exists for "{emailAddress}".',selectLoginMethodForFutureLogins:"Select one of the following login methods to use for future logins.",howDoYouWantToLogin:"How do you want to login?",mfaSetUp:"Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is compromised, your account stays secure.",securityKeyLogin:"Connect or activate your security key, then click the button below. Once ready, use it via USB, NFC, your mobile phone. Follow the prompts to complete the login process.",otpLogin:"Open your authenticator app to obtain the one-time password (OTP). Enter the code in the field below to complete your login.",renameSecurityKey:"Set a name for the security key.",deleteSecurityKey:"Delete this security key from your account.",authenticatorAppAlreadySetUp:"Your account is secured with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",authenticatorAppNotSetUp:"Secure your account with an authenticator app that generates time-based one-time passwords (TOTP) for multi-factor authentication.",trustDevice:"If you trust this browser, you won’t need to enter your OTP (One-Time-Password) or use your security key for multi-factor authentication (MFA) the next time you log in."},labels:{or:"or",no:"no",yes:"yes",email:"Email",continue:"Continue",copied:"copied",skip:"Skip",save:"Save",password:"Password",passkey:"Passkey",passcode:"Passcode",signInPassword:"Sign in with a password",signInPasscode:"Sign in with a passcode",forgotYourPassword:"Forgot your password?",back:"Back",signInPasskey:"Sign in with a passkey",registerAuthenticator:"Create a passkey",signIn:"Sign in",signUp:"Create account",sendNewPasscode:"Send new code",passwordRetryAfter:"Retry in {passwordRetryAfter}",passcodeResendAfter:"Request a new code in {passcodeResendAfter}",unverifiedEmail:"unverified",primaryEmail:"primary",setAsPrimaryEmail:"Set as primary",verify:"Verify",delete:"Delete",newEmailAddress:"New email address",newPassword:"New password",rename:"Rename",newPasskeyName:"New passkey name",addEmail:"Add email",createPasskey:"Create a passkey",webauthnUnsupported:"Passkeys are not supported by your browser",signInWith:"Sign in with {provider}",deleteAccount:"Yes, delete this account.",emailOrUsername:"Email or username",username:"Username",optional:"optional",dontHaveAnAccount:"Don't have an account?",alreadyHaveAnAccount:"Already have an account?",changeUsername:"Change username",setUsername:"Set username",changePassword:"Change password",setPassword:"Set password",revoke:"Revoke",currentSession:"Current session",authenticatorApp:"Authenticator app",securityKey:"Security key",securityKeyUse:"Use security key",newSecurityKeyName:"New security key name",createSecurityKey:"Add a security key",authenticatorAppManage:"Manage authenticator app",authenticatorAppAdd:"Set up",configured:"configured",useAnotherMethod:"Use another method",lastUsed:"Last used",trustDevice:"Trust this browser",staySignedIn:"Stay signed in"},errors:{somethingWentWrong:"A technical error has occurred. Please try again later.",requestTimeout:"The request timed out.",invalidPassword:"Wrong email or password.",invalidPasscode:"The passcode provided was not correct.",passcodeAttemptsReached:"The passcode was entered incorrectly too many times. Please request a new code.",tooManyRequests:"Too many requests have been made. Please wait to repeat the requested operation.",unauthorized:"Your session has expired. Please log in again.",invalidWebauthnCredential:"This passkey cannot be used anymore.",passcodeExpired:"The passcode has expired. Please request a new one.",userVerification:"User verification required. Please ensure your authenticator device is protected with a PIN or biometric.",emailAddressAlreadyExistsError:"The email address already exists.",maxNumOfEmailAddressesReached:"No further email addresses can be added.",thirdPartyAccessDenied:"Access denied. The request was cancelled by the user or the provider has denied access for other reasons.",thirdPartyMultipleAccounts:"Cannot identify account. The email address is used by multiple accounts.",thirdPartyUnverifiedEmail:"Email verification required. Please verify the used email address with your provider.",signupDisabled:"Account registration is disabled.",handlerNotFoundError:"The current step in your process is not supported by this application version. Please try again later or contact support if the issue persists."},flowErrors:{technical_error:"A technical error has occurred. Please try again later.",flow_expired_error:"The session has expired, please click the button to restart.",value_invalid_error:"The entered value is invalid.",passcode_invalid:"The passcode provided was not correct.",passkey_invalid:"This passkey cannot be used anymore",passcode_max_attempts_reached:"The passcode was entered incorrectly too many times. Please request a new code.",rate_limit_exceeded:"Too many requests have been made. Please wait to repeat the requested operation.",unknown_username_error:"The username is unknown.",unknown_email_error:"The email address is unknown.",username_already_exists:"The username is already taken.",invalid_username_error:"The username must contain only letters, numbers, and underscores.",email_already_exists:"The email is already taken.",not_found:"The requested resource was not found.",operation_not_permitted_error:"The operation is not permitted.",flow_discontinuity_error:"The process cannot be continued due to user settings or the provider's configuration.",form_data_invalid_error:"The submitted form data contains errors.",unauthorized:"Your session has expired. Please log in again.",value_missing_error:"The value is missing.",value_too_long_error:"Value is too long.",value_too_short_error:"The value is too short.",webauthn_credential_invalid_mfa_only:"This credential can be used as a second factor security key only.",webauthn_credential_already_exists:"The request either timed out, was canceled or the device is already registered. Please try again or try using another device.",platform_authenticator_required:"Your account is configured to use platform authenticators, but your current device or browser does not support this feature. Please try again with a compatible device or browser."}};var $i=Li.en;const Ti={headlines:{error:"Ha ocurrido un error",loginEmail:"Iniciar sesión o crear cuenta",loginEmailNoSignup:"Iniciar sesión",loginFinished:"Inicio de sesión exitoso",loginPasscode:"Ingrese el código de acceso",loginPassword:"Ingrese la contraseña",registerAuthenticator:"Crear una llave de acceso",registerConfirm:"¿Crear cuenta?",registerPassword:"Establecer nueva contraseña",otpSetUp:"Configurar aplicación de autenticación",profileEmails:"Correos electrónicos",profilePassword:"Contraseña",profilePasskeys:"Llaves de acceso",isPrimaryEmail:"Dirección de correo principal",setPrimaryEmail:"Establecer correo principal",createEmail:"Ingrese un nuevo correo",createUsername:"Ingrese un nuevo nombre de usuario",emailVerified:"Verificado",emailUnverified:"No verificado",emailDelete:"Eliminar",renamePasskey:"Renombrar llave de acceso",deletePasskey:"Eliminar llave de acceso",lastUsedAt:"Último uso",createdAt:"Creado",connectedAccounts:"Cuentas conectadas",deleteAccount:"Eliminar cuenta",accountNotFound:"Cuenta no encontrada",signIn:"Iniciar sesión",signUp:"Crear cuenta",selectLoginMethod:"Seleccionar método de inicio de sesión",setupLoginMethod:"Configurar método de inicio de sesión",lastUsed:"Visto por última vez",ipAddress:"Dirección IP",revokeSession:"Revocar sesión",profileSessions:"Sesiones",mfaSetUp:"Configurar MFA",securityKeySetUp:"Agregar clave de seguridad",securityKeyLogin:"Clave de seguridad",otpLogin:"Código de autenticación",renameSecurityKey:"Renombrar clave de seguridad",deleteSecurityKey:"Eliminar clave de seguridad",securityKeys:"Claves de seguridad",authenticatorApp:"Aplicación de autenticación",authenticatorAppAlreadySetUp:"La aplicación de autenticación está configurada",authenticatorAppNotSetUp:"Configurar aplicación de autenticación",trustDevice:"¿Confiar en este navegador?"},texts:{enterPasscode:'Ingrese el código que se envió a "{emailAddress}".',enterPasscodeNoEmail:"Ingrese el código que se envió a su dirección de correo principal.",setupPasskey:"Inicie sesión en su cuenta fácil y seguramente con una llave de acceso. Nota: Sus datos biométricos solo se almacenan en sus dispositivos y nunca se compartirán con nadie.",createAccount:'No existe una cuenta para "{emailAddress}". ¿Desea crear una nueva cuenta?',otpEnterVerificationCode:"Ingrese la contraseña de un solo uso (OTP) obtenida de su aplicación de autenticación a continuación:",otpScanQRCode:"Escanee el código QR usando su aplicación de autenticación (como Google Authenticator o cualquier otra aplicación TOTP). Alternativamente, puede ingresar manualmente la clave secreta OTP en la aplicación.",otpSecretKey:"Clave secreta OTP",passwordFormatHint:"Debe tener entre {minLength} y {maxLength} caracteres.",securityKeySetUp:"Use una clave de seguridad dedicada a través de USB, Bluetooth o NFC, o su teléfono móvil. Conecte o active su clave de seguridad, luego haga clic en el botón a continuación y siga las indicaciones para completar el registro.",setPrimaryEmail:"Establezca esta dirección de correo para ser usada para contactarlo.",isPrimaryEmail:"Esta dirección de correo se utilizará para contactarlo si es necesario.",emailVerified:"Esta dirección de correo ha sido verificada.",emailUnverified:"Esta dirección de correo no ha sido verificada.",emailDelete:"Si elimina esta dirección de correo, ya no podrá usarla para iniciar sesión.",renamePasskey:"Establecer un nombre para la llave de acceso.",deletePasskey:"Eliminar esta llave de acceso de su cuenta.",deleteAccount:"¿Está seguro de que desea eliminar esta cuenta? Todos los datos se eliminarán inmediatamente y no se podrán recuperar.",noAccountExists:'No existe una cuenta para "{emailAddress}".',selectLoginMethodForFutureLogins:"Seleccione uno de los siguientes métodos de inicio de sesión para usar en futuros inicios de sesión.",howDoYouWantToLogin:"¿Cómo desea iniciar sesión?",mfaSetUp:"Proteja su cuenta con autenticación multifactor (MFA). MFA agrega un paso adicional a su proceso de inicio de sesión, asegurando que incluso si su contraseña o cuenta de correo está comprometida, su cuenta permanezca segura.",securityKeyLogin:"Conecte o active su clave de seguridad, luego haga clic en el botón a continuación. Una vez listo, úselo a través de USB, NFC o su teléfono móvil. Siga las indicaciones para completar el proceso de inicio de sesión.",otpLogin:"Abra su aplicación de autenticación para obtener la contraseña de un solo uso (OTP). Ingrese el código en el campo a continuación para completar su inicio de sesión.",renameSecurityKey:"Establecer un nombre para la clave de seguridad.",deleteSecurityKey:"Eliminar esta clave de seguridad de su cuenta.",authenticatorAppAlreadySetUp:"Su cuenta está protegida con una aplicación de autenticación que genera contraseñas de un solo uso basadas en tiempo (TOTP) para autenticación multifactor.",authenticatorAppNotSetUp:"Proteja su cuenta con una aplicación de autenticación que genera contraseñas de un solo uso basadas en tiempo (TOTP) para autenticación multifactor.",trustDevice:"Si confía en este navegador, no necesitará ingresar su OTP (contraseña de un solo uso) o usar su clave de seguridad para la autenticación multifactor (MFA) la próxima vez que inicie sesión."},labels:{or:"o",no:"no",yes:"sí",email:"Correo electrónico",continue:"Continuar",copied:"copiado",skip:"Omitir",save:"Guardar",password:"Contraseña",passkey:"Llave de acceso",passcode:"Código de acceso",signInPassword:"Iniciar sesión con contraseña",signInPasscode:"Iniciar sesión con código",forgotYourPassword:"¿Olvidó su contraseña?",back:"Atrás",signInPasskey:"Iniciar sesión con llave de acceso",registerAuthenticator:"Crear una llave de acceso",signIn:"Iniciar sesión",signUp:"Crear cuenta",sendNewPasscode:"Enviar nuevo código",passwordRetryAfter:"Reintentar en {passwordRetryAfter}",passcodeResendAfter:"Solicitar nuevo código en {passcodeResendAfter}",unverifiedEmail:"no verificado",primaryEmail:"principal",setAsPrimaryEmail:"Establecer como principal",verify:"Verificar",delete:"Eliminar",newEmailAddress:"Nueva dirección de correo",newPassword:"Nueva contraseña",rename:"Renombrar",newPasskeyName:"Nuevo nombre de llave de acceso",addEmail:"Agregar correo",createPasskey:"Crear una llave de acceso",webauthnUnsupported:"Las llaves de acceso no son compatibles con su navegador",signInWith:"Iniciar sesión con {provider}",deleteAccount:"Sí, eliminar esta cuenta.",emailOrUsername:"Correo o nombre de usuario",username:"Nombre de usuario",optional:"opcional",dontHaveAnAccount:"¿No tiene una cuenta?",alreadyHaveAnAccount:"¿Ya tiene una cuenta?",changeUsername:"Cambiar nombre de usuario",setUsername:"Establecer nombre de usuario",changePassword:"Cambiar contraseña",setPassword:"Establecer contraseña",revoke:"Revocar",currentSession:"Sesión actual",authenticatorApp:"Aplicación de autenticación",securityKey:"Clave de seguridad",securityKeyUse:"Usar clave de seguridad",newSecurityKeyName:"Nuevo nombre de clave de seguridad",createSecurityKey:"Agregar una clave de seguridad",authenticatorAppManage:"Administrar aplicación de autenticación",authenticatorAppAdd:"Configurar",configured:"configurado",useAnotherMethod:"Usar otro método",lastUsed:"Último uso",trustDevice:"Confiar en este navegador",staySignedIn:"Mantener sesión iniciada"},errors:{somethingWentWrong:"Ha ocurrido un error técnico. Por favor, inténtelo de nuevo más tarde.",requestTimeout:"La solicitud ha expirado.",invalidPassword:"Correo o contraseña incorrectos.",invalidPasscode:"El código proporcionado no es correcto.",passcodeAttemptsReached:"El código se ha ingresado incorrectamente demasiadas veces. Por favor, solicite un nuevo código.",tooManyRequests:"Se han realizado demasiadas solicitudes. Por favor, espere para repetir la operación solicitada.",unauthorized:"Su sesión ha expirado. Por favor, inicie sesión nuevamente.",invalidWebauthnCredential:"Esta llave de acceso ya no se puede usar.",passcodeExpired:"El código ha expirado. Por favor, solicite uno nuevo.",userVerification:"Se requiere verificación de usuario. Asegúrese de que su dispositivo de autenticación esté protegido con un PIN o biometría.",emailAddressAlreadyExistsError:"La dirección de correo ya existe.",maxNumOfEmailAddressesReached:"No se pueden agregar más direcciones de correo.",thirdPartyAccessDenied:"Acceso denegado. La solicitud fue cancelada por el usuario o el proveedor ha denegado el acceso por otras razones.",thirdPartyMultipleAccounts:"No se puede identificar la cuenta. La dirección de correo es usada por múltiples cuentas.",thirdPartyUnverifiedEmail:"Se requiere verificación de correo. Por favor, verifique la dirección de correo usada con su proveedor.",signupDisabled:"El registro de cuentas está deshabilitado.",handlerNotFoundError:"El paso actual en su proceso no es compatible con esta versión de la aplicación. Inténtelo de nuevo más tarde o contacte al soporte si el problema persiste."},flowErrors:{technical_error:"Ha ocurrido un error técnico. Por favor, inténtelo de nuevo más tarde.",flow_expired_error:"La sesión ha expirado, haga clic en el botón para reiniciar.",value_invalid_error:"El valor ingresado no es válido.",passcode_invalid:"El código proporcionado no es correcto.",passkey_invalid:"Esta llave de acceso ya no se puede usar.",passcode_max_attempts_reached:"El código se ha ingresado incorrectamente demasiadas veces. Por favor, solicite un nuevo código.",rate_limit_exceeded:"Se han realizado demasiadas solicitudes. Por favor, espere para repetir la operación solicitada.",unknown_username_error:"El nombre de usuario es desconocido.",unknown_email_error:"La dirección de correo es desconocida.",username_already_exists:"El nombre de usuario ya está en uso.",invalid_username_error:"El nombre de usuario solo debe contener letras, números y guiones bajos.",email_already_exists:"El correo ya está en uso.",not_found:"No se encontró el recurso solicitado.",operation_not_permitted_error:"La operación no está permitida.",flow_discontinuity_error:"El proceso no se puede continuar debido a la configuración del usuario o del proveedor.",form_data_invalid_error:"Los datos del formulario enviados contienen errores.",unauthorized:"Su sesión ha expirado. Por favor, inicie sesión nuevamente.",value_missing_error:"Falta el valor.",value_too_long_error:"El valor es demasiado largo.",value_too_short_error:"El valor es demasiado corto.",webauthn_credential_invalid_mfa_only:"Esta credencial solo se puede usar como clave de seguridad de segundo factor.",webauthn_credential_already_exists:"La solicitud expiró, se canceló o el dispositivo ya está registrado. Inténtelo de nuevo o intente usar otro dispositivo.",platform_authenticator_required:"Su cuenta está configurada para usar autenticadores de plataforma, pero su dispositivo o navegador actual no admite esta función. Inténtelo de nuevo con un dispositivo o navegador compatible.",third_party_access_denied:"Acceso denegado por el proveedor de terceros. Por favor, inténtelo de nuevo."}},Ui={headlines:{error:"Une erreur s'est produite",loginEmail:"Se connecter ou créer un compte",loginEmailNoSignup:"Se connecter",loginFinished:"Connexion réussie",loginPasscode:"Entrez le code d'accès",loginPassword:"Entrez le mot de passe",registerAuthenticator:"Créer une clé d'accès",registerConfirm:"Créer un compte ?",registerPassword:"Définir un nouveau mot de passe",otpSetUp:"Configurer l'application d'authentification",profileEmails:"Adresses e-mail",profilePassword:"Mot de passe",profilePasskeys:"Clés d'accès",isPrimaryEmail:"Adresse e-mail principale",setPrimaryEmail:"Définir comme e-mail principal",createEmail:"Entrez un nouvel e-mail",createUsername:"Entrez un nouveau nom d'utilisateur",emailVerified:"Vérifié",emailUnverified:"Non vérifié",emailDelete:"Supprimer",renamePasskey:"Renommer la clé d'accès",deletePasskey:"Supprimer la clé d'accès",lastUsedAt:"Dernière utilisation",createdAt:"Créé",connectedAccounts:"Comptes connectés",deleteAccount:"Supprimer le compte",accountNotFound:"Compte introuvable",signIn:"Se connecter",signUp:"Créer un compte",selectLoginMethod:"Sélectionner la méthode de connexion",setupLoginMethod:"Configurer la méthode de connexion",lastUsed:"Vu pour la dernière fois",ipAddress:"Adresse IP",revokeSession:"Révoquer la session",profileSessions:"Sessions",mfaSetUp:"Configurer MFA",securityKeySetUp:"Ajouter une clé de sécurité",securityKeyLogin:"Clé de sécurité",otpLogin:"Code d'authentification",renameSecurityKey:"Renommer la clé de sécurité",deleteSecurityKey:"Supprimer la clé de sécurité",securityKeys:"Clés de sécurité",authenticatorApp:"Application d'authentification",authenticatorAppAlreadySetUp:"L'application d'authentification est configurée",authenticatorAppNotSetUp:"Configurer l'application d'authentification",trustDevice:"Faire confiance à ce navigateur ?"},texts:{enterPasscode:'Entrez le code envoyé à "{emailAddress}".',enterPasscodeNoEmail:"Entrez le code envoyé à votre adresse e-mail principale.",setupPasskey:"Connectez-vous à votre compte facilement et en toute sécurité avec une clé d'accès. Remarque : Vos données biométriques ne sont stockées que sur vos appareils et ne seront jamais partagées avec personne.",createAccount:`Aucun compte n'existe pour "{emailAddress}". Souhaitez-vous créer un nouveau compte ?`,otpEnterVerificationCode:"Entrez le mot de passe à usage unique (OTP) obtenu depuis votre application d'authentification ci-dessous :",otpScanQRCode:"Scannez le code QR avec votre application d'authentification (comme Google Authenticator ou toute autre application TOTP). Vous pouvez également saisir manuellement la clé secrète OTP dans l'application.",otpSecretKey:"Clé secrète OTP",passwordFormatHint:"Doit contenir entre {minLength} et {maxLength} caractères.",securityKeySetUp:"Utilisez une clé de sécurité dédiée via USB, Bluetooth ou NFC, ou votre téléphone mobile. Connectez ou activez votre clé de sécurité, puis cliquez sur le bouton ci-dessous et suivez les instructions pour terminer l'inscription.",setPrimaryEmail:"Définir cette adresse e-mail pour être utilisée pour vous contacter.",isPrimaryEmail:"Cette adresse e-mail sera utilisée pour vous contacter si nécessaire.",emailVerified:"Cette adresse e-mail a été vérifiée.",emailUnverified:"Cette adresse e-mail n'a pas été vérifiée.",emailDelete:"Si vous supprimez cette adresse e-mail, vous ne pourrez plus l'utiliser pour vous connecter.",renamePasskey:"Définir un nom pour la clé d'accès.",deletePasskey:"Supprimer cette clé d'accès de votre compte.",deleteAccount:"Êtes-vous sûr de vouloir supprimer ce compte ? Toutes les données seront supprimées immédiatement et ne pourront pas être récupérées.",noAccountExists:`Aucun compte n'existe pour "{emailAddress}".`,selectLoginMethodForFutureLogins:"Sélectionnez l'une des méthodes de connexion suivantes à utiliser pour les futures connexions.",howDoYouWantToLogin:"Comment souhaitez-vous vous connecter ?",mfaSetUp:"Protégez votre compte avec l'authentification multifacteur (MFA). MFA ajoute une étape supplémentaire à votre processus de connexion, garantissant que même si votre mot de passe ou compte e-mail est compromis, votre compte reste sécurisé.",securityKeyLogin:"Connectez ou activez votre clé de sécurité, puis cliquez sur le bouton ci-dessous. Une fois prêt, utilisez-la via USB, NFC ou votre téléphone mobile. Suivez les instructions pour terminer le processus de connexion.",otpLogin:"Ouvrez votre application d'authentification pour obtenir le mot de passe à usage unique (OTP). Entrez le code dans le champ ci-dessous pour terminer votre connexion.",renameSecurityKey:"Définir un nom pour la clé de sécurité.",deleteSecurityKey:"Supprimer cette clé de sécurité de votre compte.",authenticatorAppAlreadySetUp:"Votre compte est protégé par une application d'authentification qui génère des mots de passe à usage unique basés sur le temps (TOTP) pour l'authentification multifacteur.",authenticatorAppNotSetUp:"Protégez votre compte avec une application d'authentification qui génère des mots de passe à usage unique basés sur le temps (TOTP) pour l'authentification multifacteur.",trustDevice:"Si vous faites confiance à ce navigateur, vous n'aurez pas besoin de saisir votre OTP (mot de passe à usage unique) ou d'utiliser votre clé de sécurité pour l'authentification multifacteur (MFA) la prochaine fois que vous vous connecterez."},labels:{or:"ou",no:"non",yes:"oui",email:"E-mail",continue:"Continuer",copied:"copié",skip:"Ignorer",save:"Enregistrer",password:"Mot de passe",passkey:"Clé d'accès",passcode:"Code d'accès",signInPassword:"Se connecter avec mot de passe",signInPasscode:"Se connecter avec code",forgotYourPassword:"Mot de passe oublié ?",back:"Retour",signInPasskey:"Se connecter avec clé d'accès",registerAuthenticator:"Créer une clé d'accès",signIn:"Se connecter",signUp:"Créer un compte",sendNewPasscode:"Envoyer un nouveau code",passwordRetryAfter:"Réessayer dans {passwordRetryAfter}",passcodeResendAfter:"Demander un nouveau code dans {passcodeResendAfter}",unverifiedEmail:"non vérifié",primaryEmail:"principal",setAsPrimaryEmail:"Définir comme principal",verify:"Vérifier",delete:"Supprimer",newEmailAddress:"Nouvelle adresse e-mail",newPassword:"Nouveau mot de passe",rename:"Renommer",newPasskeyName:"Nouveau nom de clé d'accès",addEmail:"Ajouter un e-mail",createPasskey:"Créer une clé d'accès",webauthnUnsupported:"Les clés d'accès ne sont pas compatibles avec votre navigateur",signInWith:"Se connecter avec {provider}",deleteAccount:"Oui, supprimer ce compte.",emailOrUsername:"E-mail ou nom d'utilisateur",username:"Nom d'utilisateur",optional:"optionnel",dontHaveAnAccount:"Vous n'avez pas de compte ?",alreadyHaveAnAccount:"Vous avez déjà un compte ?",changeUsername:"Changer le nom d'utilisateur",setUsername:"Définir le nom d'utilisateur",changePassword:"Changer le mot de passe",setPassword:"Définir le mot de passe",revoke:"Révoquer",currentSession:"Session actuelle",authenticatorApp:"Application d'authentification",securityKey:"Clé de sécurité",securityKeyUse:"Utiliser la clé de sécurité",newSecurityKeyName:"Nouveau nom de clé de sécurité",createSecurityKey:"Ajouter une clé de sécurité",authenticatorAppManage:"Gérer l'application d'authentification",authenticatorAppAdd:"Configurer",configured:"configuré",useAnotherMethod:"Utiliser une autre méthode",lastUsed:"Dernière utilisation",trustDevice:"Faire confiance à ce navigateur",staySignedIn:"Rester connecté"},errors:{somethingWentWrong:"Une erreur technique s'est produite. Veuillez réessayer plus tard.",requestTimeout:"La demande a expiré.",invalidPassword:"E-mail ou mot de passe incorrect.",invalidPasscode:"Le code fourni n'est pas correct.",passcodeAttemptsReached:"Le code a été saisi incorrectement trop de fois. Veuillez demander un nouveau code.",tooManyRequests:"Trop de demandes ont été effectuées. Veuillez attendre avant de répéter l'opération demandée.",unauthorized:"Votre session a expiré. Veuillez vous reconnecter.",invalidWebauthnCredential:"Cette clé d'accès ne peut plus être utilisée.",passcodeExpired:"Le code a expiré. Veuillez en demander un nouveau.",userVerification:"Une vérification de l'utilisateur est requise. Assurez-vous que votre dispositif d'authentification est protégé par un code PIN ou une biométrie.",emailAddressAlreadyExistsError:"L'adresse e-mail existe déjà.",maxNumOfEmailAddressesReached:"Impossible d'ajouter plus d'adresses e-mail.",thirdPartyAccessDenied:"Accès refusé. La demande a été annulée par l'utilisateur ou le fournisseur a refusé l'accès pour d'autres raisons.",thirdPartyMultipleAccounts:"Impossible d'identifier le compte. L'adresse e-mail est utilisée par plusieurs comptes.",thirdPartyUnverifiedEmail:"Une vérification de l'e-mail est requise. Veuillez vérifier l'adresse e-mail utilisée avec votre fournisseur.",signupDisabled:"L'inscription de comptes est désactivée.",handlerNotFoundError:"L'étape actuelle de votre processus n'est pas compatible avec cette version de l'application. Réessayez plus tard ou contactez le support si le problème persiste."},flowErrors:{technical_error:"Une erreur technique s'est produite. Veuillez réessayer plus tard.",flow_expired_error:"La session a expiré, cliquez sur le bouton pour redémarrer.",value_invalid_error:"La valeur saisie n'est pas valide.",passcode_invalid:"Le code fourni n'est pas correct.",passkey_invalid:"Cette clé d'accès ne peut plus être utilisée.",passcode_max_attempts_reached:"Le code a été saisi incorrectement trop de fois. Veuillez demander un nouveau code.",rate_limit_exceeded:"Trop de demandes ont été effectuées. Veuillez attendre avant de répéter l'opération demandée.",unknown_username_error:"Le nom d'utilisateur est inconnu.",unknown_email_error:"L'adresse e-mail est inconnue.",username_already_exists:"Le nom d'utilisateur est déjà utilisé.",invalid_username_error:"Le nom d'utilisateur ne doit contenir que des lettres, des chiffres et des traits de soulignement.",email_already_exists:"L'e-mail est déjà utilisé.",not_found:"La ressource demandée n'a pas été trouvée.",operation_not_permitted_error:"L'opération n'est pas autorisée.",flow_discontinuity_error:"Le processus ne peut pas continuer en raison de la configuration de l'utilisateur ou du fournisseur.",form_data_invalid_error:"Les données du formulaire soumises contiennent des erreurs.",unauthorized:"Votre session a expiré. Veuillez vous reconnecter.",value_missing_error:"La valeur est manquante.",value_too_long_error:"La valeur est trop longue.",value_too_short_error:"La valeur est trop courte.",webauthn_credential_invalid_mfa_only:"Cette credential ne peut être utilisée que comme clé de sécurité de second facteur.",webauthn_credential_already_exists:"La demande a expiré, a été annulée ou l'appareil est déjà enregistré. Réessayez ou essayez d'utiliser un autre appareil.",platform_authenticator_required:"Votre compte est configuré pour utiliser des authentificateurs de plateforme, mais votre appareil ou navigateur actuel ne prend pas en charge cette fonctionnalité. Réessayez avec un appareil ou navigateur compatible.",third_party_access_denied:"Accès refusé par le fournisseur tiers. Veuillez réessayer."}},Ni={headlines:{error:"Ocorreu um erro",loginEmail:"Entrar ou criar conta",loginEmailNoSignup:"Entrar",loginFinished:"Login bem-sucedido",loginPasscode:"Digite o código de acesso",loginPassword:"Digite a senha",registerAuthenticator:"Criar uma chave de acesso",registerConfirm:"Criar conta?",registerPassword:"Definir nova senha",otpSetUp:"Configurar aplicativo de autenticação",profileEmails:"Endereços de e-mail",profilePassword:"Senha",profilePasskeys:"Chaves de acesso",isPrimaryEmail:"Endereço de e-mail principal",setPrimaryEmail:"Definir e-mail principal",createEmail:"Digite um novo e-mail",createUsername:"Digite um novo nome de usuário",emailVerified:"Verificado",emailUnverified:"Não verificado",emailDelete:"Excluir",renamePasskey:"Renomear chave de acesso",deletePasskey:"Excluir chave de acesso",lastUsedAt:"Último uso",createdAt:"Criado",connectedAccounts:"Contas conectadas",deleteAccount:"Excluir conta",accountNotFound:"Conta não encontrada",signIn:"Entrar",signUp:"Criar conta",selectLoginMethod:"Selecionar método de login",setupLoginMethod:"Configurar método de login",lastUsed:"Visto pela última vez",ipAddress:"Endereço IP",revokeSession:"Revogar sessão",profileSessions:"Sessões",mfaSetUp:"Configurar MFA",securityKeySetUp:"Adicionar chave de segurança",securityKeyLogin:"Chave de segurança",otpLogin:"Código de autenticação",renameSecurityKey:"Renomear chave de segurança",deleteSecurityKey:"Excluir chave de segurança",securityKeys:"Chaves de segurança",authenticatorApp:"Aplicativo de autenticação",authenticatorAppAlreadySetUp:"O aplicativo de autenticação está configurado",authenticatorAppNotSetUp:"Configurar aplicativo de autenticação",trustDevice:"Confiar neste navegador?"},texts:{enterPasscode:'Digite o código enviado para "{emailAddress}".',enterPasscodeNoEmail:"Digite o código enviado para seu endereço de e-mail principal.",setupPasskey:"Faça login na sua conta de forma fácil e segura com uma chave de acesso. Nota: Seus dados biométricos são armazenados apenas em seus dispositivos e nunca serão compartilhados com ninguém.",createAccount:'Não existe uma conta para "{emailAddress}". Deseja criar uma nova conta?',otpEnterVerificationCode:"Digite a senha de uso único (OTP) obtida do seu aplicativo de autenticação abaixo:",otpScanQRCode:"Digitalize o código QR usando seu aplicativo de autenticação (como Google Authenticator ou qualquer outro aplicativo TOTP). Alternativamente, você pode inserir manualmente a chave secreta OTP no aplicativo.",otpSecretKey:"Chave secreta OTP",passwordFormatHint:"Deve ter entre {minLength} e {maxLength} caracteres.",securityKeySetUp:"Use uma chave de segurança dedicada via USB, Bluetooth ou NFC, ou seu telefone celular. Conecte ou ative sua chave de segurança, depois clique no botão abaixo e siga as instruções para concluir o registro.",setPrimaryEmail:"Defina este endereço de e-mail para ser usado para entrar em contato com você.",isPrimaryEmail:"Este endereço de e-mail será usado para entrar em contato com você, se necessário.",emailVerified:"Este endereço de e-mail foi verificado.",emailUnverified:"Este endereço de e-mail não foi verificado.",emailDelete:"Se você excluir este endereço de e-mail, não poderá mais usá-lo para fazer login.",renamePasskey:"Definir um nome para a chave de acesso.",deletePasskey:"Excluir esta chave de acesso da sua conta.",deleteAccount:"Tem certeza de que deseja excluir esta conta? Todos os dados serão excluídos imediatamente e não poderão ser recuperados.",noAccountExists:'Não existe uma conta para "{emailAddress}".',selectLoginMethodForFutureLogins:"Selecione um dos seguintes métodos de login para usar em futuros logins.",howDoYouWantToLogin:"Como você deseja fazer login?",mfaSetUp:"Proteja sua conta com autenticação multifator (MFA). MFA adiciona uma etapa extra ao seu processo de login, garantindo que, mesmo se sua senha ou conta de e-mail for comprometida, sua conta permaneça segura.",securityKeyLogin:"Conecte ou ative sua chave de segurança, depois clique no botão abaixo. Uma vez pronto, use-a via USB, NFC ou seu telefone celular. Siga as instruções para concluir o processo de login.",otpLogin:"Abra seu aplicativo de autenticação para obter a senha de uso único (OTP). Digite o código no campo abaixo para concluir seu login.",renameSecurityKey:"Definir um nome para a chave de segurança.",deleteSecurityKey:"Excluir esta chave de segurança da sua conta.",authenticatorAppAlreadySetUp:"Sua conta está protegida com um aplicativo de autenticação que gera senhas de uso único baseadas em tempo (TOTP) para autenticação multifator.",authenticatorAppNotSetUp:"Proteja sua conta com um aplicativo de autenticação que gera senhas de uso único baseadas em tempo (TOTP) para autenticação multifator.",trustDevice:"Se você confiar neste navegador, não precisará inserir seu OTP (senha de uso único) ou usar sua chave de segurança para autenticação multifator (MFA) na próxima vez que fizer login."},labels:{or:"ou",no:"não",yes:"sim",email:"E-mail",continue:"Continuar",copied:"copiado",skip:"Pular",save:"Salvar",password:"Senha",passkey:"Chave de acesso",passcode:"Código de acesso",signInPassword:"Entrar com senha",signInPasscode:"Entrar com código",forgotYourPassword:"Esqueceu sua senha?",back:"Voltar",signInPasskey:"Entrar com chave de acesso",registerAuthenticator:"Criar uma chave de acesso",signIn:"Entrar",signUp:"Criar conta",sendNewPasscode:"Enviar novo código",passwordRetryAfter:"Tentar novamente em {passwordRetryAfter}",passcodeResendAfter:"Solicitar novo código em {passcodeResendAfter}",unverifiedEmail:"não verificado",primaryEmail:"principal",setAsPrimaryEmail:"Definir como principal",verify:"Verificar",delete:"Excluir",newEmailAddress:"Novo endereço de e-mail",newPassword:"Nova senha",rename:"Renomear",newPasskeyName:"Novo nome de chave de acesso",addEmail:"Adicionar e-mail",createPasskey:"Criar uma chave de acesso",webauthnUnsupported:"As chaves de acesso não são compatíveis com seu navegador",signInWith:"Entrar com {provider}",deleteAccount:"Sim, excluir esta conta.",emailOrUsername:"E-mail ou nome de usuário",username:"Nome de usuário",optional:"opcional",dontHaveAnAccount:"Não tem uma conta?",alreadyHaveAnAccount:"Já tem uma conta?",changeUsername:"Alterar nome de usuário",setUsername:"Definir nome de usuário",changePassword:"Alterar senha",setPassword:"Definir senha",revoke:"Revogar",currentSession:"Sessão atual",authenticatorApp:"Aplicativo de autenticação",securityKey:"Chave de segurança",securityKeyUse:"Usar chave de segurança",newSecurityKeyName:"Novo nome de chave de segurança",createSecurityKey:"Adicionar uma chave de segurança",authenticatorAppManage:"Gerenciar aplicativo de autenticação",authenticatorAppAdd:"Configurar",configured:"configurado",useAnotherMethod:"Usar outro método",lastUsed:"Último uso",trustDevice:"Confiar neste navegador",staySignedIn:"Permanecer conectado"},errors:{somethingWentWrong:"Ocorreu um erro técnico. Por favor, tente novamente mais tarde.",requestTimeout:"A solicitação expirou.",invalidPassword:"E-mail ou senha incorretos.",invalidPasscode:"O código fornecido não está correto.",passcodeAttemptsReached:"O código foi inserido incorretamente muitas vezes. Por favor, solicite um novo código.",tooManyRequests:"Muitas solicitações foram feitas. Por favor, aguarde antes de repetir a operação solicitada.",unauthorized:"Sua sessão expirou. Por favor, faça login novamente.",invalidWebauthnCredential:"Esta chave de acesso não pode mais ser usada.",passcodeExpired:"O código expirou. Por favor, solicite um novo.",userVerification:"É necessária verificação do usuário. Certifique-se de que seu dispositivo de autenticação esteja protegido com um PIN ou biometria.",emailAddressAlreadyExistsError:"O endereço de e-mail já existe.",maxNumOfEmailAddressesReached:"Não é possível adicionar mais endereços de e-mail.",thirdPartyAccessDenied:"Acesso negado. A solicitação foi cancelada pelo usuário ou o provedor negou o acesso por outros motivos.",thirdPartyMultipleAccounts:"Não é possível identificar a conta. O endereço de e-mail é usado por várias contas.",thirdPartyUnverifiedEmail:"É necessária verificação de e-mail. Por favor, verifique o endereço de e-mail usado com seu provedor.",signupDisabled:"O registro de contas está desativado.",handlerNotFoundError:"A etapa atual em seu processo não é compatível com esta versão do aplicativo. Tente novamente mais tarde ou entre em contato com o suporte se o problema persistir."},flowErrors:{technical_error:"Ocorreu um erro técnico. Por favor, tente novamente mais tarde.",flow_expired_error:"A sessão expirou, clique no botão para reiniciar.",value_invalid_error:"O valor inserido não é válido.",passcode_invalid:"O código fornecido não está correto.",passkey_invalid:"Esta chave de acesso não pode mais ser usada.",passcode_max_attempts_reached:"O código foi inserido incorretamente muitas vezes. Por favor, solicite um novo código.",rate_limit_exceeded:"Muitas solicitações foram feitas. Por favor, aguarde antes de repetir a operação solicitada.",unknown_username_error:"O nome de usuário é desconhecido.",unknown_email_error:"O endereço de e-mail é desconhecido.",username_already_exists:"O nome de usuário já está em uso.",invalid_username_error:"O nome de usuário deve conter apenas letras, números e sublinhados.",email_already_exists:"O e-mail já está em uso.",not_found:"O recurso solicitado não foi encontrado.",operation_not_permitted_error:"A operação não é permitida.",flow_discontinuity_error:"O processo não pode continuar devido à configuração do usuário ou do provedor.",form_data_invalid_error:"Os dados do formulário enviados contêm erros.",unauthorized:"Sua sessão expirou. Por favor, faça login novamente.",value_missing_error:"O valor está faltando.",value_too_long_error:"O valor é muito longo.",value_too_short_error:"O valor é muito curto.",webauthn_credential_invalid_mfa_only:"Esta credencial só pode ser usada como chave de segurança de segundo fator.",webauthn_credential_already_exists:"A solicitação expirou, foi cancelada ou o dispositivo já está registrado. Tente novamente ou tente usar outro dispositivo.",platform_authenticator_required:"Sua conta está configurada para usar autenticadores de plataforma, mas seu dispositivo ou navegador atual não suporta esse recurso. Tente novamente com um dispositivo ou navegador compatível.",third_party_access_denied:"Acesso negado pelo provedor de terceiros. Por favor, tente novamente."}},ko={en:{logIn:"Log in",logOut:"Log Out",myHotAccount:"My HOT Account",connectToOsm:"Connect to OSM",connectedToOsm:"Connected to OSM",connectedToOpenStreetMap:"Connected to OpenStreetMap",connectingToOpenStreetMap:"Connecting to OpenStreetMap...",checkingOsmConnection:"Checking OSM connection...",osmRequired:"OSM Required",osmRequiredText:"This endpoint requires OSM connection.",connectOsmAccount:"Connect OSM Account",openAccountMenu:"Open account menu",connectedToOsmAs:"Connected to OSM as",osmConnectionRequired:"OSM connection required"},es:{logIn:"Iniciar sesión",logOut:"Cerrar sesión",myHotAccount:"Mi cuenta HOT",connectToOsm:"Conectar a OSM",connectedToOsm:"Conectado a OSM",connectedToOpenStreetMap:"Conectado a OpenStreetMap",connectingToOpenStreetMap:"Conectando a OpenStreetMap...",checkingOsmConnection:"Verificando conexión OSM...",osmRequired:"OSM Requerido",osmRequiredText:"Este endpoint requiere conexión OSM.",connectOsmAccount:"Conectar cuenta OSM",openAccountMenu:"Abrir menú de cuenta",connectedToOsmAs:"Conectado a OSM como",osmConnectionRequired:"Se requiere conexión OSM"},fr:{logIn:"Se connecter",logOut:"Se déconnecter",myHotAccount:"Mon compte HOT",connectToOsm:"Connecter à OSM",connectedToOsm:"Connecté à OSM",connectedToOpenStreetMap:"Connecté à OpenStreetMap",connectingToOpenStreetMap:"Connexion à OpenStreetMap...",checkingOsmConnection:"Vérification de la connexion OSM...",osmRequired:"OSM requis",osmRequiredText:"Ce point de terminaison nécessite une connexion OSM.",connectOsmAccount:"Connecter le compte OSM",openAccountMenu:"Ouvrir le menu du compte",connectedToOsmAs:"Connecté à OSM en tant que",osmConnectionRequired:"Connexion OSM requise"},pt:{logIn:"Entrar",logOut:"Sair",myHotAccount:"Minha conta HOT",connectToOsm:"Conectar ao OSM",connectedToOsm:"Conectado ao OSM",connectedToOpenStreetMap:"Conectado ao OpenStreetMap",connectingToOpenStreetMap:"Conectando ao OpenStreetMap...",checkingOsmConnection:"Verificando conexão OSM...",osmRequired:"OSM Necessário",osmRequiredText:"Este endpoint requer conexão OSM.",connectOsmAccount:"Conectar conta OSM",openAccountMenu:"Abrir menu da conta",connectedToOsmAs:"Conectado ao OSM como",osmConnectionRequired:"Conexão OSM necessária"}},Mi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-person-vcard'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M5%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204m4-2.5a.5.5%200%200%201%20.5-.5h4a.5.5%200%200%201%200%201h-4a.5.5%200%200%201-.5-.5M9%208a.5.5%200%200%201%20.5-.5h4a.5.5%200%200%201%200%201h-4A.5.5%200%200%201%209%208m1%202.5a.5.5%200%200%201%20.5-.5h3a.5.5%200%200%201%200%201h-3a.5.5%200%200%201-.5-.5'/%3e%3cpath%20d='M2%202a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V4a2%202%200%200%200-2-2zM1%204a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v8a1%201%200%200%201-1%201H8.96q.04-.245.04-.5C9%2010.567%207.21%209%205%209c-2.086%200-3.8%201.398-3.984%203.181A1%201%200%200%201%201%2012z'/%3e%3c/svg%3e",Ri="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-box-arrow-right'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M10%2012.5a.5.5%200%200%201-.5.5h-8a.5.5%200%200%201-.5-.5v-9a.5.5%200%200%201%20.5-.5h8a.5.5%200%200%201%20.5.5v2a.5.5%200%200%200%201%200v-2A1.5%201.5%200%200%200%209.5%202h-8A1.5%201.5%200%200%200%200%203.5v9A1.5%201.5%200%200%200%201.5%2014h8a1.5%201.5%200%200%200%201.5-1.5v-2a.5.5%200%200%200-1%200z'/%3e%3cpath%20fill-rule='evenodd'%20d='M15.854%208.354a.5.5%200%200%200%200-.708l-3-3a.5.5%200%200%200-.708.708L14.293%207.5H5.5a.5.5%200%200%200%200%201h8.793l-2.147%202.146a.5.5%200%200%200%20.708.708z'/%3e%3c/svg%3e",Hi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-map'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M15.817.113A.5.5%200%200%201%2016%20.5v14a.5.5%200%200%201-.402.49l-5%201a.5.5%200%200%201-.196%200L5.5%2015.01l-4.902.98A.5.5%200%200%201%200%2015.5v-14a.5.5%200%200%201%20.402-.49l5-1a.5.5%200%200%201%20.196%200L10.5.99l4.902-.98a.5.5%200%200%201%20.415.103M10%201.91l-4-.8v12.98l4%20.8zm1%2012.98%204-.8V1.11l-4%20.8zm-6-.8V1.11l-4%20.8v12.98z'/%3e%3c/svg%3e",qi="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-person-check'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M12.5%2016a3.5%203.5%200%201%200%200-7%203.5%203.5%200%200%200%200%207m1.679-4.493-1.335%202.226a.75.75%200%200%201-1.174.144l-.774-.773a.5.5%200%200%201%20.708-.708l.547.548%201.17-1.951a.5.5%200%201%201%20.858.514M11%205a3%203%200%201%201-6%200%203%203%200%200%201%206%200M8%207a2%202%200%201%200%200-4%202%202%200%200%200%200%204'/%3e%3cpath%20d='M8.256%2014a4.5%204.5%200%200%201-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484%2010.68%205.711%2010%208%2010q.39%200%20.74.025c.226-.341.496-.65.804-.918Q8.844%209.002%208%209c-5%200-6%203-6%204s1%201%201%201z'/%3e%3c/svg%3e",ys="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-chevron-down'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708'/%3e%3c/svg%3e",bs="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-chevron-up'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M7.646%204.646a.5.5%200%200%201%20.708%200l6%206a.5.5%200%200%201-.708.708L8%205.707l-5.646%205.647a.5.5%200%200%201-.708-.708z'/%3e%3c/svg%3e";var ks=Object.defineProperty,ws=Object.getOwnPropertyDescriptor,de=(o,e,t,n)=>{for(var i=n>1?void 0:n?ws(e,t):e,a=o.length-1,s;a>=0;a--)(s=o[a])&&(i=(n?s(e,t,i):s(i))||i);return n&&i&&ks(e,t,i),i};let zi=!1,Kt=null;async function Ss(o){if(!zi)return Kt||(Kt=(async()=>{console.log("[hanko-auth] Pre-registering Hanko translations...");try{await ji(o,{enablePasskeys:!1,hidePasskeyButtonOnLogin:!0,translations:{en:$i,es:Ti,fr:Ui,pt:Ni},fallbackLanguage:"en"}),zi=!0,console.log("[hanko-auth] Hanko registration complete")}catch(e){throw console.error("[hanko-auth] Hanko registration failed:",e),Kt=null,e}})(),Kt)}const ne={primary:null,user:null,osmConnected:!1,osmData:null,loading:!0,hanko:null,initialized:!1,instances:new Set,profileDisplayName:"",hankoReady:!1},Wi=o=>`hanko-verified-${o}`,Fi=o=>`hanko-onboarding-${o}`;return B.HankoAuth=class extends xt{constructor(){super(...arguments),this.hankoUrlAttr="",this.basePath="",this.authPath="/api/auth/osm",this.osmRequired=!1,this.osmScopes="read_prefs",this.showProfile=!1,this.redirectAfterLogin="",this.autoConnect=!1,this.verifySession=!1,this.redirectAfterLogout="",this.displayNameAttr="",this.mappingCheckUrl="",this.appId="",this.loginUrl="",this.lang="en",this.buttonVariant="plain",this.buttonColor="primary",this.display="default",this.user=null,this.osmConnected=!1,this.osmData=null,this.osmLoading=!1,this.loading=!0,this.error=null,this.hankoReady=!1,this.profileDisplayName="",this.hasAppMapping=!1,this.userProfileLanguage=null,this.isOpen=!1,this.handleOutsideClick=e=>{this.contains(e.target)||this.closeDropdown()},this._trailingSlashCache={},this._debugMode=!1,this._lastSessionId=null,this._hanko=null,this._isPrimary=!1,this._handleVisibilityChange=()=>{this._isPrimary&&!document.hidden&&!this.showProfile&&!this.user&&(this.log("👁️ Page visible, re-checking session..."),this.checkSession())},this._handleWindowFocus=()=>{this._isPrimary&&!this.showProfile&&!this.user&&(this.log("🎯 Window focused, re-checking session..."),this.checkSession())},this._handleExternalLogin=e=>{var n;if(!this._isPrimary)return;const t=e;!this.showProfile&&!this.user&&((n=t.detail)!=null&&n.user)&&(this.log("🔔 External login detected, updating user state..."),this.user=t.detail.user,this._broadcastState(),this.osmRequired&&this.checkOSMConnection())},this._currentHankoAuthElement=null}toggleDropdown(){this.isOpen=!this.isOpen,this.isOpen?setTimeout(()=>{document.addEventListener("click",this.handleOutsideClick)},0):document.removeEventListener("click",this.handleOutsideClick)}closeDropdown(){this.isOpen=!1,document.removeEventListener("click",this.handleOutsideClick)}renderBarDropdownContent(){var e;return we`
|
|
544
539
|
<div class="dropdown-content ${this.isOpen?"open":""}">
|
|
545
540
|
<button data-action="profile" @click=${this.handleDropdownSelect}>
|
|
546
541
|
<img src="${Mi}" class="icon" alt="Account icon" />
|
|
@@ -565,7 +560,7 @@ var HankoAuth=function(B){"use strict";/**
|
|
|
565
560
|
${this.t("logOut")}
|
|
566
561
|
</button>
|
|
567
562
|
</div>
|
|
568
|
-
`}get hankoUrl(){if(this.hankoUrlAttr)return this.hankoUrlAttr;const e=document.querySelector('meta[name="hanko-url"]');if(e){const n=e.getAttribute("content");if(n)return this.log("🔍 hanko-url auto-detected from <meta> tag:",n),n}if(window.HANKO_URL)return this.log("🔍 hanko-url auto-detected from window.HANKO_URL:",window.HANKO_URL),window.HANKO_URL;const t=window.location.origin;return this.log("🔍 hanko-url auto-detected from window.location.origin:",t),t}connectedCallback(){super.connectedCallback(),this._debugMode=this._checkDebugMode(),this.log("🔌 hanko-auth connectedCallback called"),this.injectHotStyles(),ne.instances.add(this),document.addEventListener("visibilitychange",this._handleVisibilityChange),window.addEventListener("focus",this._handleWindowFocus),document.addEventListener("hanko-login",this._handleExternalLogin)}firstUpdated(){this.log("🔌 hanko-auth firstUpdated called"),this.log(" hankoUrl:",this.hankoUrl),this.log(" basePath:",this.basePath),ne.initialized||ne.primary?(this.log("🔄 Using shared state from primary instance"),this._syncFromShared(),this._isPrimary=!1):(this.log("👑 This is the primary instance"),this._isPrimary=!0,ne.primary=this,ne.initialized=!0,this.init())}disconnectedCallback(){if(super.disconnectedCallback(),document.removeEventListener("visibilitychange",this._handleVisibilityChange),window.removeEventListener("focus",this._handleWindowFocus),document.removeEventListener("hanko-login",this._handleExternalLogin),document.removeEventListener("click",this.handleOutsideClick),ne.instances.delete(this),this._isPrimary&&ne.instances.size>0){const e=ne.instances.values().next().value;e&&(this.log("👑 Promoting new primary instance"),e._isPrimary=!0,ne.primary=e)}ne.instances.size===0&&(ne.initialized=!1,ne.primary=null)}_syncFromShared(){this.user!==ne.user&&(this.user=ne.user),this.osmConnected!==ne.osmConnected&&(this.osmConnected=ne.osmConnected),this.osmData!==ne.osmData&&(this.osmData=ne.osmData),this.loading!==ne.loading&&(this.loading=ne.loading),this._hanko!==ne.hanko&&(this._hanko=ne.hanko),this.profileDisplayName!==ne.profileDisplayName&&(this.profileDisplayName=ne.profileDisplayName),this.hankoReady!==ne.hankoReady&&(this.hankoReady=ne.hankoReady)}_broadcastState(){ne.user=this.user,ne.osmConnected=this.osmConnected,ne.osmData=this.osmData,ne.loading=this.loading,ne.profileDisplayName=this.profileDisplayName,ne.hankoReady=this.hankoReady,ne.instances.forEach(e=>{e!==this&&e._syncFromShared()})}_checkDebugMode(){if(new URLSearchParams(window.location.search).get("debug")==="true")return!0;try{return localStorage.getItem("hanko-auth-debug")==="true"}catch{return!1}}log(...e){this._debugMode&&console.log(...e)}t(e){const t=this.user&&this.userProfileLanguage?this.userProfileLanguage:this.lang;return(ko[t]||ko.en)[e]||ko.en[e]||e}warn(...e){console.warn(...e)}logError(...e){console.error(...e)}getBasePath(){return this.basePath?(this.log("🔍 getBasePath() using basePath:",this.basePath),this.basePath):(this.log("🔍 getBasePath() using default: empty string"),"")}addTrailingSlash(e,t){const n=this._trailingSlashCache[t];return n!==void 0&&n&&!e.endsWith("/")?e+"/":e}injectHotStyles(){[{id:"hot-design-system",href:"https://cdn.jsdelivr.net/npm/@hotosm/ui-design@latest/dist/hot.css"},{id:"google-font-archivo",href:"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&display=swap"}].forEach(({id:t,href:n})=>{if(!document.getElementById(t)){const i=document.createElement("link");i.rel="stylesheet",i.href=n,i.id=t,document.head.appendChild(i)}})}async init(){if(!this._isPrimary){this.log("⏭️ Not primary, skipping init...");return}try{this.log("Ensuring Hanko is registered with translations for: en, es, fr, pt"),this.log("Current lang prop:",this.lang),await Ss(this.hankoUrl),this.hankoReady=!0,this._broadcastState();const{Hanko:e}=await Promise.resolve().then(()=>fs),t=window.location.hostname,n=t==="localhost"||t==="127.0.0.1",i=t.split("."),a=i.length>=2?`.${i.slice(-2).join(".")}`:t,s=n?{}:{cookieDomain:a,cookieName:"hanko",cookieSameSite:"lax"};this._hanko=new e(this.hankoUrl,s),ne.hanko=this._hanko,this._hanko.onSessionExpired(()=>{this.log("🕒 Hanko session expired event received"),this.handleSessionExpired()}),this._hanko.onUserLoggedOut(()=>{this.log("🚪 Hanko user logged out event received"),this.handleUserLoggedOut()}),await this.checkSession(),this.user&&(this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName()),this.loading=!1,this._broadcastState(),this.setupEventListeners()}catch(e){this.logError("Failed to initialize hanko-auth:",e),this.error=e.message,this.loading=!1,this._broadcastState()}}async checkSession(){if(this.log("🔍 Checking for existing Hanko session..."),!this._hanko){this.log("⚠️ Hanko instance not initialized yet");return}try{this.log("📡 Checking session validity via cookie...");try{const e=await fetch(`${this.hankoUrl}/sessions/validate`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(e.ok){const t=await e.json();if(t.is_valid===!1){this.log("ℹ️ Session validation returned is_valid:false - no valid session");return}this.log("✅ Valid Hanko session found via cookie"),this.log("📋 Session data:",t);try{const n=await fetch(`${this.hankoUrl}/me`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});let i=!0;if(n.ok){const a=await n.json();this.log("👤 User data retrieved from /me:",a),a.email?(this.user={id:a.user_id||a.id,email:a.email,username:a.username||null,emailVerified:a.email_verified||a.verified||!1},i=!1):this.log("⚠️ /me has no email, will use SDK fallback")}if(i){this.log("🔄 Using SDK to get user with email");const a=await this._hanko.user.getCurrent();this.user={id:a.id,email:a.email,username:a.username,emailVerified:a.email_verified||!1}}}catch(n){this.log("⚠️ Failed to get user data:",n),t.user_id&&(this.user={id:t.user_id,email:t.email||null,username:null,emailVerified:!1})}if(this.user){const n=Wi(window.location.hostname),i=sessionStorage.getItem(n);if(this.verifySession&&this.redirectAfterLogin&&!i){this.log("🔄 verify-session enabled, redirecting to callback for app verification..."),sessionStorage.setItem(n,"true"),window.location.href=this.redirectAfterLogin;return}if(!await this.checkAppMapping())return;this.dispatchEvent(new CustomEvent("hanko-login",{detail:{user:this.user},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("auth-complete",{bubbles:!0,composed:!0})),this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName(),this.osmRequired&&this.autoConnect&&!this.osmConnected&&(this.log("🔄 Auto-connecting to OSM (from existing session)..."),this.handleOSMConnect())}}else this.log("ℹ️ No valid session cookie found - user needs to login")}catch(e){this.log("⚠️ Session validation failed:",e),this.log("ℹ️ No valid session - user needs to login")}}catch(e){this.log("⚠️ Session check error:",e),this.log("ℹ️ No existing session - user needs to login")}finally{this._isPrimary&&this._broadcastState()}}async checkOSMConnection(){if(!this.osmRequired){this.log("⏭️ OSM not required, skipping connection check");return}if(this.osmConnected){this.log("⏭️ Already connected to OSM, skipping check");return}const e=this.loading;e||(this.osmLoading=!0);try{const t=this.getBasePath(),n=this.authPath,a=`${`${t}${n}/status`}`;this.log("🔍 Checking OSM connection at:",a),this.log(" basePath:",t),this.log(" authPath:",n),this.log("🍪 Current cookies:",document.cookie);const s=await fetch(a,{credentials:"include",redirect:"follow"});if(this.log("📡 OSM status response:",s.status),this.log("📡 Final URL after redirects:",s.url),this.log("📡 Response headers:",[...s.headers.entries()]),s.ok){const d=await s.text();this.log("📡 OSM raw response:",d.substring(0,200));let c;try{c=JSON.parse(d)}catch{throw this.logError("Failed to parse OSM response as JSON:",d.substring(0,500)),new Error("Invalid JSON response from OSM status endpoint")}this.log("📡 OSM status data:",c),c.connected?(this.log("✅ OSM is connected:",c.osm_username),this.osmConnected=!0,this.osmData=c,this.dispatchEvent(new CustomEvent("osm-connected",{detail:{osmData:c},bubbles:!0,composed:!0}))):(this.log("❌ OSM is NOT connected"),this.osmConnected=!1,this.osmData=null)}}catch(t){this.logError("OSM connection check failed:",t)}finally{e||(this.osmLoading=!1),this._isPrimary&&this._broadcastState()}}async checkAppMapping(){if(!this.mappingCheckUrl||!this.user)return!0;const e=Fi(window.location.hostname);if(sessionStorage.getItem(e))return this.log("✅ Onboarding already completed this session, skipping check"),this.hasAppMapping=!0,!0;this.log("🔍 Checking app mapping at:",this.mappingCheckUrl);try{const n=await fetch(this.mappingCheckUrl,{credentials:"include"});if(n.ok){const i=await n.json();if(this.log("📡 Mapping check response:",i),i.needs_onboarding){this.log("⚠️ User needs onboarding, redirecting...");const a=encodeURIComponent(window.location.origin),s=this.appId?`onboarding=${this.appId}`:"";return window.location.href=`${this.hankoUrl}/app?${s}&return_to=${a}`,!1}return sessionStorage.setItem(e,"true"),this.hasAppMapping=!0,this.log("✅ User has app mapping, onboarding marked complete"),!0}else if(n.status===401||n.status===403){this.log("⚠️ 401/403 - User needs onboarding, redirecting...");const i=encodeURIComponent(window.location.origin),a=this.appId?`onboarding=${this.appId}`:"";return window.location.href=`${this.hankoUrl}/app?${a}&return_to=${i}`,!1}return this.log("⚠️ Unexpected status from mapping check:",n.status),!0}catch(n){return this.log("⚠️ App mapping check failed:",n),!0}}async fetchProfileDisplayName(){try{const e=`${this.hankoUrl}/api/profile/me`;this.log("👤 Fetching profile from:",e);const t=await fetch(e,{credentials:"include"});if(t.ok){const n=await t.json();this.log("👤 Profile data:",n),(n.first_name||n.last_name)&&(this.profileDisplayName=`${n.first_name||""} ${n.last_name||""}`.trim(),this.log("👤 Display name set to:",this.profileDisplayName)),n.language&&(this.userProfileLanguage=n.language,this.log("🌐 Language set from profile:",this.userProfileLanguage))}}catch(e){this.log("⚠️ Could not fetch profile:",e)}}updated(e){super.updated(e),e.has("user")&&this.user===null&&this.showProfile&&(this.log("🔄 User logged out, re-attaching event listeners..."),this._currentHankoAuthElement=null,this.setupEventListeners())}setupEventListeners(){this.updateComplete.then(()=>{var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("hanko-auth");if(e&&e===this._currentHankoAuthElement){this.log("⏭️ Event listeners already attached to this element");return}e&&(this._currentHankoAuthElement=e,this.log("🎯 Attaching event listeners to hanko-auth element"),e.addEventListener("onSessionCreated",n=>{var a,s;this.log("🎯 Hanko event: onSessionCreated",n.detail);const i=(s=(a=n.detail)==null?void 0:a.claims)==null?void 0:s.session_id;if(i&&this._lastSessionId===i){this.log("⏭️ Skipping duplicate session event");return}this._lastSessionId=i,this.handleHankoSuccess(n)}),e.addEventListener("hankoAuthLogout",()=>this.handleLogout()))})}async handleHankoSuccess(e){var i;if(this.log("Hanko auth success:",e.detail),!this._hanko){this.logError("Hanko instance not initialized");return}let t=!1;try{const a=new AbortController,s=setTimeout(()=>a.abort(),5e3),d=await fetch(`${this.hankoUrl}/me`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"},signal:a.signal});if(clearTimeout(s),d.ok){const c=await d.json();this.log("👤 User data retrieved from /me:",c),c.email?(this.user={id:c.user_id||c.id,email:c.email,username:c.username||null,emailVerified:c.email_verified||c.verified||!1},t=!0):this.log("⚠️ /me has no email, will try SDK fallback")}else this.log("⚠️ /me endpoint returned non-OK status, will try SDK fallback")}catch(a){this.log("⚠️ /me endpoint fetch failed (timeout or cross-origin TLS issue):",a)}if(!t)try{this.log("🔄 Trying SDK fallback for user info...");const a=new Promise((d,c)=>setTimeout(()=>c(new Error("SDK timeout")),5e3)),s=await Promise.race([this._hanko.user.getCurrent(),a]);this.user={id:s.id,email:s.email,username:s.username,emailVerified:s.email_verified||!1},t=!0,this.log("✅ User info retrieved via SDK fallback")}catch(a){this.log("⚠️ SDK fallback failed, trying JWT claims:",a);try{const s=(i=e.detail)==null?void 0:i.claims;if(s!=null&&s.sub)this.user={id:s.sub,email:s.email||null,username:null,emailVerified:s.email_verified||!1},t=!0,this.log("✅ User info extracted from JWT claims");else{this.logError("No user claims available in event"),this.user=null;return}}catch(s){this.logError("Failed to extract user info from claims:",s),this.user=null;return}}if(this.log("✅ User state updated:",this.user),this._isPrimary&&this._broadcastState(),this.dispatchEvent(new CustomEvent("hanko-login",{detail:{user:this.user},bubbles:!0,composed:!0})),this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName(),this.osmRequired&&this.autoConnect&&!this.osmConnected){this.log("🔄 Auto-connecting to OSM..."),this.handleOSMConnect();return}const n=!this.osmRequired||this.osmConnected;this.log("🔄 Checking redirect-after-login:",this.redirectAfterLogin,"showProfile:",this.showProfile,"canRedirect:",n),n?(this.dispatchEvent(new CustomEvent("auth-complete",{bubbles:!0,composed:!0})),this.redirectAfterLogin?(this.log("✅ Redirecting to:",this.redirectAfterLogin),window.location.href=this.redirectAfterLogin):this.log("❌ No redirect (redirectAfterLogin not set)")):this.log("⏸️ Waiting for OSM connection before redirect")}async handleOSMConnect(){const e=this.osmScopes.split(" ").join("+"),t=this.getBasePath(),n=this.authPath,a=`${`${t}${n}/login`}?scopes=${e}`;this.log("🔗 OSM Connect clicked!"),this.log(" basePath:",t),this.log(" authPath:",n),this.log(" Login path:",a),this.log(" Fetching redirect URL from backend...");try{const s=await fetch(a,{method:"GET",credentials:"include",redirect:"manual"});if(this.log(" Response status:",s.status),this.log(" Response type:",s.type),s.status===0||s.type==="opaqueredirect"){const d=s.headers.get("Location")||s.url;this.log(" ✅ Got redirect URL:",d),window.location.href=d}else if(s.status>=300&&s.status<400){const d=s.headers.get("Location");this.log(" ✅ Got redirect URL from header:",d),d&&(window.location.href=d)}else{this.logError(" ❌ Unexpected response:",s.status);const d=await s.text();this.logError(" Response body:",d.substring(0,200))}}catch(s){this.logError(" ❌ Failed to fetch redirect URL:",s)}}async handleLogout(){this.log("🚪 Logout initiated"),this.log("📊 Current state before logout:",{user:this.user,osmConnected:this.osmConnected,osmData:this.osmData}),this.log("🍪 Cookies before logout:",document.cookie);try{const e=this.getBasePath(),t=this.authPath,n=`${e}${t}/disconnect`,i=n.startsWith("http")?n:`${window.location.origin}${n}`;this.log("🔌 Calling OSM disconnect:",i);const a=await fetch(i,{method:"POST",credentials:"include"});this.log("📡 Disconnect response status:",a.status);const s=await a.json();this.log("📡 Disconnect response data:",s),this.log("✅ OSM disconnected")}catch(e){this.logError("❌ OSM disconnect failed:",e)}if(this._hanko)try{await this._hanko.user.logout(),this.log("✅ Hanko logout successful")}catch(e){this.logError("Hanko logout failed:",e)}if(this._clearAuthState(),this.log("✅ Logout complete - component will re-render with updated state"),this.redirectAfterLogout){const e=window.location.href.replace(/\/$/,""),t=this.redirectAfterLogout.replace(/\/$/,"");e!==t&&!e.startsWith(t+"#")?(this.log("🔄 Redirecting after logout to:",this.redirectAfterLogout),window.location.href=this.redirectAfterLogout):this.log("⏭️ Already on logout target, skipping redirect")}}_clearAuthState(){const e=window.location.hostname;document.cookie=`hanko=; path=/; domain=${e}; max-age=0`,document.cookie="hanko=; path=/; max-age=0",document.cookie=`osm_connection=; path=/; domain=${e}; max-age=0`,document.cookie="osm_connection=; path=/; max-age=0",this.log("🍪 Cookies cleared");const t=Wi(e),n=Fi(e);sessionStorage.removeItem(t),sessionStorage.removeItem(n),this.log("🔄 Session flags cleared"),this.user=null,this.osmConnected=!1,this.osmData=null,this.hasAppMapping=!1,this.userProfileLanguage=null,this._isPrimary&&this._broadcastState(),this.dispatchEvent(new CustomEvent("logout",{bubbles:!0,composed:!0}))}async handleSessionExpired(){if(this.log("🕒 Session expired event received"),this.log("📊 Current state:",{user:this.user,osmConnected:this.osmConnected,loading:this.loading}),this.loading){this.log("⏳ Still loading, ignoring session expired event during init");return}if(this.user){this.log("✅ User is logged in, ignoring stale session expired event");return}this.log("🧹 No active user - cleaning up state");try{const e=this.getBasePath(),t=this.authPath,n=`${e}${t}/disconnect`,i=n.startsWith("http")?n:`${window.location.origin}${n}`;this.log("🔌 Calling OSM disconnect (session expired):",i);const a=await fetch(i,{method:"POST",credentials:"include"});this.log("📡 Disconnect response status:",a.status);const s=await a.json();this.log("📡 Disconnect response data:",s),this.log("✅ OSM disconnected")}catch(e){this.logError("❌ OSM disconnect failed:",e)}if(this._clearAuthState(),this.log("✅ Session cleanup complete"),this.redirectAfterLogout){const e=window.location.href.replace(/\/$/,""),t=this.redirectAfterLogout.replace(/\/$/,"");e!==t&&!e.startsWith(t+"#")?(this.log("🔄 Redirecting after session expired to:",this.redirectAfterLogout),window.location.href=this.redirectAfterLogout):this.log("⏭️ Already on logout target, skipping redirect")}}handleUserLoggedOut(){this.log("🚪 User logged out in another window/tab"),this.handleSessionExpired()}handleDropdownSelect(e){const n=e.currentTarget.dataset.action;if(this.log("🎯 Dropdown item selected:",n),n==="profile"){const i=this.hankoUrl,a=this.redirectAfterLogin||window.location.origin;window.location.href=`${i}/app/profile?return_to=${encodeURIComponent(a)}`}else if(n==="connect-osm"){const s=window.location.pathname.includes("/app")?window.location.origin:window.location.href,d=this.hankoUrl;window.location.href=`${d}/app?return_to=${encodeURIComponent(s)}&osm_required=true`}else n==="logout"&&this.handleLogout();this.closeDropdown()}oldHandleDropdownSelect(e){const t=e.detail.item.value;if(this.log("🎯 Dropdown item selected:",t),t==="profile"){const n=this.redirectAfterLogin||window.location.origin,i=this.loginUrl?`${this.loginUrl}/profile`:`${this.hankoUrl}/app/profile`;window.location.href=`${i}?return_to=${encodeURIComponent(n)}`}else if(t==="connect-osm"){const a=window.location.pathname.includes("/app")?window.location.origin:window.location.href,s=this.hankoUrl;window.location.href=`${s}/app?return_to=${encodeURIComponent(a)}&osm_required=true`}else t==="logout"&&this.handleLogout()}handleSkipOSM(){this.dispatchEvent(new CustomEvent("osm-skipped")),this.dispatchEvent(new CustomEvent("auth-complete")),this.redirectAfterLogin&&(window.location.href=this.redirectAfterLogin)}render(){var e,t,n;if(this.log("🎨 RENDER - showProfile:",this.showProfile,"user:",!!this.user,"loading:",this.loading,"lang:",this.lang),this.loading)return we`<span class="loading-placeholder"
|
|
563
|
+
`}get hankoUrl(){if(this.hankoUrlAttr)return this.hankoUrlAttr;const e=document.querySelector('meta[name="hanko-url"]');if(e){const n=e.getAttribute("content");if(n)return this.log("🔍 hanko-url auto-detected from <meta> tag:",n),n}if(window.HANKO_URL)return this.log("🔍 hanko-url auto-detected from window.HANKO_URL:",window.HANKO_URL),window.HANKO_URL;const t=window.location.origin;return this.log("🔍 hanko-url auto-detected from window.location.origin:",t),t}connectedCallback(){super.connectedCallback(),this._debugMode=this._checkDebugMode(),this.log("🔌 hanko-auth connectedCallback called"),this.injectHotStyles(),ne.instances.add(this),document.addEventListener("visibilitychange",this._handleVisibilityChange),window.addEventListener("focus",this._handleWindowFocus),document.addEventListener("hanko-login",this._handleExternalLogin)}firstUpdated(){this.log("🔌 hanko-auth firstUpdated called"),this.log(" hankoUrl:",this.hankoUrl),this.log(" basePath:",this.basePath),ne.initialized||ne.primary?(this.log("🔄 Using shared state from primary instance"),this._syncFromShared(),this._isPrimary=!1):(this.log("👑 This is the primary instance"),this._isPrimary=!0,ne.primary=this,ne.initialized=!0,this.init())}disconnectedCallback(){if(super.disconnectedCallback(),document.removeEventListener("visibilitychange",this._handleVisibilityChange),window.removeEventListener("focus",this._handleWindowFocus),document.removeEventListener("hanko-login",this._handleExternalLogin),document.removeEventListener("click",this.handleOutsideClick),ne.instances.delete(this),this._isPrimary&&ne.instances.size>0){const e=ne.instances.values().next().value;e&&(this.log("👑 Promoting new primary instance"),e._isPrimary=!0,ne.primary=e)}ne.instances.size===0&&(ne.initialized=!1,ne.primary=null)}_syncFromShared(){this.user!==ne.user&&(this.user=ne.user),this.osmConnected!==ne.osmConnected&&(this.osmConnected=ne.osmConnected),this.osmData!==ne.osmData&&(this.osmData=ne.osmData),this.loading!==ne.loading&&(this.loading=ne.loading),this._hanko!==ne.hanko&&(this._hanko=ne.hanko),this.profileDisplayName!==ne.profileDisplayName&&(this.profileDisplayName=ne.profileDisplayName),this.hankoReady!==ne.hankoReady&&(this.hankoReady=ne.hankoReady)}_broadcastState(){ne.user=this.user,ne.osmConnected=this.osmConnected,ne.osmData=this.osmData,ne.loading=this.loading,ne.profileDisplayName=this.profileDisplayName,ne.hankoReady=this.hankoReady,ne.instances.forEach(e=>{e!==this&&e._syncFromShared()})}_checkDebugMode(){if(new URLSearchParams(window.location.search).get("debug")==="true")return!0;try{return localStorage.getItem("hanko-auth-debug")==="true"}catch{return!1}}log(...e){this._debugMode&&console.log(...e)}t(e){const t=this.user&&this.userProfileLanguage?this.userProfileLanguage:this.lang;return(ko[t]||ko.en)[e]||ko.en[e]||e}warn(...e){console.warn(...e)}logError(...e){console.error(...e)}getBasePath(){return this.basePath?(this.log("🔍 getBasePath() using basePath:",this.basePath),this.basePath):(this.log("🔍 getBasePath() using default: empty string"),"")}addTrailingSlash(e,t){const n=this._trailingSlashCache[t];return n!==void 0&&n&&!e.endsWith("/")?e+"/":e}injectHotStyles(){[{id:"hot-design-system",href:"https://cdn.jsdelivr.net/npm/@hotosm/ui-design@latest/dist/hot.css"},{id:"google-font-archivo",href:"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&display=swap"}].forEach(({id:t,href:n})=>{if(!document.getElementById(t)){const i=document.createElement("link");i.rel="stylesheet",i.href=n,i.id=t,document.head.appendChild(i)}})}async init(){if(!this._isPrimary){this.log("⏭️ Not primary, skipping init...");return}try{this.log("Ensuring Hanko is registered with translations for: en, es, fr, pt"),this.log("Current lang prop:",this.lang),await Ss(this.hankoUrl),this.hankoReady=!0,this._broadcastState();const{Hanko:e}=await Promise.resolve().then(()=>fs),t=window.location.hostname,n=t==="localhost"||t==="127.0.0.1",i=t.split("."),a=i.length>=2?`.${i.slice(-2).join(".")}`:t,s=n?{}:{cookieDomain:a,cookieName:"hanko",cookieSameSite:"lax"};this._hanko=new e(this.hankoUrl,s),ne.hanko=this._hanko,this._hanko.onSessionExpired(()=>{this.log("🕒 Hanko session expired event received"),this.handleSessionExpired()}),this._hanko.onUserLoggedOut(()=>{this.log("🚪 Hanko user logged out event received"),this.handleUserLoggedOut()}),await this.checkSession(),this.user&&(this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName()),await new Promise(d=>setTimeout(d,3e3)),this.loading=!1,this._broadcastState(),this.setupEventListeners()}catch(e){this.logError("Failed to initialize hanko-auth:",e),this.error=e.message,this.loading=!1,this._broadcastState()}}async checkSession(){if(this.log("🔍 Checking for existing Hanko session..."),!this._hanko){this.log("⚠️ Hanko instance not initialized yet");return}try{this.log("📡 Checking session validity via cookie...");try{const e=await fetch(`${this.hankoUrl}/sessions/validate`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(e.ok){const t=await e.json();if(t.is_valid===!1){this.log("ℹ️ Session validation returned is_valid:false - no valid session");return}this.log("✅ Valid Hanko session found via cookie"),this.log("📋 Session data:",t);try{const n=await fetch(`${this.hankoUrl}/me`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});let i=!0;if(n.ok){const a=await n.json();this.log("👤 User data retrieved from /me:",a),a.email?(this.user={id:a.user_id||a.id,email:a.email,username:a.username||null,emailVerified:a.email_verified||a.verified||!1},i=!1):this.log("⚠️ /me has no email, will use SDK fallback")}if(i){this.log("🔄 Using SDK to get user with email");const a=await this._hanko.user.getCurrent();this.user={id:a.id,email:a.email,username:a.username,emailVerified:a.email_verified||!1}}}catch(n){this.log("⚠️ Failed to get user data:",n),t.user_id&&(this.user={id:t.user_id,email:t.email||null,username:null,emailVerified:!1})}if(this.user){const n=Wi(window.location.hostname),i=sessionStorage.getItem(n);if(this.verifySession&&this.redirectAfterLogin&&!i){this.log("🔄 verify-session enabled, redirecting to callback for app verification..."),sessionStorage.setItem(n,"true"),window.location.href=this.redirectAfterLogin;return}if(!await this.checkAppMapping())return;this.dispatchEvent(new CustomEvent("hanko-login",{detail:{user:this.user},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("auth-complete",{bubbles:!0,composed:!0})),this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName(),this.osmRequired&&this.autoConnect&&!this.osmConnected&&(this.log("🔄 Auto-connecting to OSM (from existing session)..."),this.handleOSMConnect())}}else this.log("ℹ️ No valid session cookie found - user needs to login")}catch(e){this.log("⚠️ Session validation failed:",e),this.log("ℹ️ No valid session - user needs to login")}}catch(e){this.log("⚠️ Session check error:",e),this.log("ℹ️ No existing session - user needs to login")}finally{this._isPrimary&&this._broadcastState()}}async checkOSMConnection(){if(!this.osmRequired){this.log("⏭️ OSM not required, skipping connection check");return}if(this.osmConnected){this.log("⏭️ Already connected to OSM, skipping check");return}const e=this.loading;e||(this.osmLoading=!0);try{const t=this.getBasePath(),n=this.authPath,a=`${`${t}${n}/status`}`;this.log("🔍 Checking OSM connection at:",a),this.log(" basePath:",t),this.log(" authPath:",n),this.log("🍪 Current cookies:",document.cookie);const s=await fetch(a,{credentials:"include",redirect:"follow"});if(this.log("📡 OSM status response:",s.status),this.log("📡 Final URL after redirects:",s.url),this.log("📡 Response headers:",[...s.headers.entries()]),s.ok){const d=await s.text();this.log("📡 OSM raw response:",d.substring(0,200));let c;try{c=JSON.parse(d)}catch{throw this.logError("Failed to parse OSM response as JSON:",d.substring(0,500)),new Error("Invalid JSON response from OSM status endpoint")}this.log("📡 OSM status data:",c),c.connected?(this.log("✅ OSM is connected:",c.osm_username),this.osmConnected=!0,this.osmData=c,this.dispatchEvent(new CustomEvent("osm-connected",{detail:{osmData:c},bubbles:!0,composed:!0}))):(this.log("❌ OSM is NOT connected"),this.osmConnected=!1,this.osmData=null)}}catch(t){this.logError("OSM connection check failed:",t)}finally{e||(this.osmLoading=!1),this._isPrimary&&this._broadcastState()}}async checkAppMapping(){if(!this.mappingCheckUrl||!this.user)return!0;const e=Fi(window.location.hostname);if(sessionStorage.getItem(e))return this.log("✅ Onboarding already completed this session, skipping check"),this.hasAppMapping=!0,!0;this.log("🔍 Checking app mapping at:",this.mappingCheckUrl);try{const n=await fetch(this.mappingCheckUrl,{credentials:"include"});if(n.ok){const i=await n.json();if(this.log("📡 Mapping check response:",i),i.needs_onboarding){this.log("⚠️ User needs onboarding, redirecting...");const a=encodeURIComponent(window.location.origin),s=this.appId?`onboarding=${this.appId}`:"";return window.location.href=`${this.hankoUrl}/app?${s}&return_to=${a}`,!1}return sessionStorage.setItem(e,"true"),this.hasAppMapping=!0,this.log("✅ User has app mapping, onboarding marked complete"),!0}else if(n.status===401||n.status===403){this.log("⚠️ 401/403 - User needs onboarding, redirecting...");const i=encodeURIComponent(window.location.origin),a=this.appId?`onboarding=${this.appId}`:"";return window.location.href=`${this.hankoUrl}/app?${a}&return_to=${i}`,!1}return this.log("⚠️ Unexpected status from mapping check:",n.status),!0}catch(n){return this.log("⚠️ App mapping check failed:",n),!0}}async fetchProfileDisplayName(){try{const e=`${this.hankoUrl}/api/profile/me`;this.log("👤 Fetching profile from:",e);const t=await fetch(e,{credentials:"include"});if(t.ok){const n=await t.json();this.log("👤 Profile data:",n),(n.first_name||n.last_name)&&(this.profileDisplayName=`${n.first_name||""} ${n.last_name||""}`.trim(),this.log("👤 Display name set to:",this.profileDisplayName)),n.language&&(this.userProfileLanguage=n.language,this.log("🌐 Language set from profile:",this.userProfileLanguage))}}catch(e){this.log("⚠️ Could not fetch profile:",e)}}updated(e){super.updated(e),e.has("user")&&this.user===null&&this.showProfile&&(this.log("🔄 User logged out, re-attaching event listeners..."),this._currentHankoAuthElement=null,this.setupEventListeners())}setupEventListeners(){this.updateComplete.then(()=>{var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("hanko-auth");if(e&&e===this._currentHankoAuthElement){this.log("⏭️ Event listeners already attached to this element");return}e&&(this._currentHankoAuthElement=e,this.log("🎯 Attaching event listeners to hanko-auth element"),e.addEventListener("onSessionCreated",n=>{var a,s;this.log("🎯 Hanko event: onSessionCreated",n.detail);const i=(s=(a=n.detail)==null?void 0:a.claims)==null?void 0:s.session_id;if(i&&this._lastSessionId===i){this.log("⏭️ Skipping duplicate session event");return}this._lastSessionId=i,this.handleHankoSuccess(n)}),e.addEventListener("hankoAuthLogout",()=>this.handleLogout()))})}async handleHankoSuccess(e){var i;if(this.log("Hanko auth success:",e.detail),!this._hanko){this.logError("Hanko instance not initialized");return}let t=!1;try{const a=new AbortController,s=setTimeout(()=>a.abort(),5e3),d=await fetch(`${this.hankoUrl}/me`,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"},signal:a.signal});if(clearTimeout(s),d.ok){const c=await d.json();this.log("👤 User data retrieved from /me:",c),c.email?(this.user={id:c.user_id||c.id,email:c.email,username:c.username||null,emailVerified:c.email_verified||c.verified||!1},t=!0):this.log("⚠️ /me has no email, will try SDK fallback")}else this.log("⚠️ /me endpoint returned non-OK status, will try SDK fallback")}catch(a){this.log("⚠️ /me endpoint fetch failed (timeout or cross-origin TLS issue):",a)}if(!t)try{this.log("🔄 Trying SDK fallback for user info...");const a=new Promise((d,c)=>setTimeout(()=>c(new Error("SDK timeout")),5e3)),s=await Promise.race([this._hanko.user.getCurrent(),a]);this.user={id:s.id,email:s.email,username:s.username,emailVerified:s.email_verified||!1},t=!0,this.log("✅ User info retrieved via SDK fallback")}catch(a){this.log("⚠️ SDK fallback failed, trying JWT claims:",a);try{const s=(i=e.detail)==null?void 0:i.claims;if(s!=null&&s.sub)this.user={id:s.sub,email:s.email||null,username:null,emailVerified:s.email_verified||!1},t=!0,this.log("✅ User info extracted from JWT claims");else{this.logError("No user claims available in event"),this.user=null;return}}catch(s){this.logError("Failed to extract user info from claims:",s),this.user=null;return}}if(this.log("✅ User state updated:",this.user),this._isPrimary&&this._broadcastState(),this.dispatchEvent(new CustomEvent("hanko-login",{detail:{user:this.user},bubbles:!0,composed:!0})),this.osmRequired&&await this.checkOSMConnection(),await this.fetchProfileDisplayName(),this.osmRequired&&this.autoConnect&&!this.osmConnected){this.log("🔄 Auto-connecting to OSM..."),this.handleOSMConnect();return}const n=!this.osmRequired||this.osmConnected;this.log("🔄 Checking redirect-after-login:",this.redirectAfterLogin,"showProfile:",this.showProfile,"canRedirect:",n),n?(this.dispatchEvent(new CustomEvent("auth-complete",{bubbles:!0,composed:!0})),this.redirectAfterLogin?(this.log("✅ Redirecting to:",this.redirectAfterLogin),window.location.href=this.redirectAfterLogin):this.log("❌ No redirect (redirectAfterLogin not set)")):this.log("⏸️ Waiting for OSM connection before redirect")}async handleOSMConnect(){const e=this.osmScopes.split(" ").join("+"),t=this.getBasePath(),n=this.authPath,a=`${`${t}${n}/login`}?scopes=${e}`;this.log("🔗 OSM Connect clicked!"),this.log(" basePath:",t),this.log(" authPath:",n),this.log(" Login path:",a),this.log(" Fetching redirect URL from backend...");try{const s=await fetch(a,{method:"GET",credentials:"include",redirect:"manual"});if(this.log(" Response status:",s.status),this.log(" Response type:",s.type),s.status===0||s.type==="opaqueredirect"){const d=s.headers.get("Location")||s.url;this.log(" ✅ Got redirect URL:",d),window.location.href=d}else if(s.status>=300&&s.status<400){const d=s.headers.get("Location");this.log(" ✅ Got redirect URL from header:",d),d&&(window.location.href=d)}else{this.logError(" ❌ Unexpected response:",s.status);const d=await s.text();this.logError(" Response body:",d.substring(0,200))}}catch(s){this.logError(" ❌ Failed to fetch redirect URL:",s)}}async handleLogout(){this.log("🚪 Logout initiated"),this.log("📊 Current state before logout:",{user:this.user,osmConnected:this.osmConnected,osmData:this.osmData}),this.log("🍪 Cookies before logout:",document.cookie);try{const e=this.getBasePath(),t=this.authPath,n=`${e}${t}/disconnect`,i=n.startsWith("http")?n:`${window.location.origin}${n}`;this.log("🔌 Calling OSM disconnect:",i);const a=await fetch(i,{method:"POST",credentials:"include"});this.log("📡 Disconnect response status:",a.status);const s=await a.json();this.log("📡 Disconnect response data:",s),this.log("✅ OSM disconnected")}catch(e){this.logError("❌ OSM disconnect failed:",e)}if(this._hanko)try{await this._hanko.user.logout(),this.log("✅ Hanko logout successful")}catch(e){this.logError("Hanko logout failed:",e)}if(this._clearAuthState(),this.log("✅ Logout complete - component will re-render with updated state"),this.redirectAfterLogout){const e=window.location.href.replace(/\/$/,""),t=this.redirectAfterLogout.replace(/\/$/,"");e!==t&&!e.startsWith(t+"#")?(this.log("🔄 Redirecting after logout to:",this.redirectAfterLogout),window.location.href=this.redirectAfterLogout):this.log("⏭️ Already on logout target, skipping redirect")}}_clearAuthState(){const e=window.location.hostname;document.cookie=`hanko=; path=/; domain=${e}; max-age=0`,document.cookie="hanko=; path=/; max-age=0",document.cookie=`osm_connection=; path=/; domain=${e}; max-age=0`,document.cookie="osm_connection=; path=/; max-age=0",this.log("🍪 Cookies cleared");const t=Wi(e),n=Fi(e);sessionStorage.removeItem(t),sessionStorage.removeItem(n),this.log("🔄 Session flags cleared"),this.user=null,this.osmConnected=!1,this.osmData=null,this.hasAppMapping=!1,this.userProfileLanguage=null,this._isPrimary&&this._broadcastState(),this.dispatchEvent(new CustomEvent("logout",{bubbles:!0,composed:!0}))}async handleSessionExpired(){if(this.log("🕒 Session expired event received"),this.log("📊 Current state:",{user:this.user,osmConnected:this.osmConnected,loading:this.loading}),this.loading){this.log("⏳ Still loading, ignoring session expired event during init");return}if(this.user){this.log("✅ User is logged in, ignoring stale session expired event");return}this.log("🧹 No active user - cleaning up state");try{const e=this.getBasePath(),t=this.authPath,n=`${e}${t}/disconnect`,i=n.startsWith("http")?n:`${window.location.origin}${n}`;this.log("🔌 Calling OSM disconnect (session expired):",i);const a=await fetch(i,{method:"POST",credentials:"include"});this.log("📡 Disconnect response status:",a.status);const s=await a.json();this.log("📡 Disconnect response data:",s),this.log("✅ OSM disconnected")}catch(e){this.logError("❌ OSM disconnect failed:",e)}if(this._clearAuthState(),this.log("✅ Session cleanup complete"),this.redirectAfterLogout){const e=window.location.href.replace(/\/$/,""),t=this.redirectAfterLogout.replace(/\/$/,"");e!==t&&!e.startsWith(t+"#")?(this.log("🔄 Redirecting after session expired to:",this.redirectAfterLogout),window.location.href=this.redirectAfterLogout):this.log("⏭️ Already on logout target, skipping redirect")}}handleUserLoggedOut(){this.log("🚪 User logged out in another window/tab"),this.handleSessionExpired()}handleDropdownSelect(e){const n=e.currentTarget.dataset.action;if(this.log("🎯 Dropdown item selected:",n),n==="profile"){const i=this.hankoUrl,a=this.redirectAfterLogin||window.location.origin;window.location.href=`${i}/app/profile?return_to=${encodeURIComponent(a)}`}else if(n==="connect-osm"){const s=window.location.pathname.includes("/app")?window.location.origin:window.location.href,d=this.hankoUrl;window.location.href=`${d}/app?return_to=${encodeURIComponent(s)}&osm_required=true`}else n==="logout"&&this.handleLogout();this.closeDropdown()}oldHandleDropdownSelect(e){const t=e.detail.item.value;if(this.log("🎯 Dropdown item selected:",t),t==="profile"){const n=this.redirectAfterLogin||window.location.origin,i=this.loginUrl?`${this.loginUrl}/profile`:`${this.hankoUrl}/app/profile`;window.location.href=`${i}?return_to=${encodeURIComponent(n)}`}else if(t==="connect-osm"){const a=window.location.pathname.includes("/app")?window.location.origin:window.location.href,s=this.hankoUrl;window.location.href=`${s}/app?return_to=${encodeURIComponent(a)}&osm_required=true`}else t==="logout"&&this.handleLogout()}handleSkipOSM(){this.dispatchEvent(new CustomEvent("osm-skipped")),this.dispatchEvent(new CustomEvent("auth-complete")),this.redirectAfterLogin&&(window.location.href=this.redirectAfterLogin)}render(){var e,t,n;if(this.log("🎨 RENDER - showProfile:",this.showProfile,"user:",!!this.user,"loading:",this.loading,"lang:",this.lang),this.loading)return we`<span class="loading-placeholder"
|
|
569
564
|
><span class="loading-placeholder-text">${this.t("logIn")}</span
|
|
570
565
|
><span class="spinner-small"></span
|
|
571
566
|
></span>`;if(this.error)return we`
|