1import{c as it,dc as ye,r as D,dd as we,j as c,e as y,d as me,W as at,B as U,a9 as ge,a as nt,f as rt,b as xe,g as ot,t as Ne,de as Ke,df as Te,dg as lt,u as ct,aJ as ut,dh as dt,L as ht,ab as pt,I as ft,bd as He,a4 as mt}from"./index-CwxMVMRT.js";import{C as gt}from"./currency-selector-C011-O0J.js";import{A as xt}from"./app-sidebar-CJt3u5pf.js";import{S as bt,a as yt}from"./site-footer-_tNJ7heP.js";import{D as vt}from"./display-price-BIwJO-Cq.js";import{A as jt,a as kt,b as St}from"./avatar-B2H9AONv.js";import{l as Ue,u as wt,s as Nt}from"./saved-therapists-fns-DweEugAI.js";import{B as Ce}from"./badge-check-Bc9b0sWD.js";import{D as Tt,a as Ct,c as Lt,d as Pt}from"./dialog-Bpj0nkNK.js";import{M as ie}from"./multi-select-DXkE1miu.js";import{S as ae,a as ne,c as re,d as P}from"./select-DWhzLJj1.js";import{S as Rt,a as Ot,c as At,b as Et,e as Ft}from"./sheet-B0Gnrlr4.js";import"./house-Do68sJWA.js";import"./layout-grid-BUm7k4CW.js";import"./message-square-Dp3fBNP0.js";import"./clipboard-list-CLIXlPx-.js";import"./wallet-BCdarV8x.js";import"./settings-Bgkh9Xa-.js";import"./circle-question-mark-3QZ4hByo.js";import"./log-out-DJO6lsiN.js";import"./index-BgZ7m37V.js";import"./index-Zk4zHy47.js";import"./index-Bczlwmic.js";import"./index-lPSdjre6.js";import"./index-C7kixZs2.js";import"./chevron-right-CvyMgCBR.js";import"./circle-DUn8HCU0.js";const $t=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],Dt=it("sliders-horizontal",$t),g=a=>typeof a=="string",J=()=>{let a,e;const t=new Promise((s,i)=>{a=s,e=i});return t.resolve=a,t.reject=e,t},de=a=>a==null?"":String(a),Mt=(a,e,t)=>{a.forEach(s=>{e[s]&&(t[s]=e[s])})},It=/###/g,Le=a=>a&&a.includes("###")?a.replace(It,"."):a,Pe=a=>!a||g(a),Z=(a,e,t)=>{const s=g(e)?e.split("."):e;let i=0;for(;i<s.length-1;){if(Pe(a))return{};const n=Le(s[i]);!a[n]&&t&&(a[n]=new t),Object.prototype.hasOwnProperty.call(a,n)?a=a[n]:a={},++i}return Pe(a)?{}:{obj:a,k:Le(s[i])}},Re=(a,e,t)=>{const{obj:s,k:i}=Z(a,e,Object);if(s!==void 0||e.length===1){s[i]=t;return}let n=e[e.length-1],l=e.slice(0,e.length-1),o=Z(a,l,Object);for(;o.obj===void 0&&l.length;)n=`${l[l.length-1]}.${n}`,l=l.slice(0,l.length-1),o=Z(a,l,Object),o?.obj&&typeof o.obj[`${o.k}.${n}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${n}`]=t},Vt=(a,e,t,s)=>{const{obj:i,k:n}=Z(a,e,Object);i[n]=i[n]||[],i[n].push(t)},oe=(a,e)=>{const{obj:t,k:s}=Z(a,e);if(t&&Object.prototype.hasOwnProperty.call(t,s))return t[s]},_t=(a,e,t)=>{const s=oe(a,t);return s!==void 0?s:oe(e,t)},ze=(a,e,t)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(Object.prototype.hasOwnProperty.call(a,s)?g(a[s])||a[s]instanceof String||g(e[s])||e[s]instanceof String?t&&(a[s]=e[s]):ze(a[s],e[s],t):a[s]=e[s]);return a},V=a=>a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),Bt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},Kt=a=>g(a)?a.replace(/[&<>"'\/]/g,e=>Bt[e]):a;class Ht{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const Ut=[" ",",","?","!",";"],zt=new Ht(20),qt=(a,e,t)=>{e=e||"",t=t||"";const s=Ut.filter(l=>!e.includes(l)&&!t.includes(l));if(s.length===0)return!0;const i=zt.getRegExp(`(${s.map(l=>l==="?"?"\\?":l).join("|")})`);let n=!i.test(a);if(!n){const l=a.indexOf(t);l>0&&!i.test(a.substring(0,l))&&(n=!0)}return n},be=(a,e,t=".")=>{if(!a)return;if(a[e])return Object.prototype.hasOwnProperty.call(a,e)?a[e]:void 0;const s=e.split(t);let i=a;for(let n=0;n<s.length;){if(!i||typeof i!="object")return;let l,o="";for(let r=n;r<s.length;++r)if(r!==n&&(o+=t),o+=s[r],l=i[o],l!==void 0){if(["string","number","boolean"].includes(typeof l)&&r<s.length-1)continue;n+=r-n+1;break}i=l}return i},ee=a=>a?.replace(/_/g,"-"),Qt={type:"logger",log(a){this.output("log",a)},warn(a){this.output("warn",a)},error(a){this.output("error",a)},output(a,e){console?.[a]?.apply?.(console,e)}};class le{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||Qt,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,i){return i&&!this.debug?null:(e=e.map(n=>
1g(n)?n.replace(/[\r\n\x00-\x1F\x7F]/g," "):n),g(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new le(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new le(this.logger,e)}}var $=new le;class ue{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const i=this.observers[s].get(t)||0;this.observers[s].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){const s=(...i)=>{t(...i),this.off(e,s)};return this.on(e,s),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,n])=>{for(let l=0;l<n;l++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,n])=>{for(let l=0;l<n;l++)i(e,...t)})}}class Oe extends ue{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s,i={}){const n=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,l=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.includes(".")?o=e.split("."):(o=[e,t],s&&(Array.isArray(s)?o.push(...s):g(s)&&n?o.push(...s.split(n)):o.push(s)));const r=oe(this.data,o);return!r&&!t&&!s&&e.includes(".")&&(e=o[0],t=o[1],s=o.slice(2).join(".")),r||!l||!g(s)?r:be(this.data?.[e]?.[t],s,n)}addResource(e,t,s,i,n={silent:!1}){const l=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=[e,t];s&&(o=o.concat(l?s.split(l):s)),e.includes(".")&&(o=e.split("."),i=t,t=o[1]),this.addNamespaces(t),Re(this.data,o,i),n.silent||this.emit("added",e,t,s,i)}addResources(e,t,s,i={silent:!1}){for(const n in s)(g(s[n])||Array.isArray(s[n]))&&this.addResource(e,t,n,s[n],{silent:!0});i.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,n,l={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(".")&&(o=e.split("."),i=s,s=t,t=o[1]),this.addNamespaces(t);let r=oe(this.data,o)||{};l.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?ze(r,s,n):r={...r,...s},Re(this.data,o,r),l.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}}var qe={processors:{},addPostProcessor(a){this.processors[a.name]=a},handle(a,e,t,s,i){return a.forEach(n=>{e=this.processors[n]?.process(e,t,s,i)??e}),e}};const Qe=Symbol("i18next/PATH_KEY");function Wt(){const a=[],e=Object.create(null);let t;return e.get=(s,i)=>(t?.revoke?.(),i===Qe?a:(a.push(i),t=Proxy.revocable(s,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function q(a,e){const{[Qe]:t}=a(Wt()),s=e?.keySeparator??".",i=e?.nsSeparator??":",n=e?.enableSelector==="strict";if(t.length>1&&i){const l=e?.ns,o=n?Array.isArray(l)?l:l?[l]:null:Array.isArray(l)?l:null;if(o&&(n?o:o.length>1?o.slice(1):[]).includes(t[0]))return`${t[0]}${i}${t.slice(1).join(s)}`}return t.join(s)}const he=a=>!g(a)&&typeof a!="boolean"&&typeof a!="number";class ce extends ue{constructor(e,t={}){super(),Mt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
1i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=$.create("translator"),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};if(e==null)return!1;const i=this.resolve(e,s);if(i?.res===void 0)return!1;const n=he(i.res);return!(s.returnObjects===!1&&n)}extractFromKey(e,t){let s=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");const i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let n=t.ns||this.options.defaultNS||[];const l=s&&e.includes(s),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!qt(e,s,i);if(l&&!o){const r=e.match(this.interpolator.nestingRegexp);if(r&&r.length>0)return{key:e,namespaces:g(n)?[n]:n};const u=e.split(s);(s!==i||s===i&&this.options.ns.includes(u[0]))&&(n=u.shift()),e=u.join(i)}return{key:e,namespaces:g(n)?[n]:n}}translate(e,t,s){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=q(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]),e=e.map(N=>typeof N=="function"?q(N,{...this.options,...i}):String(N));const n=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,l=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:o,namespaces:r}=this.extractFromKey(e[e.length-1],i),u=r[r.length-1];let h=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;h===void 0&&(h=":");const d=i.lng||this.language,p=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return p?n?{res:`${u}${h}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(i)}:`${u}${h}${o}`:n?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(i)}:o;const f=this.resolve(e,i);let m=f?.res;const b=f?.usedKey||o,j=f?.exactUsedKey||o,k=["[object Number]","[object Function]","[object RegExp]"],x=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,w=i.count!==void 0&&!g(i.count),R=ce.hasDefaultValue(i),_=w?this.pluralResolver.getSuffix(d,i.count,i):"",I=i.ordinal&&w?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):"",v=w&&!i.ordinal&&i.count===0,C=v&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${_}`]||i[`defaultValue${I}`]||i.defaultValue;let O=m;S&&!m&&R&&(O=C);const tt=he(O),st=Object.prototype.toString.apply(O);
vendor: 6,190 bytes, line 1
1if(S&&O&&tt&&!k.includes(st)&&!(g(x)&&Array.isArray(O))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const N=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,O,{...i,ns:r}):`key '${o} (${this.language})' returned an object instead of string.`;return n?(f.res=N,f.usedParams=this.getUsedParamsDetails(i),f):N}if(l){const N=Array.isArray(O),A=N?[]:{},je=N?j:b;for(const E in O)if(Object.prototype.hasOwnProperty.call(O,E)){const F=`${je}${l}${E}`;R&&!m?A[E]=this.translate(F,{...i,defaultValue:he(C)?C[E]:void 0,joinArrays:!1,ns:r}):A[E]=this.translate(F,{...i,joinArrays:!1,ns:r}),A[E]===F&&(A[E]=O[E])}m=A}}else if(S&&g(x)&&Array.isArray(m))m=m.join(x),m&&(m=this.extendTranslation(m,e,i,s));else{let N=!1,A=!1;!this.isValidLookup(m)&&R&&(N=!0,m=C),this.isValidLookup(m)||(A=!0,m=o);const E=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&A?void 0:m,F=R&&C!==m&&this.options.updateMissing;if(A||N||F){if(this.logger.log(F?"updateKey":"missingKey",d,u,w&&!F?`${o}${this.pluralResolver.getSuffix(d,i.count,i)}`:o,F?C:m),l){const L=this.resolve(o,{...i,keySeparator:!1});L&&L.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let W=[];const te=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&te&&te[0])for(let L=0;L<te.length;L++)W.push(te[L]);else this.options.saveMissingTo==="all"?W=this.languageUtils.toResolveHierarchy(i.lng||this.language):W.push(i.lng||this.language);const ke=(L,K,G)=>{const Se=R&&G!==m?G:E;this.options.missingKeyHandler?this.options.missingKeyHandler(L,u,K,Se,F,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(L,u,K,Se,F,i),this.emit("missingKey",L,u,K,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?W.forEach(L=>{const K=this.pluralResolver.getSuffixes(L,i);v&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!K.includes(`${this.options.pluralSeparator}zero`)&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(G=>{ke([L],o+G,i[`defaultValue${G}`]||C)})}):ke(W,o,C))}m=this.extendTranslation(m,e,i,f,s),A&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${u}${h}${o}`),(A||N)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}${h}${o}`:o,N?m:void 0,i))}return n?(f.res=m,f.usedParams=this.getUsedParamsDetails(i),f):m}extendTranslation(e,t,s,i,n){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const r=g(e)&&(s?.interpolation?.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let u;if(r){const d=e.match(this.interpolator.nestingRegexp);u=d&&d.length}let h=s.replace&&!g(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(h={...this.options.interpolation.defaultVariables,...h}),e=this.interpolator.interpolate(e,h,s.lng||this.language||i.usedLng,s),r){const d=e.match(this.interpolator.nestingRegexp),p=d&&d.length;u<p&&(s.nest=!1)}!s.lng&&i&&i.res&&(s.lng=this.language||i.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,(...d)=>n?.[0]===d[0]&&!s.context?(this.logger.warn(`It seems you are nesting recursively key: ${d[0]} in key: ${t[0]}`),null):this.translate(...d,t),s)),s.interpolation&&this.interpolator.reset()}const l=s.postProcess||this.options.postProcess,o=g(l)?[l]:l;return e!=null&&o?.length&&s.applyPostProcessor!==!1&&(e=qe.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e,t={}){let s,i,n,l,o;return g(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(r=>typeof r=="function"?q(r,{...this.options,...t}):r)),e.forEach(r=>{if(this.isValidLookup(s))return;const u=this.extractFromKey(r,t),h=u.key;i=h;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const p=t.count!==void 0&&!g(t.count),f=p&&!t.ordinal&&t.count===0,m=t.context!==void 0&&(g(t.context)||typeof t.context=="number")&&t.context!=="",b=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(j=>{this.isValidLookup(s)||(o=j,!this.checkedLoadedFor[`${b[0]}-${j}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${b[0]}-${j}`]=!0,this.logger.warn(`key "${i}" for languages "${b.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(k=>{if(this.isValidLookup(s))return;l=k;const x=[h];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(x,h,k,j,t);else{let w;p&&(w=this.pluralResolver.getSuffix(k,t.count,t));const R=`${this.options.pluralSeparator}zero`,_=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(t.ordinal&&w.startsWith(_)&&x.push(h+w.replace(_,this.options.pluralSeparator)),x.push(h+w),f&&x.push(h+R)),m){const I=`${h}${this.options.contextSeparator||"_"}${t.context}`;x.push(I),p&&(t.ordinal&&w.startsWith(_)&&x.push(I+w.replace(_,this.options.pluralSeparator)),x.push(I+w),f&&x.push(I+R))}}let S;for(;S=x.pop();)this.isValidLookup(s)||(n=S,s=this.getResource(k,j,S,t))}))})}),{res:s,usedKey:i,exactUsedKey:n,usedLng:l,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,s,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}
1getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!g(e.replace);let i=s?e.replace:e;if(s&&typeof e.count<"u"&&(i={...i,count:e.count}),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!s){i={...i};for(const n of t)delete i[n]}return i}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&s.startsWith(t)&&e[s]!==void 0)return!0;return!1}}class Ae{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=$.create("languageUtils"),this.resolveHierarchyCache={}}clearCache(){this.resolveHierarchyCache={}}getScriptPartFromCode(e){if(e=ee(e),!e||!e.includes("-"))return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=ee(e),!e||!e.includes("-"))return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(g(e)&&e.includes("-")){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(s=>{if(t)return;const i=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(s=>{if(t)return;const i=this.getScriptPartFromCode(s);if(this.isSupportedCode(i))return t=i;const n=this.getLanguagePartFromCode(s);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(l=>l===n?!0:!l.includes("-")&&!n.includes("-")?!1:!!(l.includes("-")&&!n.includes("-")&&l.slice(0,l.indexOf("-"))===n||l.startsWith(n)&&n.length>1))}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),g(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.options.fallbackLng,i=Array.isArray(s)?s.join("|"):s;i!==this._cachedFallbackLng&&(this.resolveHierarchyCache={},this._cachedFallbackLng=i);const n=t===void 0||t===!1||g(t),l=t===void 0&&typeof this.options.fallbackLng=="function",o=g(e)&&n&&!l;let r=null;if(o){let p;t===void 0?p="undefined":t===!1?p="boolean:false":p=`string:${t}`,r=`${e.length}:${e}|${p}`}if(r!==null){const p=this.resolveHierarchyCache[r];if(p!==void 0)return p.slice()}const u=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),h=[],d=p=>{p&&(this.isSupportedCode(p)?h.push(p):this.logger.warn(`rejecting language code not found in supportedLngs: ${p}`))};return g(e)&&(e.includes("-")||e.includes("_"))?(this.options.load!=="languageOnly"&&d(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&d(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&d(this.getLanguagePartFromCode(e))):g(e)&&d(this.formatLanguageCode(e)),u.forEach(p=>{h.includes(p)||d(this.formatLanguageCode(p))}),r!==null?(this.resolveHierarchyCache[r]=h,h.slice()):h}}const Ee={zero:0,one:1,two:2,few:3,many:4,other:5},Fe={select:a=>
vendor: 18,756 bytes, line 1
1a===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Gt{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=$.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=ee(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:s,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let l;try{l=new Intl.PluralRules(s,{type:i})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),Fe;if(!e.match(/-|_/))return Fe;const r=this.languageUtils.getLanguagePartFromCode(e);l=this.getRule(r,t)}return this.pluralRulesCache[n]=l,l}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map(i=>`${t}${i}`)}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort((i,n)=>Ee[i]-Ee[n]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,s={}){const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const $e=(a,e,t,s=".",i=!0)=>{let n=_t(a,e,t);return!n&&i&&g(t)&&(n=be(a,t,s),n===void 0&&(n=be(e,t,s))),n},De=a=>a.replace(/\$/g,"$$$$");class Me{constructor(e={}){this.logger=$.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:n,prefixEscaped:l,suffix:o,suffixEscaped:r,formatSeparator:u,unescapeSuffix:h,unescapePrefix:d,nestingPrefix:p,nestingPrefixEscaped:f,nestingSuffix:m,nestingSuffixEscaped:b,nestingOptionsSeparator:j,maxReplaces:k,alwaysFormat:x}=e.interpolation;this.escape=t!==void 0?t:Kt,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=n?V(n):l||"{{",this.suffix=o?V(o):r||"}}",this.formatSeparator=u||",",this.unescapePrefix=h?"":d?V(d):"-",this.unescapeSuffix=this.unescapePrefix?"":h?V(h):"",this.nestingPrefix=p?V(p):f||V("$t("),this.nestingSuffix=m?V(m):b||V(")"),this.nestingOptionsSeparator=j||",",this.maxReplaces=k||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,s)=>t?.source===s?(t.lastIndex=0,t):new RegExp(s,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,s,i){let n,l,o;const r=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=f=>{if(!f.includes(this.formatSeparator)){const k=$e(t,r,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(k,void 0,s,{...i,...t,interpolationkey:f}):k}const m=f.split(this.formatSeparator),b=m.shift().trim(),j=m.join(this.formatSeparator).trim();return this.format($e(t,r,b,this.options.keySeparator,this.options.ignoreJSONStructure),j,s,{...i,...t,interpolationkey:b})};this.resetRegExp(),!this.escapeValue&&typeof e=="string"&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false â if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const h=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>f},{regex:this.regexp,safeValue:f=>this.escapeValue?this.escape(f):f}].forEach(f=>{for(o=0;n=f.regex.exec(e);){const m=n[1].trim();if(l=u(m),l===void 0)if(typeof h=="function"){const j=h(e,n,i);l=g(j)?j:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))l="";else if(d){l=n[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${e}`),l="";else!g(l)&&!this.useRawValueToEscape&&(l=de(l));const b=f.safeValue(l);if(e=e.replace(n[0],De(b)),d?(f.regex.lastIndex+=b.length,f.regex.lastIndex-=n[0].length):f.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,s={}){let i,n,l;const o=(r,u)=>{const h=this.nestingOptionsSeparator;if(!r.includes(h))return r;const d=r.split(new RegExp(`${V(h)}[ ]*{`));let p=`{${d[1]}`;r=d[0],p=this.interpolate(p,l);const f=p.match(/'/g),m=p.match(/"/g);((f?.length??0)%2===0&&!m||(m?.length??0)%2!==0)&&(p=p.replace(/'/g,'"'));try{l=JSON.parse(p),u&&(l={...u,...l})}catch(b){return this.logger.warn(`failed parsing options string in nesting for key ${r}`,b),`${r}${h}${p}`}return l.defaultValue&&l.defaultValue.includes(this.prefix)&&delete l.defaultValue,r};for(;i=this.nestingRegexp.exec(e);){let r=[];l={...s},l=l.replace&&!g(l.replace)?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;const u=/{.*}/s.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(u!==-1&&(r=i[1].slice(u).split(this.formatSeparator).map(h=>h.trim()).filter(Boolean),i[1]=i[1].slice(0,u)),n=t(o.call(this,i[1].trim(),l),l),n&&i[0]===e&&!g(n))return n;g(n)||(n=de(n)),n||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),n=""),r.length&&(n=r.reduce((h,d)=>this.format(h,d,s.lng,{...s,interpolationkey:i[1].trim()}),n.trim())),e=e.replace(i[0],De(de(n))),this.regexp.lastIndex=0}return e}}const Jt=a=>{let e=a.toLowerCase().trim();const t={};if(a.includes("(")){const s=a.split("(");e=s[0].toLowerCase().trim();const i=s[1].slice(0,-1);e==="currency"&&!i.includes(":")?t.currency||(t.currency=i.trim()):e==="relativetime"&&!i.includes(":")?t.range||(t.range=i.trim()):i.split(";").forEach(l=>{if(l){const[o,...r]=l.split(":"),u=r.join(":").trim().replace(/^'+|'+$/g,""),h=o.trim();t[h]||(t[h]=u),u==="false"&&(t[h]=!1),u==="true"&&(t[h]=!0),isNaN(u)||(t[h]=parseInt(u,10))}})}return{formatName:e,formatOptions:t}},Ie=a=>{const e={};return(t,s,i)=>{let n=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(n={...n,[i.interpolationkey]:void 0});const l=s+JSON.stringify(n);let o=e[l];return o||(o=a(ee(s),i),e[l]=o),o(t)}},Yt=a=>(e,t,s)=>a(ee(t),s)(e);class Zt{constructor(e={}){this.logger=$.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?Ie:Yt;this.formats={number:s((i,n)=>{const l=new Intl.NumberFormat(i,{...n});return o=>l.format(o)}),currency:s((i,n)=>{const l=new Intl.NumberFormat(i,{...n,style:"currency"});return o=>l.format(o)}),datetime:s((i,n)=>{const l=new Intl.DateTimeFormat(i,{...n});return o=>l.format(o)}),relativetime:s((i,n)=>{const l=new Intl.RelativeTimeFormat(i,{...n});return o=>l.format(o,n.range||"day")}),list:s((i,n)=>{const l=new Intl.ListFormat(i,{...n});return o=>l.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Ie(t)}format(e,t,s,i={}){if(!t||e==null)return e;const n=t.split(this.formatSeparator),l=[];for(let r=0;r<n.length;r++){let u=n[r];for(;u.indexOf("(")>-1&&!u.includes(")")&&r+1<n.length;)u=`${u}${this.formatSeparator}${n[++r]}`;l.push(u)}return l.reduce((r,u)=>{const{formatName:h,formatOptions:d}=Jt(u);if(this.formats[h]){let p=r;try{const f=i?.formatParams?.[i.interpolationkey]||{},m=f.locale||f.lng||i.locale||i.lng||s;p=this.formats[h](r,m,{...d,...i,...f})}catch(f){this.logger.warn(f)}return p}else this.logger.warn(`there was no format function for ${h}`);return r},e)}}const Xt=(a,e)=>{a.pending[e]!==void 0&&(delete a.pending[e],a.pendingCount--)};class es extends ue{constructor(e,t,s,i={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=$.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const n={},l={},o={},r={};return e.forEach(u=>{let h=!0;t.forEach(d=>{const p=`${u}|${d}`;!s.reload&&this.store.hasResourceBundle(u,d)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?l[p]===void 0&&(l[p]=!0):(this.state[p]=1,h=!1,l[p]===void 0&&(l[p]=!0),n[p]===void 0&&(n[p]=!0),r[d]===void 0&&(r[d]=!0)))}),h||(o[u]=!0)}),(Object.keys(n).length||Object.keys(l).length)&&this.queue.push({pending:l,pendingCount:Object.keys(l).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(l),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(r)}}loaded(e,t,s){const i=e.split("|"),n=i[0],l=i[1];t&&this.emit("failedLoading",n,l,t),!t&&s&&this.store.addResourceBundle(n,l,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const o={};this.queue.forEach(r=>{Vt(r.loaded,[n],l),Xt(r,e),t&&r.errors.push(t),r.pendingCount===0&&!r.done&&(Object.keys(r.loaded).forEach(u=>{o[u]||(o[u]={});const h=r.loaded[u];h.length&&h.forEach(d=>{o[u][d]===void 0&&(o[u][d]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(r=>!r.done)}read(e,t,s,i=0,n=this.retryTimeout,l){if(!e.length)return l(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:n,callback:l});return}this.readingCalls++;const o=(u,h)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&h&&i<this.maxRetries){setTimeout(()=>{this.read(e,t,s,i+1,n*2,l)},n);return}l(u,h)},r=this.backend[s].bind(this.backend);if(r.length===2){try{const u=r(e,t);u&&typeof u.then=="function"?u.then(h=>o(null,h)).catch(o):o(null,u)}catch(u){o(u)}return}return r(e,t,o)}prepareLoading(e,t,s={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();g(e)&&(e=this.languageUtils.toResolveHierarchy(e)),g(t)&&(t=[t]);const n=this.queueLoad(e,t,s,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach(l=>{this.loadOne(l)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,(l,o)=>{l&&this.logger.warn(`${t}loading namespace ${n} for language ${i} failed`,l),!l&&o&&this.logger.log(`${t}loaded namespace ${n} for language ${i}`,o),this.loaded(e,l,o)})}saveMissing(e,t,s,i,n,l={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(s==null||s==="")){if(this.backend?.create){const r={...l,isUpdate:n},u=this.backend.create.bind(this.backend);if(u.length<6)try{let h;u.length===5?h=u(e,t,s,i,r):h=u(e,t,s,i),h&&typeof h.then=="function"?h.then(d=>o(null,d)).catch(o):o(null,h)}catch(h){o(h)}else u(e,t,s,i,o,r)}!e||!e[0]||this.store.addResource(e[0],t,s,i)}}}const pe=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:a=>{let e={};if(typeof a[1]=="object"&&(e=a[1]),g(a[1])&&(e.defaultValue=a[1]),g(a[2])&&(e.tDescription=a[2]),typeof a[2]=="object"||typeof a[3]=="object"){const t=a[3]||a[2];Object.keys(t).forEach(s=>{e[s]=t[s]})}return e},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ve=a=>(g(a.ns)&&(a.ns=[a.ns]),g(a.fallbackLng)&&(a.fallbackLng=[a.fallbackLng]),g(a.fallbackNS)&&(a.fallbackNS=[a.fallbackNS]),a.supportedLngs&&!a.supportedLngs.includes("cimode")&&(a.supportedLngs=a.supportedLngs.concat(["cimode"])),a),se=()=>{},ts=a=>{Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach(t=>{typeof a[t]=="function"&&(a[t]=a[t].bind(a))})};class X extends ue{constructor(e={},t){if(super(),this.options=Ve(e),this.services={},this.logger=$,this.modules={external:[]},ts(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(g(e.ns)?e.defaultNS=e.ns:e.ns.includes("translation")||(e.defaultNS=e.ns[0]));const s=pe();this.options={...s,...this.options,...Ve(e)},this.options.interpolation={...s.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=s.overloadTranslationOptionHandler);const i=u=>u?typeof u=="function"?new u:u:null;if(!this.options.isClone){this.modules.logger?$.init(i(this.modules.logger),this.options):$.init(null,this.options);let u;this.modules.formatter?u=this.modules.formatter:u=Zt;const h=new Ae(this.options);this.store=new Oe(this.options.resources,this.options);const d=this.services;d.logger=$,d.resourceStore=this.store,d.languageUtils=h,d.pluralResolver=new Gt(h,{prepend:this.options.pluralSeparator}),u&&(d.formatter=i(u),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new Me(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new es(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(p,...f)=>{this.emit(p,...f)}),this.modules.languageDetector&&(d.languageDetector=i(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=i(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new ce(this.services,this.options),this.translator.on("*",(p,...f)=>{this.emit(p,...f)}),this.modules.external.forEach(p=>{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,t||(t=se),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&u[0]!=="dev"&&(this.options.lng=u[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(u=>{this[u]=(...h)=>this.store[u](...h)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(u=>{this[u]=(...h)=>(this.store[u](...h),this)});const o=J(),r=()=>{const u=(h,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(d),t(h,d)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return u(null,this.t.bind(this));this.changeLanguage(this.options.lng,u)};return this.options.resources||!this.options.initAsync?r():setTimeout(r,0),o}loadResources(e,t=se){let s=t;const i=g(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const n=[],l=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(u=>{u!=="cimode"&&(n.includes(u)||n.push(u))})};i?l(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(r=>l(r)),this.options.preload?.forEach?.(o=>l(o)),this.services.backendConnector.load(n,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(o)})}else s(null)}reloadResources(e,t,s){const i=J();return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=se),this.services.backendConnector.reload(e,t,n=>{i.resolve(),s(n)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&qe.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!["cimode","dev"].includes(e)){for(let t=0;t<this.languages.length;t++){const s=this.languages[t];if(!["cimode","dev"].includes(s)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const s=J();
1this.emit("languageChanging",e);const i=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},n=(o,r)=>{r?this.isLanguageChangingTo===e&&(i(r),this.translator.changeLanguage(r),this.isLanguageChangingTo=void 0,this.emit("languageChanged",r),this.logger.log("languageChanged",r)):this.isLanguageChangingTo=void 0,s.resolve((...u)=>this.t(...u)),t&&t(o,(...u)=>this.t(...u))},l=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const r=g(o)?o:o&&o[0],u=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(g(o)?[o]:o);u&&(this.language||i(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector?.cacheUserLanguage?.(u)),this.loadResources(u,h=>{n(h,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e),s}getFixedT(e,t,s,i){const n=i?.scopeNs,l=(o,r,...u)=>{let h;typeof r!="object"?h=this.options.overloadTranslationOptionHandler([o,r].concat(u)):h={...r},h.lng=h.lng||l.lng,h.lngs=h.lngs||l.lngs;const d=h.ns!==void 0&&h.ns!==null;h.ns=h.ns||l.ns,h.keyPrefix!==""&&(h.keyPrefix=h.keyPrefix||s||l.keyPrefix);const p={...this.options,...h};Array.isArray(n)&&!d&&(p.ns=n),typeof h.keyPrefix=="function"&&(h.keyPrefix=q(h.keyPrefix,p));const f=this.options.keySeparator||".";let m;return h.keyPrefix&&Array.isArray(o)?m=o.map(b=>(typeof b=="function"&&(b=q(b,p)),`${h.keyPrefix}${f}${b}`)):(typeof o=="function"&&(o=q(o,p)),m=h.keyPrefix?`${h.keyPrefix}${f}${o}`:o),this.t(m,h)};return g(e)?l.lng=e:l.lngs=e,l.ns=t,l.keyPrefix=s,l}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
vendor: 5,062 bytes, line 1
1if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,n=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const l=(o,r)=>{const u=this.services.backendConnector.state[`${o}|${r}`];return u===-1||u===0||u===2};if(t.precheck){const o=t.precheck(this,l);if(o!==void 0)return o}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||l(s,e)&&(!i||l(n,e)))}loadNamespaces(e,t){const s=J();return this.options.ns?(g(e)&&(e=[e]),e.forEach(i=>{this.options.ns.includes(i)||this.options.ns.push(i)}),this.loadResources(i=>{s.resolve(),t&&t(i)}),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=J();g(e)&&(e=[e]);const i=this.options.preload||[],n=e.filter(l=>!i.includes(l)&&this.services.languageUtils.isSupportedCode(l));return n.length?(this.options.preload=i.concat(n),this.loadResources(l=>{s.resolve(),t&&t(l)}),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const i=new Intl.Locale(e);if(i&&i.getTextInfo){const n=i.getTextInfo();if(n&&n.direction)return n.direction}}catch{}const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],s=this.services?.languageUtils||new Ae(pe());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.includes(s.getLanguagePartFromCode(e))||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){const s=new X(e,t);return s.createInstance=X.createInstance,s}cloneInstance(e={},t=se){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new X(i);if((e.debug!==void 0||e.prefix!==void 0)&&(n.logger=n.logger.clone(e)),["store","services","language"].forEach(o=>{n[o]=this[o]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s){const o=Object.keys(this.store.data).reduce((r,u)=>(r[u]={...this.store.data[u]},r[u]=Object.keys(r[u]).reduce((h,d)=>(h[d]={...r[u][d]},h),r[u]),r),{});n.store=new Oe(o,i),n.services.resourceStore=n.store}if(e.interpolation){const r={...pe().interpolation,...this.options.interpolation,...e.interpolation},u={...i,interpolation:r};n.services.interpolator=new Me(u)}return n.translator=new ce(n.services,i),n.translator.on("*",(o,...r)=>{n.emit(o,...r)}),n.init(i,t),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const T=X.createInstance(),ss=T.createInstance;T.dir;T.init;T.loadResources;T.reloadResources;T.use;T.changeLanguage;T.getFixedT;T.t;T.exists;T.setDefaultNamespace;T.hasLoadedNamespace;T.loadNamespaces;T.loadLanguages;const We={relationshipSupport:["Relationships","Marrëdhëniet","Ihmissuhteet","Relacionamentos"],traumaPtsd:["Trauma & PTSD","Trauma dhe PTSD","Trauma ja PTSD","Trauma e TEPT"],sleepDifficulties:["Sleep difficulties","Vështirësitë e gjumit","Univaikeudet","Dificuldades para dormir"],eatingConcerns:["Eating concerns","Shqetësimet rreth ushqyerjes","Syömiseen liittyvät huolet","Preocupações com a alimentação"],anxiety:["Anxiety","Ankthi","Ahdistus","Ansiedade"],anxietyStress:["Anxiety and stress","Ankthi dhe stresi","Ahdistus ja stressi","Ansiedade e estresse"],immigration:["Immigration Issues","Vështirësitë e emigracionit","Maahanmuuttoon liittyvät haasteet","Questões de imigração"],lgbtq:["LGBTQ+ related issues","Ãështje të lidhura me LGBTQ+","LGBTQ+-aiheet","Questões relacionadas à comunidade LGBTQ+"],sleep:["Sleep disorders","Ãrregullimet e gjumit","Unihäiriöt","Distúrbios do sono"],personality:["Personality Disorders","Ãrregullimet e personalitetit","Persoonallisuushäiriöt","Transtornos de personalidade"],eating:["Eating disorders","Ãrregullimet e të ngrënit","Syömishäiriöt","Transtornos alimentares"],bipolar:["Bipolar disorder","Ãrregullimi bipolar","Kaksisuuntainen mielialahäiriö","Transtorno bipolar"],ocd:["Obsessive-compulsive disorder (OCD)","Ãrregullimi obsesiv-kompulsiv (OCD)","Pakko-oireinen häiriö (OCD)","Transtorno obsessivo-compulsivo (TOC)"],depression:["Depression","Depresioni","Masennus","Depressão"],loss:["Loss or death of a loved one","Humbja ose vdekja e një njeriu të dashur","Läheisen menetys tai kuolema","Perda ou morte de uma pessoa querida"],changes:["Managing changes in life","Përballimi i ndryshimeve në jetë","
1Elämänmuutosten käsittely","Lidar com mudanças na vida"],family:["Family conflicts","Konfliktet familjare","Perheristiriidat","Conflitos familiares"],motivation:["Motivation, self-esteem, and self-confidence","Motivimi, vetëvlerësimi dhe vetëbesimi","Motivaatio, itsetunto ja itseluottamus","Motivação, autoestima e autoconfiança"],adhd:["Attention-deficit/hyperactivity disorder (ADHD)","Ãrregullimi i vëmendjes dhe hiperaktivitetit (ADHD)","Aktiivisuuden ja tarkkaavuuden häiriö (ADHD)","Transtorno do déficit de atenção com hiperatividade (TDAH)"],anger:["Anger management","Menaxhimi i zemërimit","Vihanhallinta","Controle da raiva"],relationships:["Relationship problems","Problemet në marrëdhënie","Ihmissuhdeongelmat","Problemas de relacionamento"],work:["Work-related problems","Problemet e lidhura me punën","Työhön liittyvät ongelmat","Problemas relacionados ao trabalho"],intimacy:["Intimacy issues","Vështirësitë me intimitetin","Läheisyyteen liittyvät haasteet","Questões de intimidade"],ptsd:["PTSD","Ãrregullimi i stresit post-traumatik (PTSD)","Traumaperäinen stressihäiriö (PTSD)","Transtorno de estresse pós-traumático (TEPT)"],religion:["Religious-related issues","Ãështje të lidhura me fenë","Uskontoon liittyvät kysymykset","Questões relacionadas à religião"],parenting:["Parenting problems","Vështirësitë e prindërimit","Vanhemmuuden haasteet","Desafios na criação dos filhos"],addictions:["Addictions","Varësitë","Riippuvuudet","Dependências"],trauma:["Trauma and abuse","Trauma dhe abuzimi","Trauma ja kaltoinkohtelu","Trauma e abuso"],burnout:["Stress & Burnout","Stresi dhe rraskapitja","Stressi ja uupumus","Estresse e esgotamento"],esteem:["Self-esteem","Vetëvlerësimi","Itsetunto","Autoestima"],grief:["Grief & Loss","Zia dhe humbja","Suru ja menetys","Luto e perda"],career:["Career & Purpose","Karriera dhe qëllimi","Ura ja merkityksellisyys","Carreira e propósito"],panic:["Panic attacks","Sulmet e panikut","Paniikkikohtaukset","Ataques de pânico"],cbt:["Cognitive Behavioural Therapy (CBT)","Terapia konjitive-sjellore (CBT)","Kognitiivinen käyttäytymisterapia (CBT)","Terapia cognitivo-comportamental (TCC)"],eft:["Emotionally Focused Therapy (EFT)","Terapia e fokusuar tek emocionet (EFT)","Tunnekeskeinen terapia (EFT)","Terapia focada nas emoções (EFT)"],psychodynamic:["Psychodynamic Therapy","Terapia psikodinamike","Psykodynaaminen terapia","Terapia psicodinâmica"],act:["Acceptance and Commitment Therapy (ACT)","Terapia e pranimit dhe angazhimit (ACT)","Hyväksymis- ja omistautumisterapia (HOT)","Terapia de aceitação e compromisso (ACT)"],emdr:["Eye Movement Desensitisation and Reprocessing (EMDR)","Desensibilizimi dhe ripërpunimi përmes lëvizjeve të syve (EMDR)","Silmänliiketerapia (EMDR)","Dessensibilização e reprocessamento por movimentos oculares (EMDR)"],familyTherapy:["Family Therapy","Terapia familjare","Perheterapia","Terapia familiar"],systemic:["Systemic & Family","Terapia sistemike dhe familjare","Systeeminen terapia ja perheterapia","Terapia sistêmica e familiar"],gestalt:["Gestalt Therapy","Terapia Gestalt","Hahmoterapia","Gestalt-terapia"],mindfulness:["Mindfulness-Based Therapy","Terapia e bazuar në vëmendjen e ndërgjegjshme","Tietoisuustaitoihin perustuva terapia","Terapia baseada em atenção plena"],solution:["Solution-Focused","Terapia e fokusuar në zgjidhje","Ratkaisukeskeinen terapia","Terapia focada em soluções"],coaching:["Integrative Coaching","Trajnimi integrues","Integratiivinen valmennus","Coaching integrativo"],dbt:["Dialectical Behaviour Therapy (DBT)","Terapia dialektike-sjellore (DBT)","Dialektinen käyttäytymisterapia (DKT)","Terapia comportamental dialética (DBT)"],personCentred:["Person-Centred Therapy","Terapia e përqendruar te personi","Asiakaskeskeinen terapia","Terapia centrada na pessoa"],compassion:["Compassion-Focused Therapy","Terapia e fokusuar te dhembshuria","Myötätuntokeskeinen terapia","Terapia focada na compaixão"],schema:["Schema Therapy","Terapia e skemave","Skeematerapia","Terapia do esquema"]},is={anxietyStress:["Anxiety & Stress"],family:["Family conflict"],ocd:["OCD"],cbt:["CBT","Cognitive Behavioral Therapy (CBT)","Cognitive Behavioral Therapy","Cognitive Behavioural Therapy"],eft:["EFT","Emotion-Focused Therapy (EFT)"],psychodynamic:["Psychodynamic"],act:["ACT","Acceptance & Commitment (ACT)"],emdr:["EMDR","Eye Movement Desensitization and Reprocessing (EMDR)"],gestalt:["Gestalt"],mindfulness:["Mindfulness-based"],dbt:["DBT","Dialectical Behavior Therapy (DBT)","Dialectical Behavioral Therapy (DBT)"],personCentred:["Person-Centered Therapy"]};function Ge(a){return a.trim().toLocaleLowerCase("en")}const as=new Map(Object.entries(We).flatMap(([a,e])=>[...e,...is[a]??[]].map(t=>[Ge(t),a])));function ns(a){return as.get(Ge(a))}const rs={browse:["â Browse therapists","â Shfletoni terapistët","â Selaa terapeutteja","â Explore terapeutas"],title:["Meet your next therapist.","Njihuni me terapistin tuaj të ardhshëm.","Löydä seuraava terapeuttisi.","Conheça seu próximo terapeuta."],subtitle:["Search, filter, or start AI matching: your choice.","Kërkoni, filtroni ose gjeni terapistin me ndihmën e IA-së: zgjedhja është juaja.","Hae, suodata tai etsi sopiva terapeutti tekoälyn avulla. Sinä päätät.","Pesquise, filtre ou encontre um terapeuta com ajuda da IA: você escolhe."],startMatching:["Start AI matching","Gjeni terapistin me IA","Etsi tekoälyn avulla","Encontrar c
1om IA"],searchPlaceholder:["Search by name, approach, or topic","Kërkoni sipas emrit, qasjes ose temës","Hae nimellä, menetelmällä tai aiheella","Busque por nome, abordagem ou tema"],currency:["Display currency","Monedha e shfaqur","Näyttövaluutta","Moeda de exibição"],currencyTitle:["Display currency â payments are in EUR","Monedha e shfaqur â pagesat kryhen në EUR","Näyttövaluutta â maksut veloitetaan euroina","Moeda de exibição â pagamentos em EUR"],currencyUnavailable:["Local currency estimates are unavailable. Prices are currently shown in EUR.","Vlerësimet në monedhën vendase nuk janë të disponueshme. Ãmimet shfaqen në EUR.","Arvioita paikallisessa valuutassa ei ole saatavilla. Hinnat näytetään euroina.","Estimativas na moeda local indisponÃveis. Os preços estão em EUR."],currencyFallback:["EUR shown","Shfaqet EUR","Näytetään EUR","Exibido em EUR"],minimumPrice:["Minimum price","Ãmimi minimal","Vähimmäishinta","Preço mÃnimo"],maximumPrice:["Maximum price","Ãmimi maksimal","Enimmäishinta","Preço máximo"],close:["Close","Mbyllni","Sulje","Fechar"],filters:["Filters","Filtrat","Suodattimet","Filtros"],recommended:["Recommended","Të rekomanduar","Suositellut","Recomendados"],nameSort:["Name (AâZ)","Emri (AâZ)","Nimi (AâZ)","Nome (AâZ)"],lowestPrice:["Lowest price","Ãmimi më i ulët","Halvin ensin","Menor preço"],highestPrice:["Highest price","Ãmimi më i lartë","Kallein ensin","Maior preço"],searching:["Searchingâ¦","Duke kërkuarâ¦","Haetaanâ¦","Buscandoâ¦"],noSavedMatches:["None of your saved therapists match these filters.","Asnjë nga terapistët tuaj të ruajtur nuk përputhet me këta filtra.","Yksikään tallentamistasi terapeuteista ei vastaa näitä suodattimia.","Nenhum dos seus terapeutas salvos corresponde a estes filtros."],noTherapists:["No therapists match these filters.","Asnjë terapist nuk përputhet me këta filtra.","Yksikään terapeutti ei vastaa näitä suodattimia.","Nenhum terapeuta corresponde a estes filtros."],results_one:["Showing {{count}} therapist","Po shfaqet {{count}} terapist","Näytetään {{count}} terapeutti","Mostrando {{count}} terapeuta"],results_other:["Showing {{count}} therapists","Po shfaqen {{count}} terapistë","Näytetään {{count}} terapeuttia","Mostrando {{count}} terapeutas"],viewResults_one:["View {{count}} result","Shikoni {{count}} rezultat","Näytä {{count}} tulos","Ver {{count}} resultado"],viewResults_other:["View {{count}} results","Shikoni {{count}} rezultate","Näytä {{count}} tulosta","Ver {{count}} resultados"],active_one:["{{count}} active","{{count}} aktiv","{{count}} käytössä","{{count}} ativo"],active_other:["{{count}} active","{{count}} aktivë","{{count}} käytössä","{{count}} ativos"],noMatches:["No matches","Nuk ka rezultate","Ei tuloksia","Nenhum resultado"],emptyTitle:["Nothing matches that combination.","Nuk ka rezultate për këtë kombinim.","Tällä yhdistelmällä ei löytynyt tuloksia.","Nenhum resultado para essa combinação."],emptyBody:["Try fewer filters or widen the price range.","Provoni më pak filtra ose zgjeroni intervalin e çmimit.","Kokeile vähentää suodattimia tai laajentaa hintahaarukkaa.","Tente usar menos filtros ou ampliar a faixa de preço."],clearFilters:["Clear filters","Pastroni filtrat","Tyhjennä suodattimet","Limpar filtros"],clearAll:["Clear all","Pastroni të gjitha","Tyhjennä kaikki","Limpar tudo"],type:["Type","Lloji","Tyyppi","Tipo"],expertType:["Type of expert","Lloji i specialistit","Asiantuntijan tyyppi","Tipo de profissional"],any:["Any","Të gjithë","Kaikki","Todos"],therapist:["Therapist","Terapist","Terapeutti","Terapeuta"],coach:["Coach","Trajner personal","Valmentaja","Coach"],areas:["Areas of support","Fushat e mbështetjes","Tuen tarpeet","Ãreas de apoio"],chooseAreas:["Choose areas","Zgjidhni fushat","Valitse tuen tarpeet","Escolha as áreas"],approaches:["Approaches","Qasjet","Menetelmät","Abordagens"],chooseApproaches:["Choose approaches","Zgjidhni qasjet","Valitse menetelmät","Escolha as abordagens"],gender:["Gender","Gjinia","Sukupuoli","Gênero"],woman:["Woman","Grua","Nainen","Mulher"],man:["Man","Burrë","Mies","Homem"],other:["Other","Tjetër","Muu","Outro"],languages:["Languages","Gjuhët","Kielet","Idiomas"],country:["Country","Shteti","Maa","PaÃs"],price:["Price","Ãmimi","Hinta","Preço"],pricePerSession:["Price per session","Ãmimi për seancë","Hinta / käynti","Preço por sessão"],openAvailability:["With open availability","Me orare të lira","Vapaita aikoja","Com horários disponÃveis"],availableNow:["Available now","Të disponueshëm tani","Aikoja saatavilla","DisponÃvel agora"],offersIntro:["Offers intro
1session","Ofron seancë njohëse","Tarjoaa tutustumiskäynnin","Oferece sessão introdutória"],saved:["Saved","Të ruajtur","Tallennetut","Salvos"],savedOnly:["Saved only","Vetëm të ruajturit","Vain tallennetut","Apenas salvos"],filterChip:["{{label}}: {{value}}","{{label}}: {{value}}","{{label}}: {{value}}","{{label}}: {{value}}"],removeFilter:["Remove {{label}}","Hiqni {{label}}","Poista {{label}}","Remover {{label}}"],covered:["Covered by your company","Mbulohen nga kompania juaj","Työnantajasi kustantaa","Pago pela sua empresa"],perSession:["/ session","/ seancë","/ käynti","/ sessão"],freeIntro:["Free intro session","Seancë njohëse falas","Maksuton tutustumiskäynti","Sessão introdutória gratuita"],talkTwin:["Talk to AI twin","Bisedoni me binjakun IA","Keskustele tekoälykaksosen kanssa","Conversar com o gêmeo de IA"],bookSession:["Book session","Rezervoni seancën","Varaa aika","Agendar sessão"],saveError:["Couldn't save â try again?","Ruajtja dështoi. Provoni përsëri.","Tallennus epäonnistui. Yritä uudelleen.","Não foi possÃvel salvar. Tente novamente."],signInToSave:["Sign in to save therapists.","Hyni për të ruajtur terapistët.","Kirjaudu sisään tallentaaksesi terapeutteja.","Entre para salvar terapeutas."],removeSaved:["Remove from saved","Hiqni nga të ruajturit","Poista tallennetuista","Remover dos salvos"],saveTherapist:["Save therapist","Ruani terapistin","Tallenna terapeutti","Salvar terapeuta"],verified:["Verified","I verifikuar","Vahvistettu","Verificado"],verifiedBy:["Verified by Bliss","Verifikuar nga Bliss","Blissin vahvistama","Verificado pela Bliss"],verifiedTitle:["Identity and licence verified by Bliss","Identiteti dhe licenca u verifikuan nga Bliss","Bliss on tarkistanut henkilöllisyyden ja ammatinharjoittamisoikeuden","Identidade e registro profissional verificados pela Bliss"],searchOptions:["Searchâ¦","Kërkoniâ¦","Haeâ¦","Buscarâ¦"],noOptions:["No options","Nuk ka opsione","Ei vaihtoehtoja","Nenhuma opção"],selected_one:["{{count}} selected","{{count}} i zgjedhur","{{count}} valittu","{{count}} selecionado"],selected_other:["{{count}} selected","{{count}} të zgjedhur","{{count}} valittu","{{count}} selecionados"],twinMatchTitle:["Want AI to find therapists for you to try first?","Dëshironi që IA të gjejë terapistë për t'i njohur fillimisht?","Haluatko tekoälyn etsivän terapeutteja, joihin voit tutustua ensin?","Quer que a IA encontre terapeutas para você conhecer primeiro?"],twinMatchBody:["We can use your answers to surface the best-fit therapists, then you chat with their AI t
1win before deciding.","Nga përgjigjet tuaja mund të gjejmë terapistët më të përshtatshëm. Më pas, bisedoni me binjakun e tyre IA para se të vendosni.","Voimme etsiä vastaustesi perusteella sopivia terapeutteja. Voit sitten keskustella heidän tekoälykaksostensa kanssa ennen päätöstäsi.","Podemos usar suas respostas para encontrar terapeutas adequados. Depois, você conversa com o gêmeo de IA deles antes de decidir."],twinMatchConfirm:["Yes, find with AI","Po, gjeni me IA","Kyllä, etsi tekoälyn avulla","Sim, encontrar com IA"],matchTitle:["Want AI to help with the match?","Dëshironi ndihmën e IA-së për të gjetur terapistin?","Haluatko apua tekoälyltä terapeutin valintaan?","Quer ajuda da IA para encontrar seu terapeuta?"],matchBody:["Let AI search based on your needs, or browse the therapists yourself.","Lëreni IA-në të kërkojë sipas nevojave tuaja, ose shfletoni vetë terapistët.","Anna tekoälyn etsiä tarpeisiisi sopivia terapeutteja tai selaa heitä itse.","Deixe a IA buscar de acordo com suas necessidades ou explore os terapeutas por conta própria."],matchConfirm:["Yes, use AI","Po, përdorni IA","Kyllä, käytä tekoälyä","Sim, usar IA"],browseMyself:["No, I'll browse myself","Jo, do t'i shfletoj vetë","Ei, selaan itse","Não, vou explorar por conta própria"]},ve=ss();ve.init({lng:"en",fallbackLng:"en",supportedLngs:[...we],initAsync:!1,interpolation:{escapeValue:!1},resources:Object.fromEntries(we.map((a,e)=>[a,{taxonomy:Object.fromEntries(Object.entries(We).map(([t,s])=>[t,s[e]])),translation:Object.fromEntries(Object.entries(rs).map(([t,s])=>[t,s[e]]))}]))});function os(a){return ve.getFixedT(a)}function M(){const a=ye();return D.useMemo(()=>os(a),[a])}function Je(a,e){const t=ns(a);return e==="en"||!t?a:ve.getFixedT(e,"taxonomy")(t)}function ls(a,e){const t=(i,n)=>{try{const l=n==="region"?i.value.toUpperCase():i.value.replace(/_/g,"-");return new Intl.DisplayNames([e==="pt"?"pt-BR":e],{type:n,fallback:"none"}).of(l)??i.label}catch{return i.label}},s=i=>i.map(n=>({...n,label:Je(n.label,e)}));return{...a,issues:s(a.issues),approaches:s(a.approaches),languages:a.languages.map(i=>({...i,label:t(i,"language")})),countries:a.countries.map(i=>({...i,label:t(i,"region")}))}}const cs="mx-auto w-full max-w-6xl px-4 sm:px-6";function us({variant:a="icon",className:e}){const t=M();return a==="icon"?c.jsx("span",{title:t("verifiedTitle"),"aria-label":t("verifiedBy"),className:y("inline-flex shrink-0 items-center justify-center align-middle text-[color:var(--color-brand)]",e),children:c.jsx(Ce,{className:"h-4 w-4",strokeWidth:2.25})}):c.jsxs("span",{title:t("verifiedTitle"),className:y("inline-flex items-center gap-1 rounded-full bg-[color:var(--color-brand-soft)] px-2.5 py-0.5 text-[11px] font-semibold text-[color:var(--color-brand-strong)]",e),children:[c.jsx(Ce,{className:"h-3.5 w-3.5",strokeWidth:2.25}),t("verified")]})}const ds={counselor:"therapist",psychologist:"therapist",coach:"coach"};function hs({therapist:a,className:e,onTalkToTwin:t,coveredByCompany:s}){const i=ye(),n=M(),l=a.level?n(ds[a.level]):null,o=fs(a.displayName),r=ms(a.id),u={slug:a.slug};return c.jsxs("article",{className:y("group relative flex min-w-0 flex-col rounded-[22px] bg-white p-5","ring-1 ring-bliss-stone/55 shadow-[0_1px_0_rgba(0,0,0,0.02),0_18px_44px_-26px_rgba(50,40,80,0.18)]","transition-[transform,box-shadow] duration-200 ease-out","hover:-translate-y-[1px] hover:shadow-[0_2px_0_rgba(0,0,0,0.02),0_22px_52px_-26px_rgba(50,40,80,0.22)]",e),children:[c.jsx(ps,{therapistId:a.id}),c.jsxs("div",{className:"flex items-start gap-4",children:[c.jsxs(jt,{className:"h-[68px] w-[68px] shrink-0 ring-1 ring-bliss-stone/60 transition-shadow group-hover:ring-bliss-primary/40",children:[a.profilePictureUrl?c.jsx(kt,{src:a.profilePictureUrl,alt:a.displayName}):null,c.jsx(St,{className:y("text-sm font-semibold text-white",r),children:o})]}),c.jsxs("div",{className:"min-w-0 flex-1",children:[l?c.jsx("p",{className:"text-[11.5px] uppercase tracking-[0.12em] text-bliss-ink-soft",children:l}):null,c.jsxs("h3",{className:"mt-1 flex items-center gap-1 font-serif text-[17px] leading-tight text-bliss-ink",children:[c.jsx(me,{to:"/therapists/$slug",params:u,className:"min-w-0 truncate rounded-sm after:absolute after:inset-0 after:rounded-[22px] after:content-[''] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-bliss-primary/40",children:a.displayName}),c.jsx(us,{})]}),a.approachLabels.length>0?c.jsx("p",{className:"mt-2 line-clamp-2 text-[13px] leading-snug text-bliss-ink-muted",children:a.approachLabels.map(h=>Je(h,i)).join(", ")}):null,c.jsxs("div",{className:"mt-3",children:[s?c.jsx("span",{className:"inline-flex rounded-full bg-emerald-600 px-3.5 py-1 text-[12.5px] font-medium text-white",children:n("covered")}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"font-serif text-[16px] text-bliss-ink",children:c.jsx(vt,{eur
1:a.hourlyRateEur})}),c.jsx("span",{className:"ml-1 text-[12.5px] text-bliss-ink-muted",children:n("perSession")})]}),a.offersIntroSession&&!s?c.jsx("p",{className:"mt-0.5 text-[12px] text-bliss-ink-soft",children:n("freeIntro")}):null]})]})]}),c.jsxs("div",{className:"relative z-10 mt-auto flex flex-col gap-2 pt-5 sm:flex-row",children:[t&&at.twinEnabled?c.jsxs(U,{type:"button",variant:"outline",onClick:()=>t(a.id),className:y("h-auto min-h-10 w-full min-w-0 whitespace-normal rounded-full border-bliss-primary/40 bg-bliss-primary-soft text-[13.5px] font-medium text-bliss-primary shadow-none sm:flex-1","hover:bg-bliss-primary-soft hover:border-bliss-primary/60"),children:[c.jsx(ge,{className:"h-4 w-4"}),n("talkTwin")]}):null,c.jsx(U,{asChild:!0,className:y("h-auto min-h-10 w-full min-w-0 whitespace-normal rounded-full bg-bliss-primary text-[13.5px] font-medium text-white shadow-none sm:flex-1","hover:bg-bliss-primary/90"),children:c.jsx(me,{to:"/therapists/$slug",params:u,hash:"book",children:n("bookSession")})})]})]})}function ps({therapistId:a}){const e=M(),{data:t}=nt(),s=!!t?.user,i=rt(),o=(xe({queryKey:["saved-therapists"],queryFn:()=>Ue(),enabled:s,staleTime:3e4}).data?.ids??[]).includes(a),r=ot({mutationFn:async()=>{o?await wt({data:{therapistId:a}}):await Nt({data:{therapistId:a}})},onMutate:async()=>{await i.cancelQueries({queryKey:["saved-therapists"]});const h=i.getQueryData(["saved-therapists"]);return i.setQueryData(["saved-therapists"],d=>{const p=d?.ids??[];return{ids:o?p.filter(f=>f!==a):[...p,a]}}),{prev:h}},onError:(h,d,p)=>{p?.prev&&i.setQueryData(["saved-therapists"],p.prev),Ne.error(e("saveError"))},onSettled:()=>{i.invalidateQueries({queryKey:["saved-therapists"]})}}),u=h=>{if(h.preventDefault(),h.stopPropagation(),!s){Ne(e("signInToSave"));return}r.mutate()};return c.jsx("button",{type:"button",onClick:u,"aria-pressed":o,"aria-label":e(o?"removeSaved":"saveTherapist"),className:y("absolute right-3 top-3 z-10 grid h-9 w-9 place-items-center rounded-full bg-white/90 backdrop-blur ring-1 transition-all","hover:scale-105",o?"ring-bliss-bloom/40 text-bliss-bloom hover:bg-bliss-bloom/10":"ring-bliss-stone/55 text-bliss-ink-soft hover:text-bliss-bloom hover:ring-bliss-bloom/40"),children:c.jsx(Ke,{className:y("h-4 w-4 transition-transform",o&&"scale-110"),fill:o?"currentColor":"none",strokeWidth:2})})}function fs(a){const e=a.trim().split(/[\s.]+/).filter(Boolean);return e.length===0?"?":e.length===1?e[0].slice(0,2).toUpperCase():(e[0][0]+e[e.length-1][0]).toUpperCase()}const _e=["bg-rose-500","bg-amber-500","bg-emerald-500","bg-sky-500","bg-violet-500","bg-fuchsia-500","bg-indigo-500","bg-teal-500"];function ms(a){let e=0;for(let t=0;t<a.length;t++)e=e*31+a.charCodeAt(t)>>>0;return _e[e%_e.length]}function gs({min:a,max:e,step:t=1,value:s,onValueChange:i,className:n,formatValue:l=u=>String(u),minLabel:o="Minimum price",maxLabel:r="Maximum price"}){const[u,h]=D.useState(s),d=D.useRef(s);D.useEffect(()=>{(s[0]!==d.current[0]||s[1]!==d.current[1])&&(d.current=s,h(s))},[s]);const[p,f]=u,m=x=>(x-a)/(e-a)*100,b=x=>{const S=Math.min(Number(x.target.value),f);h([S,f])},j=x=>{const S=Math.max(Number(x.target.value),p);h([p,S])},k=()=>{(u[0]!==s[0]||u[1]!==s[1])&&i(u)};return c.jsxs("div",{className:y("w-full select-none",n),children:[c.jsxs("div",{className:"relative h-9 px-1",children:[c.jsx("div",{className:"absolute left-1 right-1 top-1/2 h-1 -translate-y-1/2 rounded-full bg-bliss-stone"}),c.jsx("div",{className:"absolute top-1/2 h-1 -translate-y-1/2 rounded-full bg-[color:var(--color-brand)]",style:{left:`calc(${m(p)}% + 4px)`,width:`calc(${m(f)-m(p)}% - 8px)`}}),c.jsx("input",{type:"range",min:a,max:e,step:t,value:p,onChange:b,onPointerUp:k,onKeyUp:k,className:"thumb-only pointer-events-none absolute inset-0 h-full w-full appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto","aria-label":o}),c.jsx("input",{type:"range",min:a,max:e,step:t,value:f,onChange:j,onPointerUp:k,onKeyUp:k,className:"thumb-only pointer-events-none absolute inset-0 h-full w-full appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto","aria-label":r})]}),c.jsxs("div",{className:"mt-1 flex items-center justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:l(p)}),c.jsx("span",{children:l(f)}
1)]}),c.jsx("style",{children:` 2 .thumb-only::-webkit-slider-thumb { 3 -webkit-appearance: none; 4 appearance: none; 5 width: 18px; 6 height: 18px; 7 border-radius: 999px; 8 background: white; 9 border: 2px solid var(--color-brand); 10 box-shadow: 0 1px 3px rgba(0,0,0,0.15); 11 cursor: pointer; 12 } 13 .thumb-only::-moz-range-thumb { 14 width: 18px; 15 height: 18px; 16 border-radius: 999px; 17 background: white; 18 border: 2px solid var(--color-brand); 19 box-shadow: 0 1px 3px rgba(0,0,0,0.15); 20 cursor: pointer; 21 } 22 .thumb-only::-webkit-slider-runnable-track { 23 background: transparent; 24 } 25 .thumb-only::-moz-range-track { 26 background: transparent; 27 } 28 `})]})}const Q=0,B=100,z="h-11 rounded-2xl border border-bliss-stone/55 bg-white px-4 text-[14px] text-bliss-ink shadow-none focus:outline-none focus:ring-0 focus:ring-offset-0 focus:border-bliss-stone data-[placeholder]:text-bliss-ink-soft";function fe(a){const e={};return a.q&&(e.q=a.q),a.level&&(e.level=a.level),a.gender&&(e.gender=a.gender),a.country&&(e.country=a.country),a.issues&&a.issues.length>0&&(e.issues=a.issues),a.approaches&&a.approaches.length>0&&(e.approaches=a.approaches),a.langs&&a.langs.length>0&&(e.langs=a.langs),a.min!=null&&a.min!==Q&&(e.min=a.min),a.max!=null&&a.max!==B&&(e.max=a.max),a.intro&&(e.intro=!0),a.available&&(e.available=!0),a.saved&&(e.saved=!0),a.sort&&a.sort!=="recommended"&&(e.sort=a.sort),e}function Zs(){const a=M(),{therapists:e,facets:t,authed:s,coverage:i}=Te.useLoaderData(),n=ye(),l=ls(t,n),o=lt({select:v=>v.status==="pending"}),r=Te.useSearch(),u=ct(),[h,d]=D.useState(!1),p=!!r.intent&&r.fromOnboarding===!0,f=r.intent==="twin"?{title:a("twinMatchTitle"),body:a("twinMatchBody"),confirm:a("twinMatchConfirm")}:{title:a("matchTitle"),body:a("matchBody"),confirm:a("matchConfirm")},m=()=>{const{intent:v,fromOnboarding:C,...O}=r;u({to:"/therapists",search:fe(O),replace:!0})},b=xe({queryKey:["unread-count"],queryFn:()=>ut(),enabled:s,refetchInterval:3e4,staleTime:1e4}),j=xe({queryKey:["saved-therapists"],queryFn:()=>Ue(),enabled:s,staleTime:3e4}),k=new Set(j.data?.ids??[]),x=r.saved&&s?e.filter(v=>k.has(v.id)):e,S=v=>{const C=fe({...r,...v});u({to:"/therapists",search:C,replace:!0})},w=()=>{const v=fe({q:r.q,sort:r.sort});u({to:"/therapists",search:v,replace:!0})},R=ys(r),_=r.sort==="price_asc"?a("lowestPrice"):r.sort==="price_desc"?a("highestPrice"):r.sort==="name"?a("nameSort"):a("recommended"),I=c.jsxs(c.Fragment,{children:[c.jsx(Tt,{open:p,onOpenChange:v=>{v||m()},children:c.jsx(Ct,{closeLabel:a("close"),className:"max-w-[420px] gap-0 rounded-3xl border-0 bg-white p-7 shadow-[0_24px_60px_-15px_rgba(50,40,80,0.25),0_2px_4px_-2px_rgba(0,0,0,0.06)] sm:p-8",children:c.jsxs("div",{className:"flex flex-col items-center text-center",children:[c.jsx("div",{className:"mb-4 grid h-12 w-12 place-items-center rounded-2xl bg-bliss-primary-soft",children:c.jsx(ge,{className:"h-5 w-5 text-bliss-primary"})}),c.jsx(Lt,{className:"font-serif text-[20px] leading-tight text-bliss-ink sm:text-[22px]",children:f.title}),c.jsx(Pt,{className:"mt-3 text-[14px] leading-relaxed text-bliss-ink-muted",children:f.body}),c.jsxs("div",{className:"mt-6 flex w-full flex-col gap-2.5",children:[c.jsx(U,{onClick:()=>u({to:"/therapists/matching",search:{step:dt[0],intent:r.intent??"book"}}),className:"h-11 rounded-full",children:f.confirm}),c.jsx(U,{variant:"outline",onClick:m,className:"h-11 rounded-full",children:a("browseMyself")})]})]})})}),c.jsxs("section",{className:`${cs} pb-16 pt-8 md:pt-12`,children:[c.jsxs("header",{className:"flex flex-col gap-2 md:flex-row md:items-end md:justify-between md:gap-6",children:[c.jsxs("div",{className:"max-w-[560px]",children:[c.jsx("p",{className:"text-[12px] uppercase tracking-[0.14em] text-bliss-ink-soft",children:a("browse")}),c.jsx("h1",{className:"mt-2 font-serif text-[28px] leading-tight text-bliss-ink sm:text-[32px]",children:a("title")}),c.jsx("p",{className:"mt-2 text-[14.5px] leading-relaxed text-bliss-ink-muted",children:a("subtitle")})]}
28),c.jsx(U,{asChild:!0,className:y("h-11 shrink-0 gap-2 self-start rounded-full bg-bliss-primary/10 px-5 text-[13.5px] font-medium leading-none text-bliss-primary shadow-none ring-1 ring-bliss-primary/20 md:self-end","hover:bg-bliss-primary/15"),children:c.jsxs(me,{to:"/therapists/matching",children:[c.jsx(ge,{className:"h-4 w-4"}),a("startMatching")]})})]}),c.jsxs("div",{className:"mt-7 flex flex-col gap-3 md:flex-row md:items-center",children:[c.jsxs("div",{className:"relative flex-1",children:[o?c.jsx(ht,{className:"pointer-events-none absolute left-4 top-1/2 h-4 w-4 -translate-y-1/2 animate-spin text-bliss-primary","aria-hidden":!0}):c.jsx(pt,{className:"pointer-events-none absolute left-4 top-1/2 h-4 w-4 -translate-y-1/2 text-bliss-ink-soft","aria-hidden":!0}),c.jsx(ws,{value:r.q??"",onChange:v=>S({q:v||void 0}),placeholder:a("searchPlaceholder")})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(U,{type:"button",variant:"outline",onClick:()=>d(!0),className:y("h-12 rounded-full border border-bliss-stone/55 bg-white px-4 text-[13.5px] font-medium text-bliss-ink shadow-none","hover:bg-bliss-frost-soft hover:border-bliss-stone"),children:[c.jsx(Dt,{className:"h-4 w-4"}),a("filters"),R>0?c.jsx("span",{className:"ml-1 inline-flex h-5 min-w-5 items-center justify-center rounded-full bg-bliss-primary px-1.5 text-[11px] font-semibold text-white",children:R}):null]}),c.jsxs(ae,{value:r.sort??"recommended",onValueChange:v=>S({sort:v}),children:[c.jsx(ne,{className:y("h-12 w-36 rounded-full border border-bliss-stone/55 bg-white px-4 text-[13.5px] font-medium text-bliss-ink shadow-none","focus:ring-0 focus-visible:ring-0"),children:c.jsx("span",{className:"truncate",children:_})}),c.jsxs(re,{align:"end",children:[c.jsx(P,{value:"recommended",children:a("recommended")}),c.jsx(P,{value:"name",children:a("nameSort")}),c.jsx(P,{value:"price_asc",children:a("lowestPrice")}),c.jsx(P,{value:"price_desc",children:a("highestPrice")})]})]})]})]}),c.jsx("div",{className:"hidden md:block",children:c.jsx(js,{search:r,update:S,authed:s,facets:l})}),c.jsx(xs,{search:r,facets:l,update:S}),c.jsxs("div",{className:"mt-6 flex items-center justify-between gap-3",children:[c.jsx("p",{"aria-live":"polite",className:y("text-[12.5px] text-bliss-ink-soft transition-opacity",o&&"opacity-60"),children:o?a("searching"):x.length===0?r.saved?a("noSavedMatches"):a("noTherapists"):a("results",{count:x.length})}),s?c.jsx("div",{className:"md:hidden",children:c.jsx(Xe,{active:!!r.saved,onClick:()=>S({saved:r.saved?void 0:!0})})}):null]}),x.length===0?c.jsx(vs,{onReset:w}):c.jsx("div",{className:y("mt-4 grid gap-5 transition-opacity md:grid-cols-2 xl:grid-cols-3",o&&"opacity-60"),children:x.map(v=>c.jsx(hs,{therapist:v,coveredByCompany:i&&i.curatedTherapistIds.includes(v.id)?i.companyName??"your company":null,onTalkToTwin:C=>{u({to:"/therapists/$slug/twin",params:{slug:v.slug??C}})}},v.id))})]}),c.jsx(bs,{open:h,onOpenChange:d,search:r,facets:l,update:S,onClear:w,activeFilterCount:R,resultCount:x.length})]});return s?c.jsxs("div",{className:"flex min-h-screen flex-col bg-bliss-frost md:flex-row",children:[c.jsx(xt,{unreadCount:b.data??0}),c.jsx("main",{className:"flex-1 pb-[88px] md:pb-0",children:I})]}):c.jsxs("div",{className:"flex min-h-screen flex-col bg-bliss-frost",children:[c.jsx(bt,{variant:"directory"}),c.jsx("main",{className:"flex-1",children:I}),c.jsx(yt,{})]})}function xs({search:a,facets:e,update:t}){const s=M(),{format:i}=He(),n=[];if(a.level&&n.push({key:"level",label:s("filterChip",{label:s("type"),value:Ye(a.level,s)}),onRemove:()=>t({level:void 0})}),a.gender&&n.push({key:"gender",label:s("filterChip",{label:s("gender"),value:Ze(a.gender,s)}),onRemove:()=>t({gender:void 0})}),a.country&&n.push({key:"country",label:s("filterChip",{label:s("country"),value:Y(e.countries,a.country)}),onRemove:()=>t({country:void 0})}),a.issues&&a.issues.length>0){const p=a.issues.map(f=>Y(e.issues,f)).join(", ");n.push({key:"issues",label:s("filterChip",{label:s("areas"),value:p}),onRemove:()=>t({issues:void 0})})}if(a.approaches&&a.approaches.length>0){const p=a.approaches.map(f=>Y(e.approaches,f)).join(", ");n.push({key:"approaches",label:s("filterChip",{label:s("approaches"),value:p}),onRemove:()=>t({approaches:void 0})})}if(a.langs&&a.langs.length>0){const p=a.langs.map(f=>Y(e.languages,f)).join(", ");n.push({key:"langs",label:s("filterChip",{label:s("languages"),value:p}),onRemove:()=>t({langs:void 0})})}const l=a.min??Q,o=a.max??B;(l!==Q||o!==B)&&n.push({key:"price",label:s("filterChip",{label:s("price"),value:`${i(l)}â${i(o)}${o===B?"+":""}`}),onRemove:()=>t({min:void 0,max:void 0})}),a.intro&&n.push({key:"intro",label:s("offersIntro"),onRemove:()=>t({intro:void 0})}),a.available&&n.push({key:"available",label:s("openAvailability"),onRemove:()=>t({available:void 0})}),a.saved&&n.push({key:"saved",label:s("savedOnly"),onRemove:()=>t({saved:void 0})});const r=n.length>0,u=n.map(p=>`${p.key}:${p.label}`).join("|"),[h,d]=D.useState(n);return D.useEffect(()=>{if(r){d(n);return}const p=setTimeout(()=>d([]),300);return()=>clearTimeout(p)},[r,u]),c.jsx("div",{className:y("grid transition-[grid-template-rows,opacity] duration-300 ease-out motion-reduce:transition-none",r?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),"aria-hidden":!r,children:c.jsx("div",{className:"overflow-hidden",children:c.jsx("div",{className:"flex flex-wrap items-center gap-2 pt-4",children:h.map(p=>c.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white px-3 py-1.5 text-[12.5px] text-bliss-ink-muted ring-1 ring-bliss-stone/55",children:[p.label,c.jsx("button",{type:"button",onClick:p.onRemove,"aria-label":s("removeFilter",{label:p.label}),className:"inline-flex h-4 w-4 items-center justify-center rounded-full text-bliss-ink-soft hover:bg-bliss-frost hover:text-bliss-ink",children:c.jsx(mt,{className:"h-3 w-3"})})]},p.key))})})})}function bs({open:a,onOpenChange:e,search:t,facets:s,update:i,onClear:n,activeFilterCount:l,resultCount:o}){const r=M(),{format:u}=He(),h=[t.min??Q,t.max??B];return c.jsx(Rt,{open:a,onOpenChange:e,children:c.jsxs(Ot,{closeLabel:r("close"),side:"right",className:"overflow-y-auto border-l-0 bg-bliss-frost-soft",children:[c.jsxs(At,{className:"border-b border-bliss-stone/40 px-6 pb-4 pt-6",children:[c.jsx(Et,{className:"font-serif text-[20px] tracking-tight text-bliss-ink",children:r("filters")}),l>0?c.jsx("p",{className:"text-[12.5px] text-bliss-ink-soft",children:r("active",{count:l})}):null]}),c.jsxs("div",{className:"space-y-5 px-6 py-6",children:[c.jsx(H,{label:r("expertType"),children:c.jsxs(ae,{value:t.level??"__all",onValueChange:d=>i({level:d==="__all"?void 0:d}),children:[c.jsx(ne,{className:z,children:c.jsx("span",{className:"truncate",children:t.level?Ye(t.level,r):r("any")})}),c.jsxs(re,{children:[c.jsx(P,{value:"__all",children:r("any")}
28),c.jsx(P,{value:"psychologist",children:r("therapist")}),c.jsx(P,{value:"coach",children:r("coach")})]})]})}),c.jsx(H,{label:r("areas"),children:c.jsx(ie,{emptyText:r("noOptions"),searchPlaceholder:r("searchOptions"),noMatchesText:r("noMatches"),clearLabel:r("clearAll"),selectedLabel:d=>r("selected",{count:d}),options:s.issues,value:t.issues??[],onChange:d=>i({issues:d}),placeholder:r("chooseAreas"),className:z})}),c.jsx(H,{label:r("approaches"),children:c.jsx(ie,{emptyText:r("noOptions"),searchPlaceholder:r("searchOptions"),noMatchesText:r("noMatches"),clearLabel:r("clearAll"),selectedLabel:d=>r("selected",{count:d}),options:s.approaches,value:t.approaches??[],onChange:d=>i({approaches:d}),placeholder:r("chooseApproaches"),className:z})}),c.jsx(H,{label:r("gender"),children:c.jsxs(ae,{value:t.gender??"__all",onValueChange:d=>i({gender:d==="__all"?void 0:d}),children:[c.jsx(ne,{className:z,children:c.jsx("span",{className:"truncate",children:t.gender?Ze(t.gender,r):r("any")})}),c.jsxs(re,{children:[c.jsx(P,{value:"__all",children:r("any")}),c.jsx(P,{value:"female",children:r("woman")}),c.jsx(P,{value:"male",children:r("man")}),c.jsx(P,{value:"other",children:r("other")})]})]})}),c.jsx(H,{label:r("languages"),children:c.jsx(ie,{emptyText:r("noOptions"),searchPlaceholder:r("searchOptions"),noMatchesText:r("noMatches"),clearLabel:r("clearAll"),selectedLabel:d=>r("selected",{count:d}),options:s.languages,value:t.langs??[],onChange:d=>i({langs:d}),placeholder:r("any"),className:z})}),c.jsx(H,{label:r("country"),children:c.jsxs(ae,{value:t.country??"__all",onValueChange:d=>i({country:d==="__all"?void 0:d}),children:[c.jsx(ne,{className:z,children:c.jsx("span",{className:"truncate",children:t.country?Y(s.countries,t.country):r("any")})}),c.jsxs(re,{children:[c.jsx(P,{value:"__all",children:r("any")}),s.countries.map(d=>c.jsx(P,{value:d.value,children:d.label},d.value))]})]})}),c.jsxs(H,{label:r("pricePerSession"),value:`${u(h[0])} â ${u(h[1])}${h[1]===B?"+":""}`,children:[c.jsx("div",{className:"mb-3",children:c.jsx(gt,{label:r("currency"),title:r("currencyTitle"),unavailable:r("currencyUnavailable"),fallback:r("currencyFallback")})}),c.jsx(gs,{minLabel:r("minimumPrice"),maxLabel:r("maximumPrice"),min:Q,max:B,step:5,value:h,onValueChange:([d,p])=>i({min:d,max:p}),formatValue:u})]}),c.jsx(Be,{label:r("openAvailability"),checked:!!t.available,onChange:d=>i({available:d?!0:void 0})}),c.jsx(Be,{label:r("offersIntro"),checked:!!t.intro,onChange:d=>i({intro:d?!0:void 0})})]}),c.jsxs(Ft,{className:"flex w-full items-center justify-between gap-3 border-t border-bliss-stone/30 bg-bliss-frost-soft px-6 py-4 sm:flex-row sm:justify-between sm:space-x-0",children:[l>0?c.jsx("button",{type:"button",onClick:n,className:"text-[13px] font-medium text-bliss-ink-muted underline-offset-4 transition-colors hover:text-bliss-ink hover:underline",children:r("clearAll")}):c.jsx("span",{"aria-hidden":!0}),c.jsx(U,{type:"button",onClick:()=>e(!1),className:y("h-11 rounded-full bg-bliss-primary px-6 text-[14px] font-medium text-white shadow-none","hover:bg-bliss-primary/90"),children:o===0?r("noMatches"):r("viewResults",{count:o})})]})]})})}function H({label:a,value:e,children:t}){return c.jsxs("div",{children:[c.jsxs("div",{className:"mb-1.5 flex items-baseline justify-between",children:[c.jsx("label",{className:"text-[11.5px] uppercase tracking-[0.12em] text-bliss-ink-soft",children:a}),e?c.jsx("span",{className:"text-[12px] font-medium text-bliss-primary",children:e}):null]}),t]})}function Be({label:a,checked:e,onChange:t}){return c.jsxs("label",{className:"flex cursor-pointer items-center justify-between rounded-2xl bg-white px-4 py-3 text-[14px] text-bliss-ink ring-1 ring-bliss-stone/55",children:[c.jsx("span",{className:"font-medium",children:a}),c.jsx("input",{type:"checkbox",className:"h-4 w-4 rounded border-bliss-stone text-bliss-primary focus:ring-bliss-primary/20",checked:e,onChange:s=>t(s.target.checked)})]})}function ys(a){let e=0;return a.level&&e++,a.gender&&e++,a.country&&e++,a.issues?.length&&e++,a.approaches?.length&&e++,a.langs?.length&&e++,a.min!=null&&a.min!==Q&&e++,a.max!=null&&a.max!==B&&e++,a.intro&&e++,a.available&&e++,a.saved&&e++,e}function Ye(a,e){switch(a){case"counselor":return e("therapist");case"psychologist":return e("therapist");
28case"coach":return e("coach")}}function Ze(a,e){switch(a){case"female":return e("woman");case"male":return e("man");case"other":return e("other")}}function Y(a,e){return a.find(t=>t.value===e)?.label??e}function vs({onReset:a}){const e=M();return c.jsxs("div",{className:y("mt-10 flex flex-col items-center justify-center rounded-[24px] bg-white px-6 py-16 text-center","ring-1 ring-bliss-stone/55 shadow-[0_1px_0_rgba(0,0,0,0.02),0_22px_60px_-30px_rgba(50,40,80,0.18)]"),children:[c.jsxs("p",{className:"text-[12px] uppercase tracking-[0.14em] text-bliss-ink-soft",children:["â ",e("noMatches")]}),c.jsx("h3",{className:"mt-2 font-serif text-[22px] leading-tight text-bliss-ink",children:e("emptyTitle")}),c.jsx("p",{className:"mt-2 max-w-md text-[14px] text-bliss-ink-muted",children:e("emptyBody")}),c.jsx("button",{type:"button",onClick:a,className:"mt-5 text-[13.5px] font-medium text-bliss-primary underline-offset-2 hover:underline",children:e("clearFilters")})]})}function js({search:a,update:e,authed:t,facets:s}){const i=M();return c.jsxs("div",{className:"mt-5 -mx-4 flex flex-wrap items-center gap-x-5 gap-y-3 overflow-x-auto px-4 pb-1 sm:mx-0 sm:overflow-visible sm:px-0",children:[c.jsx(ks,{label:i("type"),value:a.level,options:[{value:void 0,label:i("any")},{value:"psychologist",label:i("therapist")},{value:"coach",label:i("coach")}],onChange:n=>e({level:n})}),c.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[c.jsx(et,{children:i("languages")}),c.jsx(ie,{emptyText:i("noOptions"),searchPlaceholder:i("searchOptions"),noMatchesText:i("noMatches"),clearLabel:i("clearAll"),selectedLabel:n=>i("selected",{count:n}),options:s.languages,value:a.langs??[],onChange:n=>e({langs:n.length>0?n:void 0}),placeholder:i("any"),className:"h-auto w-44 rounded-full border-bliss-stone/55 bg-white px-3 py-1.5 text-[12.5px] font-medium text-bliss-ink-muted shadow-none hover:border-bliss-ink-soft hover:bg-white hover:text-bliss-ink focus:ring-bliss-primary/40"})]}),c.jsx("span",{className:"hidden h-5 w-px shrink-0 bg-bliss-stone/55 sm:block","aria-hidden":!0}),c.jsx(Ss,{active:!!a.available,onClick:()=>e({available:a.available?void 0:!0})}),t?c.jsx(Xe,{active:!!a.saved,onClick:()=>e({saved:a.saved?void 0:!0})}):null]})}function Xe({active:a,onClick:e}){const t=M();return c.jsxs("button",{type:"button","aria-pressed":a,onClick:e,className:y("inline-flex shrink-0 items-center gap-1.5 rounded-full border px-3 py-1.5 text-[12.5px] font-medium transition-colors",a?"border-bliss-bloom/40 bg-bliss-bloom/10 text-bliss-bloom":"border-bliss-stone/60 text-bliss-ink-muted hover:border-bliss-primary/40 hover:text-bliss-ink"),children:[c.jsx(Ke,{className:y("h-3.5 w-3.5",a&&"fill-current")}),t("saved")]})}function et({children:a}){return c.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-[0.06em] text-bliss-ink-soft",children:a})}function ks({label:a,value:e,options:t,onChange:s}){return c.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[c.jsx(et,{children:a}),c.jsx("div",{role:"radiogroup","aria-label":a,className:"inline-flex items-center rounded-full border border-bliss-stone/55 bg-white p-0.5",children:t.map(i=>{const n=e===i.value;return c.jsx("button",{type:"button",role:"radio","aria-checked":n,onClick:()=>s(i.value),className:y("shrink-0 rounded-full px-3 py-1 text-[12.5px] font-medium transition-colors",n?"bg-bliss-primary text-white":"text-bliss-ink-muted hover:text-bliss-ink"),children:i.label},i.label)})})]})}function Ss({active:a,onClick:e}){const t=M();return c.jsxs("button",{type:"button",role:"switch","aria-checked":a,"aria-label":t("availableNow"),onClick:e,className:"inline-flex shrink-0 items-center gap-2 text-[12.5px] font-medium text-bliss-ink-muted",children:[c.jsx("span",{"aria-hidden":!0,className:y("relative inline-flex h-5 w-9 items-center rounded-full transition-colors",a?"bg-bliss-primary":"bg-bliss-stone"),children:c.jsx("span",{className:y("inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform",a?"translate-x-[18px]":"translate-x-[2px]")})}),c.jsx("span",{className:y(a&&"text-bliss-ink"),children:t("availableNow")})]})}function ws({value:a,onChange:e,placeholder:t}){const[s,i]=D.useState(a);return D.useEffect(()=>{i(a)},[a]),D.useEffect(()=>{if(s===a)return;const n=setTimeout(()=>e(s.trim()),200);return()=>clearTimeout(n)},[s]),c.jsx(ft,{type:"search",value:s,onChange:n=>i(n.target.value),placeholder:t,className:y("h-12 rounded-full border border-bliss-stone/55 bg-white pl-11 pr-4 text-[14.5px] text-bliss-ink shadow-none","placeholder:text-bliss-ink-soft focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:border-bliss-stone")})}export{Zs as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.